From 2e153cd25e52dd1f9f118b17fc19b66be9fa7056 Mon Sep 17 00:00:00 2001 From: Damiano Improta Date: Thu, 26 Feb 2026 16:07:26 +0100 Subject: [PATCH 01/74] Return type not added to constructor override --- .../modules/php/editor/completion/PHPCompletionItem.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java index 651cb6d1398c..977d48e7b2ea 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java @@ -1452,11 +1452,14 @@ protected String getNameAndFunctionBodyForTemplate() { if (phpVersion != null && phpVersion.compareTo(PhpVersion.PHP_70) >= 0) { Collection returnTypes = getBaseFunctionElement().getReturnTypes(); + // check whether the method in question is the constructor. If it is, the return type should not be added. + boolean isConstructor = getBaseFunctionElement() instanceof MethodElement + && ((MethodElement) getBaseFunctionElement()).isConstructor(); // we can also write a union type in phpdoc e.g. @return int|float // check whether the union type is actual declared return type to avoid adding the union type for phpdoc - if (returnTypes.size() == 1 + if (!isConstructor && (returnTypes.size() == 1 || getBaseFunctionElement().isReturnUnionType() - || getBaseFunctionElement().isReturnIntersectionType()) { + || getBaseFunctionElement().isReturnIntersectionType())) { String returnType = getBaseFunctionElement().asString(PrintAs.ReturnTypes, typeNameResolver, phpVersion); if (StringUtils.hasText(returnType)) { boolean nullableType = CodeUtils.isNullableType(returnType); From 7a4138f39083dc0240ec2d668f9d4e41d45a9774 Mon Sep 17 00:00:00 2001 From: Damiano Improta Date: Sun, 8 Mar 2026 23:51:35 +0100 Subject: [PATCH 02/74] Reduced the check to only the specific label "__construct", and not also the class name --- .../modules/php/editor/completion/PHPCompletionItem.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java index 977d48e7b2ea..c5e458e61cc7 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java @@ -1454,7 +1454,7 @@ protected String getNameAndFunctionBodyForTemplate() { Collection returnTypes = getBaseFunctionElement().getReturnTypes(); // check whether the method in question is the constructor. If it is, the return type should not be added. boolean isConstructor = getBaseFunctionElement() instanceof MethodElement - && ((MethodElement) getBaseFunctionElement()).isConstructor(); + && ((MethodElement) getBaseFunctionElement()).getName().equals(MethodElement.CONSTRUCTOR_NAME); // we can also write a union type in phpdoc e.g. @return int|float // check whether the union type is actual declared return type to avoid adding the union type for phpdoc if (!isConstructor && (returnTypes.size() == 1 From bbcecd3df67d519745b571f93464f4a6ccc2096f Mon Sep 17 00:00:00 2001 From: Damano Improta Date: Thu, 12 Mar 2026 17:43:50 +0100 Subject: [PATCH 03/74] Disabled return type generation in the constructor when generated with the "Override & implement method" feature. --- .../modules/php/editor/elements/BaseFunctionElementSupport.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/elements/BaseFunctionElementSupport.java b/php/php.editor/src/org/netbeans/modules/php/editor/elements/BaseFunctionElementSupport.java index b2b6678bdafd..4f802e4cf3e4 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/elements/BaseFunctionElementSupport.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/elements/BaseFunctionElementSupport.java @@ -109,7 +109,7 @@ public final String asString(PrintAs as, BaseFunctionElement element, TypeNameRe Collection returns1 = getReturnTypes(); // we can also write the union type in phpdoc e.g. @return int|float // check whether the union type is the actual declared return type to avoid adding the union type for phpdoc - if (returns1.size() == 1 || isReturnUnionType() || isReturnIntersectionType()) { + if (!element.getName().equals(MethodElement.CONSTRUCTOR_NAME) && returns1.size() == 1 || isReturnUnionType() || isReturnIntersectionType()) { String returnType = asString(PrintAs.ReturnTypes, element, typeNameResolver, phpVersion); if (StringUtils.hasText(returnType)) { boolean isNullableType = CodeUtils.isNullableType(returnType); From 6a34ac0f09a09e5033d42fe92442ed99c0d3fbcf Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Thu, 26 Feb 2026 19:59:22 +0100 Subject: [PATCH 04/74] CI: Update upload/download actions and switch to direct upload dev builds were zipped twice due to a limitation of the action, this fixes it with the update. (new "archive: false" param) --- .github/workflows/main.yml | 108 +++++++++--------- ...ve-binary-build-dlight.nativeexecution.yml | 22 ++-- .../native-binary-build-launcher.yml | 14 +-- .../native-binary-build-lib.profiler.yml | 22 ++-- 4 files changed, 83 insertions(+), 83 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7c7a2047041d..a7b5eeaad60c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -180,25 +180,25 @@ jobs: - name: Upload Workspace if: ${{ (matrix.java == '21') && success() }} - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: - name: build path: /tmp/build.tar.zst - compression-level: 0 + archive: false retention-days: 2 if-no-files-found: error - name: Create Dev Build if: ${{ matrix.java == '21' && contains(github.event.pull_request.labels.*.name, 'ci:dev-build') && success() }} - run: ant $OPTS -quiet -Dcluster.config=$CLUSTER_CONFIG zip-cluster-config + run: | + ant $OPTS -quiet -Dcluster.config=$CLUSTER_CONFIG zip-cluster-config + mv nbbuild/NetBeans-*.zip nbbuild/dev-build_${{github.event.pull_request.number || github.run_id}}.zip - name: Upload Dev Build if: ${{ matrix.java == '21' && contains(github.event.pull_request.labels.*.name, 'ci:dev-build') && success() }} - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: - name: dev-build_${{github.event.pull_request.number || github.run_id}} - path: nbbuild/NetBeans-*.zip - compression-level: 0 + path: nbbuild/dev-build_*.zip + archive: false retention-days: 7 if-no-files-found: error @@ -267,9 +267,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst # tar on MacOS is not aware of zstd "tar --zstd -xf build.tar.zst" doesn't work - name: Extract on MacOS @@ -359,9 +359,9 @@ jobs: - name: Download Build if: ${{ needs.base-build.result == 'success' && !cancelled() }} - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract if: ${{ needs.base-build.result == 'success' && !cancelled() }} @@ -403,9 +403,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -494,9 +494,9 @@ jobs: distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -544,9 +544,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -876,9 +876,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1007,9 +1007,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1170,9 +1170,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1305,9 +1305,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1494,9 +1494,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1550,9 +1550,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1610,9 +1610,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1655,9 +1655,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1833,9 +1833,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1883,9 +1883,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1934,9 +1934,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -1982,9 +1982,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -2227,9 +2227,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -2320,9 +2320,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -2399,9 +2399,9 @@ jobs: # - - - - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -2528,9 +2528,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -2569,9 +2569,9 @@ jobs: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - name: Download Build - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: - name: build + name: build.tar.zst - name: Extract run: tar --zstd -xf build.tar.zst @@ -2653,12 +2653,12 @@ jobs: - name: Delete Workspace Artifact uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0 with: - name: build + name: build.tar.zst useGlob: false - name: Delete Dev Build Artifact uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0 if: ${{ contains(github.event.pull_request.labels.*.name, 'ci:dev-build') && cancelled() }} with: - name: dev-build_${{github.event.pull_request.number || github.run_id}} + name: dev-build_${{github.event.pull_request.number || github.run_id}}.zip useGlob: false diff --git a/.github/workflows/native-binary-build-dlight.nativeexecution.yml b/.github/workflows/native-binary-build-dlight.nativeexecution.yml index 4bf70b84e968..2e76d431e0f8 100644 --- a/.github/workflows/native-binary-build-dlight.nativeexecution.yml +++ b/.github/workflows/native-binary-build-dlight.nativeexecution.yml @@ -97,7 +97,7 @@ jobs: ls -l -R ${SOURCES} - name: Upload native sources - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: nativeexecution-external-sources path: ide/dlight.nativeexecution/build/sources/ @@ -113,7 +113,7 @@ jobs: steps: - name: Download sources - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: nativeexecution-external-sources @@ -129,7 +129,7 @@ jobs: working-directory: ide/dlight.nativeexecution/tools - name: Upload artifact Linux 64 bit - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: Linux-x86_64 path: ide/dlight.nativeexecution/tools/buildall/ @@ -147,7 +147,7 @@ jobs: # steps: # # - name: Download sources -# uses: actions/download-artifact@v7 +# uses: actions/download-artifact@v8 # with: # name: nativeexecution-external-sources # @@ -161,7 +161,7 @@ jobs: # shell: bash # working-directory: ide/dlight.nativeexecution/tools # - name: Upload artifact Windows 64 bit -# uses: actions/upload-artifact@v6 +# uses: actions/upload-artifact@v7 # with: # name: Windows-x86_64 # path: ide/dlight.nativeexecution/tools/buildall/ @@ -177,7 +177,7 @@ jobs: steps: - name: Download sources - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: nativeexecution-external-sources @@ -191,7 +191,7 @@ jobs: working-directory: ide/dlight.nativeexecution/tools - name: Upload artifact macOS x86_64 - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: MacOSX-x86_64 path: ide/dlight.nativeexecution/tools/buildall/ @@ -206,7 +206,7 @@ jobs: steps: - name: Download sources - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: nativeexecution-external-sources @@ -220,7 +220,7 @@ jobs: working-directory: ide/dlight.nativeexecution/tools - name: Upload artifact macOS arm64 - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: MacOSX-arm_64 path: ide/dlight.nativeexecution/tools/buildall/ @@ -241,7 +241,7 @@ jobs: run: mkdir -p myfiles/ - name: Download artifacts from predecessor jobs - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: path: myfiles/ @@ -270,7 +270,7 @@ jobs: echo "" >> "$BUILDINFO" - name: Upload bundle - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: nativeexecution-external-binaries path: myfiles/ diff --git a/.github/workflows/native-binary-build-launcher.yml b/.github/workflows/native-binary-build-launcher.yml index 29e7fe456436..510fcc268985 100644 --- a/.github/workflows/native-binary-build-launcher.yml +++ b/.github/workflows/native-binary-build-launcher.yml @@ -89,7 +89,7 @@ jobs: ls -l -R ${SOURCES} - name: Upload native sources - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: launcher-external-sources path: nbbuild/build/native/launcher/sources/ @@ -108,7 +108,7 @@ jobs: run: sudo apt install mingw-w64 mingw-w64-tools - name: Download sources - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: launcher-external-sources @@ -122,7 +122,7 @@ jobs: working-directory: platform/o.n.bootstrap/launcher/windows/ - name: Upload bootstrap artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: launcher-bootstrap-bin path: platform/o.n.bootstrap/launcher/windows/build/ @@ -138,7 +138,7 @@ jobs: working-directory: harness/apisupport.harness/windows-launcher-src - name: Upload harness artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: launcher-harness-bin path: harness/apisupport.harness/windows-launcher-src/build/ @@ -154,7 +154,7 @@ jobs: working-directory: nb/ide.launcher/windows - name: Upload IDE artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: launcher-ide-bin path: nb/ide.launcher/windows/build/ @@ -174,7 +174,7 @@ jobs: run: mkdir -p myfiles/ - name: Download artifacts from predecessor jobs - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: path: myfiles/ @@ -206,7 +206,7 @@ jobs: echo "" >> "$BUILDINFO" - name: Upload bundle - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: launcher-external-binaries path: myfiles/ diff --git a/.github/workflows/native-binary-build-lib.profiler.yml b/.github/workflows/native-binary-build-lib.profiler.yml index 92e4421f88d1..0dd9431f6ec4 100644 --- a/.github/workflows/native-binary-build-lib.profiler.yml +++ b/.github/workflows/native-binary-build-lib.profiler.yml @@ -121,7 +121,7 @@ jobs: cp NOTICE ${SOURCES}/NOTICE ls -l -R ${SOURCES} - name: Upload native sources - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: profiler-external-sources-ASF path: profiler/lib.profiler/build/sources/ @@ -137,7 +137,7 @@ jobs: steps: - name: Download sources - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: profiler-external-sources-ASF @@ -174,13 +174,13 @@ jobs: # Upload interim build artifacts to GitHub # - name: Upload artifact Linux 64 bit - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: linux-amd64 path: profiler/lib.profiler/release/lib/deployed/jdk16/linux-amd64/ if-no-files-found: error - name: Upload artifact Linux 32 bit - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: linux path: profiler/lib.profiler/release/lib/deployed/jdk16/linux/ @@ -198,7 +198,7 @@ jobs: steps: - name: Download sources - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: profiler-external-sources-ASF @@ -245,13 +245,13 @@ jobs: # Upload interim build artifacts to GitHub # - name: Upload artifact Windows 64 bit - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: windows-amd64 path: profiler/lib.profiler/release/lib/deployed/jdk16/windows-amd64/ if-no-files-found: error - name: Upload artifact Windows 32 bit - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: windows path: profiler/lib.profiler/release/lib/deployed/jdk16/windows/ @@ -267,7 +267,7 @@ jobs: steps: - name: Download sources - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: profiler-external-sources-ASF @@ -291,7 +291,7 @@ jobs: # Upload interim build artifacts to GitHub # - name: Upload artifact MacOS 64 bit - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: mac path: profiler/lib.profiler/release/lib/deployed/jdk16/mac/ @@ -312,7 +312,7 @@ jobs: run: mkdir -p myfiles/lib/deployed/jdk16 - name: Download artifacts from predecessor jobs - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: path: myfiles/lib/deployed/jdk16 @@ -342,7 +342,7 @@ jobs: - name: Upload bundle - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: profiler-external-binaries-ASF path: myfiles/ From 169e71115b8a4cbb9a8c9f455dcb51abcc4d4583 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Fri, 27 Feb 2026 13:44:25 +0100 Subject: [PATCH 05/74] Fixes some "invalid project.xml" warnings Removes duplicated dependency declarations in - ide/languages.toml - ide/xml.lexer - java/api.maven - java/gradle.java - webcommon/javascript2.vue --- ide/languages.toml/nbproject/project.xml | 5 ----- ide/xml.lexer/nbproject/project.xml | 4 ---- java/api.maven/nbproject/project.xml | 5 ----- java/gradle.java/nbproject/project.xml | 5 ----- webcommon/javascript2.vue/nbproject/project.xml | 4 ---- 5 files changed, 23 deletions(-) diff --git a/ide/languages.toml/nbproject/project.xml b/ide/languages.toml/nbproject/project.xml index 6ca1e1e4c0fd..dac5b32d7122 100644 --- a/ide/languages.toml/nbproject/project.xml +++ b/ide/languages.toml/nbproject/project.xml @@ -230,11 +230,6 @@ - - org.openide.util.lookup - - - diff --git a/ide/xml.lexer/nbproject/project.xml b/ide/xml.lexer/nbproject/project.xml index 916abb720edf..5768aade491c 100644 --- a/ide/xml.lexer/nbproject/project.xml +++ b/ide/xml.lexer/nbproject/project.xml @@ -70,10 +70,6 @@ - - org.netbeans.modules.editor.mimelookup.impl - - org.netbeans.modules.masterfs diff --git a/java/api.maven/nbproject/project.xml b/java/api.maven/nbproject/project.xml index ebd310f531fb..5551ff68d724 100644 --- a/java/api.maven/nbproject/project.xml +++ b/java/api.maven/nbproject/project.xml @@ -110,11 +110,6 @@ - - org.netbeans.modules.maven - - - org.netbeans.modules.projectapi.nb diff --git a/java/gradle.java/nbproject/project.xml b/java/gradle.java/nbproject/project.xml index 826e590c6a99..5d1e506cbfea 100644 --- a/java/gradle.java/nbproject/project.xml +++ b/java/gradle.java/nbproject/project.xml @@ -373,11 +373,6 @@ org.netbeans.modules.java.j2seplatform - - org.netbeans.modules.gradle - - - org.netbeans.modules.project.dependency diff --git a/webcommon/javascript2.vue/nbproject/project.xml b/webcommon/javascript2.vue/nbproject/project.xml index 46eea895e190..0296fb1c84b7 100644 --- a/webcommon/javascript2.vue/nbproject/project.xml +++ b/webcommon/javascript2.vue/nbproject/project.xml @@ -187,10 +187,6 @@ org.netbeans.modules.css.prep - - org.netbeans.modules.javascript2.jade - - org.netbeans.modules.editor.mimelookup From b497e37809b9ce1fd520186cc53a99d1c7b28853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Mon, 2 Feb 2026 17:35:44 +0100 Subject: [PATCH 06/74] Update to apache lucene 9.X - Additional package lucene-analysis-common required (KeywordAnalyzer, WhitespaceAnalyzer, PerFieldAnalyzerWrapper, CharTokenizer, LimitTokenCountAnalyzer) - FieldTypes were introduced to carry the field behavior (tokenization state, indexing options, storage settings) - BooleanQuery construction moved to builder - Collector interface was modified - TermEnum was replaced by TermsEnum - Terms are stored per field, so queries have to be specified with the target field - QuerySelectors were replaced by String sets - RAMDirecory was removed and is replaced by ByteBufferDirectories - Lock handling was reworked - Remove StoppableConvertor from Lucene Support - Work around potentially excessivily large terms in index documents. (observed was a single `usage` entry for a JS document with about 40_000 characters) Co-authored-by: Laszlo Kishalmi Co-authored-by: Michael Bien --- ide/csl.api/nbproject/project.xml | 4 +- ide/jumpto/nbproject/project.xml | 4 +- ide/libs.lucene/external/binaries-list | 3 +- .../external/lucene-core-3.6.2-notice.txt | 92 ----- ...nse.txt => lucene-core-9.12.3-license.txt} | 185 ++++++++- .../external/lucene-core-9.12.3-notice.txt | 201 ++++++++++ ide/libs.lucene/manifest.mf | 4 +- ide/libs.lucene/nbproject/project.properties | 5 +- ide/libs.lucene/nbproject/project.xml | 8 +- ide/parsing.api/nbproject/project.xml | 4 +- ide/parsing.indexing/nbproject/project.xml | 8 +- .../impl/indexing/ClusteredIndexables.java | 81 +++- .../indexing/lucene/LayeredDocumentIndex.java | 2 +- .../indexing/lucene/LuceneIndexFactory.java | 2 +- .../spi/indexing/support/QuerySupport.java | 10 +- .../impl/indexing/DocumentStoreTest.java | 2 +- ide/parsing.lucene/manifest.mf | 2 +- .../org-netbeans-modules-parsing-lucene.sig | 39 +- .../nbproject/project.properties | 2 +- ide/parsing.lucene/nbproject/project.xml | 4 +- .../parsing/lucene/AllFieldsSelector.java | 38 -- .../parsing/lucene/BitSetCollector.java | 22 +- .../modules/parsing/lucene/Convertors.java | 54 ++- .../parsing/lucene/DocumentIndexImpl.java | 3 +- .../parsing/lucene/IndexDocumentImpl.java | 62 ++- .../modules/parsing/lucene/LuceneIndex.java | 365 ++++++++++------- .../modules/parsing/lucene/MemoryIndex.java | 196 ++++++---- .../lucene/RecordOwnerLockFactory.java | 156 +++----- .../modules/parsing/lucene/RegexpFilter.java | 141 +++++++ .../parsing/lucene/SupportAccessor.java | 4 +- .../modules/parsing/lucene/TermCollector.java | 91 ----- .../modules/parsing/lucene/support/Index.java | 35 +- .../parsing/lucene/support/IndexManager.java | 6 +- .../parsing/lucene/support/Queries.java | 368 +----------------- .../lucene/support/StoppableConvertor.java | 44 --- .../parsing/lucene/AsyncCloseTest.java | 15 +- .../parsing/lucene/IndexTransactionTest.java | 19 +- .../parsing/lucene/LuceneIndexTest.java | 19 +- .../lucene/NativeFSLockFactoryTest.java | 24 +- .../parsing/lucene/RawIndexPerfTest.java | 36 +- .../lucene/RecordOwnerLockFactoryTest.java | 100 +++-- ...QueriesTest.java => RegexpFilterTest.java} | 15 +- java/java.hints/nbproject/project.xml | 4 +- java/java.lsp.server/nbproject/project.xml | 4 +- java/java.source.base/nbproject/project.xml | 8 +- .../java/source/indexing/JavaIndex.java | 2 +- .../java/source/usages/ClassIndexImpl.java | 3 +- .../java/source/usages/DocumentUtil.java | 168 ++++---- .../source/usages/PersistentClassIndex.java | 42 +- .../modules/java/source/usages/QueryUtil.java | 175 ++------- .../api/java/source/JavaSourceTest.java | 20 +- .../indexing/CompileWorkerTestBase.java | 10 +- .../indexing/VanillaCompileWorkerTest.java | 254 ++++++------ .../source/usages/LucenePerformanceTest.java | 8 +- java/java.source/nbproject/project.xml | 4 +- java/java.sourceui/nbproject/project.xml | 8 +- java/spi.java.hints/nbproject/project.xml | 4 +- java/whitelist/nbproject/project.xml | 4 +- nbbuild/licenses/Apache-2.0-lucene | 221 +++++++++-- 59 files changed, 1797 insertions(+), 1617 deletions(-) delete mode 100644 ide/libs.lucene/external/lucene-core-3.6.2-notice.txt rename ide/libs.lucene/external/{lucene-core-3.6.2-license.txt => lucene-core-9.12.3-license.txt} (67%) create mode 100644 ide/libs.lucene/external/lucene-core-9.12.3-notice.txt delete mode 100644 ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/AllFieldsSelector.java create mode 100644 ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RegexpFilter.java delete mode 100644 ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/TermCollector.java delete mode 100644 ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/StoppableConvertor.java rename ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/{support/QueriesTest.java => RegexpFilterTest.java} (78%) diff --git a/ide/csl.api/nbproject/project.xml b/ide/csl.api/nbproject/project.xml index 632dbef71b33..34387b3d3c41 100644 --- a/ide/csl.api/nbproject/project.xml +++ b/ide/csl.api/nbproject/project.xml @@ -75,8 +75,8 @@ - 3 - 3.0 + 9 + 9.0 diff --git a/ide/jumpto/nbproject/project.xml b/ide/jumpto/nbproject/project.xml index c0935153335b..1be4b76e1af3 100644 --- a/ide/jumpto/nbproject/project.xml +++ b/ide/jumpto/nbproject/project.xml @@ -106,8 +106,8 @@ - 2 - 2.31 + 3 + 3.0 diff --git a/ide/libs.lucene/external/binaries-list b/ide/libs.lucene/external/binaries-list index 72c2399b4c70..0e3567310173 100644 --- a/ide/libs.lucene/external/binaries-list +++ b/ide/libs.lucene/external/binaries-list @@ -14,4 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -9EC77E2507F9CC01756964C71D91EFD8154A8C47 org.apache.lucene:lucene-core:3.6.2 +B4B3FBE8608B438D0A810D15187498E6DE974D0E org.apache.lucene:lucene-core:9.12.3 +1C25766443C63D4B75C4ACB5D2AE162A67D6F937 org.apache.lucene:lucene-analysis-common:9.12.3 diff --git a/ide/libs.lucene/external/lucene-core-3.6.2-notice.txt b/ide/libs.lucene/external/lucene-core-3.6.2-notice.txt deleted file mode 100644 index f6e4cce6d7c6..000000000000 --- a/ide/libs.lucene/external/lucene-core-3.6.2-notice.txt +++ /dev/null @@ -1,92 +0,0 @@ -Apache Lucene -Copyright 2019 The Apache Software Foundation - -The snowball stemmers in - contrib/analyzers/common/src/java/net/sf/snowball -were developed by Martin Porter and Richard Boulton. -The snowball stopword lists in - contrib/analyzers/common/src/resources/org/apache/lucene/analysis/snowball -were developed by Martin Porter and Richard Boulton. -The full snowball package is available from - http://snowball.tartarus.org/ - -The KStem stemmer in - common/src/org/apache/lucene/analysis/en -was developed by Bob Krovetz and Sergio Guzman-Lara (CIIR-UMass Amherst) -under the BSD-license. - -The Arabic,Persian,Romanian,Bulgarian, and Hindi analyzers (contrib/analyzers) come with a default -stopword list that is BSD-licensed created by Jacques Savoy. These files reside in: -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/ar/stopwords.txt, -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/fa/stopwords.txt, -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/ro/stopwords.txt, -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/bg/stopwords.txt, -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/hi/stopwords.txt -See http://members.unine.ch/jacques.savoy/clef/index.html. - -The German,Spanish,Finnish,French,Hungarian,Italian,Portuguese,Russian and Swedish light stemmers -(common) are based on BSD-licensed reference implementations created by Jacques Savoy and -Ljiljana Dolamic. These files reside in: -contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java -contrib/analyzers/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java - -The Stempel analyzer (contrib/analyzers) includes BSD-licensed software developed -by the Egothor project http://egothor.sf.net/, created by Leo Galambos, Martin Kvapil, -and Edmond Nolan. - -The Polish analyzer (contrib/analyzers) comes with a default -stopword list that is BSD-licensed created by the Carrot2 project. The file resides -in contrib/analyzers/stempel/src/resources/org/apache/lucene/analysis/pl/stopwords.txt. -See http://project.carrot2.org/license.html. - -Includes lib/servlet-api-2.4.jar from Apache Tomcat -Includes lib/ant-1.7.1.jar and lib/ant-junit-1.7.1.jar from Apache Ant -Includes contrib/queries/lib/jakarta-regexp-1.4.jar from Apache Jakarta Regexp -Includes software from other Apache Software Foundation projects, -including, but not limited to: - - Commons Beanutils (contrib/benchmark/lib/commons-beanutils-1.7.0.jar) - - Commons Collections (contrib/benchmark/lib/commons-collections-3.1.jar) - - Commons Compress (contrib/benchmark/lib/commons-compress-1.0.jar) - - Commons Digester (contrib/benchmark/lib/commons-digester-1.7.jar) - - Commons Logging (contrib/benchmark/lib/commons-logging-1.0.4.jar) - - Xerces (contrib/benchmark/lib/xercesImpl-2.9.1-patched-XERCESJ-1257.jar) - -The SmartChineseAnalyzer source code (under contrib/analyzers) was -provided by Xiaoping Gao and copyright 2009 by www.imdict.net. - -ICU4J, (under contrib/icu) is licensed under an MIT styles license -(contrib/icu/lib/ICU-LICENSE.txt) and Copyright (c) 1995-2008 -International Business Machines Corporation and others - -Some files (contrib/analyzers/common/src/test/.../WordBreakTestUnicode_*.java -and data files under contrib/icu/src/data/) are derived from Unicode data such -as the Unicode Character Database. See http://unicode.org/copyright.html for more -details. - -The class org.apache.lucene.SorterTemplate was inspired by CGLIB's class with -the same name. The implementation part is mainly done using pre-existing -Lucene sorting code. In-place stable mergesort was borrowed from CGLIB, -which is Apache-licensed. - -The Google Code Prettify is Apache License 2.0. -See http://code.google.com/p/google-code-prettify/ - -JUnit (under lib/junit-4.7.jar) is licensed under the Common Public License v. 1.0 -See http://junit.sourceforge.net/cpl-v10.html - -JLine (under contrib/lucli/lib/jline.jar) is licensed under the BSD License. -See http://jline.sourceforge.net/ - -This product includes code (JaspellTernarySearchTrie) from Java Spelling Checking Package (jaspell): http://jaspell.sourceforge.net/ -License: The BSD License (http://www.opensource.org/licenses/bsd-license.php) - - diff --git a/ide/libs.lucene/external/lucene-core-3.6.2-license.txt b/ide/libs.lucene/external/lucene-core-9.12.3-license.txt similarity index 67% rename from ide/libs.lucene/external/lucene-core-3.6.2-license.txt rename to ide/libs.lucene/external/lucene-core-9.12.3-license.txt index bceaf4264edf..1beaacb45836 100644 --- a/ide/libs.lucene/external/lucene-core-3.6.2-license.txt +++ b/ide/libs.lucene/external/lucene-core-9.12.3-license.txt @@ -1,10 +1,11 @@ Name: Apache Lucene Description: Java-based indexing and search technology -Version: 3.6.2 +Version: 9.12.3 Origin: Apache Software Foundation License: Apache-2.0-lucene URL: https://lucene.apache.org/core/ -Source: https://archive.apache.org/dist/lucene/java/3.6.2/ +Source: https://archive.apache.org/dist/lucene/java/9.12.3/ +Files: lucene-core-9.12.3.jar lucene-analysis-common-9.12.3.jar Apache License @@ -211,7 +212,7 @@ Source: https://archive.apache.org/dist/lucene/java/3.6.2/ -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was +Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was derived from unicode conversion examples available at http://www.unicode.org/Public/PROGRAMS/CVTUTF. Here is the copyright from those sources: @@ -239,17 +240,80 @@ from those sources: */ -Some code in src/java/org/apache/lucene/util/ArrayUtil.java was +Some code in core/src/java/org/apache/lucene/util/ArrayUtil.java was derived from Python 2.4.2 sources available at http://www.python.org. Full license is here: http://www.python.org/download/releases/2.4.2/license/ +Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was +derived from Python 3.1.2 sources available at +http://www.python.org. Full license is here: + + http://www.python.org/download/releases/3.1.2/license/ + +Some code in core/src/java/org/apache/lucene/util/automaton was +derived from Brics automaton sources available at +www.brics.dk/automaton/. Here is the copyright from those sources: -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was +/* + * Copyright (c) 2001-2009 Anders Moeller + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +The levenshtein automata tables in core/src/java/org/apache/lucene/util/automaton +were automatically generated with the moman/finenight FSA package. +Here is the copyright for those sources: + +# Copyright (c) 2010, Jean-Philippe Barrette-LaPierre, +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was derived from ICU (http://www.icu-project.org) The full license is available here: - http://source.icu-project.org/repos/icu/icu/trunk/license.html + https://github.com/unicode-org/icu/blob/main/icu4c/LICENSE /* * Copyright (C) 1999-2010, International Business Machines @@ -341,3 +405,112 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The following license applies to the Morfologik project: + +Copyright (c) 2006 Dawid Weiss +Copyright (c) 2007-2011 Dawid Weiss, Marcin Miłkowski +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of Morfologik nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- + +The dictionary comes from Morfologik project. Morfologik uses data from +Polish ispell/myspell dictionary hosted at http://www.sjp.pl/slownik/en/ and +is licenced on the terms of (inter alia) LGPL and Creative Commons +ShareAlike. The part-of-speech tags were added in Morfologik project and +are not found in the data from sjp.pl. The tagset is similar to IPI PAN +tagset. + +--- + +The following license applies to the Morfeusz project, +used by org.apache.lucene.analysis.morfologik. + +BSD-licensed dictionary of Polish (SGJP) +http://sgjp.pl/morfeusz/ + +Copyright © 2011 Zygmunt Saloni, Włodzimierz Gruszczyński, +Marcin Woliński, Robert Wołosz + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDERS “AS IS” AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- + +core/src/java/org/apache/lucene/util/compress/LZ4.java is a Java +implementation of the LZ4 (https://github.com/lz4/lz4/tree/dev/lib) +compression format for Lucene's DataInput/DataOutput abstractions. + +LZ4 Library +Copyright (c) 2011-2016, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/ide/libs.lucene/external/lucene-core-9.12.3-notice.txt b/ide/libs.lucene/external/lucene-core-9.12.3-notice.txt new file mode 100644 index 000000000000..3a64f8d6fccc --- /dev/null +++ b/ide/libs.lucene/external/lucene-core-9.12.3-notice.txt @@ -0,0 +1,201 @@ +Apache Lucene +Copyright 2001-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +Includes software from other Apache Software Foundation projects, +including, but not limited to: + - Apache Jakarta Regexp + - Apache Commons + - Apache Xerces + +ICU4J, (under analysis/icu) is licensed under an MIT styles license +and Copyright (c) 1995-2008 International Business Machines Corporation and others + +Some data files (under analysis/icu/src/data) are derived from Unicode data such +as the Unicode Character Database. See http://unicode.org/copyright.html for more +details. + +Brics Automaton (under core/src/java/org/apache/lucene/util/automaton) is +BSD-licensed, created by Anders Møller. See http://www.brics.dk/automaton/ + +The levenshtein automata tables (under core/src/java/org/apache/lucene/util/automaton) were +automatically generated with the moman/finenight FSA library, created by +Jean-Philippe Barrette-LaPierre. This library is available under an MIT license, +see http://sites.google.com/site/rrettesite/moman and +http://bitbucket.org/jpbarrette/moman/overview/ + +The class org.apache.lucene.util.WeakIdentityMap was derived from +the Apache CXF project and is Apache License 2.0. + +The class org.apache.lucene.util.compress.LZ4 is a Java rewrite of the LZ4 +compression library (https://github.com/lz4/lz4/tree/dev/lib) that is licensed +under the 2-clause BSD license. +(https://opensource.org/licenses/bsd-license.php) + +The Google Code Prettify is Apache License 2.0. +See http://code.google.com/p/google-code-prettify/ + +This product includes code (JaspellTernarySearchTrie) from Java Spelling Checkin +g Package (jaspell): http://jaspell.sourceforge.net/ +License: The BSD License (http://www.opensource.org/licenses/bsd-license.php) + +The snowball stemmers in + analysis/common/src/java/net/sf/snowball +were developed by Martin Porter and Richard Boulton. +The snowball stopword lists in + analysis/common/src/resources/org/apache/lucene/analysis/snowball +were developed by Martin Porter and Richard Boulton. +The full snowball package is available from + https://snowballstem.org/ + +The KStem stemmer in + analysis/common/src/org/apache/lucene/analysis/en +was developed by Bob Krovetz and Sergio Guzman-Lara (CIIR-UMass Amherst) +under the BSD-license. + +The Arabic,Persian,Romanian,Bulgarian, Hindi and Bengali analyzers (common) come with a default +stopword list that is BSD-licensed created by Jacques Savoy. These files reside in: +analysis/common/src/resources/org/apache/lucene/analysis/ar/stopwords.txt, +analysis/common/src/resources/org/apache/lucene/analysis/fa/stopwords.txt, +analysis/common/src/resources/org/apache/lucene/analysis/ro/stopwords.txt, +analysis/common/src/resources/org/apache/lucene/analysis/bg/stopwords.txt, +analysis/common/src/resources/org/apache/lucene/analysis/hi/stopwords.txt, +analysis/common/src/resources/org/apache/lucene/analysis/bn/stopwords.txt +See http://members.unine.ch/jacques.savoy/clef/index.html. + +The German,Spanish,Finnish,French,Hungarian,Italian,Portuguese,Russian and Swedish light stemmers +(common) are based on BSD-licensed reference implementations created by Jacques Savoy and +Ljiljana Dolamic. These files reside in: +analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java +analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java + +The Stempel analyzer (stempel) includes BSD-licensed software developed +by the Egothor project http://egothor.sf.net/, created by Leo Galambos, Martin Kvapil, +and Edmond Nolan. + +The Polish analyzer (stempel) comes with a default +stopword list that is BSD-licensed created by the Carrot2 project. The file resides +in stempel/src/resources/org/apache/lucene/analysis/pl/stopwords.txt. +See https://github.com/carrot2/carrot2. + +The SmartChineseAnalyzer source code (smartcn) was +provided by Xiaoping Gao and copyright 2009 by www.imdict.net. + +WordBreakTestUnicode_*.java (under modules/analysis/common/src/test/) +is derived from Unicode data such as the Unicode Character Database. +See http://unicode.org/copyright.html for more details. + +The Morfologik analyzer (morfologik) includes BSD-licensed software +developed by Dawid Weiss and Marcin Miłkowski +(https://github.com/morfologik/morfologik-stemming) and uses +data from the BSD-licensed dictionary of Polish (SGJP, http://sgjp.pl/morfeusz/). + +Servlet-api.jar and javax.servlet-*.jar are under the CDDL license, the original +source code for this can be found at http://www.eclipse.org/jetty/downloads.php + +=========================================================================== +Kuromoji Japanese Morphological Analyzer - Apache Lucene Integration +=========================================================================== + +This software includes a binary and/or source version of data from + + mecab-ipadic-2.7.0-20070801 + +which can be obtained from + + http://atilika.com/releases/mecab-ipadic/mecab-ipadic-2.7.0-20070801.tar.gz + +or + + http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz + +=========================================================================== +mecab-ipadic-2.7.0-20070801 Notice +=========================================================================== + +Nara Institute of Science and Technology (NAIST), +the copyright holders, disclaims all warranties with regard to this +software, including all implied warranties of merchantability and +fitness, in no event shall NAIST be liable for +any special, indirect or consequential damages or any damages +whatsoever resulting from loss of use, data or profits, whether in an +action of contract, negligence or other tortuous action, arising out +of or in connection with the use or performance of this software. + +A large portion of the dictionary entries +originate from ICOT Free Software. The following conditions for ICOT +Free Software applies to the current dictionary as well. + +Each User may also freely distribute the Program, whether in its +original form or modified, to any third party or parties, PROVIDED +that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear +on, or be attached to, the Program, which is distributed substantially +in the same form as set out herein and that such intended +distribution, if actually made, will neither violate or otherwise +contravene any of the laws and regulations of the countries having +jurisdiction over the User or the intended distribution itself. + +NO WARRANTY + +The program was produced on an experimental basis in the course of the +research and development conducted during the project and is provided +to users as so produced on an experimental basis. Accordingly, the +program is provided without any warranty whatsoever, whether express, +implied, statutory or otherwise. The term "warranty" used herein +includes, but is not limited to, any warranty of the quality, +performance, merchantability and fitness for a particular purpose of +the program and the nonexistence of any infringement or violation of +any right of any third party. + +Each user of the program will agree and understand, and be deemed to +have agreed and understood, that there is no warranty whatsoever for +the program and, accordingly, the entire risk arising from or +otherwise connected with the program is assumed by the user. + +Therefore, neither ICOT, the copyright holder, or any other +organization that participated in or was otherwise related to the +development of the program and their respective officials, directors, +officers and other employees shall be held liable for any and all +damages, including, without limitation, general, special, incidental +and consequential damages, arising out of or otherwise in connection +with the use or inability to use the program or any product, material +or result produced or otherwise obtained by using the program, +regardless of whether they have been advised of, or otherwise had +knowledge of, the possibility of such damages at any time during the +project or thereafter. Each user will be deemed to have agreed to the +foregoing by his or her commencement of use of the program. The term +"use" as used herein includes, but is not limited to, the use, +modification, copying and distribution of the program and the +production of secondary products from the program. + +In the case where the program, whether in its original form or +modified, was distributed or delivered to or received by a user from +any person, organization or entity other than ICOT, unless it makes or +grants independently of ICOT any specific warranty to the user in +writing, such person, organization or entity, will also be exempted +from and not be held liable to the user for any such damages as noted +above as far as the program is concerned. + +=========================================================================== +Nori Korean Morphological Analyzer - Apache Lucene Integration +=========================================================================== + +This software includes a binary and/or source version of data from + + mecab-ko-dic-2.0.3-20170922 + +which can be obtained from + + https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.0.3-20170922.tar.gz + diff --git a/ide/libs.lucene/manifest.mf b/ide/libs.lucene/manifest.mf index 2721dbd39724..1f36a482ff9f 100644 --- a/ide/libs.lucene/manifest.mf +++ b/ide/libs.lucene/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -OpenIDE-Module: org.netbeans.libs.lucene/3 +OpenIDE-Module: org.netbeans.libs.lucene/9 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/lucene/Bundle.properties -OpenIDE-Module-Specification-Version: 3.51 +OpenIDE-Module-Specification-Version: 9.0 diff --git a/ide/libs.lucene/nbproject/project.properties b/ide/libs.lucene/nbproject/project.properties index 833412719a8c..8c50d77d7439 100644 --- a/ide/libs.lucene/nbproject/project.properties +++ b/ide/libs.lucene/nbproject/project.properties @@ -16,9 +16,10 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=11 javac.compilerargs=-Xlint -Xlint:-serial -release.external/lucene-core-3.6.2.jar=modules/ext/lucene-core-3.6.2.jar +release.external/lucene-core-9.12.3.jar=modules/ext/lucene-core-9.12.3.jar +release.external/lucene-analysis-common-9.12.3.jar=modules/ext/lucene-analysis-common-9.12.3.jar # This is an very old library, the complete dependencies were never explored. # Since subpackage-s are working in new sigtest version, generation of the diff --git a/ide/libs.lucene/nbproject/project.xml b/ide/libs.lucene/nbproject/project.xml index 90bbd89df36a..1a48dec5d2dd 100644 --- a/ide/libs.lucene/nbproject/project.xml +++ b/ide/libs.lucene/nbproject/project.xml @@ -29,8 +29,12 @@ org.apache.lucene - ext/lucene-core-3.6.2.jar - external/lucene-core-3.6.2.jar + ext/lucene-core-9.12.3.jar + external/lucene-core-9.12.3.jar + + + ext/lucene-analysis-common-9.12.3.jar + external/lucene-analysis-common-9.12.3.jar diff --git a/ide/parsing.api/nbproject/project.xml b/ide/parsing.api/nbproject/project.xml index a172bcfca330..39c3cf55fb94 100644 --- a/ide/parsing.api/nbproject/project.xml +++ b/ide/parsing.api/nbproject/project.xml @@ -83,8 +83,8 @@ - 2 - 2.28 + 3 + 3.0 diff --git a/ide/parsing.indexing/nbproject/project.xml b/ide/parsing.indexing/nbproject/project.xml index 0093b40a5a3c..f0e7ea0dab19 100644 --- a/ide/parsing.indexing/nbproject/project.xml +++ b/ide/parsing.indexing/nbproject/project.xml @@ -57,8 +57,8 @@ - 3 - 3.16 + 9 + 9.0 @@ -101,8 +101,8 @@ - 2 - 2.31 + 3 + 3.0 diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/ClusteredIndexables.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/ClusteredIndexables.java index 938caac0b010..fca065095adb 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/ClusteredIndexables.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/ClusteredIndexables.java @@ -41,7 +41,9 @@ import java.util.logging.Logger; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; -import org.apache.lucene.document.Fieldable; +import org.apache.lucene.document.FieldType; +import org.apache.lucene.index.IndexOptions; +import org.apache.lucene.index.IndexableFieldType; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; import org.netbeans.modules.parsing.impl.indexing.lucene.DocumentBasedIndexManager; @@ -64,7 +66,34 @@ public final class ClusteredIndexables { public static final String FIELD_PRIMARY_KEY = "_sn"; //NOI18N public static final String DELETE = "ci-delete-set"; //NOI18N public static final String INDEX = "ci-index-set"; //NOI18N - + + private static final IndexableFieldType STORED_SEARCHABLE; + private static final IndexableFieldType NON_STORED_SEARCHABLE; + private static final IndexableFieldType STORED_NON_SEARCHABLE; + private static final IndexableFieldType NON_STORED_NON_SEARCHABLE; + static { + STORED_SEARCHABLE = new FieldType(); + ((FieldType) STORED_SEARCHABLE).setStored(true); + ((FieldType) STORED_SEARCHABLE).setTokenized(true); + ((FieldType) STORED_SEARCHABLE).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) STORED_SEARCHABLE).freeze(); + NON_STORED_SEARCHABLE = new FieldType(); + ((FieldType) NON_STORED_SEARCHABLE).setStored(false); + ((FieldType) NON_STORED_SEARCHABLE).setTokenized(true); + ((FieldType) NON_STORED_SEARCHABLE).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) NON_STORED_SEARCHABLE).freeze(); + STORED_NON_SEARCHABLE = new FieldType(); + ((FieldType) STORED_NON_SEARCHABLE).setStored(true); + ((FieldType) STORED_NON_SEARCHABLE).setTokenized(false); + ((FieldType) STORED_NON_SEARCHABLE).setIndexOptions(IndexOptions.NONE); + ((FieldType) STORED_NON_SEARCHABLE).freeze(); + NON_STORED_NON_SEARCHABLE = new FieldType(); + ((FieldType) NON_STORED_NON_SEARCHABLE).setStored(false); + ((FieldType) NON_STORED_NON_SEARCHABLE).setTokenized(false); + ((FieldType) NON_STORED_NON_SEARCHABLE).setIndexOptions(IndexOptions.NONE); + ((FieldType) NON_STORED_NON_SEARCHABLE).freeze(); + } + // ----------------------------------------------------------------------- // Public implementation // ----------------------------------------------------------------------- @@ -122,6 +151,21 @@ public static interface AttachableDocumentIndexCache extends DocumentIndexCache. void detach(); } + private static Field createField(String key, String value, boolean searchable, boolean stored) { + IndexableFieldType ift = null; + if(stored && searchable) { + ift = STORED_SEARCHABLE; + } else if ((! stored) && searchable) { + ift = NON_STORED_SEARCHABLE; + } else if (stored && (! searchable)) { + ift = STORED_NON_SEARCHABLE; + } else if ((! stored) && (! searchable)) { + ift = NON_STORED_NON_SEARCHABLE; + } + assert ift != null; + return new Field(key, value, ift); + } + // ----------------------------------------------------------------------- // Private implementation // ----------------------------------------------------------------------- @@ -720,7 +764,7 @@ private static final class MemIndexDocument implements IndexDocument { private static final String[] EMPTY = new String[0]; - private final List fields = new ArrayList(); + private final List fields = new ArrayList(); boolean consumed; MemIndexDocument(@NonNull final String primaryKey) { @@ -728,7 +772,7 @@ private static final class MemIndexDocument implements IndexDocument { fields.add(sourceNameField(primaryKey)); } - public List getFields() { + public List getFields() { return fields; } @@ -742,15 +786,12 @@ public void addPair(String key, String value, boolean searchable, boolean stored if (consumed) { throw new IllegalStateException("Modifying Document after adding it into index."); //NOI18N } - final Field field = new Field (key, value, - stored ? Field.Store.YES : Field.Store.NO, - searchable ? Field.Index.NOT_ANALYZED_NO_NORMS : Field.Index.NO); - fields.add (field); + fields.add (createField(key, value, searchable, stored)); } @Override public String getValue(String key) { - for (Fieldable field : fields) { + for (Field field : fields) { if (field.name().equals(key)) { return field.stringValue(); } @@ -761,7 +802,7 @@ public String getValue(String key) { @Override public String[] getValues(String key) { final List result = new ArrayList(); - for (Fieldable field : fields) { + for (Field field : fields) { if (field.name().equals(key)) { result.add(field.stringValue()); } @@ -769,8 +810,8 @@ public String[] getValues(String key) { return result.toArray(result.isEmpty() ? EMPTY : new String[result.size()]); } - private Fieldable sourceNameField(@NonNull String primaryKey) { - return new Field(FIELD_PRIMARY_KEY, primaryKey, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS); + private Field sourceNameField(@NonNull String primaryKey) { + return createField(FIELD_PRIMARY_KEY, primaryKey, true, true); } } // @@ -786,7 +827,7 @@ private static final class ReusableIndexDocument implements IndexDocument { ReusableIndexDocument(@NonNull final MemIndexDocument memDoc) { Parameters.notNull("memDoc", memDoc); //NOI18N - for (Fieldable field : memDoc.getFields()) { + for (Field field : memDoc.getFields()) { doc.add(field); } } @@ -809,15 +850,15 @@ public String[] getValues(String key) { @Override public void addPair(String key, String value, boolean searchable, boolean stored) { - doc.add(new Field ( + doc.add(createField( key, value, - stored ? Field.Store.YES : Field.Store.NO, - searchable ? Field.Index.NOT_ANALYZED_NO_NORMS : Field.Index.NO)); + searchable, + stored)); } void clear() { - doc.getFields().clear(); + doc.clear(); } } // @@ -873,10 +914,10 @@ private boolean addDocument( final MemIndexDocument mdoc = (MemIndexDocument)doc; final int oldDocsPointer = docsPointer; final int oldDataPointer = dataPointer; - for (Fieldable fld : mdoc.getFields()) { + for (Field fld : mdoc.getFields()) { final String fldName = fld.name(); - final boolean stored = fld.isStored(); - final boolean indexed = fld.isIndexed(); + final boolean stored = fld.fieldType().stored(); + final boolean indexed = fld.fieldType().indexOptions() != IndexOptions.NONE; final String fldValue = fld.stringValue(); int index; Integer indexBoxed = fieldNames.get(fldName); diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/lucene/LayeredDocumentIndex.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/lucene/LayeredDocumentIndex.java index 3b2c4668d702..b3fcd7d14783 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/lucene/LayeredDocumentIndex.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/lucene/LayeredDocumentIndex.java @@ -25,7 +25,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; -import org.apache.lucene.analysis.KeywordAnalyzer; +import org.apache.lucene.analysis.core.KeywordAnalyzer; import org.apache.lucene.search.Query; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/lucene/LuceneIndexFactory.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/lucene/LuceneIndexFactory.java index f85b3f1e5113..f091f55d6509 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/lucene/LuceneIndexFactory.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/lucene/LuceneIndexFactory.java @@ -46,7 +46,7 @@ */ public final class LuceneIndexFactory implements IndexFactoryImpl { - private static final int VERSION = 1; + private static final int VERSION = 2; //@GuardedBy("LuceneIndexFactory.class") private static LuceneIndexFactory instance; //@GuardedBy("indexes") diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/support/QuerySupport.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/support/QuerySupport.java index f98a5872f55d..bdbb0526b89d 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/support/QuerySupport.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/support/QuerySupport.java @@ -40,13 +40,13 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.apache.lucene.search.BooleanClause; +import org.apache.lucene.search.BooleanQuery; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.api.java.classpath.GlobalPathRegistry; import org.netbeans.api.java.queries.BinaryForSourceQuery; -import org.netbeans.api.java.queries.SourceForBinaryQuery; import org.netbeans.api.project.FileOwnerQuery; import org.netbeans.api.project.Project; import org.netbeans.modules.parsing.impl.RunWhenScanFinishedSupport; @@ -524,13 +524,13 @@ public Query file(@NonNull final FileObject file) { @NonNull public Query and(@NonNull final Query...queries) { Parameters.notNull("queries", queries); //NOI18N - final org.apache.lucene.search.BooleanQuery bq = new org.apache.lucene.search.BooleanQuery(); + BooleanQuery.Builder bq = new BooleanQuery.Builder(); for (Query q : queries) { bq.add(new BooleanClause(q.queryImpl, org.apache.lucene.search.BooleanClause.Occur.MUST)); } return new Query( qs, - bq); + bq.build()); } /** @@ -541,13 +541,13 @@ public Query and(@NonNull final Query...queries) { @NonNull public Query or(@NonNull final Query...queries) { Parameters.notNull("queries", queries); //NOI18N - final org.apache.lucene.search.BooleanQuery bq = new org.apache.lucene.search.BooleanQuery(); + BooleanQuery.Builder bq = new BooleanQuery.Builder(); for (Query q : queries) { bq.add(new BooleanClause(q.queryImpl, org.apache.lucene.search.BooleanClause.Occur.SHOULD)); } return new Query( qs, - bq); + bq.build()); } /** diff --git a/ide/parsing.indexing/test/unit/src/org/netbeans/modules/parsing/impl/indexing/DocumentStoreTest.java b/ide/parsing.indexing/test/unit/src/org/netbeans/modules/parsing/impl/indexing/DocumentStoreTest.java index 6179dc1b2815..5cf38c7398ee 100644 --- a/ide/parsing.indexing/test/unit/src/org/netbeans/modules/parsing/impl/indexing/DocumentStoreTest.java +++ b/ide/parsing.indexing/test/unit/src/org/netbeans/modules/parsing/impl/indexing/DocumentStoreTest.java @@ -34,7 +34,7 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; -import org.apache.lucene.analysis.KeywordAnalyzer; +import org.apache.lucene.analysis.core.KeywordAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.search.Query; import org.netbeans.api.annotations.common.NonNull; diff --git a/ide/parsing.lucene/manifest.mf b/ide/parsing.lucene/manifest.mf index 892abdb13b12..b780b5970882 100644 --- a/ide/parsing.lucene/manifest.mf +++ b/ide/parsing.lucene/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module: org.netbeans.modules.parsing.lucene/2 +OpenIDE-Module: org.netbeans.modules.parsing.lucene/3 OpenIDE-Module-Implementation-Version: 1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/parsing/lucene/Bundle.properties diff --git a/ide/parsing.lucene/nbproject/org-netbeans-modules-parsing-lucene.sig b/ide/parsing.lucene/nbproject/org-netbeans-modules-parsing-lucene.sig index af141e488946..c6fa31437914 100644 --- a/ide/parsing.lucene/nbproject/org-netbeans-modules-parsing-lucene.sig +++ b/ide/parsing.lucene/nbproject/org-netbeans-modules-parsing-lucene.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.67.0 +#Version 3.0.0 CLSS public java.io.IOException cons public init() @@ -178,13 +178,13 @@ innr public abstract interface static Transactional innr public abstract interface static WithTermFrequencies innr public final static !enum Status innr public final static IndexClosedException -meth public abstract !varargs <%0 extends java.lang.Object, %1 extends java.lang.Object> void queryDocTerms(java.util.Map>,org.netbeans.modules.parsing.lucene.support.Convertor,org.netbeans.modules.parsing.lucene.support.Convertor,org.apache.lucene.document.FieldSelector,java.util.concurrent.atomic.AtomicBoolean,org.apache.lucene.search.Query[]) throws java.io.IOException,java.lang.InterruptedException +meth public abstract !varargs <%0 extends java.lang.Object, %1 extends java.lang.Object> void queryDocTerms(java.util.Map>,org.netbeans.modules.parsing.lucene.support.Convertor,org.netbeans.modules.parsing.lucene.support.Convertor,java.util.Set,java.util.concurrent.atomic.AtomicBoolean,org.apache.lucene.search.Query[]) throws java.io.IOException,java.lang.InterruptedException anno 2 org.netbeans.api.annotations.common.NonNull() anno 3 org.netbeans.api.annotations.common.NonNull() anno 4 org.netbeans.api.annotations.common.NullAllowed() anno 5 org.netbeans.api.annotations.common.NullAllowed() anno 6 org.netbeans.api.annotations.common.NonNull() -meth public abstract !varargs <%0 extends java.lang.Object> void query(java.util.Collection,org.netbeans.modules.parsing.lucene.support.Convertor,org.apache.lucene.document.FieldSelector,java.util.concurrent.atomic.AtomicBoolean,org.apache.lucene.search.Query[]) throws java.io.IOException,java.lang.InterruptedException +meth public abstract !varargs <%0 extends java.lang.Object> void query(java.util.Collection,org.netbeans.modules.parsing.lucene.support.Convertor,java.util.Set,java.util.concurrent.atomic.AtomicBoolean,org.apache.lucene.search.Query[]) throws java.io.IOException,java.lang.InterruptedException anno 2 org.netbeans.api.annotations.common.NonNull() anno 3 org.netbeans.api.annotations.common.NullAllowed() anno 4 org.netbeans.api.annotations.common.NullAllowed() @@ -194,11 +194,12 @@ meth public abstract <%0 extends java.lang.Object, %1 extends java.lang.Object> anno 2 org.netbeans.api.annotations.common.NonNull() anno 3 org.netbeans.api.annotations.common.NonNull() anno 4 org.netbeans.api.annotations.common.NonNull() -meth public abstract <%0 extends java.lang.Object> void queryTerms(java.util.Collection,org.apache.lucene.index.Term,org.netbeans.modules.parsing.lucene.support.StoppableConvertor,java.util.concurrent.atomic.AtomicBoolean) throws java.io.IOException,java.lang.InterruptedException +meth public abstract <%0 extends java.lang.Object> void queryTerms(java.util.Collection,java.lang.String,java.lang.String,org.netbeans.modules.parsing.lucene.support.Convertor,java.util.concurrent.atomic.AtomicBoolean) throws java.io.IOException,java.lang.InterruptedException anno 1 org.netbeans.api.annotations.common.NonNull() - anno 2 org.netbeans.api.annotations.common.NullAllowed() - anno 3 org.netbeans.api.annotations.common.NonNull() - anno 4 org.netbeans.api.annotations.common.NullAllowed() + anno 2 org.netbeans.api.annotations.common.NonNull() + anno 3 org.netbeans.api.annotations.common.NullAllowed() + anno 4 org.netbeans.api.annotations.common.NonNull() + anno 5 org.netbeans.api.annotations.common.NullAllowed() meth public abstract org.netbeans.modules.parsing.lucene.support.Index$Status getStatus(boolean) throws java.io.IOException meth public abstract void clear() throws java.io.IOException meth public abstract void close() throws java.io.IOException @@ -233,16 +234,17 @@ CLSS public abstract interface static org.netbeans.modules.parsing.lucene.suppor outer org.netbeans.modules.parsing.lucene.support.Index innr public final static TermFreq intf org.netbeans.modules.parsing.lucene.support.Index -meth public abstract <%0 extends java.lang.Object> void queryTermFrequencies(java.util.Collection,org.apache.lucene.index.Term,org.netbeans.modules.parsing.lucene.support.StoppableConvertor,java.util.concurrent.atomic.AtomicBoolean) throws java.io.IOException,java.lang.InterruptedException +meth public abstract <%0 extends java.lang.Object> void queryTermFrequencies(java.util.Collection,java.lang.String,java.lang.String,org.netbeans.modules.parsing.lucene.support.Convertor,java.util.concurrent.atomic.AtomicBoolean) throws java.io.IOException,java.lang.InterruptedException anno 1 org.netbeans.api.annotations.common.NonNull() - anno 2 org.netbeans.api.annotations.common.NullAllowed() - anno 3 org.netbeans.api.annotations.common.NonNull() - anno 4 org.netbeans.api.annotations.common.NullAllowed() + anno 2 org.netbeans.api.annotations.common.NonNull() + anno 3 org.netbeans.api.annotations.common.NullAllowed() + anno 4 org.netbeans.api.annotations.common.NonNull() + anno 5 org.netbeans.api.annotations.common.NullAllowed() CLSS public final static org.netbeans.modules.parsing.lucene.support.Index$WithTermFrequencies$TermFreq outer org.netbeans.modules.parsing.lucene.support.Index$WithTermFrequencies meth public int getFreq() -meth public org.apache.lucene.index.Term getTerm() +meth public org.apache.lucene.util.BytesRef getTerm() anno 0 org.netbeans.api.annotations.common.NonNull() supr java.lang.Object hfds freq,term @@ -341,7 +343,7 @@ CLSS public final org.netbeans.modules.parsing.lucene.support.Queries fld public final static java.lang.String OPTION_CAMEL_CASE_PART = "camelCasePart" fld public final static java.lang.String OPTION_CAMEL_CASE_SEPARATOR = "camelCaseSeparator" innr public final static !enum QueryKind -meth public !varargs static org.apache.lucene.document.FieldSelector createFieldSelector(java.lang.String[]) +meth public !varargs static java.util.Set createFieldSelector(java.lang.String[]) anno 1 org.netbeans.api.annotations.common.NonNull() meth public static boolean isCamelCase(java.lang.String,java.lang.String,java.lang.String) anno 1 org.netbeans.api.annotations.common.NonNull() @@ -380,7 +382,7 @@ meth public static org.apache.lucene.search.Query createTermCollectingQuery(java anno 5 org.netbeans.api.annotations.common.NonNull() supr java.lang.Object hfds CAMEL_CASE_FORMAT,DEFAULT_CAMEL_CASE_PART_CASE_INSENSITIVE,DEFAULT_CAMEL_CASE_PART_CASE_SENSITIVE,DEFAULT_CAMEL_CASE_PATTERN,DEFAULT_CAMEL_CASE_SEPARATOR,cache -hcls AbstractTCFilter,FieldSelectorImpl,HasFieldFilter,PrefixFilter,QueryFactory,RegexpFilter,RegexpTermEnum,StandardQueryFactory,TCBooleanQuery,TCFilter,TCFilteredQuery,TCQueryFactory,TermFilter +hcls QueryFactory,StandardQueryFactory CLSS public final static !enum org.netbeans.modules.parsing.lucene.support.Queries$QueryKind outer org.netbeans.modules.parsing.lucene.support.Queries @@ -395,12 +397,3 @@ meth public static org.netbeans.modules.parsing.lucene.support.Queries$QueryKind meth public static org.netbeans.modules.parsing.lucene.support.Queries$QueryKind[] values() supr java.lang.Enum -CLSS public abstract interface org.netbeans.modules.parsing.lucene.support.StoppableConvertor<%0 extends java.lang.Object, %1 extends java.lang.Object> -innr public final static Stop -meth public abstract {org.netbeans.modules.parsing.lucene.support.StoppableConvertor%1} convert({org.netbeans.modules.parsing.lucene.support.StoppableConvertor%0}) throws org.netbeans.modules.parsing.lucene.support.StoppableConvertor$Stop - -CLSS public final static org.netbeans.modules.parsing.lucene.support.StoppableConvertor$Stop - outer org.netbeans.modules.parsing.lucene.support.StoppableConvertor -cons public init() -supr java.lang.Exception - diff --git a/ide/parsing.lucene/nbproject/project.properties b/ide/parsing.lucene/nbproject/project.properties index 92c77a84fc96..605795a144eb 100644 --- a/ide/parsing.lucene/nbproject/project.properties +++ b/ide/parsing.lucene/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.68.0 +spec.version.base=3.0.0 diff --git a/ide/parsing.lucene/nbproject/project.xml b/ide/parsing.lucene/nbproject/project.xml index 988a8457fce7..fa14a7c3e0e5 100644 --- a/ide/parsing.lucene/nbproject/project.xml +++ b/ide/parsing.lucene/nbproject/project.xml @@ -39,8 +39,8 @@ - 3 - 3.6 + 9 + 9.0 diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/AllFieldsSelector.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/AllFieldsSelector.java deleted file mode 100644 index 5e44190b995c..000000000000 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/AllFieldsSelector.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.parsing.lucene; - -import org.apache.lucene.document.FieldSelector; -import org.apache.lucene.document.FieldSelectorResult; - -/** - * - * @author Tomas Zezula - */ -final class AllFieldsSelector implements FieldSelector { - - static final FieldSelector INSTANCE = new AllFieldsSelector(); - - private AllFieldsSelector(){} - - @Override - public FieldSelectorResult accept(final String fieldName) { - return FieldSelectorResult.LOAD; - } -} diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/BitSetCollector.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/BitSetCollector.java index d6ff84b5d43a..141c3b32fad4 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/BitSetCollector.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/BitSetCollector.java @@ -19,16 +19,17 @@ package org.netbeans.modules.parsing.lucene; +import java.io.IOException; import java.util.BitSet; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.search.Collector; -import org.apache.lucene.search.Scorer; +import org.apache.lucene.index.LeafReaderContext; +import org.apache.lucene.search.ScoreMode; +import org.apache.lucene.search.SimpleCollector; /** * * @author Tomas Zezula */ -class BitSetCollector extends Collector { +class BitSetCollector extends SimpleCollector { private int docBase; public final BitSet bits; @@ -40,14 +41,10 @@ class BitSetCollector extends Collector { // ignore scorer @Override - public void setScorer(Scorer scorer) { + public ScoreMode scoreMode() { + return ScoreMode.COMPLETE_NO_SCORES; } - // accept docs out of order (for a BitSet it doesn't matter) - @Override - public boolean acceptsDocsOutOfOrder() { - return true; - } @Override public void collect(int doc) { @@ -55,8 +52,9 @@ public void collect(int doc) { } @Override - public void setNextReader(IndexReader reader, int docBase) { - this.docBase = docBase; + protected void doSetNextReader(LeafReaderContext context) throws IOException { + super.doSetNextReader(context); + this.docBase = context.docBase; } } \ No newline at end of file diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/Convertors.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/Convertors.java index 2523fd083353..bd0a8396cd7d 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/Convertors.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/Convertors.java @@ -18,17 +18,18 @@ */ package org.netbeans.modules.parsing.lucene; +import java.io.IOException; import org.apache.lucene.document.Document; import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.Term; -import org.apache.lucene.index.TermEnum; +import org.apache.lucene.index.TermsEnum; import org.apache.lucene.search.Query; +import org.apache.lucene.util.BytesRef; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.modules.parsing.lucene.support.Convertor; import org.netbeans.modules.parsing.lucene.support.Index; import org.netbeans.modules.parsing.lucene.support.IndexDocument; import org.netbeans.modules.parsing.lucene.support.IndexReaderInjection; -import org.netbeans.modules.parsing.lucene.support.StoppableConvertor; +import org.openide.util.Exceptions; /** * @@ -52,11 +53,11 @@ static Convertor newSourceNameToQueryConvertor() { return new RemoveConvertor(); } - static StoppableConvertor newTermEnumToTermConvertor(@NonNull StoppableConvertor delegate) { + static Convertor newTermEnumToTermConvertor(@NonNull Convertor delegate) { return new TermEnumToTerm<>(delegate); } - static StoppableConvertor newTermEnumToFreqConvertor(@NonNull StoppableConvertor delegate) { + static Convertor newTermEnumToFreqConvertor(@NonNull Convertor delegate) { return new TermEnumToFreq<>(delegate); } @@ -82,21 +83,27 @@ public IndexDocumentImpl convert(Document p) { } } - private static class TermEnumToTerm implements StoppableConvertor, IndexReaderInjection { + private static class TermEnumToTerm implements Convertor, IndexReaderInjection { - private final StoppableConvertor delegate; + private final Convertor delegate; - TermEnumToTerm(@NonNull final StoppableConvertor convertor) { + TermEnumToTerm(@NonNull final Convertor convertor) { this.delegate = convertor; } @Override - public T convert(@NonNull final TermEnum terms) throws StoppableConvertor.Stop { - final Term currentTerm = terms.term(); - if (currentTerm == null) { + public T convert(@NonNull final TermsEnum terms) { + try { + final BytesRef currentTerm = terms.term(); + if (currentTerm == null) { + return null; + } + // Defensive copy as TermEnumeration might reuse the returned BytesRef + return delegate.convert(BytesRef.deepCopyOf(currentTerm)); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); return null; } - return delegate.convert(currentTerm); } @Override @@ -107,27 +114,32 @@ public void setIndexReader(@NonNull IndexReader indexReader) { } } - private static class TermEnumToFreq implements StoppableConvertor, IndexReaderInjection { + private static class TermEnumToFreq implements Convertor, IndexReaderInjection { private final SupportAccessor accessor = SupportAccessor.getInstance(); private final Index.WithTermFrequencies.TermFreq tf = accessor.newTermFreq(); - private final StoppableConvertor delegate; + private final Convertor delegate; - TermEnumToFreq(@NonNull final StoppableConvertor convertor) { + TermEnumToFreq(@NonNull final Convertor convertor) { this.delegate = convertor; } @Override - public T convert(TermEnum terms) throws StoppableConvertor.Stop { - final Term currentTerm = terms.term(); - if (currentTerm == null) { + public T convert(TermsEnum terms) { + try { + final BytesRef currentTerm = terms.term(); + if (currentTerm == null) { + return null; + } + final int freq = terms.docFreq(); + return delegate.convert(accessor.setTermFreq(tf, currentTerm, freq)); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); return null; } - final int freq = terms.docFreq(); - return delegate.convert(accessor.setTermFreq(tf, currentTerm, freq)); } - @Override + @Override public void setIndexReader(@NonNull IndexReader indexReader) { if (delegate instanceof IndexReaderInjection iri) { iri.setIndexReader(indexReader); diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/DocumentIndexImpl.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/DocumentIndexImpl.java index f4635540d87d..b5567ef74578 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/DocumentIndexImpl.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/DocumentIndexImpl.java @@ -30,7 +30,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.apache.lucene.document.Document; -import org.apache.lucene.document.FieldSelector; import org.apache.lucene.search.Query; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; @@ -245,7 +244,7 @@ public Collection query( Parameters.notNull("query", query); //NOI18N Parameters.notNull("convertor", convertor); //NOI18N final Collection result = new ArrayDeque<>(); - FieldSelector selector = null; + Set selector = null; if (fieldsToLoad != null && fieldsToLoad.length > 0) { final String[] fieldsWithSource = Arrays.copyOf(fieldsToLoad, fieldsToLoad.length+1); fieldsWithSource[fieldsToLoad.length] = IndexDocumentImpl.FIELD_PRIMARY_KEY; diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/IndexDocumentImpl.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/IndexDocumentImpl.java index 47f194d10003..bfe7be199176 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/IndexDocumentImpl.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/IndexDocumentImpl.java @@ -21,7 +21,9 @@ import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; -import org.apache.lucene.document.Fieldable; +import org.apache.lucene.document.FieldType; +import org.apache.lucene.index.IndexOptions; +import org.apache.lucene.index.IndexableFieldType; import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; @@ -34,7 +36,34 @@ public final class IndexDocumentImpl implements IndexDocument { static final String FIELD_PRIMARY_KEY = "_sn"; //NOI18N - + + private static final IndexableFieldType STORED_SEARCHABLE; + private static final IndexableFieldType NON_STORED_SEARCHABLE; + private static final IndexableFieldType STORED_NON_SEARCHABLE; + private static final IndexableFieldType NON_STORED_NON_SEARCHABLE; + static { + STORED_SEARCHABLE = new FieldType(); + ((FieldType) STORED_SEARCHABLE).setStored(true); + ((FieldType) STORED_SEARCHABLE).setTokenized(true); + ((FieldType) STORED_SEARCHABLE).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) STORED_SEARCHABLE).freeze(); + NON_STORED_SEARCHABLE = new FieldType(); + ((FieldType) NON_STORED_SEARCHABLE).setStored(false); + ((FieldType) NON_STORED_SEARCHABLE).setTokenized(true); + ((FieldType) NON_STORED_SEARCHABLE).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) NON_STORED_SEARCHABLE).freeze(); + STORED_NON_SEARCHABLE = new FieldType(); + ((FieldType) STORED_NON_SEARCHABLE).setStored(true); + ((FieldType) STORED_NON_SEARCHABLE).setTokenized(false); + ((FieldType) STORED_NON_SEARCHABLE).setIndexOptions(IndexOptions.NONE); + ((FieldType) STORED_NON_SEARCHABLE).freeze(); + NON_STORED_NON_SEARCHABLE = new FieldType(); + ((FieldType) NON_STORED_NON_SEARCHABLE).setStored(false); + ((FieldType) NON_STORED_NON_SEARCHABLE).setTokenized(false); + ((FieldType) NON_STORED_NON_SEARCHABLE).setIndexOptions(IndexOptions.NONE); + ((FieldType) NON_STORED_NON_SEARCHABLE).freeze(); + } + final Document doc; public IndexDocumentImpl (final String primaryKey) { @@ -50,13 +79,10 @@ public IndexDocumentImpl (final Document doc) { @Override public void addPair(String key, String value, boolean searchable, boolean stored) { - @SuppressWarnings("deprecation") //NOI18N - final Field field = new Field (key, value, - stored ? Field.Store.YES : Field.Store.NO, - searchable ? Field.Index.NOT_ANALYZED_NO_NORMS : Field.Index.NO); - doc.add (field); + Field field = createField(key, value, searchable, stored); + doc.add(field); } - + @Override public String getValue(String key) { return doc.get(key); @@ -78,8 +104,8 @@ public String toString() { } @SuppressWarnings("deprecation") //NOI18N - private static Fieldable sourceNameField(String relativePath) { - return new Field(FIELD_PRIMARY_KEY, relativePath, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS); + private static Field sourceNameField(String relativePath) { + return createField(FIELD_PRIMARY_KEY, relativePath, true, true); } static Query sourceNameQuery(String relativePath) { @@ -90,5 +116,19 @@ static Term sourceNameTerm (final String relativePath) { assert relativePath != null; return new Term (FIELD_PRIMARY_KEY, relativePath); } - + + private static Field createField(String key, String value, boolean searchable, boolean stored) { + IndexableFieldType ift = null; + if(stored && searchable) { + ift = STORED_SEARCHABLE; + } else if ((! stored) && searchable) { + ift = NON_STORED_SEARCHABLE; + } else if (stored && (! searchable)) { + ift = STORED_NON_SEARCHABLE; + } else if ((! stored) && (! searchable)) { + ift = NON_STORED_NON_SEARCHABLE; + } + assert ift != null; + return new Field(key, value, ift); + } } diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/LuceneIndex.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/LuceneIndex.java index c45d3ccc0674..211d23d87409 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/LuceneIndex.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/LuceneIndex.java @@ -28,15 +28,16 @@ import java.lang.ref.SoftReference; import java.net.URI; import java.nio.channels.ClosedByInterruptException; -import java.nio.file.Path; import java.util.ArrayList; import java.util.BitSet; import java.util.Collection; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.ListIterator; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; @@ -50,24 +51,26 @@ import java.util.logging.Logger; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; -import org.apache.lucene.document.FieldSelector; import org.apache.lucene.index.*; import org.apache.lucene.search.*; +import org.apache.lucene.store.ByteBuffersDirectory; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; +import org.apache.lucene.store.IOContext; +import org.apache.lucene.store.IndexInput; +import org.apache.lucene.store.IndexOutput; import org.apache.lucene.store.LockFactory; import org.apache.lucene.store.MMapDirectory; import org.apache.lucene.store.NIOFSDirectory; -import org.apache.lucene.store.RAMDirectory; -import org.apache.lucene.store.SimpleFSDirectory; -import org.apache.lucene.util.Version; +import org.apache.lucene.util.BytesRef; +import org.apache.lucene.util.BytesRefHash; +import org.apache.lucene.util.automaton.CompiledAutomaton; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; import org.netbeans.modules.parsing.lucene.support.Convertor; import org.netbeans.modules.parsing.lucene.support.Index; import org.netbeans.modules.parsing.lucene.support.IndexReaderInjection; -import org.netbeans.modules.parsing.lucene.support.StoppableConvertor; import org.openide.util.BaseUtilities; import org.openide.util.Exceptions; import org.openide.util.Pair; @@ -131,7 +134,7 @@ private LuceneIndex (final File refCacheRoot, final Analyzer analyzer) throws IO public void query ( final @NonNull Collection result, final @NonNull Convertor convertor, - @NullAllowed FieldSelector selector, + @NullAllowed Set selector, final @NullAllowed AtomicBoolean cancel, final @NonNull Query... queries ) throws IOException, InterruptedException { @@ -139,9 +142,6 @@ public void query ( Parameters.notNull("convertor", convertor); //NOI18N Parameters.notNull("result", result); //NOI18N - if (selector == null) { - selector = AllFieldsSelector.INSTANCE; - } IndexReader in = null; try { in = dirCache.acquireReader(); @@ -149,15 +149,14 @@ public void query ( LOGGER.log(Level.FINE, "{0} is invalid!", this); return; } + IndexSearcher searcher = new IndexSearcher(in); final BitSet bs = new BitSet(in.maxDoc()); final Collector c = new BitSetCollector(bs); - try (IndexSearcher searcher = new IndexSearcher(in)) { - for (Query q : queries) { - if (cancel != null && cancel.get()) { - throw new InterruptedException (); - } - searcher.search(q, c); + for (Query q : queries) { + if (cancel != null && cancel.get()) { + throw new InterruptedException (); } + searcher.search(q, c); } changeIndexReader(convertor, in); try { @@ -165,7 +164,7 @@ public void query ( if (cancel != null && cancel.get()) { throw new InterruptedException (); } - final Document doc = in.document(docNum, selector); + final Document doc = in.storedFields().document(docNum, selector); final T value = convertor.convert(doc); if (value != null) { result.add (value); @@ -188,28 +187,39 @@ private static void changeIndexReader(Object convertor, IndexReader in) { @Override public void queryTerms( final @NonNull Collection result, - final @NullAllowed Term seekTo, - final @NonNull StoppableConvertor filter, + final @NonNull String field, + final @NullAllowed String seekTo, + final @NonNull Convertor filter, final @NullAllowed AtomicBoolean cancel) throws IOException, InterruptedException { - queryTermsImpl(result, seekTo, Convertors.newTermEnumToTermConvertor(filter), cancel); + queryTermsImpl(result, field, seekTo, Convertors.newTermEnumToTermConvertor(filter), cancel); } @Override public void queryTermFrequencies( final @NonNull Collection result, - final @NullAllowed Term seekTo, - final @NonNull StoppableConvertor filter, + final @NonNull String field, + final @NullAllowed String seekTo, + final @NonNull Convertor filter, final @NullAllowed AtomicBoolean cancel) throws IOException, InterruptedException { - queryTermsImpl(result, seekTo, Convertors.newTermEnumToFreqConvertor(filter), cancel); + queryTermsImpl(result, field, seekTo, Convertors.newTermEnumToFreqConvertor(filter), cancel); } //where private void queryTermsImpl( final @NonNull Collection result, - final @NullAllowed Term seekTo, - final @NonNull StoppableConvertor adapter, + final @NonNull String field, + @NullAllowed String startValue, + final @NonNull Convertor adapter, final @NullAllowed AtomicBoolean cancel) throws IOException, InterruptedException { - + + BytesRef startBytesRef; + + if (startValue == null) { + startBytesRef = new BytesRef(""); + } else { + startBytesRef = new BytesRef(startValue); + } + IndexReader in = null; try { in = dirCache.acquireReader(); @@ -218,23 +228,24 @@ private void queryTermsImpl( return; } - try (TermEnum terms = seekTo == null ? in.terms() : in.terms(seekTo)) { - changeIndexReader(adapter, in); - try { - do { - if (cancel != null && cancel.get()) { - throw new InterruptedException (); - } - final T vote = adapter.convert(terms); - if (vote != null) { - result.add(vote); - } - } while (terms.next()); - } catch (StoppableConvertor.Stop stop) { - //Stop iteration of TermEnum finally { - } finally { - changeIndexReader(adapter, null); + changeIndexReader(adapter, in); + try { + for(LeafReaderContext lrc: in.leaves()) { + TermsEnum te = lrc.reader().terms(field).iterator(); + if (te.seekCeil(startBytesRef) != TermsEnum.SeekStatus.END) { + do { + if (cancel != null && cancel.get()) { + throw new InterruptedException(); + } + final T vote = adapter.convert(te); + if (vote != null) { + result.add(vote); + } + } while (te.next() != null); + } } + } finally { + changeIndexReader(adapter, null); } } finally { dirCache.releaseReader(in); @@ -245,8 +256,8 @@ private void queryTermsImpl( public void queryDocTerms( final @NonNull Map> result, final @NonNull Convertor convertor, - final @NonNull Convertor termConvertor, - @NullAllowed FieldSelector selector, + final @NonNull Convertor termConvertor, + @NullAllowed Set selector, final @NullAllowed AtomicBoolean cancel, final @NonNull Query... queries) throws IOException, InterruptedException { Parameters.notNull("queries", queries); //NOI18N @@ -254,9 +265,7 @@ public void queryDocTerms( Parameters.notNull("convertor", convertor); //NOI18N Parameters.notNull("termConvertor", termConvertor); //NOI18N Parameters.notNull("result", result); //NOI18N - if (selector == null) { - selector = AllFieldsSelector.INSTANCE; - } + IndexReader in = null; try { in = dirCache.acquireReader(); @@ -264,70 +273,109 @@ public void queryDocTerms( LOGGER.log(Level.FINE, "{0} is invalid!", this); return; } - final BitSet bs = new BitSet(in.maxDoc()); - final Collector c = new BitSetCollector(bs); - final IndexSearcher searcher = new IndexSearcher(in); - final TermCollector termCollector = new TermCollector(c); - try { + for (LeafReaderContext lrc : in.leaves()) { + final LeafReader lr = lrc.reader(); + Map> docTermMap = new HashMap<>(); for (Query q : queries) { if (cancel != null && cancel.get()) { - throw new InterruptedException (); + throw new InterruptedException(); } - if (q instanceof TermCollector.TermCollecting termCollecting) { - termCollecting.attach(termCollector); + if (q instanceof TermQuery) { + Terms terms = lr.terms(((TermQuery) q).getTerm().field()); + if (terms != null) { + TermsEnum te = terms.iterator(); + if (te.seekExact(((TermQuery) q).getTerm().bytes())) { + PostingsEnum pe = te.postings(null); + for (int doc = pe.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = pe.nextDoc()) { + docTermMap.computeIfAbsent(doc, s -> new HashSet<>()) + .add(((TermQuery) q).getTerm().bytes()); + } + } + } + } else if (q instanceof PrefixQuery) { + Terms terms = lr.terms(((PrefixQuery) q).getField()); + if (terms != null) { + TermsEnum te = new CompiledAutomaton(((PrefixQuery) q).getAutomaton()).getTermsEnum(terms); + for (BytesRef termValue = te.next(); termValue != null; termValue = te.next()) { + PostingsEnum pe = te.postings(null); + BytesRef localRef = null; + for (int doc = pe.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = pe.nextDoc()) { + // Defensive copy as TermEnumeration might reuse the returned BytesRef + if(localRef == null) { + localRef = BytesRef.deepCopyOf(termValue); + } + docTermMap.computeIfAbsent(doc, s -> new HashSet<>()) + .add(localRef); + } + } + } + } else if (q instanceof RegexpFilter) { + Terms terms = lr.terms(((RegexpFilter) q).getField()); + if (terms != null) { + TermsEnum te = ((RegexpFilter) q).getTermsEnum(terms); + for (BytesRef termValue = te.next(); termValue != null; termValue = te.next()) { + PostingsEnum pe = te.postings(null); + BytesRef localRef = null; + for (int doc = pe.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = pe.nextDoc()) { + // Defensive copy as TermEnumeration might reuse the returned BytesRef + if(localRef == null) { + localRef = BytesRef.deepCopyOf(termValue); + } + docTermMap.computeIfAbsent(doc, s -> new HashSet<>()) + .add(localRef); + } + } + } } else { - throw new IllegalArgumentException ( + throw new IllegalArgumentException( "Query: %s does not implement TermCollecting".formatted(q.getClass().getName())); //NOI18N } - searcher.search(q, termCollector); } - } finally { - searcher.close(); - } - - boolean logged = false; - changeIndexReader(convertor, in); - try { - changeIndexReader(termConvertor, in); + + boolean logged = false; + changeIndexReader(convertor, in); try { - for (int docNum = bs.nextSetBit(0); docNum >= 0; docNum = bs.nextSetBit(docNum+1)) { - if (cancel != null && cancel.get()) { - throw new InterruptedException (); - } - final Document doc = in.document(docNum, selector); - final T value = convertor.convert(doc); - if (value != null) { - final Set terms = termCollector.get(docNum); - if (terms != null) { - result.put (value, convertTerms(termConvertor, terms)); - } else { - if (!logged) { - LOGGER.log(Level.WARNING, "Index info [maxDoc: {0} numDoc: {1} docs: {2}]", - new Object[] { - in.maxDoc(), - in.numDocs(), - termCollector.docs() - }); - logged = true; + changeIndexReader(termConvertor, in); + try { + for (Entry> docNum: docTermMap.entrySet()) { + if (cancel != null && cancel.get()) { + throw new InterruptedException(); + } + final Document doc = lr.storedFields().document(docNum.getKey(), selector); + final T value = convertor.convert(doc); + if (value != null) { + final Set terms = docNum.getValue(); + if (terms != null) { + result.put(value, convertTerms(termConvertor, terms)); + } else { + if (!logged) { + LOGGER.log(Level.WARNING, "Index info [maxDoc: {0} numDoc: {1} docs: {2}]", + new Object[] { + in.maxDoc(), + in.numDocs(), + docNum.getValue() + }); + logged = true; + } + LOGGER.log(Level.WARNING, "No terms found for doc: {0}", docNum); } - LOGGER.log(Level.WARNING, "No terms found for doc: {0}", docNum); } } + } finally { + changeIndexReader(termConvertor, null); } } finally { - changeIndexReader(termConvertor, null); + changeIndexReader(convertor, null); } - } finally { - changeIndexReader(convertor, null); } } finally { dirCache.releaseReader(in); } } - private static Set convertTerms(final Convertor convertor, final Set terms) { + private static Set convertTerms(final Convertor convertor, final Set terms) { final Set result = new HashSet(terms.size()); - for (Term term : terms) { + for (BytesRef term : terms) { result.add(convertor.convert(term)); } return result; @@ -391,7 +439,7 @@ private void _doStore( for (S td : toDelete) { out.deleteDocuments(queryConvertor.convert(td)); } - } + } if (data.isEmpty()) { return; } @@ -401,27 +449,50 @@ private void _doStore( if (lmListener.isLowMemory()) { activeOut = out; } else { - memDir = new RAMDirectory (); + memDir = new ByteBuffersDirectory (); activeOut = new IndexWriter ( memDir, new IndexWriterConfig( - Version.LUCENE_35, dirCache.getAnalyzer())); } for (Iterator it = fastRemoveIterable(data).iterator(); it.hasNext();) { T entry = it.next(); it.remove(); final Document doc = docConvertor.convert(entry); - activeOut.addDocument(doc); - if (memDir != null && lmListener.isLowMemory()) { - activeOut.close(); - out.addIndexes(memDir); - memDir = new RAMDirectory (); - activeOut = new IndexWriter ( - memDir, - new IndexWriterConfig( - Version.LUCENE_35, - dirCache.getAnalyzer())); + try { + activeOut.addDocument(doc); + if (memDir != null && lmListener.isLowMemory()) { + activeOut.close(); + out.addIndexes(memDir); + memDir = new ByteBuffersDirectory (); + activeOut = new IndexWriter ( + memDir, + new IndexWriterConfig( + dirCache.getAnalyzer())); + } + } catch (IllegalArgumentException ex) { + if(ex.getCause() instanceof BytesRefHash.MaxBytesLengthExceededException brh) { + // Lucene limits terms to a maximum size of 32766 (lucene 9) + // This codepath tries to fix this by removing potentially + // removing field reaching the bounds of this + Iterator fieldIterator = doc.iterator(); + while(fieldIterator.hasNext()) { + IndexableField indexableField = fieldIterator.next(); + if((indexableField.stringValue() != null && indexableField.stringValue().length() > 30_000) || + (indexableField.binaryValue() != null && indexableField.binaryValue().length > 30_000) + ) { + LOGGER.warning(() -> "Removed field from document for indexing: " + indexableField); + fieldIterator.remove(); + } + } + try { + activeOut.addDocument(doc); + } catch (IllegalArgumentException ex2) { + LOGGER.warning(() -> "Failed to store document " + doc.toString() + " to index"); + } + } else { + throw ex; + } } } data.clear(); @@ -574,7 +645,7 @@ private static final class DirCache implements Evictable { private final StoreCloseSynchronizer storeCloseSynchronizer; private volatile FSDirectory fsDir; //@GuardedBy("this") - private RAMDirectory memDir; + private ByteBuffersDirectory memDir; private CleanReference ref; private IndexReader reader; private volatile boolean closed; @@ -638,16 +709,13 @@ private synchronized void doClear() throws IOException { try { fsDir.deleteFile(file); } catch (IOException e) { - //Some temporary files - if (fsDir.fileExists(file)) { - dirty = true; - } + dirty = true; } } } if (dirty) { //Try to delete dirty files and log what's wrong - final File cacheDir = fsDir.getDirectory(); + final File cacheDir = fsDir.getDirectory().toFile(); final File[] children = cacheDir.listFiles(); if (children != null) { for (final File child : children) { @@ -678,23 +746,7 @@ void close(IndexWriter writer) throws IOException { } finally { LOGGER.log(Level.FINE, "TX writer cleared for {0}", this); indexWriterRef.release(); - try { - if (!success) { - if (IndexWriter.isLocked(fsDir)) { - IndexWriter.unlock(fsDir); - } - } - } catch (IOException ioe) { - LOGGER.log( - Level.WARNING, - "Cannot unlock index {0} while recovering, {1}.", //NOI18N - new Object[] { - folder.getAbsolutePath(), - ioe.getMessage() - }); - } finally { - refreshReader(); - } + refreshReader(); } } @@ -759,7 +811,7 @@ synchronized void doClose ( boolean exists() { try { - return IndexReader.indexExists(this.fsDir); + return DirectoryReader.indexExists((Directory) this.fsDir); } catch (IOException e) { return false; } catch (RuntimeException e) { @@ -851,7 +903,7 @@ IndexWriter acquireWriter () throws IOException { try { try { IndexWriter writer = indexWriterRef.acquire(() -> { - IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_36, analyzer); + IndexWriterConfig iwc = new IndexWriterConfig(analyzer); //Linux: The posix::fsync(int) is very slow on Linux ext3, //minimize number of files sync is done on. //http://netbeans.org/bugzilla/show_bug.cgi?id=208224 @@ -919,16 +971,22 @@ private synchronized IndexReader getReader () throws IOException { try { Directory source; if (cachePolicy.hasMemCache() && fitsIntoMem(fsDir)) { - memDir = new RAMDirectory(fsDir); + memDir = new ByteBuffersDirectory(); + for(String file: fsDir.listAll()) { + try(IndexOutput io = memDir.createOutput(file, IOContext.READONCE); + IndexInput ii = fsDir.openInput(file, IOContext.READONCE)) { + io.copyBytes(ii, ii.length()); + } + } if (cachePolicy == CachePolicy.DYNAMIC) { - ref = new CleanReference (new RAMDirectory[] {this.memDir}); + ref = new CleanReference (this.memDir); } source = memDir; } else { source = fsDir; } assert source != null; - this.reader = IndexReader.open(source); + this.reader = DirectoryReader.open(source); } catch (final FileNotFoundException | ClosedByInterruptException | InterruptedIOException e) { //Either the index dir does not exist or the thread is interrupted //pass - returns null @@ -957,7 +1015,7 @@ void refreshReader() throws IOException { try { synchronized (this) { if (reader != null) { - IndexReader newReader = IndexReader.openIfChanged(reader); + IndexReader newReader = DirectoryReader.openIfChanged((DirectoryReader) reader); if (newReader != null) { reader.close(); reader = newReader; @@ -1031,13 +1089,12 @@ private static FSDirectory createFSDirectory ( assert lockFactory != null; final String dirType = System.getProperty(PROP_DIR_TYPE); if (dirType == null) { - return FSDirectory.open(indexFolder, lockFactory); + return FSDirectory.open(indexFolder.toPath(), lockFactory); } return switch (dirType) { - case DIR_TYPE_MMAP -> new MMapDirectory(indexFolder, lockFactory); - case DIR_TYPE_NIO -> new NIOFSDirectory(indexFolder, lockFactory); - case DIR_TYPE_IO -> new SimpleFSDirectory(indexFolder, lockFactory); - default -> FSDirectory.open(indexFolder, lockFactory); + case DIR_TYPE_MMAP -> new MMapDirectory(indexFolder.toPath(), lockFactory); + case DIR_TYPE_NIO -> new NIOFSDirectory(indexFolder.toPath(), lockFactory); + default -> FSDirectory.open(indexFolder.toPath(), lockFactory); }; } @@ -1159,21 +1216,28 @@ private static boolean assertsEnabled() { } } - private final class CleanReference extends SoftReference implements Runnable { + private final class CleanReference extends SoftReference implements Runnable { @SuppressWarnings("VolatileArrayField") - private volatile Directory[] hardRef; //clearHRef may be called by more concurrently (read lock). + private volatile Directory hardRef; //clearHRef may be called by more concurrently (read lock). private final AtomicLong size = new AtomicLong(); //clearHRef may be called by more concurrently (read lock). - private CleanReference(final RAMDirectory[] dir) { + private CleanReference(final ByteBuffersDirectory dir) { super (dir, BaseUtilities.activeReferenceQueue()); final IndexCacheFactory.RAMController c = IndexCacheFactory.getDefault().getRAMController(); final boolean doHardRef = !c.isFull(); if (doHardRef) { - this.hardRef = dir; - long _size = dir[0].sizeInBytes(); - size.set(_size); - c.acquire(_size); + try { + this.hardRef = dir; + long _size = 0; + for(String file: dir.listAll()) { + _size += dir.fileLength(file); + } + size.set(_size); + c.acquire(_size); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } } LOGGER.log(Level.FINEST, "Caching index: {0} cache policy: {1}", //NOI18N new Object[]{ @@ -1227,7 +1291,13 @@ public FlushIndexWriter( */ void callFlush(boolean triggerMerges, boolean flushDeletes) throws IOException { // flushStores ignored in Lucene 3.5 - super.flush(triggerMerges, true, flushDeletes); + super.flush(); + if(flushDeletes) { + super.forceMergeDeletes(true); + } + if(triggerMerges) { + super.maybeMerge(); + } } } @@ -1337,10 +1407,5 @@ public boolean isDirectory() { public boolean isFile() { return !isDirectory(); } - - @Override - public Path toPath() { - throw IPE; - } } } diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/MemoryIndex.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/MemoryIndex.java index 20f237d5c1d6..649689c9dd89 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/MemoryIndex.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/MemoryIndex.java @@ -18,34 +18,40 @@ */ package org.netbeans.modules.parsing.lucene; -import java.io.FileNotFoundException; import java.io.IOException; import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.LimitTokenCountAnalyzer; +import org.apache.lucene.analysis.miscellaneous.LimitTokenCountAnalyzer; import org.apache.lucene.document.Document; -import org.apache.lucene.document.FieldSelector; +import org.apache.lucene.index.DirectoryReader; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriterConfig; -import org.apache.lucene.index.Term; -import org.apache.lucene.index.TermEnum; +import org.apache.lucene.index.LeafReader; +import org.apache.lucene.index.LeafReaderContext; +import org.apache.lucene.index.PostingsEnum; +import org.apache.lucene.index.Terms; +import org.apache.lucene.index.TermsEnum; import org.apache.lucene.search.Collector; +import org.apache.lucene.search.DocIdSetIterator; import org.apache.lucene.search.IndexSearcher; +import org.apache.lucene.search.PrefixQuery; import org.apache.lucene.search.Query; +import org.apache.lucene.search.TermQuery; +import org.apache.lucene.store.ByteBuffersDirectory; import org.apache.lucene.store.Directory; -import org.apache.lucene.store.RAMDirectory; -import org.apache.lucene.util.Version; +import org.apache.lucene.util.BytesRef; +import org.apache.lucene.util.automaton.CompiledAutomaton; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; import org.netbeans.modules.parsing.lucene.support.Convertor; import org.netbeans.modules.parsing.lucene.support.Index; -import org.netbeans.modules.parsing.lucene.support.StoppableConvertor; import org.openide.util.Parameters; + /** * * @author Tomas Zezula @@ -55,7 +61,7 @@ public class MemoryIndex implements Index { private final Analyzer analyzer; private final ReentrantReadWriteLock lock; //@GuardedBy("this") - private RAMDirectory dir; + private ByteBuffersDirectory dir; //@GuardedBy("this") private IndexReader cachedReader; @@ -81,38 +87,33 @@ public Status getStatus(boolean tryOpen) throws IOException { public void query( @NonNull Collection result, @NonNull Convertor convertor, - @NullAllowed FieldSelector selector, + @NullAllowed Set selector, @NullAllowed AtomicBoolean cancel, @NonNull Query... queries) throws IOException, InterruptedException { Parameters.notNull("queries", queries); //NOI18N Parameters.notNull("convertor", convertor); //NOI18N Parameters.notNull("result", result); //NOI18N - - if (selector == null) { - selector = AllFieldsSelector.INSTANCE; - } - + lock.readLock().lock(); try { IndexReader in = getReader(); if (in == null) { return; } + IndexSearcher searcher = new IndexSearcher(in); BitSet bs = new BitSet(in.maxDoc()); Collector c = new BitSetCollector(bs); - try (IndexSearcher searcher = new IndexSearcher(in)) { - for (Query q : queries) { - if (cancel != null && cancel.get()) { - throw new InterruptedException (); - } - searcher.search(q, c); + for (Query q : queries) { + if (cancel != null && cancel.get()) { + throw new InterruptedException(); } - } + searcher.search(q, c); + } for (int docNum = bs.nextSetBit(0); docNum >= 0; docNum = bs.nextSetBit(docNum+1)) { if (cancel != null && cancel.get()) { throw new InterruptedException (); } - Document doc = in.document(docNum, selector); + Document doc = in.storedFields().document(docNum, selector); T value = convertor.convert(doc); if (value != null) { result.add (value); @@ -127,19 +128,14 @@ public void query( public void queryDocTerms( @NonNull Map> result, @NonNull Convertor convertor, - @NonNull Convertor termConvertor, - @NullAllowed FieldSelector selector, + @NonNull Convertor termConvertor, + @NullAllowed Set selector, @NullAllowed AtomicBoolean cancel, @NonNull Query... queries) throws IOException, InterruptedException { Parameters.notNull("result", result); //NOI18N Parameters.notNull("convertor", convertor); //NOI18N Parameters.notNull("termConvertor", termConvertor); //NOI18N Parameters.notNull("queries", queries); //NOI18N - - - if (selector == null) { - selector = AllFieldsSelector.INSTANCE; - } lock.readLock().lock(); try { @@ -147,34 +143,76 @@ public void queryDocTerms( if (in == null) { return; } - BitSet bs = new BitSet(in.maxDoc()); - Collector c = new BitSetCollector(bs); - TermCollector termCollector = new TermCollector(c); - try (IndexSearcher searcher = new IndexSearcher(in)) { + for (LeafReaderContext lrc : in.leaves()) { + LeafReader lr = lrc.reader(); + Map> docTermMap = new HashMap<>(); for (Query q : queries) { if (cancel != null && cancel.get()) { - throw new InterruptedException (); + throw new InterruptedException(); } - if (q instanceof TermCollector.TermCollecting termCollecting) { - termCollecting.attach(termCollector); + if (q instanceof TermQuery) { + Terms terms = lr.terms(((TermQuery) q).getTerm().field()); + if (terms != null) { + TermsEnum te = terms.iterator(); + if (te.seekExact(((TermQuery) q).getTerm().bytes())) { + PostingsEnum pe = te.postings(null); + for (int doc = pe.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = pe.nextDoc()) { + docTermMap.computeIfAbsent(doc, s -> new HashSet<>()) + .add(((TermQuery) q).getTerm().bytes()); + } + } + } + } else if (q instanceof PrefixQuery) { + Terms terms = lr.terms(((PrefixQuery) q).getField()); + if (terms != null) { + TermsEnum te = new CompiledAutomaton(((PrefixQuery) q).getAutomaton()).getTermsEnum(terms); + for (BytesRef termValue = te.next(); termValue != null; termValue = te.next()) { + PostingsEnum pe = te.postings(null); + BytesRef localRef = null; + for (int doc = pe.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = pe.nextDoc()) { + // Defensive copy as TermEnumeration might reuse the returned BytesRef + if(localRef == null) { + localRef = BytesRef.deepCopyOf(termValue); + } + docTermMap.computeIfAbsent(doc, s -> new HashSet<>()) + .add(localRef); + } + } + } + } else if (q instanceof RegexpFilter) { + Terms terms = lr.terms(((RegexpFilter) q).getField()); + if (terms != null) { + TermsEnum te = ((RegexpFilter) q).getTermsEnum(terms); + for (BytesRef termValue = te.next(); termValue != null; termValue = te.next()) { + PostingsEnum pe = te.postings(null); + BytesRef localRef = null; + for (int doc = pe.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = pe.nextDoc()) { + // Defensive copy as TermEnumeration might reuse the returned BytesRef + if(localRef == null) { + localRef = BytesRef.deepCopyOf(termValue); + } + docTermMap.computeIfAbsent(doc, s -> new HashSet<>()) + .add(localRef); + } + } + } } else { - throw new IllegalArgumentException ( + throw new IllegalArgumentException( "Query: %s does not implement TermCollecting".formatted(q.getClass().getName())); //NOI18N } - searcher.search(q, termCollector); } - } - for (int docNum = bs.nextSetBit(0); docNum >= 0; docNum = bs.nextSetBit(docNum+1)) { - if (cancel != null && cancel.get()) { - throw new InterruptedException (); - } - Document doc = in.document(docNum, selector); - T value = convertor.convert(doc); - if (value != null) { - final Set terms = termCollector.get(docNum); - if (terms != null) { - result.put (value, convertTerms(termConvertor, terms)); + for (Map.Entry> docNum: docTermMap.entrySet()) { + if (cancel != null && cancel.get()) { + throw new InterruptedException(); + } + Document doc = lr.storedFields().document(docNum.getKey(), selector); + T value = convertor.convert(doc); + if (value != null) { + final Set terms = docNum.getValue(); + if (terms != null) { + result.put(value, convertTerms(termConvertor, terms)); + } } } } @@ -186,33 +224,40 @@ public void queryDocTerms( @Override public void queryTerms( @NonNull Collection result, - @NullAllowed Term start, - @NonNull StoppableConvertor filter, + @NonNull String field, + @NullAllowed String startValue, + @NonNull Convertor filter, @NullAllowed AtomicBoolean cancel) throws IOException, InterruptedException { Parameters.notNull("result", result); //NOI18N Parameters.notNull("filter", filter); //NOI18N - + + BytesRef startBytesRef; + + if (startValue == null) { + startBytesRef = new BytesRef(""); + } else { + startBytesRef = new BytesRef(startValue); + } + lock.readLock().lock(); try { IndexReader in = getReader(); if (in == null) { return; } - try (TermEnum terms = start == null ? in.terms() : in.terms(start)) { - do { - if (cancel != null && cancel.get()) { - throw new InterruptedException (); - } - Term currentTerm = terms.term(); - if (currentTerm != null) { - T vote = filter.convert(currentTerm); + for(LeafReaderContext lrc: in.leaves()) { + TermsEnum te = lrc.reader().terms(field).iterator(); + if (te.seekCeil(startBytesRef) != TermsEnum.SeekStatus.END) { + do { + if (cancel != null && cancel.get()) { + throw new InterruptedException(); + } + T vote = filter.convert(te.term()); if (vote != null) { result.add(vote); } - } - } while (terms.next()); - } catch (StoppableConvertor.Stop stop) { - //Stop iteration of TermEnum + } while (te.next() != null); + } } } finally { lock.readLock().unlock(); @@ -278,11 +323,7 @@ public void close() throws IOException { @CheckForNull private synchronized IndexReader getReader() throws IOException { if (cachedReader == null) { - try { - cachedReader = IndexReader.open(getDirectory()); - } catch (FileNotFoundException fnf) { - //pass - returns null - } + cachedReader = DirectoryReader.open(getDirectory()); } return cachedReader; } @@ -290,7 +331,7 @@ private synchronized IndexReader getReader() throws IOException { private synchronized void refreshReader() throws IOException { assert lock.isWriteLockedByCurrentThread(); if (cachedReader != null) { - IndexReader newReader = IndexReader.openIfChanged(cachedReader); + IndexReader newReader = DirectoryReader.openIfChanged((DirectoryReader) cachedReader); if (newReader != null) { cachedReader.close(); cachedReader = newReader; @@ -299,26 +340,23 @@ private synchronized void refreshReader() throws IOException { } private synchronized IndexWriter getWriter() throws IOException { - IndexWriterConfig conf = new IndexWriterConfig( - Version.LUCENE_36, - new LimitTokenCountAnalyzer(analyzer, IndexWriter.DEFAULT_MAX_FIELD_LENGTH) - ); + IndexWriterConfig conf = new IndexWriterConfig(new LimitTokenCountAnalyzer(analyzer, 10_000)); return new IndexWriter (getDirectory(), conf); } private synchronized Directory getDirectory() { if (dir == null) { - dir = new RAMDirectory(); + dir = new ByteBuffersDirectory(); } return dir; } - private static Set convertTerms(final Convertor convertor, final Set terms) { + private static Set convertTerms(final Convertor convertor, final Set terms) { Set result = new HashSet<>(terms.size()); - for (Term term : terms) { + for (BytesRef term : terms) { result.add(convertor.convert(term)); } return result; } - + } diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactory.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactory.java index e0ead6f3660b..2b7dc3b4ed78 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactory.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactory.java @@ -20,12 +20,14 @@ import java.io.File; import java.io.IOException; -import java.util.ArrayDeque; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; +import java.util.HashSet; import java.util.Map; -import java.util.Queue; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.stream.Collectors; +import org.apache.lucene.store.Directory; import org.apache.lucene.store.Lock; import org.apache.lucene.store.LockFactory; import org.apache.lucene.store.LockObtainFailedException; @@ -40,138 +42,90 @@ //@ThreadSafe class RecordOwnerLockFactory extends LockFactory { - private final Map locks = - new HashMap<>(); + private final Set lockHolder = ConcurrentHashMap.newKeySet(); RecordOwnerLockFactory() throws IOException { super(); } @Override - public Lock makeLock(String lockName) { - synchronized (locks) { - return locks.computeIfAbsent(lockName, k -> new RecordOwnerLock()); - } - } - - @Override - public void clearLock(String lockName) throws IOException { - synchronized (locks) { - final RecordOwnerLock lock = locks.remove(lockName); - if (lock != null) { - lock.release(); - } + public Lock obtainLock(Directory directory, String lock) throws IOException { + DirectoryLockPair dlp = new DirectoryLockPair(directory, lock); + if(! lockHolder.add(dlp)) { + throw new LockObtainFailedException("Pair already locked: " + dlp); } + return new RecordOwnerLock(dlp); } boolean hasLocks() { - synchronized (locks) { - boolean res = false; - for (RecordOwnerLock lock : locks.values()) { - res|=lock.isLocked(); - } - return res; - } + return ! lockHolder.isEmpty(); } - Collection forceClearLocks() { - synchronized (locks) { - final Queue locked = new ArrayDeque<>(); - for (Iterator it = locks.values().iterator(); - it.hasNext();) { - RecordOwnerLock lock = it.next(); - if (lock.isLocked()) { - it.remove(); - locked.offer(lock); - } - } - return locked; + Set forceClearLocks() { + Set oldLocked; + synchronized (lockHolder) { + oldLocked = new HashSet<>(lockHolder); + lockHolder.clear(); } + return oldLocked; } @Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()); - sb.append('['); //NOI18N - synchronized (locks) { - boolean first = true; - for (Map.Entry e : locks.entrySet()) { - if (!first) { - sb.append('\n'); //NOI18N - } else { - first = false; - } - sb.append("name: ").append(e.getKey()).append("->").append(e.getValue()); //NOI18N - } - } - sb.append("]\n"); //NOI18N + // avoid calling directory.toString() from here since it may also call + // factory.toString() which would result in infinite recursion + sb.append( + lockHolder.stream() + .map(e -> e.directory.getClass().getSimpleName() + "@" + e.directory.hashCode() + "{" + e.lock + "}") //NOI18N + .collect(Collectors.joining(", ", "[", "]")) //NOI18N + ); return sb.toString(); } private final class RecordOwnerLock extends Lock { - //@GuardedBy("locks") - private Thread owner; - //@GuardedBy("locks") - private Exception caller; - - private RecordOwnerLock() { - } - - @Override - public boolean obtain() { - synchronized (RecordOwnerLockFactory.this.locks) { - if (this.owner == null) { - this.owner = Thread.currentThread(); - this.caller = new Exception(); - return true; - } else { - return false; - } - } - } + private final Thread owner; + private final Exception caller; + private final DirectoryLockPair lockedPair; - @Override - public boolean obtain(long lockWaitTimeout) throws LockObtainFailedException, IOException { - try { - return super.obtain(lockWaitTimeout); - } catch (LockObtainFailedException e) { - throw annotateException( - e, - (File) null, - Thread.getAllStackTraces(), - RecordOwnerLockFactory.this); + private RecordOwnerLock(DirectoryLockPair lockedPair) { + this.lockedPair = lockedPair; + this.owner = Thread.currentThread(); + if (Logger.getLogger(RecordOwnerLockFactory.class.getName()).isLoggable(Level.INFO)) { // TODO reduce to FINE? + this.caller = new Exception(); + } else { + this.caller = null; } } @Override - public void release() { - synchronized (RecordOwnerLockFactory.this.locks) { - this.owner = null; - this.caller = null; - } + public String toString() { + final StringBuilder sb = new StringBuilder(); + sb.append(this.getClass().getSimpleName()); + sb.append("owned by: "); //NOI18N + sb.append(owner); + sb.append('(').append(owner == null ? -1 : owner.getId()).append("); "); //NOI18N + sb.append("created from:\n"); + stackTrace(caller == null ? new StackTraceElement[0] : caller.getStackTrace(), sb); + return sb.toString(); } @Override - public boolean isLocked() { - synchronized (RecordOwnerLockFactory.this.locks) { - return this.owner != null; - } + public void close() throws IOException { + lockHolder.remove(this.lockedPair); } @Override - public String toString() { - synchronized (RecordOwnerLockFactory.this.locks) { + public void ensureValid() throws IOException { + if (!lockHolder.contains(lockedPair)) { final StringBuilder sb = new StringBuilder(); - sb.append(this.getClass().getSimpleName()); - sb.append("owned by:["); //NOI18N - sb.append(owner); - sb.append('(').append(owner == null ? -1 : owner.getId()).append(')'); //NOI18N - sb.append("created from:\n"); - stackTrace(caller == null ? new StackTraceElement[0] : caller.getStackTrace(), sb); - return sb.toString(); + sb.append(this.lockedPair); + sb.append(toString()); + sb.append(" not valid anymore"); + throw new IOException(sb.toString()); } } } @@ -230,4 +184,6 @@ private static void stackTrace( sb.append('\t').append(se).append('\n'); //NOI18N } } + + record DirectoryLockPair(Directory directory, String lock) {} } diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RegexpFilter.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RegexpFilter.java new file mode 100644 index 000000000000..4c2004e09227 --- /dev/null +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RegexpFilter.java @@ -0,0 +1,141 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.parsing.lucene; + +import java.io.IOException; +import java.util.BitSet; +import java.util.List; +import java.util.regex.Pattern; +import org.apache.lucene.index.FilteredTermsEnum; +import org.apache.lucene.index.Terms; +import org.apache.lucene.index.TermsEnum; +import org.apache.lucene.search.MultiTermQuery; +import org.apache.lucene.search.QueryVisitor; +import org.apache.lucene.util.AttributeSource; +import org.apache.lucene.util.BytesRef; +import org.apache.lucene.util.automaton.Automata; +import org.apache.lucene.util.automaton.CompiledAutomaton; +import org.apache.lucene.util.automaton.Operations; + + +public class RegexpFilter extends MultiTermQuery { + + private static final BitSet SPECIAL_CHARS = new BitSet(126); + static { + final char[] specials = new char[]{'{', '}', '[', ']', '(', ')', '\\', '.', '*', '?', '+'}; //NOI18N + for (char c : specials) { + SPECIAL_CHARS.set(c); + } + } + private static final BitSet QUANTIFIER_CHARS = new BitSet(126); + static { + final char[] specials = new char[]{'{', '*', '?'}; //NOI18N + for (char c : specials) { + QUANTIFIER_CHARS.set(c); + } + } + private final CompiledAutomaton startPrefix; + private final Pattern pattern; + + public RegexpFilter(final String fieldName, final String regexp, final boolean caseSensitive) { + super(fieldName, MultiTermQuery.CONSTANT_SCORE_BLENDED_REWRITE); + this.pattern = caseSensitive ? Pattern.compile(regexp) : Pattern.compile(regexp, Pattern.CASE_INSENSITIVE); + this.startPrefix = new CompiledAutomaton(Operations.concatenate(List.of(Automata.makeString(getStartText(regexp)), Automata.makeAnyString()))); + } + + @Override + protected TermsEnum getTermsEnum(Terms terms, AttributeSource atts) throws IOException { + return new FilteredTermsEnum(startPrefix.getTermsEnum(terms), false) { + @Override + protected FilteredTermsEnum.AcceptStatus accept(BytesRef term) throws IOException { + if (pattern.matcher(term.utf8ToString()).matches()) { + return FilteredTermsEnum.AcceptStatus.YES; + } + return FilteredTermsEnum.AcceptStatus.NO; + } + + @Override + protected BytesRef nextSeekTerm(BytesRef currentTerm) throws IOException { + if(currentTerm == null || currentTerm == tenum.term()) { + return tenum.next(); + } else { + throw new IllegalStateException("TermsEnum does not enable seeking"); + } + } + }; + } + + @Override + public void visit(QueryVisitor visitor) { + if (visitor.acceptField(field)) { + visitor.visitLeaf(this); + } + } + + static String getStartText(final String regexp) { + final StringBuilder startBuilder = new StringBuilder(); + boolean quoted = false; + for (int i = 0; i < regexp.length(); i++) { + char c = regexp.charAt(i); + if ((!quoted) && i < (regexp.length() - 1)) { + char lookAhead = regexp.charAt(i + 1); + if (QUANTIFIER_CHARS.get(lookAhead)) { + break; + } + } + if (c == '\\' && (i + 1) < regexp.length()) { + //NOI18N + char cn = regexp.charAt(i + 1); + if (!quoted && cn == 'Q') { + //NOI18N + quoted = true; + i++; + continue; + } else if (cn == 'E') { + //NOI18N + quoted = false; + i++; + continue; + } + } else if (!quoted && (c == '^' || c == '$')) { + //NOI18N + continue; + } + if (!quoted && SPECIAL_CHARS.get(c)) { + break; + } + startBuilder.append(c); + } + return startBuilder.toString(); + } + + @Override + public String toString(String field) { + StringBuilder buffer = new StringBuilder(); + if (this.getField() != null) { + buffer.append(this.getField()); + buffer.append(":"); + } + buffer.append('/'); + buffer.append(pattern.toString()); + buffer.append('/'); + return buffer.toString(); + } + +} diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/SupportAccessor.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/SupportAccessor.java index 1a6fe0801ba6..d510f3a44a19 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/SupportAccessor.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/SupportAccessor.java @@ -18,7 +18,7 @@ */ package org.netbeans.modules.parsing.lucene; -import org.apache.lucene.index.Term; +import org.apache.lucene.util.BytesRef; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.modules.parsing.lucene.support.Index; import org.netbeans.modules.parsing.lucene.support.IndexManager; @@ -59,7 +59,7 @@ public static void setInstance(@NonNull SupportAccessor _instance) { @NonNull public abstract Index.WithTermFrequencies.TermFreq setTermFreq( @NonNull Index.WithTermFrequencies.TermFreq into, - @NonNull Term term, + @NonNull BytesRef term, int freq); } diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/TermCollector.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/TermCollector.java deleted file mode 100644 index e009f3815b2c..000000000000 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/TermCollector.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.parsing.lucene; - -import java.io.IOException; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.Collector; -import org.apache.lucene.search.Scorer; -import org.netbeans.api.annotations.common.NonNull; - -/** - * This class serves on two places. It is called by {@link TermCollecting} class - * to add documents. It is also used as a proxy to the real Collector passed to the searcher, - * it intercepts and remembers document base indexes associated with IndexReaders - * from the {@link #setNextReader(org.apache.lucene.index.IndexReader, int)} call. - * - * @author Tomas Zezula - */ -public final class TermCollector extends Collector { - private final Collector delegate; - private final Map> doc2Terms; - private int indexOffset; - - TermCollector(Collector collector) { - this.delegate = collector; - doc2Terms = new HashMap<>(); - } - - public void add (final int docId, final @NonNull Term term) { - final int realId = docId + indexOffset; - doc2Terms.computeIfAbsent(realId, k -> new HashSet<>()) - .add(term); - } - - Set get(final int docId) { - return doc2Terms.get(docId); - } - - Set docs() { - return Collections.unmodifiableSet(doc2Terms.keySet()); - } - - public static interface TermCollecting { - void attach (TermCollector collector); - } - - @Override - public void setScorer(Scorer scorer) throws IOException { - delegate.setScorer(scorer); - } - - @Override - public void setNextReader(IndexReader reader, int i) throws IOException { - delegate.setNextReader(reader, i); - indexOffset = i; - } - - @Override - public void collect(int i) throws IOException { - delegate.collect(i); - } - - @Override - public boolean acceptsDocsOutOfOrder() { - return delegate.acceptsDocsOutOfOrder(); - } - -} diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Index.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Index.java index eb6b590d15fe..5c11efc528e5 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Index.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Index.java @@ -25,9 +25,9 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.lucene.document.Document; -import org.apache.lucene.document.FieldSelector; import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; +import org.apache.lucene.util.BytesRef; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; @@ -93,13 +93,13 @@ public static final class IndexClosedException extends IOException { * @throws IOException in case of IO problem * @throws InterruptedException when query was canceled */ - void query (Collection result, @NonNull Convertor convertor, @NullAllowed FieldSelector selector, @NullAllowed AtomicBoolean cancel, @NonNull Query... queries) throws IOException, InterruptedException; + void query (Collection result, @NonNull Convertor convertor, @NullAllowed Set selector, @NullAllowed AtomicBoolean cancel, @NonNull Query... queries) throws IOException, InterruptedException; /** * Queries the {@link Index} by given queries. In addition to documents it also collects the terms which matched the queries. * @param result the {@link Collection} to store query results into * @param convertor the {@link Convertor} used to convert lucene documents into the user objects added into the result - * @param termConvertor the {@link Convertor} used to convert lucene terms into the user objects added into the result + * @param termConvertor the {@link Convertor} used to convert lucene terms into the user objects added into the result. The {@link Convertor} must assume that the {@link BytesRef} instance it is called with is only usable for the duration of the call. * @param selector the selector used to select document's fields which should be loaded, if null all fields are loaded * @param cancel the {@link AtomicBoolean} used to cancel the index iteration by the caller. When set to true the iteration * is stopped. @@ -107,20 +107,26 @@ public static final class IndexClosedException extends IOException { * @throws IOException in case of IO problem * @throws InterruptedException when query was canceled */ - void queryDocTerms(Map> result, @NonNull Convertor convertor, @NonNull Convertor termConvertor,@NullAllowed FieldSelector selector, @NullAllowed AtomicBoolean cancel, @NonNull Query... queries) throws IOException, InterruptedException; + void queryDocTerms( + Map> result, + @NonNull Convertor convertor, + @NonNull Convertor termConvertor, + @NullAllowed Set selector, + @NullAllowed AtomicBoolean cancel, + @NonNull Query... queries) throws IOException, InterruptedException; /** * Queries the {@link Index}'s b-tree for terms starting by the start term and accepted by the filter. * @param result the {@link Collection} to store results into + * @param field the field to analyze * @param start the first term to start the b-tree iteration with, if null the iteration start on the first term. - * @param filter converting the terms into the user objects which are added into the result or null to skeep them. - * The filter can stop the iteration by throwing the {@link StoppableConvertor.Stop}. + * @param filter converting the terms into the user objects which are added into the result or null to skip them. The {@link Convertor} must assume that the {@link BytesRef} instance it is called with is only usable for the duration of the call. * @param cancel the {@link AtomicBoolean} used to cancel the index iteration by the caller. When set to true the iteration * is stopped. * @throws IOException in case of IO problem * @throws InterruptedException when query was canceled */ - void queryTerms(@NonNull Collection result, @NullAllowed Term start, @NonNull StoppableConvertor filter, @NullAllowed AtomicBoolean cancel) throws IOException, InterruptedException; + void queryTerms(@NonNull Collection result, @NonNull String field, @NullAllowed String start, @NonNull Convertor filter, @NullAllowed AtomicBoolean cancel) throws IOException, InterruptedException; /** * Updates the {@link Index} by adding the toAdd objects and deleting toDelete objects. @@ -199,11 +205,11 @@ public interface WithTermFrequencies extends Index { */ public final class TermFreq { private int freq; - private Term term; + private BytesRef term; TermFreq() {} - void setTerm(@NonNull final Term term) { + void setTerm(@NonNull final BytesRef term) { this.term = term; } @@ -216,7 +222,7 @@ void setFreq(final int freq) { * @return the term. */ @NonNull - public Term getTerm() { + public BytesRef getTerm() { return term; } @@ -233,9 +239,9 @@ public int getFreq() { /** * Queries the {@link Index}'s b-tree for terms and frequencies estimate starting by the start term and accepted by the filter. * @param result the {@link Collection} to store results into + * @param field the field to analyze * @param start the first term to start the b-tree iteration with, if null the iteration start on the first term. - * @param filter converting the terms into the user objects which are added into the result or null to skeep them. - * The filter can stop the iteration by throwing the {@link StoppableConvertor.Stop}. + * @param filter converting the terms into the user objects which are added into the result or null to skip them. The {@link Convertor} must assume that the {@link BytesRef} instance it is called with is only usable for the duration of the call. * @param cancel the {@link AtomicBoolean} used to cancel the index iteration by the caller. When set to true the iteration * is stopped. * @throws IOException in case of IO problem @@ -243,8 +249,9 @@ public int getFreq() { */ void queryTermFrequencies( @NonNull Collection result, - @NullAllowed Term start, - @NonNull StoppableConvertor filter, + @NonNull String field, + @NullAllowed String start, + @NonNull Convertor filter, @NullAllowed AtomicBoolean cancel) throws IOException, InterruptedException; } } diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/IndexManager.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/IndexManager.java index a751c06d1dd5..1c5bcf4ebc34 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/IndexManager.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/IndexManager.java @@ -30,8 +30,8 @@ import java.util.Map; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.KeywordAnalyzer; -import org.apache.lucene.index.Term; +import org.apache.lucene.analysis.core.KeywordAnalyzer; +import org.apache.lucene.util.BytesRef; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.modules.masterfs.providers.ProvidedExtensions; import org.netbeans.modules.parsing.lucene.DocumentIndexImpl; @@ -489,7 +489,7 @@ public TermFreq newTermFreq() { } @Override - public Index.WithTermFrequencies.TermFreq setTermFreq(@NonNull TermFreq into, @NonNull Term term, int freq) { + public Index.WithTermFrequencies.TermFreq setTermFreq(@NonNull TermFreq into, @NonNull BytesRef term, int freq) { into.setTerm(term); into.setFreq(freq); return into; diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java index 9a0c24b20c2e..bbe0622fd1e8 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java @@ -19,34 +19,24 @@ package org.netbeans.modules.parsing.lucene.support; -import java.io.IOException; -import java.util.BitSet; +import org.netbeans.modules.parsing.lucene.RegexpFilter; import java.util.Collections; +import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.lucene.document.FieldSelector; -import org.apache.lucene.document.FieldSelectorResult; -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.Term; -import org.apache.lucene.index.TermDocs; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.DocIdSet; -import org.apache.lucene.search.Filter; -import org.apache.lucene.search.FilteredQuery; -import org.apache.lucene.search.FilteredTermEnum; +import org.apache.lucene.search.FieldExistsQuery; import org.apache.lucene.search.MatchAllDocsQuery; import org.apache.lucene.search.PrefixQuery; -import org.apache.lucene.search.PrefixTermEnum; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; -import org.apache.lucene.util.OpenBitSet; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; -import org.netbeans.modules.parsing.lucene.TermCollector; import org.openide.util.Pair; import org.openide.util.Parameters; @@ -215,7 +205,7 @@ public static Query createTermCollectingQuery( Parameters.notNull("value", value); //NOI18N Parameters.notNull("kind", kind); //NOI18N Parameters.notNull("options", options); //NOI18N - return createQueryImpl(fieldName, caseInsensitiveFieldName, value, kind, new TCQueryFactory(), options); + return createQueryImpl(fieldName, caseInsensitiveFieldName, value, kind, new StandardQueryFactory(), options); } /** @@ -223,8 +213,8 @@ public static Query createTermCollectingQuery( * @param fieldsToLoad the fields to be loaded into the document. * @return the created FieldSelector */ - public static FieldSelector createFieldSelector(final @NonNull String... fieldsToLoad) { - return new FieldSelectorImpl(fieldsToLoad); + public static Set createFieldSelector(final @NonNull String... fieldsToLoad) { + return new HashSet<>(List.of(fieldsToLoad)); } /** @@ -381,292 +371,11 @@ private static int findNextSeparator( return -1; } - private abstract static class TCFilter extends Filter { - public abstract void attach (TermCollector collector); - } - - private abstract static class AbstractTCFilter extends TCFilter { - - private TermCollector termCollector; - - @Override - public final DocIdSet getDocIdSet(IndexReader reader) throws IOException { - final FilteredTermEnum enumerator = getTermEnum(reader); - // if current term in enum is null, the enum is empty -> shortcut - if (enumerator.term() == null) { - return DocIdSet.EMPTY_DOCIDSET; - } - try { - // else fill into a OpenBitSet - final OpenBitSet bitSet = new OpenBitSet(reader.maxDoc()); - final int[] docs = new int[32]; - final int[] freqs = new int[32]; - try (TermDocs termDocs = reader.termDocs()) { - do { - final Term term = enumerator.term(); - if (term == null) { - break; - } - termDocs.seek(term); - while (true) { - final int count = termDocs.read(docs, freqs); - if (count != 0) { - for (int i = 0; i < count; i++) { - bitSet.set(docs[i]); - if (termCollector != null) { - termCollector.add(docs[i], term); - } - } - } else { - break; - } - } - } while (enumerator.next()); - } - return bitSet; - } finally { - enumerator.close(); - } - } - - @Override - public final void attach(final TermCollector tc) { - this.termCollector = tc; - } - - protected abstract FilteredTermEnum getTermEnum(IndexReader reader) throws IOException; - - } - - private static class RegexpTermEnum extends FilteredTermEnum { - - private final String fieldName; - private final String startPrefix; - private final Pattern pattern; - private boolean endEnum; - - public RegexpTermEnum( - final IndexReader in, - final String fieldName, - final Pattern pattern, - final String startPrefix) throws IOException { - final Term term = new Term(fieldName,startPrefix); - this.fieldName = term.field(); - this.pattern = pattern; - this.startPrefix = startPrefix; - setEnum(in.terms(term)); - } - - @Override - protected boolean termCompare(Term term) { - if (fieldName == term.field()) { - String searchText = term.text(); - if (searchText.startsWith(startPrefix)) { - return pattern.matcher(term.text()).matches(); - } - } - endEnum = true; - return false; - } - - @Override - public float difference() { - return 1.0f; - } - - @Override - protected boolean endEnum() { - return endEnum; - } - } - - static class RegexpFilter extends AbstractTCFilter { - private static final BitSet SPECIAL_CHARS = new BitSet(126); - static { - final char[] specials = new char[] {'{','}','[',']','(',')','\\','.','*','?', '+'}; //NOI18N - for (char c : specials) { - SPECIAL_CHARS.set(c); - } - } - private static final BitSet QUANTIFIER_CHARS = new BitSet(126); - static { - final char[] specials = new char[] {'{','*','?'}; //NOI18N - for (char c : specials) { - QUANTIFIER_CHARS.set(c); - } - } - - private final String fieldName; - private final String startPrefix; - private final Pattern pattern; - - public RegexpFilter(final String fieldName, final String regexp, final boolean caseSensitive) { - this.fieldName = fieldName; - this.pattern = caseSensitive ? Pattern.compile(regexp) : Pattern.compile(regexp, Pattern.CASE_INSENSITIVE); - this.startPrefix = getStartText(regexp); - } - - @Override - protected FilteredTermEnum getTermEnum(final @NonNull IndexReader reader) throws IOException { - return new RegexpTermEnum(reader, fieldName, pattern, startPrefix); - } - - private static String getStartText(final String regexp) { - final StringBuilder startBuilder = new StringBuilder (); - boolean quoted = false; - for (int i = 0; i < regexp.length(); i++) { - char c = regexp.charAt(i); - if ((!quoted) && i < (regexp.length() - 1)) { - char lookAhead = regexp.charAt(i + 1); - if (QUANTIFIER_CHARS.get(lookAhead)) { - break; - } - } - if (c == '\\' && (i+1) < regexp.length()) { //NOI18N - char cn = regexp.charAt(i+1); - if (!quoted && cn == 'Q') { //NOI18N - quoted = true; - i++; - continue; - } else if (cn == 'E') { //NOI18N - quoted = false; - i++; - continue; - } - } else if (!quoted && (c == '^' || c == '$')) { //NOI18N - continue; - } - if (!quoted && SPECIAL_CHARS.get(c)) { - break; - } - startBuilder.append(c); - } - return startBuilder.toString(); - } - } - - private static class PrefixFilter extends AbstractTCFilter { - - protected final Term term; - - public PrefixFilter(final @NonNull String fieldName, final @NonNull String prefix) { - this.term = new Term(fieldName, prefix); - } - - @Override - protected FilteredTermEnum getTermEnum(final @NonNull IndexReader reader) throws IOException { - return new PrefixTermEnum(reader, term); - } - } - - private static class TermFilter extends PrefixFilter { - - public TermFilter (final String fieldName, final String value) { - super(fieldName, value); - } - - @Override - protected FilteredTermEnum getTermEnum(IndexReader reader) throws IOException { - return new PrefixTermEnum(reader, term) { - - private boolean endEnum; - - @Override - protected boolean termCompare(Term term) { - if (TermFilter.this.term.field() == term.field() && TermFilter.this.term.text().equals(term.text())) { - return true; - } - endEnum = true; - return false; - } - - @Override - protected boolean endEnum() { - return endEnum; - } - - }; - } - } - - private static class HasFieldFilter extends PrefixFilter { - - public HasFieldFilter (final String fieldName) { - super (fieldName, ""); //NOI18N - } - - @Override - protected FilteredTermEnum getTermEnum(IndexReader reader) throws IOException { - return new PrefixTermEnum(reader, term) { - - private boolean endEnum; - - @Override - protected boolean termCompare(Term term) { - if (HasFieldFilter.this.term.field() == term.field()) { - return true; - } - endEnum = true; - return false; - } - - @Override - protected boolean endEnum() { - return endEnum; - } - }; - } - } - - private static class TCFilteredQuery extends FilteredQuery implements TermCollector.TermCollecting { - private TCFilteredQuery(final Query query, final TCFilter filter) { - super (query, filter); - } - - @Override - public void attach(TermCollector collector) { - ((TCFilter)getFilter()).attach(collector); - } - } - - private static class TCBooleanQuery extends BooleanQuery implements TermCollector.TermCollecting { - - private TermCollector collector; - - @Override - public void attach(TermCollector collector) { - this.collector = collector; - if (this.collector != null) { - attach(this, this.collector); - } - } - - @Override - public Query rewrite(IndexReader reader) throws IOException { - final Query result = super.rewrite(reader); - if (this.collector != null) { - attach(this,this.collector); - } - return result; - } - - private static void attach (final BooleanQuery query, final TermCollector collector) { - for (BooleanClause clause : query.getClauses()) { - final Query q = clause.getQuery(); - if (!(q instanceof TermCollector.TermCollecting)) { - throw new IllegalArgumentException(); - } - ((TermCollector.TermCollecting)q).attach(collector); - } - } - } - private static interface QueryFactory { Query createTermQuery(@NonNull String name, @NonNull String value); Query createPrefixQuery(@NonNull String name, @NonNull String value); Query createRegExpQuery(@NonNull String name, @NonNull String value, boolean caseSensitive); Query createAllDocsQuery(@NonNull String name); - BooleanQuery createBooleanQuery(); } private static class StandardQueryFactory implements QueryFactory { @@ -678,14 +387,13 @@ public Query createTermQuery(final @NonNull String name, final @NonNull String v @Override public Query createPrefixQuery(final @NonNull String name, final @NonNull String value) { - final PrefixQuery pq = new PrefixQuery(new Term(name, value)); - pq.setRewriteMethod(PrefixQuery.CONSTANT_SCORE_FILTER_REWRITE); + final PrefixQuery pq = new PrefixQuery(new Term(name, value), PrefixQuery.CONSTANT_SCORE_REWRITE); return pq; } @Override public Query createRegExpQuery(final @NonNull String name, final @NonNull String value, final boolean caseSensitive) { - return new FilteredQuery(new MatchAllDocsQuery(), new RegexpFilter(name, value, caseSensitive)); + return new RegexpFilter(name, value, caseSensitive); } @Override @@ -693,64 +401,10 @@ public Query createAllDocsQuery(final @NonNull String name) { if (name.isEmpty()) { return new MatchAllDocsQuery(); } else { - return new FilteredQuery(new MatchAllDocsQuery(), new HasFieldFilter(name)); - } - } - - @Override - public BooleanQuery createBooleanQuery() { - return new BooleanQuery(); - } - } - - private static class TCQueryFactory implements QueryFactory { - - @Override - public Query createTermQuery(final @NonNull String name, final @NonNull String value) { - return new TCFilteredQuery(new MatchAllDocsQuery(), new TermFilter(name,value)); - } - - @Override - public Query createPrefixQuery(final @NonNull String name, final @NonNull String value) { - return new TCFilteredQuery(new MatchAllDocsQuery(), new PrefixFilter(name, value)); - } - - @Override - public Query createRegExpQuery(final @NonNull String name, final @NonNull String value, final boolean caseSensitive) { - return new TCFilteredQuery(new MatchAllDocsQuery(), new RegexpFilter(name, value, caseSensitive)); - } - - @Override - public Query createAllDocsQuery(final @NonNull String name) { - throw new IllegalArgumentException (); - } - - @Override - public BooleanQuery createBooleanQuery() { - return new TCBooleanQuery(); - } - } - - private static class FieldSelectorImpl implements FieldSelector { - - private final Term[] terms; - - FieldSelectorImpl(String... fieldNames) { - terms = new Term[fieldNames.length]; - for (int i=0; i< fieldNames.length; i++) { - terms[i] = new Term (fieldNames[i],""); //NOI18N + return new FieldExistsQuery(name); } } - @Override - public FieldSelectorResult accept(String fieldName) { - for (Term t : terms) { - if (fieldName == t.field()) { - return FieldSelectorResult.LOAD; - } - } - return FieldSelectorResult.NO_LOAD; - } } private Queries() {} diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/StoppableConvertor.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/StoppableConvertor.java deleted file mode 100644 index 0a233e89a508..000000000000 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/StoppableConvertor.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.parsing.lucene.support; - -/** - * A convertor used by the {@link Index#queryTerms} to convert lucene Terms - * into user types. - * The interface allows isolation of user code from the lucene - * specific types. - * @author Tomas Zezula - */ -public interface StoppableConvertor { - - /** - * The exception used by the convertor to stop the iteration. - */ - public static final class Stop extends Exception {}; - - /** - * Converts given object - * @param param the object to be converted - * @return the result of conversion - * @throws Stop to stop the index iteration - */ - R convert (P param) throws Stop; - -} diff --git a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/AsyncCloseTest.java b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/AsyncCloseTest.java index be5b1d8385ef..b53fb9ad3609 100644 --- a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/AsyncCloseTest.java +++ b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/AsyncCloseTest.java @@ -26,9 +26,12 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; -import org.apache.lucene.analysis.KeywordAnalyzer; +import org.apache.lucene.analysis.core.KeywordAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.document.FieldType; +import org.apache.lucene.index.IndexOptions; +import org.apache.lucene.index.IndexableFieldType; import org.apache.lucene.index.Term; import org.apache.lucene.search.PrefixQuery; import org.apache.lucene.search.Query; @@ -46,6 +49,14 @@ * @author Tomas Zezula */ public class AsyncCloseTest extends NbTestCase { + private static final IndexableFieldType STORED_ANALYZED; + static { + STORED_ANALYZED = new FieldType(); + ((FieldType) STORED_ANALYZED).setStored(true); + ((FieldType) STORED_ANALYZED).setTokenized(true); + ((FieldType) STORED_ANALYZED).setIndexOptions(IndexOptions.DOCS); + ((FieldType) STORED_ANALYZED).freeze(); + } private static final String FLD_KEY = "key"; //NOI18N @@ -181,7 +192,7 @@ public Document convert(String p) { } final Document doc = new Document(); - doc.add(new Field(FLD_KEY, p, Field.Store.YES, Field.Index.ANALYZED_NO_NORMS)); //NOI18N + doc.add(new Field(FLD_KEY, p, STORED_ANALYZED)); return doc; } } diff --git a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/IndexTransactionTest.java b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/IndexTransactionTest.java index d1e0c578eab9..115ca1e9216d 100644 --- a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/IndexTransactionTest.java +++ b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/IndexTransactionTest.java @@ -26,9 +26,12 @@ import java.util.List; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; -import org.apache.lucene.analysis.KeywordAnalyzer; +import org.apache.lucene.analysis.core.KeywordAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.document.FieldType; +import org.apache.lucene.index.IndexOptions; +import org.apache.lucene.index.IndexableFieldType; import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; @@ -46,6 +49,14 @@ * @author sdedic */ public class IndexTransactionTest extends NbTestCase { + private static final IndexableFieldType STORED_ANALYZED; + static { + STORED_ANALYZED = new FieldType(); + ((FieldType) STORED_ANALYZED).setStored(true); + ((FieldType) STORED_ANALYZED).setTokenized(true); + ((FieldType) STORED_ANALYZED).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) STORED_ANALYZED).freeze(); + } public IndexTransactionTest(String name) { super(name); @@ -143,7 +154,7 @@ public void testAddDocumentAndQuery() throws Exception { final SimpleDocumentIndexCache cache = new SimpleDocumentIndexCache(); DocumentIndex docIndex = IndexManager.createDocumentIndex(index, cache); IndexDocument doc = IndexManager.createDocument("manicka"); - doc.addPair("name", "manicka", true, false); + doc.addPair("name", "manicka", true, true); doc.addPair("age", "10", true, true); Collection results = @@ -183,7 +194,7 @@ public void testRemoveDocumentAndQuery() throws Exception { final SimpleDocumentIndexCache cache = new SimpleDocumentIndexCache(); DocumentIndex docIndex = IndexManager.createDocumentIndex(index, cache); IndexDocument doc = IndexManager.createDocument("manicka"); - doc.addPair("name", "manicka", true, false); + doc.addPair("name", "manicka", true, true); doc.addPair("age", "10", true, true); Collection results; @@ -253,7 +264,7 @@ public StrToDocConvertor(final String name) { @Override public Document convert(final String p) { final Document doc = new Document(); - doc.add(new Field(name, p, Field.Store.YES, Field.Index.ANALYZED)); + doc.add(new Field(name, p, STORED_ANALYZED)); return doc; } } diff --git a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/LuceneIndexTest.java b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/LuceneIndexTest.java index dfdbe9ea54df..dd0808403698 100644 --- a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/LuceneIndexTest.java +++ b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/LuceneIndexTest.java @@ -30,10 +30,13 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; -import org.apache.lucene.analysis.KeywordAnalyzer; +import org.apache.lucene.analysis.core.KeywordAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.document.FieldType; +import org.apache.lucene.index.IndexOptions; import org.apache.lucene.index.IndexReader; +import org.apache.lucene.index.IndexableFieldType; import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; @@ -48,7 +51,15 @@ * @author Tomas Zezula */ public class LuceneIndexTest extends NbTestCase { - + private static final IndexableFieldType STORED_ANALYZED; + static { + STORED_ANALYZED = new FieldType(); + ((FieldType) STORED_ANALYZED).setStored(true); + ((FieldType) STORED_ANALYZED).setTokenized(true); + ((FieldType) STORED_ANALYZED).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) STORED_ANALYZED).freeze(); + } + public LuceneIndexTest (String testName) { super (testName); } @@ -247,7 +258,7 @@ private void createLock(final LuceneIndex index) throws NoSuchFieldException, Il final java.lang.reflect.Field directory = o.getClass().getDeclaredField("fsDir"); //NOI18N directory.setAccessible(true); Directory dir = (Directory) directory.get(o); - dir.makeLock("test").obtain(); //NOI18N + dir.obtainLock("test"); //NOI18N } @@ -276,7 +287,7 @@ public StrToDocConvertor(final String name) { @Override public Document convert(final String p) { final Document doc = new Document(); - doc.add(new Field(name, p, Field.Store.YES, Field.Index.ANALYZED)); + doc.add(new Field(name, p, STORED_ANALYZED)); return doc; } } diff --git a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/NativeFSLockFactoryTest.java b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/NativeFSLockFactoryTest.java index cf45c9229611..38bae865993d 100644 --- a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/NativeFSLockFactoryTest.java +++ b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/NativeFSLockFactoryTest.java @@ -27,9 +27,12 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; -import org.apache.lucene.analysis.KeywordAnalyzer; +import org.apache.lucene.analysis.core.KeywordAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.document.FieldType; +import org.apache.lucene.index.IndexOptions; +import org.apache.lucene.index.IndexableFieldType; import org.apache.lucene.search.Query; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.junit.NbTestCase; @@ -41,7 +44,15 @@ * @author Tomas Zezula */ public class NativeFSLockFactoryTest extends NbTestCase { - + private static final IndexableFieldType STORED_ANALYZED; + static { + STORED_ANALYZED = new FieldType(); + ((FieldType) STORED_ANALYZED).setStored(true); + ((FieldType) STORED_ANALYZED).setTokenized(true); + ((FieldType) STORED_ANALYZED).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) STORED_ANALYZED).freeze(); + } + private File indexFolder; public NativeFSLockFactoryTest(@NonNull final String name) { @@ -61,6 +72,7 @@ public void testLockFreedDuringStoreError() throws Exception { final LuceneIndex index = LuceneIndex.create(indexFolder, new KeywordAnalyzer()); final Collection dataSet = generateDataSet(1000); final Logger log = Logger.getLogger(LuceneIndex.class.getName()); + final TestHandler handler = new TestHandler( new Runnable() { @Override @@ -88,12 +100,11 @@ public Document convert(Integer p) { doc.add(new Field( "val", //NOI18N Integer.toString(p), - Field.Store.YES, - Field.Index.ANALYZED_NO_NORMS)); + STORED_ANALYZED)); return doc; } }, - new Convertor() { + new Convertor<>() { @Override public Query convert(String p) { throw new UnsupportedOperationException(); @@ -119,8 +130,7 @@ public Document convert(Integer p) { doc.add(new Field( "val", //NOI18N Integer.toString(p), - Field.Store.YES, - Field.Index.ANALYZED_NO_NORMS)); + STORED_ANALYZED)); return doc; } }, diff --git a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RawIndexPerfTest.java b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RawIndexPerfTest.java index cf7772e50973..323d95e05682 100644 --- a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RawIndexPerfTest.java +++ b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RawIndexPerfTest.java @@ -24,9 +24,12 @@ import java.util.List; import java.util.Random; import java.util.concurrent.atomic.AtomicLong; -import org.apache.lucene.analysis.KeywordAnalyzer; +import org.apache.lucene.analysis.core.KeywordAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.document.FieldType; +import org.apache.lucene.index.IndexOptions; +import org.apache.lucene.index.IndexableFieldType; import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; @@ -127,13 +130,36 @@ private static void deleteContent(File folder) { } } + private static final IndexableFieldType STORED_NOT_ANALYZED_NO_NORMS; + private static final IndexableFieldType NOT_STORED_NOT_ANALYZED_NO_NORMS; + private static final IndexableFieldType STORED_NOT_ANALYZED; + static { + STORED_NOT_ANALYZED_NO_NORMS = new FieldType(); + ((FieldType) STORED_NOT_ANALYZED_NO_NORMS).setStored(true); + ((FieldType) STORED_NOT_ANALYZED_NO_NORMS).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) STORED_NOT_ANALYZED_NO_NORMS).setTokenized(false); + ((FieldType) STORED_NOT_ANALYZED_NO_NORMS).setOmitNorms(true); + ((FieldType) STORED_NOT_ANALYZED_NO_NORMS).freeze(); + NOT_STORED_NOT_ANALYZED_NO_NORMS = new FieldType(); + ((FieldType) NOT_STORED_NOT_ANALYZED_NO_NORMS).setStored(false); + ((FieldType) NOT_STORED_NOT_ANALYZED_NO_NORMS).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) NOT_STORED_NOT_ANALYZED_NO_NORMS).setTokenized(false); + ((FieldType) NOT_STORED_NOT_ANALYZED_NO_NORMS).setOmitNorms(true); + ((FieldType) NOT_STORED_NOT_ANALYZED_NO_NORMS).freeze(); + STORED_NOT_ANALYZED = new FieldType(); + ((FieldType) STORED_NOT_ANALYZED).setStored(true); + ((FieldType) STORED_NOT_ANALYZED).setIndexOptions(IndexOptions.NONE); + ((FieldType) STORED_NOT_ANALYZED).setTokenized(false); + ((FieldType) STORED_NOT_ANALYZED).freeze(); + } + private static final class LongToDoc implements Convertor { @Override public Document convert(Long p) { Document doc = new Document(); - doc.add(new Field("dec", Long.toString(p), Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS)); - doc.add(new Field("hex", Long.toHexString(p), Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS)); - doc.add(new Field("bin", Long.toBinaryString(p), Field.Store.YES, Field.Index.NO)); + doc.add(new Field("dec", Long.toString(p), STORED_NOT_ANALYZED_NO_NORMS)); + doc.add(new Field("hex", Long.toHexString(p), NOT_STORED_NOT_ANALYZED_NO_NORMS)); + doc.add(new Field("bin", Long.toBinaryString(p), STORED_NOT_ANALYZED)); return doc; } } @@ -148,7 +174,7 @@ public Query convert(Long p) { private static final class DocToLong implements Convertor { @Override public Long convert(Document p) { - return Long.valueOf(p.getFieldable("dec").stringValue()); + return Long.valueOf(p.get("dec")); } } } diff --git a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactoryTest.java b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactoryTest.java index 7885f59ac60f..06a875c07134 100644 --- a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactoryTest.java +++ b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactoryTest.java @@ -22,6 +22,8 @@ import java.io.IOException; import java.util.Collection; +import org.apache.lucene.store.ByteBuffersDirectory; +import org.apache.lucene.store.Directory; import org.apache.lucene.store.Lock; import org.netbeans.junit.NbTestCase; @@ -43,72 +45,60 @@ protected void setUp() throws Exception { this.lockFactory = new RecordOwnerLockFactory(); } - public void testLock() throws IOException { - final Lock lock = lockFactory.makeLock("test"); //NOI18N - assertFalse(lock.isLocked()); - lock.obtain(); - assertTrue(lock.isLocked()); - lock.release(); - assertFalse(lock.isLocked()); + public void testClosedLockIsDetected() throws IOException { + Directory dir = new ByteBuffersDirectory(); + Lock lock = lockFactory.obtainLock(dir, "test"); + assertNotNull(lock); + lock.close(); + boolean ioExceptionRecorded = false; + try { + lock.ensureValid(); + assertFalse("Lock was not invalidated", true); + } catch (IOException ex) { + ioExceptionRecorded = true; + } + assertTrue("IOException was expected but not thrown", ioExceptionRecorded); } - public void testLockInstances() throws IOException { - final Lock lock1 = lockFactory.makeLock("test"); //NOI18N - final Lock lock2 = lockFactory.makeLock("test"); //NOI18N - assertFalse(lock1.isLocked()); - assertFalse(lock2.isLocked()); - lock1.obtain(); - assertTrue(lock1.isLocked()); - assertTrue(lock2.isLocked()); - lock2.release(); - assertFalse(lock1.isLocked()); - assertFalse(lock2.isLocked()); + public void testLockDetectsDuplicate() throws IOException { + Directory dir = new ByteBuffersDirectory(); + Lock lock1 = lockFactory.obtainLock(dir, "test"); //NOI18N + assertNotNull(lock1); + lock1.ensureValid(); + boolean ioExceptionRecorded = false; + try { + Lock lock2 = lockFactory.obtainLock(dir, "test"); //NOI18N + } catch (IOException ex) { + ioExceptionRecorded = true; + } + assertTrue("IOException was expected but not thrown", ioExceptionRecorded); + lock1.close(); } public void testClearLock() throws IOException { - Lock lock = lockFactory.makeLock("test"); //NOI18N - assertFalse(lock.isLocked()); - lock.obtain(); - assertTrue(lock.isLocked()); - lockFactory.clearLock("test"); //NOI18N - assertFalse(lock.isLocked()); - } - - public void testHasLocks() throws IOException { - assertFalse(lockFactory.hasLocks()); - final Lock lock1 = lockFactory.makeLock("test1"); //NOI18N - final Lock lock2 = lockFactory.makeLock("test2"); //NOI18N - final Lock lock3 = lockFactory.makeLock("test3"); //NOI18N - final Lock lock4 = lockFactory.makeLock("test4"); //NOI18N - assertFalse(lockFactory.hasLocks()); - assertTrue(lock2.obtain()); - assertTrue(lockFactory.hasLocks()); - lock2.release(); - assertFalse(lockFactory.hasLocks()); - assertTrue(lock3.obtain()); - assertTrue(lockFactory.hasLocks()); - assertTrue(lock4.obtain()); - assertTrue(lockFactory.hasLocks()); - lockFactory.clearLock("test3"); //NOI18N - assertTrue(lockFactory.hasLocks()); - assertTrue(lock2.obtain()); - lockFactory.clearLock("test4"); //NOI18N - assertTrue(lockFactory.hasLocks()); - lock2.release(); - assertFalse(lockFactory.hasLocks()); + Directory dir = new ByteBuffersDirectory(); + Lock lock = lockFactory.obtainLock(dir, "test"); + assertNotNull(lock); + lock.ensureValid(); + lock.close(); + assertTrue(lockFactory.forceClearLocks().isEmpty()); } public void testForceClearLocks() throws IOException { - final Lock lock1 = lockFactory.makeLock("test1"); //NOI18N - assertTrue(lock1.obtain()); + Directory dir = new ByteBuffersDirectory(); + Lock lock = lockFactory.obtainLock(dir, "test1"); + lock.ensureValid(); assertTrue(lockFactory.hasLocks()); - lockFactory.makeLock("test2"); //NOI18N - assertTrue(lockFactory.makeLock("test3").obtain()); //NOI18N - lockFactory.makeLock("test3").release(); //NOI18N + Lock lock2 = lockFactory.obtainLock(dir, "test2"); + lock2.ensureValid(); + Lock lock3 = lockFactory.obtainLock(dir, "test3"); + lock3.ensureValid(); + lock2.close(); + lock3.close(); assertTrue(lockFactory.hasLocks()); - Collection locks = lockFactory.forceClearLocks(); + Collection locks = lockFactory.forceClearLocks(); assertEquals(1, locks.size()); - assertEquals(lock1, locks.iterator().next()); + assertEquals(new RecordOwnerLockFactory.DirectoryLockPair(dir, "test1"), locks.iterator().next()); assertFalse(lockFactory.hasLocks()); } diff --git a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/support/QueriesTest.java b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RegexpFilterTest.java similarity index 78% rename from ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/support/QueriesTest.java rename to ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RegexpFilterTest.java index dbabcef16afc..4bfa4cd045e8 100644 --- a/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/support/QueriesTest.java +++ b/ide/parsing.lucene/test/unit/src/org/netbeans/modules/parsing/lucene/RegexpFilterTest.java @@ -16,18 +16,16 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.parsing.lucene.support; +package org.netbeans.modules.parsing.lucene; -import java.lang.reflect.Field; import java.util.regex.Pattern; -import org.netbeans.modules.parsing.lucene.support.Queries.RegexpFilter; -import static org.junit.Assert.assertEquals; import org.junit.Test; +import static org.junit.Assert.*; -public class QueriesTest { +public class RegexpFilterTest { - public QueriesTest() { + public RegexpFilterTest() { } @Test @@ -46,10 +44,7 @@ public void testRegexpStartText() throws Exception { } private String getRegexpFilterPrefixForPattern(String pattern) throws Exception { - RegexpFilter rf = new RegexpFilter("dummy", pattern, true); - Field startPrefix = RegexpFilter.class.getDeclaredField("startPrefix"); - startPrefix.setAccessible(true); - return (String) startPrefix.get(rf); + return RegexpFilter.getStartText(pattern); } } diff --git a/java/java.hints/nbproject/project.xml b/java/java.hints/nbproject/project.xml index a9fe67477f43..519b84f3bd0a 100644 --- a/java/java.hints/nbproject/project.xml +++ b/java/java.hints/nbproject/project.xml @@ -91,8 +91,8 @@ - 3 - 3.0 + 9 + 9.0 diff --git a/java/java.lsp.server/nbproject/project.xml b/java/java.lsp.server/nbproject/project.xml index 9a8acdcab18b..0f1cc68adcad 100644 --- a/java/java.lsp.server/nbproject/project.xml +++ b/java/java.lsp.server/nbproject/project.xml @@ -509,8 +509,8 @@ - 2 - 2.47 + 3 + 3.0 diff --git a/java/java.source.base/nbproject/project.xml b/java/java.source.base/nbproject/project.xml index 77962b63cee2..f2b82a27320c 100644 --- a/java/java.source.base/nbproject/project.xml +++ b/java/java.source.base/nbproject/project.xml @@ -90,8 +90,8 @@ - 3 - 3.0 + 9 + 9.0 @@ -213,8 +213,8 @@ - 2 - 2.33 + 3 + 3.0 diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java index d44b77b18233..b861825cc9c8 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java @@ -58,7 +58,7 @@ public final class JavaIndex { public static final String NAME = "java"; //NOI18N - public static final int VERSION = 15; + public static final int VERSION = 16; public static final String ATTR_MODULE_NAME = "moduleName"; //NOI18N public static final Logger LOG = Logger.getLogger(JavaIndex.class.getName()); private static final String CLASSES = "classes"; //NOI18N diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java b/java/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java index d3e768f20480..4b685c4a1827 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java @@ -36,7 +36,6 @@ import javax.lang.model.element.ModuleElement; import javax.lang.model.element.TypeElement; import org.apache.lucene.document.Document; -import org.apache.lucene.document.FieldSelector; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; @@ -107,7 +106,7 @@ public abstract void getDeclaredElements ( @NonNull String name, @NonNull ClassIndex.NameKind kind, @NonNull Set scope, - @NonNull FieldSelector selector, + @NonNull Set selector, @NonNull Convertor convertor, @NonNull Collection result) throws IOException, InterruptedException; diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java b/java/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java index 86387ebe96fc..fd70645db0c7 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java @@ -25,21 +25,28 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.List; +import java.util.Map; import java.util.Set; import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; import javax.lang.model.element.ModuleElement; import javax.lang.model.element.TypeElement; import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.CharTokenizer; -import org.apache.lucene.analysis.KeywordAnalyzer; -import org.apache.lucene.analysis.PerFieldAnalyzerWrapper; +import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.WhitespaceAnalyzer; +import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.core.KeywordAnalyzer; +import org.apache.lucene.analysis.core.WhitespaceAnalyzer; +import org.apache.lucene.analysis.core.WhitespaceTokenizer; +import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper; +import org.apache.lucene.analysis.util.CharTokenizer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; -import org.apache.lucene.document.FieldSelector; -import org.apache.lucene.document.Fieldable; +import org.apache.lucene.document.FieldType; +import org.apache.lucene.index.DocValuesType; +import org.apache.lucene.index.IndexOptions; +import org.apache.lucene.index.IndexableField; +import org.apache.lucene.index.IndexableFieldType; import org.apache.lucene.index.Term; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.BooleanClause.Occur; @@ -75,7 +82,7 @@ public class DocumentUtil { static final String FIELD_CASE_INSENSITIVE_FEATURE_IDENTS = "cifids"; //NOI18N private static final String FIELD_BINARY_NAME = "binaryName"; //NOI18N private static final String FIELD_SOURCE = "source"; //NOI18N - private static final String FIELD_REFERENCES = "references"; //NOI18N + public static final String FIELD_REFERENCES = "references"; //NOI18N private static final char NO = '-'; //NOI18N private static final char YES = '+'; //NOI18N @@ -95,14 +102,37 @@ public class DocumentUtil { private static final char EK_MODULE = 'M'; //NOI18N private static final int SIZE = ClassIndexImpl.UsageType.values().length; + private static final IndexableFieldType NOT_ANALYZED_STORED; + private static final IndexableFieldType NOT_ANALYZED_NOT_STORED; + private static final IndexableFieldType ANALYZED_NOT_STORED; + + static { + NOT_ANALYZED_STORED = new FieldType(); + ((FieldType) NOT_ANALYZED_STORED).setTokenized(false); + ((FieldType) NOT_ANALYZED_STORED).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) NOT_ANALYZED_STORED).setStored(true); + ((FieldType) NOT_ANALYZED_STORED).freeze(); + NOT_ANALYZED_NOT_STORED = new FieldType(); + ((FieldType) NOT_ANALYZED_NOT_STORED).setTokenized(false); + ((FieldType) NOT_ANALYZED_NOT_STORED).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) NOT_ANALYZED_NOT_STORED).setStored(false); + ((FieldType) NOT_ANALYZED_NOT_STORED).freeze(); + ANALYZED_NOT_STORED = new FieldType(); + ((FieldType) ANALYZED_NOT_STORED).setTokenized(true); + ((FieldType) ANALYZED_NOT_STORED).setIndexOptions(IndexOptions.DOCS_AND_FREQS); + ((FieldType) ANALYZED_NOT_STORED).setStored(true); + ((FieldType) ANALYZED_NOT_STORED).freeze(); + } + private DocumentUtil () { } public static Analyzer createAnalyzer() { - final PerFieldAnalyzerWrapper analyzer = new PerFieldAnalyzerWrapper(new KeywordAnalyzer()); - analyzer.addAnalyzer(DocumentUtil.FIELD_IDENTS, new WhitespaceAnalyzer()); - analyzer.addAnalyzer(DocumentUtil.FIELD_FEATURE_IDENTS, new WhitespaceAnalyzer()); - analyzer.addAnalyzer(DocumentUtil.FIELD_CASE_INSENSITIVE_FEATURE_IDENTS, new DocumentUtil.LCWhitespaceAnalyzer()); + final PerFieldAnalyzerWrapper analyzer = new PerFieldAnalyzerWrapper(new KeywordAnalyzer(), Map.of( + DocumentUtil.FIELD_IDENTS, new WhitespaceAnalyzer(), + DocumentUtil.FIELD_FEATURE_IDENTS, new WhitespaceAnalyzer(), + DocumentUtil.FIELD_CASE_INSENSITIVE_FEATURE_IDENTS, new DocumentUtil.LCWhitespaceAnalyzer() + )); return analyzer; } @@ -158,8 +188,8 @@ static String getBinaryName (final Document doc) { static String getBinaryName (final Document doc, final ElementKind[] kind) { assert doc != null; - final Field pkgField = doc.getField(FIELD_PACKAGE_NAME); - final Field snField = doc.getField (FIELD_BINARY_NAME); + final IndexableField pkgField = doc.getField(FIELD_PACKAGE_NAME); + final IndexableField snField = doc.getField (FIELD_BINARY_NAME); if (snField == null) { return null; } @@ -184,7 +214,7 @@ static String getBinaryName (final Document doc, final ElementKind[] kind) { public static String getSimpleBinaryName (final Document doc) { assert doc != null; - Fieldable field = doc.getFieldable(FIELD_BINARY_NAME); + IndexableField field = doc.getField(FIELD_BINARY_NAME); if (field == null) { return null; } else { @@ -194,14 +224,14 @@ public static String getSimpleBinaryName (final Document doc) { } public static String getSimpleName(final Document doc) { - final Fieldable field = doc.getFieldable(FIELD_SIMPLE_NAME); + final IndexableField field = doc.getField(FIELD_SIMPLE_NAME); return field == null ? null : field.stringValue(); } public static boolean isLocal(@NonNull final Document doc) { - Fieldable fld = doc.getFieldable(FIELD_BINARY_NAME); + IndexableField fld = doc.getField(FIELD_BINARY_NAME); if (fld == null) { return false; } else { @@ -220,14 +250,14 @@ public static boolean isLocal(@NonNull final Document doc) { static String getPackageName (final Document doc) { assert doc != null; - Field field = doc.getField(FIELD_PACKAGE_NAME); + IndexableField field = doc.getField(FIELD_PACKAGE_NAME); return field == null ? null : field.stringValue(); } //Term and query factories - static Query binaryNameQuery (final String resourceName) { - final BooleanQuery query = new BooleanQuery (); + static BooleanQuery.Builder binaryNameQuery (final String resourceName) { + final BooleanQuery.Builder query = new BooleanQuery.Builder(); int index = resourceName.lastIndexOf(BinaryName.PKG_SEPARATOR); // NOI18N String pkgName, sName; if (index < 0) { @@ -280,31 +310,31 @@ private static Document createDocument (final BinaryName name, ", FileName with type char: " + fileName; String simpleName = name.getSimpleName(); final String caseInsensitiveName = simpleName.toLowerCase(); //XXX: I18N, Locale - Document doc = new Document (); - Field field = new Field (FIELD_BINARY_NAME,fileName,Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS); - doc.add (field); - field = new Field (FIELD_PACKAGE_NAME,pkgName,Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS); - doc.add (field); - field = new Field (FIELD_SIMPLE_NAME,simpleName, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS); - doc.add (field); - field = new Field (FIELD_CASE_INSENSITIVE_NAME, caseInsensitiveName, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS); - doc.add (field); + Document doc = new Document(); + Field field = new Field(FIELD_BINARY_NAME, fileName, NOT_ANALYZED_STORED); + doc.add(field); + field = new Field(FIELD_PACKAGE_NAME, pkgName, NOT_ANALYZED_STORED); + doc.add(field); + field = new Field(FIELD_SIMPLE_NAME, simpleName, NOT_ANALYZED_STORED); + doc.add(field); + field = new Field(FIELD_CASE_INSENSITIVE_NAME, caseInsensitiveName, NOT_ANALYZED_STORED); + doc.add(field); for (String reference : references) { - field = new Field (FIELD_REFERENCES,reference,Field.Store.NO,Field.Index.NOT_ANALYZED_NO_NORMS); + field = new Field(FIELD_REFERENCES, reference, NOT_ANALYZED_NOT_STORED); doc.add(field); } if (featureIdents != null) { - field = new Field(FIELD_FEATURE_IDENTS, featureIdents, Field.Store.NO, Field.Index.ANALYZED_NO_NORMS); + field = new Field(FIELD_FEATURE_IDENTS, featureIdents, ANALYZED_NOT_STORED); doc.add(field); - field = new Field(FIELD_CASE_INSENSITIVE_FEATURE_IDENTS, featureIdents, Field.Store.NO, Field.Index.ANALYZED_NO_NORMS); + field = new Field(FIELD_CASE_INSENSITIVE_FEATURE_IDENTS, featureIdents, ANALYZED_NOT_STORED); doc.add(field); } if (idents != null) { - field = new Field(FIELD_IDENTS, idents, Field.Store.NO, Field.Index.ANALYZED_NO_NORMS); + field = new Field(FIELD_IDENTS, idents, ANALYZED_NOT_STORED); doc.add(field); } if (source != null) { - field = new Field (FIELD_SOURCE,source,Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS); + field = new Field(FIELD_SOURCE, source, NOT_ANALYZED_STORED); doc.add(field); } return doc; @@ -404,7 +434,7 @@ static char encodeKind ( } - public static FieldSelector declaredTypesFieldSelector ( + public static Set declaredTypesFieldSelector ( final boolean includeSource, final boolean includeSimpleName) { return includeSource ? @@ -416,7 +446,7 @@ public static FieldSelector declaredTypesFieldSelector ( Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME); } - static FieldSelector sourceNameFieldSelector () { + static Set sourceNameFieldSelector () { return Queries.createFieldSelector(FIELD_SOURCE); } @@ -435,24 +465,13 @@ static Queries.QueryKind translateQueryKind(final ClassIndex.NameKind kind) { // // in Lucene 3.5, WhitespaceTokenizer became final class; isTokenChar was copied. - private static class LCWhitespaceTokenizer extends CharTokenizer { - LCWhitespaceTokenizer (final Reader r) { - super (r); - } - - @Override - protected boolean isTokenChar(int c) { - return !Character.isWhitespace(c); - } - - protected char normalize(char c) { - return Character.toLowerCase(c); - } - } static final class LCWhitespaceAnalyzer extends Analyzer { - public TokenStream tokenStream(String fieldName, Reader reader) { - return new LCWhitespaceTokenizer(reader); + @Override + public TokenStreamComponents createComponents(String fieldName) { + Tokenizer source = new WhitespaceTokenizer(WhitespaceTokenizer.DEFAULT_MAX_WORD_LEN); + TokenStream filter = new LowerCaseFilter(source); + return new TokenStreamComponents(source, filter); } } @@ -620,7 +639,7 @@ private static class SourceNameConvertor implements Convertor { @Override public String convert(Document doc) { - Field field = doc.getField(FIELD_SOURCE); + IndexableField field = doc.getField(FIELD_SOURCE); return field == null ? null : field.stringValue(); } } @@ -651,31 +670,36 @@ private QueryClassesWithEncConvertor(final boolean fileBased) { public Query convert(Pair p) { final String resourceName = p.first(); final String sourceName = p.second(); - return fileBased ? createClassesInFileQuery(resourceName,sourceName) : createClassWithEnclosedQuery(resourceName, sourceName); + if(fileBased) { + return createClassesInFileQuery(resourceName,sourceName); + } else { + return createClassWithEnclosedQuery(resourceName, sourceName); + } } - private static Query createClassWithEnclosedQuery (final String resourceName, final String sourceName) { - final BooleanQuery query = createFQNQuery(resourceName); + private static BooleanQuery createClassWithEnclosedQuery (final String resourceName, final String sourceName) { + final BooleanQuery.Builder result = new BooleanQuery.Builder(); + result.add(createFQNQuery(resourceName), Occur.MUST); if (sourceName != null) { - query.add (new TermQuery(new Term (DocumentUtil.FIELD_SOURCE,sourceName)), Occur.MUST); + result.add (new TermQuery(new Term (DocumentUtil.FIELD_SOURCE,sourceName)), Occur.MUST); } - return query; + return result.build(); } - private static Query createClassesInFileQuery (final String resourceName, final String sourceName) { + private static BooleanQuery createClassesInFileQuery (final String resourceName, final String sourceName) { if (sourceName != null) { - final BooleanQuery result = new BooleanQuery(); + final BooleanQuery.Builder result = new BooleanQuery.Builder(); result.add(createFQNQuery(FileObjects.convertFolder2Package(FileObjects.stripExtension(sourceName))), Occur.SHOULD); result.add(new TermQuery(new Term (DocumentUtil.FIELD_SOURCE,sourceName)),Occur.SHOULD); - return result; + return result.build(); } else { - final BooleanQuery result = new BooleanQuery(); + final BooleanQuery.Builder result = new BooleanQuery.Builder(); result.add(createFQNQuery(resourceName), Occur.SHOULD); result.add(new TermQuery(new Term ( DocumentUtil.FIELD_SOURCE, new StringBuilder(FileObjects.convertPackage2Folder(resourceName)).append('.').append(FileObjects.JAVA).toString())), Occur.SHOULD); - return result; + return result.build(); } } @@ -690,16 +714,16 @@ private static BooleanQuery createFQNQuery(final String resourceName) { pkgName = resourceName.substring(0, index); sName = resourceName.substring(index+1); } - final BooleanQuery snQuery = new BooleanQuery(); + final BooleanQuery.Builder snQuery = new BooleanQuery.Builder(); snQuery.add (new WildcardQuery (new Term (DocumentUtil.FIELD_BINARY_NAME, sName + DocumentUtil.WILDCARD_QUERY_WILDCARD)),Occur.SHOULD); snQuery.add (new PrefixQuery (new Term (DocumentUtil.FIELD_BINARY_NAME, sName + '$')),Occur.SHOULD); //NOI18N if (pkgName.length() == 0) { - return snQuery; + return snQuery.build(); } - final BooleanQuery fqnQuery = new BooleanQuery(); + final BooleanQuery.Builder fqnQuery = new BooleanQuery.Builder(); fqnQuery.add(new TermQuery(new Term(DocumentUtil.FIELD_PACKAGE_NAME,pkgName)), Occur.MUST); - fqnQuery.add(snQuery, Occur.MUST); - return fqnQuery; + fqnQuery.add(snQuery.build(), Occur.MUST); + return fqnQuery.build(); } } @@ -715,21 +739,19 @@ private static Query binaryNameSourceNamePairQuery (final Pair bi final String binaryName = binaryNameSourceNamePair.first(); final String sourceName = binaryNameSourceNamePair.second(); assert binaryName != null || sourceName != null; - Query query = null; + BooleanQuery.Builder query = null; if (binaryName != null) { query = binaryNameQuery(binaryName); } if (sourceName != null) { if (query == null) { - query = new TermQuery(new Term (FIELD_SOURCE,sourceName)); + return new TermQuery(new Term (FIELD_SOURCE,sourceName)); } else { - assert query instanceof BooleanQuery : "The DocumentUtil.binaryNameQuery was incompatibly changed!"; //NOI18N - final BooleanQuery bq = (BooleanQuery) query; - bq.add(new TermQuery(new Term (FIELD_SOURCE,sourceName)), BooleanClause.Occur.MUST); + query.add(new TermQuery(new Term (FIELD_SOURCE,sourceName)), BooleanClause.Occur.MUST); } } assert query != null; - return query; + return query.build(); } } diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java b/java/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java index a1ca6fc41f47..3a33a1c4f329 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java @@ -27,10 +27,9 @@ import java.util.logging.Logger; import javax.lang.model.element.ElementKind; import org.apache.lucene.document.Document; -import org.apache.lucene.document.FieldSelector; -import org.apache.lucene.index.Term; import org.apache.lucene.search.BooleanClause.Occur; import org.apache.lucene.search.Query; +import org.apache.lucene.util.BytesRef; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; @@ -48,8 +47,6 @@ import org.netbeans.modules.parsing.lucene.support.Index; import org.netbeans.modules.parsing.lucene.support.IndexManager; import org.netbeans.modules.parsing.lucene.support.Queries; -import org.netbeans.modules.parsing.lucene.support.StoppableConvertor; -import org.netbeans.modules.parsing.lucene.support.StoppableConvertor.Stop; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; @@ -57,6 +54,8 @@ import org.openide.util.Pair; import org.openide.util.Parameters; +import static org.netbeans.modules.java.source.usages.DocumentUtil.FIELD_REFERENCES; + /** * * @author Petr Hrebejk, Tomas Zezula @@ -183,7 +182,7 @@ public FileObject[] getBinaryRoots() { @Override public String getSourceName (final String binaryName) throws IOException, InterruptedException { try { - final Query q = DocumentUtil.binaryNameQuery(binaryName); + final Query q = DocumentUtil.binaryNameQuery(binaryName).build(); Set names = new HashSet<>(); index.query(names, DocumentUtil.sourceNameConvertor(), DocumentUtil.sourceNameFieldSelector(), cancel.get(), q); return names.isEmpty() ? null : names.iterator().next(); @@ -273,7 +272,7 @@ public void getDeclaredElements ( @NonNull final String simpleName, @NonNull final ClassIndex.NameKind kind, @NonNull final Set scope, - @NonNull final FieldSelector selector, + @NonNull final Set selector, @NonNull final Convertor convertor, @NonNull final Collection result) throws InterruptedException, IOException { final Pair,Index> ctu = indexPath.getPatch(convertor); @@ -316,7 +315,7 @@ public void getDeclaredElements ( index.queryDocTerms( result, ctu.first(), - Term::text, + BytesRef::utf8ToString, DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), query); @@ -324,7 +323,7 @@ public void getDeclaredElements ( ctu.second().queryDocTerms( result, convertor, - Term::text, + BytesRef::utf8ToString, DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), query); @@ -356,8 +355,8 @@ public void getPackageNames (final String prefix, final boolean directOnly, fina } else { collectInto = result; } - final Pair,Term> filter = QueryUtil.createPackageFilter(prefix,directOnly); - index.queryTerms(collectInto, filter.second(), filter.first(), cancel.get()); + final Pair,String> filter = QueryUtil.createPackageFilter(prefix,directOnly); + index.queryTerms(collectInto, DocumentUtil.FIELD_PACKAGE_NAME, filter.second(), filter.first(), cancel.get()); if (cacheOp) { synchronized (PersistentClassIndex.this) { if (rootPkgCache == null) { @@ -384,12 +383,12 @@ public void getReferencesFrequences ( } try { IndexManager.priorityAccess(() -> { - final Term startTerm = DocumentUtil.referencesTerm("", null, true); //NOI18N - final StoppableConvertor convertor = new FreqCollector( - startTerm, typeFreq, pkgFreq); + final Convertor convertor = new FreqCollector( + FIELD_REFERENCES, typeFreq, pkgFreq); ((Index.WithTermFrequencies)index).queryTermFrequencies( Collections.emptyList(), - startTerm, + FIELD_REFERENCES, + null, convertor, cancel.get()); return null; @@ -701,7 +700,7 @@ public T convert(F p) { } - private static final class FreqCollector implements StoppableConvertor { + private static final class FreqCollector implements Convertor { private final int postfixLen = ClassIndexImpl.UsageType.values().length; private final String fieldName; @@ -710,10 +709,10 @@ private static final class FreqCollector implements StoppableConvertor typeFreqs, @NonNull final Map pkgFreq) { - this.fieldName = startTerm.field(); + this.fieldName = fieldName; this.typeFreq = typeFreqs; this.pkgFreq = pkgFreq; } @@ -721,13 +720,10 @@ private static final class FreqCollector implements StoppableConvertor new BytesRef(s)).collect(Collectors.toList()) + ), + Occur.MUST); + qFiltered.add(q, Occur.MUST); + return qFiltered.build(); + } - static Pair,Term> createPackageFilter( + static Pair,String> createPackageFilter( final @NullAllowed String prefix, final boolean directOnly) { - final Term startTerm = new Term (DocumentUtil.FIELD_PACKAGE_NAME, prefix); - final StoppableConvertor filter = new PackageFilter(startTerm, directOnly); - return Pair.of(filter,startTerm); + final Convertor filter = new PackageFilter(prefix, directOnly); + return Pair.of(filter, prefix); } // - private static final class PackageFilter implements StoppableConvertor { - - private static final Stop STOP = new Stop(); + private static final class PackageFilter implements Convertor { private final boolean directOnly; private final boolean all; - private final String fieldName; private final String value; - PackageFilter(final @NonNull Term startTerm, final boolean directOnly) { - this.fieldName = startTerm.field(); - this.value = startTerm.text(); + PackageFilter(final String value, final boolean directOnly) { + this.value = value; this.directOnly = directOnly; this.all = value.length() == 0; } @Override - public String convert(Term currentTerm) throws Stop { - if (fieldName != currentTerm.field()) { - throw STOP; - } - String currentText = currentTerm.text(); + public String convert(BytesRef currentTerm) { + String currentText = currentTerm.utf8ToString(); if (all || currentText.startsWith(value)) { if (directOnly) { int index = currentText.indexOf('.', value.length()); //NOI18N @@ -204,98 +180,5 @@ public String convert(Term currentTerm) throws Stop { } } - private static final class PackagesFilter extends Filter { - - private final SortedSet pkgs; - - PackagesFilter(@NonNull final SortedSet pkgs) { - assert pkgs != null; - this.pkgs = pkgs; - } - - @NonNull - @Override - public DocIdSet getDocIdSet(@NonNull final IndexReader reader) throws IOException { - final TermEnum enumerator = getTermEnum(reader); - // if current term in enum is null, the enum is empty -> shortcut - if (enumerator.term() == null) { - return DocIdSet.EMPTY_DOCIDSET; - } - try { - // else fill into a OpenBitSet - final OpenBitSet bitSet = new OpenBitSet(reader.maxDoc()); - final int[] docs = new int[32]; - final int[] freqs = new int[32]; - final TermDocs termDocs = reader.termDocs(); - try { - do { - final Term term = enumerator.term(); - if (term == null) { - break; - } - termDocs.seek(term); - while (true) { - final int count = termDocs.read(docs, freqs); - if (count != 0) { - for (int i = 0; i < count; i++) { - bitSet.set(docs[i]); - } - } else { - break; - } - } - } while (enumerator.next()); - } finally { - termDocs.close(); - } - return bitSet; - } finally { - enumerator.close(); - } - } - - private TermEnum getTermEnum(@NonNull final IndexReader reader) { - return new TermEnum () { - private Iterator pkgsIt = pkgs.iterator(); - private String current; - { - next(); - } - - @Override - public boolean next() { - if (pkgsIt == null) { - throw new IllegalStateException("Already closed."); //NOI18N - } - if (pkgsIt.hasNext()) { - current = pkgsIt.next(); - return true; - } else { - current = null; - return false; - } - } - - @Override - public Term term() { - return current == null ? - null : - new Term (DocumentUtil.FIELD_PACKAGE_NAME, current); - } - - @Override - public int docFreq() { - return current == null ? - -1 : - 0; - } - - @Override - public void close() throws IOException { - pkgsIt = null; - } - }; - } - } // } diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/JavaSourceTest.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/JavaSourceTest.java index e2b30e47548a..5b44b98e8c52 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/JavaSourceTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/JavaSourceTest.java @@ -49,9 +49,8 @@ import com.sun.tools.javac.api.JavacTaskImpl; import junit.framework.*; import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.document.FieldSelector; -import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; +import org.apache.lucene.util.BytesRef; import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.api.java.classpath.GlobalPathRegistry; import org.netbeans.api.java.lexer.JavaTokenId; @@ -64,7 +63,6 @@ import org.netbeans.junit.NbTestSuite; import org.netbeans.modules.java.source.BootClassPathUtil; import org.netbeans.modules.java.source.JavaSourceAccessor; -import org.netbeans.modules.java.source.NoJavacHelper; import org.netbeans.modules.java.source.classpath.CacheClassPath; import org.netbeans.modules.java.source.parsing.CompilationInfoImpl; import org.netbeans.modules.java.source.parsing.DocPositionRegion; @@ -78,7 +76,6 @@ import org.netbeans.modules.parsing.lucene.support.Convertor; import org.netbeans.modules.parsing.lucene.support.Index; import org.netbeans.modules.parsing.lucene.support.IndexManagerTestUtilities; -import org.netbeans.modules.parsing.lucene.support.StoppableConvertor; import org.netbeans.modules.parsing.spi.TaskIndexingMode; import org.netbeans.spi.java.classpath.ClassPathProvider; import org.netbeans.spi.java.classpath.support.ClassPathSupport; @@ -2381,32 +2378,31 @@ public Status getStatus(boolean tryOpen) throws IOException { public void query( Collection result, Convertor convertor, - FieldSelector selector, + Set selector, AtomicBoolean cancel, Query... queries) throws IOException, InterruptedException { await(cancel); } - + @Override public void queryTerms( Collection result, - Term start, - StoppableConvertor filter, + String field, String start, + Convertor filter, AtomicBoolean cancel) throws IOException, InterruptedException { await (cancel); } - + @Override public void queryDocTerms( Map> result, Convertor convertor, - Convertor termConvertor, - FieldSelector selector, + Convertor termConvertor, Set selector, AtomicBoolean cancel, Query... queries) throws IOException, InterruptedException { await(cancel); } - + @Override public void store(Collection toAdd, Collection toDelete, Convertor docConvertor, Convertor queryConvertor, boolean optimize) throws IOException { } diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/CompileWorkerTestBase.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/CompileWorkerTestBase.java index 646e5bee6c36..f611300577ef 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/CompileWorkerTestBase.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/CompileWorkerTestBase.java @@ -86,10 +86,10 @@ public void testClassesLivingElsewhere() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test1.sig", - "cache/s1/java/15/classes/test/Test1a.sig", - "cache/s1/java/15/classes/test/Test2.sig", - "cache/s1/java/15/classes/test/Test2a.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test1.sig", + "cache/s1/java/16/classes/test/Test1a.sig", + "cache/s1/java/16/classes/test/Test2.sig", + "cache/s1/java/16/classes/test/Test2a.sig")), createdFiles); assertFalse(ErrorsCache.isInError(getRoot(), true)); } @@ -108,7 +108,7 @@ public void testStoreAndReadParameterNames() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); assertFalse(ErrorsCache.isInError(getRoot(), false)); diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java index cef82bfd313c..6ee3a6a53fb5 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java @@ -95,8 +95,8 @@ public void testVanillaWorker() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test3.sig", - "cache/s1/java/15/classes/test/Test4.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test3.sig", + "cache/s1/java/16/classes/test/Test4.sig")), createdFiles); result = runIndexing(Arrays.asList(compileTuple("test/Test4.java", "package test; public class Test4 { void t() { Undef undef; } }")), Collections.emptyList()); @@ -117,7 +117,7 @@ public void testRepair1() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); } public void testRepair2() throws Exception { @@ -133,7 +133,7 @@ public void testRepair2() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -150,7 +150,7 @@ public void testRepair3() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -167,7 +167,7 @@ public void testRepair4() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -184,8 +184,8 @@ public void testRepairEnum() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig", - "cache/s1/java/15/classes/test/Test4$1.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig", + "cache/s1/java/16/classes/test/Test4$1.sig")), createdFiles); //TODO: check file content!!! } @@ -203,8 +203,8 @@ public void testRepairEnum2() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig", - "cache/s1/java/15/classes/test/Test4$1.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig", + "cache/s1/java/16/classes/test/Test4$1.sig")), createdFiles); //TODO: check file content!!! } @@ -222,7 +222,7 @@ public void testRepairWildcard() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -240,7 +240,7 @@ public void testErasureField() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -261,7 +261,7 @@ public void testModuleInfoAndSourceLevel8() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); } @@ -281,9 +281,9 @@ public void testErroneousMethodClassNETBEANS_224() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test1.sig", - "cache/s1/java/15/classes/test/Test2.sig", - "cache/s1/java/15/classes/test/Test3.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test1.sig", + "cache/s1/java/16/classes/test/Test2.sig", + "cache/s1/java/16/classes/test/Test3.sig")), createdFiles); } @@ -300,7 +300,7 @@ public void testRepairFieldBrokenGenerics() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -317,7 +317,7 @@ public void testTypeParameter() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -338,7 +338,7 @@ public void testDuplicate() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -358,7 +358,7 @@ public void testAnnotationMethodWithBody() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -376,7 +376,7 @@ public void testArrayType() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -394,7 +394,7 @@ public void testStaticInitializer() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -412,7 +412,7 @@ public void testJLObject() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/java/lang/Object.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/java/lang/Object.sig")), createdFiles); //TODO: check file content!!! } @@ -431,7 +431,7 @@ public void testFromOtherSourceRootBroken() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -451,8 +451,8 @@ public void testCyclic() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Additional.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Additional.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); //TODO: check file content!!! } @@ -486,32 +486,32 @@ public void testAnnotations() throws Exception { createdFiles.put(getWorkDir().toURI().relativize(created.toURI()).getPath(), created); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/AnnUse.sig", - "cache/s1/java/15/classes/test/FirstAnnBroken.sig", - "cache/s1/java/15/classes/test/FirstTwoAnnBroken.sig", - "cache/s1/java/15/classes/test/FirstAnnOK.sig", - "cache/s1/java/15/classes/test/Ann1.sig", - "cache/s1/java/15/classes/test/Ann2.sig", - "cache/s1/java/15/classes/test/Ann3.sig", - "cache/s1/java/15/classes/test/Ann4.sig", - "cache/s1/java/15/classes/test/Ann5.sig", - "cache/s1/java/15/classes/test/Ann6.sig", - "cache/s1/java/15/classes/test/AnnExtra.sig", - "cache/s1/java/15/classes/test/EnumExtra.sig", - "cache/s1/java/15/classes/test/MiddleBroken.sig", - "cache/s1/java/15/classes/test/WrongType.sig", - "cache/s1/java/15/classes/test/Additional.sig", - "cache/s1/java/15/classes/test/WrongDefault.sig", - "cache/s1/java/15/classes/test/ManyWrongTrailing.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/AnnUse.sig", + "cache/s1/java/16/classes/test/FirstAnnBroken.sig", + "cache/s1/java/16/classes/test/FirstTwoAnnBroken.sig", + "cache/s1/java/16/classes/test/FirstAnnOK.sig", + "cache/s1/java/16/classes/test/Ann1.sig", + "cache/s1/java/16/classes/test/Ann2.sig", + "cache/s1/java/16/classes/test/Ann3.sig", + "cache/s1/java/16/classes/test/Ann4.sig", + "cache/s1/java/16/classes/test/Ann5.sig", + "cache/s1/java/16/classes/test/Ann6.sig", + "cache/s1/java/16/classes/test/AnnExtra.sig", + "cache/s1/java/16/classes/test/EnumExtra.sig", + "cache/s1/java/16/classes/test/MiddleBroken.sig", + "cache/s1/java/16/classes/test/WrongType.sig", + "cache/s1/java/16/classes/test/Additional.sig", + "cache/s1/java/16/classes/test/WrongDefault.sig", + "cache/s1/java/16/classes/test/ManyWrongTrailing.sig")), createdFiles.keySet()); assertAnnotations("@test.Ann5 runtimeVisible=false", - createdFiles.get("cache/s1/java/15/classes/test/FirstAnnBroken.sig")); + createdFiles.get("cache/s1/java/16/classes/test/FirstAnnBroken.sig")); assertAnnotations("@test.Ann5 runtimeVisible=false", - createdFiles.get("cache/s1/java/15/classes/test/FirstTwoAnnBroken.sig")); + createdFiles.get("cache/s1/java/16/classes/test/FirstTwoAnnBroken.sig")); assertAnnotations("@test.Ann5 runtimeVisible=false", - createdFiles.get("cache/s1/java/15/classes/test/FirstAnnOK.sig")); + createdFiles.get("cache/s1/java/16/classes/test/FirstAnnOK.sig")); assertAnnotations("@test.Ann5 runtimeVisible=false, @test.Ann6 runtimeVisible=false", - createdFiles.get("cache/s1/java/15/classes/test/MiddleBroken.sig")); + createdFiles.get("cache/s1/java/16/classes/test/MiddleBroken.sig")); } private static void assertAnnotations(String expected, File classfile) throws IOException { @@ -533,7 +533,7 @@ public void testPackageInfo() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/package-info.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/package-info.sig")), createdFiles); //TODO: check file content!!! } @@ -551,8 +551,8 @@ public void testIndexEnumConstants() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig", - "cache/s1/java/15/classes/test/Test$1.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig", + "cache/s1/java/16/classes/test/Test$1.sig")), createdFiles); ClasspathInfo cpInfo = ClasspathInfo.create(ClassPath.EMPTY, ClassPath.EMPTY, ClassPathSupport.createClassPath(getRoot())); Set> classIndexResult = cpInfo.getClassIndex().getElements(ElementHandle.createTypeElementHandle(ElementKind.ENUM, "test.Test"), EnumSet.of(SearchKind.IMPLEMENTORS), EnumSet.of(ClassIndex.SearchScope.SOURCE)); @@ -580,11 +580,11 @@ public void testAnonymousClasses() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig", - "cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/Test$2.sig", - "cache/s1/java/15/classes/test/Test$3.sig", - "cache/s1/java/15/classes/test/Test$4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig", + "cache/s1/java/16/classes/test/Test$1.sig", + "cache/s1/java/16/classes/test/Test$2.sig", + "cache/s1/java/16/classes/test/Test$3.sig", + "cache/s1/java/16/classes/test/Test$4.sig")), createdFiles); ClasspathInfo cpInfo = ClasspathInfo.create(ClassPath.EMPTY, ClassPath.EMPTY, ClassPathSupport.createClassPath(getRoot())); Set> classIndexResult = cpInfo.getClassIndex().getElements(ElementHandle.createTypeElementHandle(ElementKind.INTERFACE, "java.lang.Runnable"), EnumSet.of(SearchKind.IMPLEMENTORS), EnumSet.of(ClassIndex.SearchScope.SOURCE)); @@ -619,7 +619,7 @@ public void testErroneousNewClass() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); } @@ -644,9 +644,9 @@ public void testBasedAnonymous() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig", - "cache/s1/java/15/classes/test/Test$Inner.sig", - "cache/s1/java/15/classes/test/Test$1.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig", + "cache/s1/java/16/classes/test/Test$Inner.sig", + "cache/s1/java/16/classes/test/Test$1.sig")), createdFiles); } @@ -676,7 +676,7 @@ public void testPreserveValidMethods1() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -721,7 +721,7 @@ public void testClearInvalidMethod() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -771,7 +771,7 @@ public void testPreserveValidInitializers() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -829,7 +829,7 @@ public void testBrokenClassHeader1() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -875,7 +875,7 @@ public void testNullReturnUnknown() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -925,7 +925,7 @@ public void testBrokenNewClass() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -976,7 +976,7 @@ public void testReturnBroken() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1028,7 +1028,7 @@ public void testAssertBroken() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1092,9 +1092,9 @@ public void testAnonymousComplex() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/Test$1$1.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test$1.sig", + "cache/s1/java/16/classes/test/Test$1$1.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1162,7 +1162,7 @@ public void testFieldInit() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1216,9 +1216,9 @@ public void testAnonymousComplex2() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/Test$N.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test$1.sig", + "cache/s1/java/16/classes/test/Test$N.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1287,7 +1287,7 @@ public void testNewClass() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1336,7 +1336,7 @@ public void testUndefNewArray() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1389,9 +1389,9 @@ public void testUndefAnonymous() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/Test$Prop.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test$1.sig", + "cache/s1/java/16/classes/test/Test$Prop.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1465,8 +1465,8 @@ public void testWeirdSuperCall() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test$T.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test$T.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1545,11 +1545,11 @@ public void testAnonymousComplex3() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/Test$N.sig", - "cache/s1/java/15/classes/test/Test$1$1.sig", - "cache/s1/java/15/classes/test/Test$1$2.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test$1.sig", + "cache/s1/java/16/classes/test/Test$N.sig", + "cache/s1/java/16/classes/test/Test$1$1.sig", + "cache/s1/java/16/classes/test/Test$1$2.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1648,11 +1648,11 @@ public void testAnonymousComplex4() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/Test$2.sig", - "cache/s1/java/15/classes/test/Test$2$1.sig", - "cache/s1/java/15/classes/test/Test$1$1.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test$1.sig", + "cache/s1/java/16/classes/test/Test$2.sig", + "cache/s1/java/16/classes/test/Test$2$1.sig", + "cache/s1/java/16/classes/test/Test$1$1.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1752,9 +1752,9 @@ public void testAnonymousComplexCorrect() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/Test$N.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test$1.sig", + "cache/s1/java/16/classes/test/Test$N.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1818,7 +1818,7 @@ public void testWarningsAreNotErrors() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1871,9 +1871,9 @@ public void testSuperCall() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/SuperIntf.sig", - "cache/s1/java/15/classes/test/SuperClass.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/SuperIntf.sig", + "cache/s1/java/16/classes/test/SuperClass.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1935,7 +1935,7 @@ public void testStaticInit() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -1978,10 +1978,10 @@ public void testRecordPatterns() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Rect.sig", - "cache/s1/java/15/classes/test/ColoredPoint.sig", - "cache/s1/java/15/classes/test/Point.sig", - "cache/s1/java/15/classes/test/Test.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Rect.sig", + "cache/s1/java/16/classes/test/ColoredPoint.sig", + "cache/s1/java/16/classes/test/Point.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); } public void testEnhancedSwitch1() throws Exception { @@ -2012,10 +2012,10 @@ public void testEnhancedSwitch1() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Rect.sig", - "cache/s1/java/15/classes/test/ColoredPoint.sig", - "cache/s1/java/15/classes/test/Point.sig", - "cache/s1/java/15/classes/test/Test.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Rect.sig", + "cache/s1/java/16/classes/test/ColoredPoint.sig", + "cache/s1/java/16/classes/test/Point.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); } public void testEnhancedSwitch2() throws Exception { @@ -2046,10 +2046,10 @@ public void testEnhancedSwitch2() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Rect.sig", - "cache/s1/java/15/classes/test/ColoredPoint.sig", - "cache/s1/java/15/classes/test/Point.sig", - "cache/s1/java/15/classes/test/Test.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Rect.sig", + "cache/s1/java/16/classes/test/ColoredPoint.sig", + "cache/s1/java/16/classes/test/Point.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); } public void testEnhancedSwitch3() throws Exception { @@ -2080,10 +2080,10 @@ public void testEnhancedSwitch3() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Rect.sig", - "cache/s1/java/15/classes/test/ColoredPoint.sig", - "cache/s1/java/15/classes/test/Point.sig", - "cache/s1/java/15/classes/test/Test.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Rect.sig", + "cache/s1/java/16/classes/test/ColoredPoint.sig", + "cache/s1/java/16/classes/test/Point.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); } public void testRecordErroneousComponent() throws Exception { @@ -2104,7 +2104,7 @@ public void testRecordErroneousComponent() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); } @@ -2150,8 +2150,8 @@ public void testMethodWithErroneousInMemberRef() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/I.sig", - "cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/I.sig", + "cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -2207,7 +2207,7 @@ public void testComplexDesugaringSupertypes() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test4.sig")), createdFiles); //TODO: check file content!!! } @@ -2251,7 +2251,7 @@ public void testPatternSwitch() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -2306,7 +2306,7 @@ public void testTypeTest() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -2354,7 +2354,7 @@ public void testWrongRecordComponent() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + @@ -2396,7 +2396,7 @@ public void testRecord1() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + "\n" + @@ -2449,7 +2449,7 @@ public void testRecord2() throws Exception { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")), createdFiles); + assertEquals(new HashSet(Arrays.asList("cache/s1/java/16/classes/test/Test.sig")), createdFiles); Map expected = Collections.singletonMap("test/Test.java", "package test;\n" + "\n" + @@ -2492,9 +2492,9 @@ class D { createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); } - assertEquals(new HashSet<>(Arrays.asList("cache/s1/java/15/classes/test/Test.sig", - "cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/D.sig")), + assertEquals(new HashSet<>(Arrays.asList("cache/s1/java/16/classes/test/Test.sig", + "cache/s1/java/16/classes/test/Test$1.sig", + "cache/s1/java/16/classes/test/D.sig")), createdFiles); record Data(ErrorKind kind, Pair, Pair> range) {} List errors = TaskCache.getDefault().getErrors(getRoot().getFileObject("test/Test.java"), new ErrorsCache.ReverseConvertor() { diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java index a5ebe3cd5465..6239c47297ed 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java @@ -39,14 +39,14 @@ import java.util.TreeSet; import javax.lang.model.element.ElementKind; import javax.lang.model.element.TypeElement; -import org.apache.lucene.index.Term; +import org.apache.lucene.util.BytesRef; import org.netbeans.api.java.source.ElementHandle; import org.netbeans.junit.NbTestCase; +import org.netbeans.modules.parsing.lucene.support.Convertor; import org.netbeans.modules.parsing.lucene.support.Index; import org.netbeans.modules.parsing.lucene.support.IndexManager; import org.netbeans.modules.parsing.lucene.support.IndexManagerTestUtilities; import org.netbeans.modules.parsing.lucene.support.Queries; -import org.netbeans.modules.parsing.lucene.support.StoppableConvertor; import org.openide.util.Pair; /** @@ -91,8 +91,8 @@ public void testPerformance () throws Exception { Set result = new HashSet(); startTime = System.currentTimeMillis(); - final Pair,Term> filter = QueryUtil.createPackageFilter("", true); - index.queryTerms(result, filter.second(), filter.first(), null); + final Pair,String> filter = QueryUtil.createPackageFilter("", true); + index.queryTerms(result, DocumentUtil.FIELD_PACKAGE_NAME, filter.second(), filter.first(), null); endTime = System.currentTimeMillis(); delta = (endTime-startTime); System.out.println("Packages: " + delta); diff --git a/java/java.source/nbproject/project.xml b/java/java.source/nbproject/project.xml index 07ae9ca032a0..6b91b8b00efb 100644 --- a/java/java.source/nbproject/project.xml +++ b/java/java.source/nbproject/project.xml @@ -99,8 +99,8 @@ - 3 - 3.0 + 9 + 9.0 diff --git a/java/java.sourceui/nbproject/project.xml b/java/java.sourceui/nbproject/project.xml index e1dbf54c629e..097fa9501b5b 100644 --- a/java/java.sourceui/nbproject/project.xml +++ b/java/java.sourceui/nbproject/project.xml @@ -99,8 +99,8 @@ - 3 - 3.0 + 9 + 9.0 @@ -212,8 +212,8 @@ - 2 - 2.9 + 3 + 3.0 diff --git a/java/spi.java.hints/nbproject/project.xml b/java/spi.java.hints/nbproject/project.xml index e543c2f4fe8a..5242a6d952d9 100644 --- a/java/spi.java.hints/nbproject/project.xml +++ b/java/spi.java.hints/nbproject/project.xml @@ -82,8 +82,8 @@ - 3 - 3.0 + 9 + 9.0 diff --git a/java/whitelist/nbproject/project.xml b/java/whitelist/nbproject/project.xml index a86ffb8580c3..d020f59765d4 100644 --- a/java/whitelist/nbproject/project.xml +++ b/java/whitelist/nbproject/project.xml @@ -106,8 +106,8 @@ - 2 - 2.9 + 3 + 3.0 diff --git a/nbbuild/licenses/Apache-2.0-lucene b/nbbuild/licenses/Apache-2.0-lucene index 0b6e728a51a0..5906dd021595 100644 --- a/nbbuild/licenses/Apache-2.0-lucene +++ b/nbbuild/licenses/Apache-2.0-lucene @@ -202,16 +202,16 @@ -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was +Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was derived from unicode conversion examples available at http://www.unicode.org/Public/PROGRAMS/CVTUTF. Here is the copyright from those sources: /* * Copyright 2001-2004 Unicode, Inc. - * + * * Disclaimer - * + * * This source code is provided as is by Unicode, Inc. No claims are * made as to fitness for any particular purpose. No warranties of any * kind are expressed or implied. The recipient agrees to determine @@ -219,9 +219,9 @@ from those sources: * purchased on magnetic or optical media from Unicode, Inc., the * sole remedy for any claim will be exchange of defective media * within 90 days of receipt. - * + * * Limitations on Rights to Redistribute This Code - * + * * Unicode, Inc. hereby grants the right to freely use the information * supplied in this file in the creation of products supporting the * Unicode Standard, and to make copies of this file in any form @@ -230,43 +230,106 @@ from those sources: */ -Some code in src/java/org/apache/lucene/util/ArrayUtil.java was +Some code in core/src/java/org/apache/lucene/util/ArrayUtil.java was derived from Python 2.4.2 sources available at http://www.python.org. Full license is here: http://www.python.org/download/releases/2.4.2/license/ +Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was +derived from Python 3.1.2 sources available at +http://www.python.org. Full license is here: + + http://www.python.org/download/releases/3.1.2/license/ + +Some code in core/src/java/org/apache/lucene/util/automaton was +derived from Brics automaton sources available at +www.brics.dk/automaton/. Here is the copyright from those sources: -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was +/* + * Copyright (c) 2001-2009 Anders Moeller + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +The levenshtein automata tables in core/src/java/org/apache/lucene/util/automaton +were automatically generated with the moman/finenight FSA package. +Here is the copyright for those sources: + +# Copyright (c) 2010, Jean-Philippe Barrette-LaPierre, +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +Some code in core/src/java/org/apache/lucene/util/UnicodeUtil.java was derived from ICU (http://www.icu-project.org) -The full license is available here: - http://source.icu-project.org/repos/icu/icu/trunk/license.html +The full license is available here: + https://github.com/unicode-org/icu/blob/main/icu4c/LICENSE /* * Copyright (C) 1999-2010, International Business Machines * Corporation and others. All Rights Reserved. * - * Permission is hereby granted, free of charge, to any person obtaining a copy + * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, and/or sell copies of the - * Software, and to permit persons to whom the Software is furnished to do so, - * provided that the above copyright notice(s) and this permission notice appear + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * provided that the above copyright notice(s) and this permission notice appear * in all copies of the Software and that both the above copyright notice(s) and * this permission notice appear in supporting documentation. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE - * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE + * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * Except as contained in this notice, the name of a copyright holder shall not - * be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization of the + * Except as contained in this notice, the name of a copyright holder shall not + * be used in advertising or otherwise to promote the sale, use or other + * dealings in this Software without prior written authorization of the * copyright holder. */ @@ -332,3 +395,111 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The following license applies to the Morfologik project: + +Copyright (c) 2006 Dawid Weiss +Copyright (c) 2007-2011 Dawid Weiss, Marcin Miłkowski +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of Morfologik nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- + +The dictionary comes from Morfologik project. Morfologik uses data from +Polish ispell/myspell dictionary hosted at http://www.sjp.pl/slownik/en/ and +is licenced on the terms of (inter alia) LGPL and Creative Commons +ShareAlike. The part-of-speech tags were added in Morfologik project and +are not found in the data from sjp.pl. The tagset is similar to IPI PAN +tagset. + +--- + +The following license applies to the Morfeusz project, +used by org.apache.lucene.analysis.morfologik. + +BSD-licensed dictionary of Polish (SGJP) +http://sgjp.pl/morfeusz/ + +Copyright © 2011 Zygmunt Saloni, Włodzimierz Gruszczyński, +Marcin Woliński, Robert Wołosz + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDERS “AS IS” AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- + +core/src/java/org/apache/lucene/util/compress/LZ4.java is a Java +implementation of the LZ4 (https://github.com/lz4/lz4/tree/dev/lib) +compression format for Lucene's DataInput/DataOutput abstractions. + +LZ4 Library +Copyright (c) 2011-2016, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From ef3a983de450044f6120fde46ea501789e032832 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Fri, 9 Jan 2026 19:33:54 +0100 Subject: [PATCH 07/74] When mapping comments for modifiers of class members, make sure trailing comments for the preceding member are ignored. --- .../api/java/source/GeneratorUtilities.java | 19 +++++- .../api/java/source/CommentCollectorTest.java | 60 +++++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) diff --git a/java/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java b/java/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java index ad9e2d5c2039..6a70a939c00c 100644 --- a/java/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java +++ b/java/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java @@ -1547,6 +1547,7 @@ static T importComments(CompilationInfo info, T original, Compi TokenSequence seq = tokens.tokenSequence(JavaTokenId.language()); TreePath tp = TreePath.getPath(cut, original); Tree toMap = original; + TreePath toMapPath = tp; Tree mapTarget = null; if (tp != null && original.getKind() != Kind.COMPILATION_UNIT) { @@ -1579,17 +1580,33 @@ static T importComments(CompilationInfo info, T original, Compi } if (p2 != null) { toMap = p2.getLeaf(); + toMapPath = p2; } if (toMap == tp.getLeaf()) { // go at least one level up in a hope it's sufficient. toMap = tp.getParentPath().getLeaf(); + toMapPath = tp.getParentPath(); } } if (mapTarget == null) { mapTarget = original; } + AssignComments translator = new AssignComments(info, mapTarget, seq, unit); - + + if (toMapPath != null && + toMapPath.getParentPath() != null && + TreeUtilities.CLASS_TREE_KINDS.contains(toMapPath.getParentPath().getLeaf().getKind())) { + //run the mapping the preceding member, so that its trailing comments are properly consumed: + ClassTree enclClass = (ClassTree) toMapPath.getParentPath().getLeaf(); + List members = enclClass.getMembers(); + int currentIndex = members.indexOf(toMap); + + if (currentIndex > 0) { + translator.scan(members.get(currentIndex - 1), null); + } + } + translator.scan(toMap, null); return original; diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/CommentCollectorTest.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/CommentCollectorTest.java index e5cef1a3b6a2..549a6ac0ab0f 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/CommentCollectorTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/CommentCollectorTest.java @@ -778,4 +778,64 @@ public Void visitCompilationUnit(CompilationUnitTree node, Void aVoid) { } } + public void testImproperlyMappedCommentsMembersStartFromModifiers() throws Exception { + File testFile = new File(work, "Test.java"); + final String origin = + """ + public class Test { + static final int I = 1; //trailing + + //preceding + @Deprecated + void test() { + } + + Test() {} + } + """; + TestUtilities.copyStringToFile(testFile, origin); + JavaSource src = getJavaSource(testFile); + + Task task = new Task() { + public void run(final WorkingCopy workingCopy) throws Exception { + workingCopy.toPhase(JavaSource.Phase.PARSED); + final CommentHandlerService service = CommentHandlerService.instance(workingCopy.impl.getJavacTask().getContext()); + + ErrorAwareTreeScanner w = new ErrorAwareTreeScanner() { + @Override + public Void visitClass(ClassTree node, Void p) { + super.visitClass(node, p); + + //verify the comments for the field I are not mapped: + Tree fieldMember = node.getMembers().get(0); + + assertEquals(Tree.Kind.VARIABLE, fieldMember.getKind()); + assertEquals("I", ((VariableTree) fieldMember).getName().toString()); + + CommentSetImpl fieldCommentSet = service.getComments(fieldMember); + + assertFalse(fieldCommentSet.areCommentsMapped()); + verify(fieldMember, CommentSet.RelativePosition.PRECEDING, service); + verify(fieldMember, CommentSet.RelativePosition.INLINE, service); + verify(fieldMember, CommentSet.RelativePosition.TRAILING, service); + return null; + } + + @Override + public Void visitMethod(MethodTree node, Void p) { + if (node.getName().contentEquals("test")) { + workingCopy.getTreeUtilities().getComments(node.getModifiers(), true); + verify(node, CommentSet.RelativePosition.PRECEDING, service, "//preceding"); + verify(node, CommentSet.RelativePosition.INLINE, service); + verify(node, CommentSet.RelativePosition.TRAILING, service); + } + return super.visitMethod(node, p); + } + }; + w.scan(workingCopy.getCompilationUnit(), null); + } + }; + + src.runModificationTask(task); + } } From 328bd814cb2cbf58eef968392e6b977ea85d63aa Mon Sep 17 00:00:00 2001 From: Antonio Vieiro Date: Mon, 2 Mar 2026 23:15:40 +0100 Subject: [PATCH 08/74] Bump toml-java to 13.5.1 for TOMLv1.1 --- ide/languages.toml/nbproject/project.xml | 4 +- ide/libs.tomljava/external/binaries-list | 2 +- ...cense.txt => toml-java-13.5.1-license.txt} | 2 +- ide/libs.tomljava/manifest.mf | 4 +- .../nbproject/org-netbeans-libs-tomljava.sig | 48 +++++-------------- .../nbproject/project.properties | 2 +- ide/libs.tomljava/nbproject/project.xml | 4 +- 7 files changed, 22 insertions(+), 44 deletions(-) rename ide/libs.tomljava/external/{toml-java-13.4.2-license.txt => toml-java-13.5.1-license.txt} (99%) diff --git a/ide/languages.toml/nbproject/project.xml b/ide/languages.toml/nbproject/project.xml index dac5b32d7122..541232d6f03c 100644 --- a/ide/languages.toml/nbproject/project.xml +++ b/ide/languages.toml/nbproject/project.xml @@ -48,8 +48,8 @@ - 3 - 1.0 + 5 + 4.0 diff --git a/ide/libs.tomljava/external/binaries-list b/ide/libs.tomljava/external/binaries-list index c2aec8f70f81..a152a5119be5 100644 --- a/ide/libs.tomljava/external/binaries-list +++ b/ide/libs.tomljava/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -47006953C4961EDC2B14E55D01801FF95CF321DF net.vieiro:toml-java:13.4.2 +E3ACB4DD854EB0B9931EAF241C924B67367D4F62 net.vieiro:toml-java:13.5.1 diff --git a/ide/libs.tomljava/external/toml-java-13.4.2-license.txt b/ide/libs.tomljava/external/toml-java-13.5.1-license.txt similarity index 99% rename from ide/libs.tomljava/external/toml-java-13.4.2-license.txt rename to ide/libs.tomljava/external/toml-java-13.5.1-license.txt index 4ba7c65709b4..879fe5cd82fd 100644 --- a/ide/libs.tomljava/external/toml-java-13.4.2-license.txt +++ b/ide/libs.tomljava/external/toml-java-13.5.1-license.txt @@ -1,5 +1,5 @@ Name: TOML parser in Java -Version: 13.4.2 +Version: 13.5.1 Description: A parser for Tom's Obvious, Minimal Language (TOML). License: Apache-2.0 Origin: https://github.com/vieiro/toml-java diff --git a/ide/libs.tomljava/manifest.mf b/ide/libs.tomljava/manifest.mf index 800af307ef88..984281e92369 100644 --- a/ide/libs.tomljava/manifest.mf +++ b/ide/libs.tomljava/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -OpenIDE-Module: org.netbeans.libs.tomljava/3 +OpenIDE-Module: org.netbeans.libs.tomljava/5 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/tomljava/Bundle.properties -OpenIDE-Module-Specification-Version: 1.8 +OpenIDE-Module-Specification-Version: 4.0 diff --git a/ide/libs.tomljava/nbproject/org-netbeans-libs-tomljava.sig b/ide/libs.tomljava/nbproject/org-netbeans-libs-tomljava.sig index efe5d3e75b93..4853a66dc53e 100644 --- a/ide/libs.tomljava/nbproject/org-netbeans-libs-tomljava.sig +++ b/ide/libs.tomljava/nbproject/org-netbeans-libs-tomljava.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.7 +#Version 4.0 CLSS public java.lang.Object cons public init() @@ -86,7 +86,7 @@ fld public final static int SIMPLE_VALUE_MODE = 1 fld public final static int UNQUOTED_KEY = 14 fld public final static int VALUE_WS = 15 fld public final static int WS = 2 -fld public final static java.lang.String _serializedATN = "\u0004\u0000!\u0389\u0006\uffff\uffff\u0006\uffff\uffff\u0006\uffff\uffff\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002\u0008\u0007\u0008\u0002\u0009\u0007\u0009\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002\u000c\u0007\u000c\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\u0022\u0007\u0022\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002'\u0007'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007,\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u00071\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u00076\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007;\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007Y\u0002Z\u0007Z\u0002[\u0007[\u0002\u005c\u0007\u005c\u0002]\u0007]\u0002^\u0007^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0001\u0000\u0004\u0000\u00ea\u0008\u0000\u000b\u0000\u000c\u0000\u00eb\u0001\u0000\u0001\u0000\u0001\u0001\u0003\u0001\u00f1\u0008\u0001\u0001\u0001\u0004\u0001\u00f4\u0008\u0001\u000b\u0001\u000c\u0001\u00f5\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0005\u0003\u00fc\u0008\u0003\n\u0003\u000c\u0003\u00ff\u0009\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0008\u0001\u0008\u0001\u0008\u0001\u0008\u0001\u0009\u0001\u0009\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000c\u0001\u000c\u0001\r\u0001\r\u0001\r\u0001\r\u0003\r\u011b\u0008\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0005\u0010\u0130\u0008\u0010\n\u0010\u000c\u0010\u0133\u0009\u0010\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0005\u0011\u013a\u0008\u0011\n\u0011\u000c\u0011\u013d\u0009\u0011\u0001\u0011\u0001\u0011\u0003\u0011\u0141\u0008\u0011\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0005\u0012\u0147\u0008\u0012\n\u0012\u000c\u0012\u014a\u0009\u0012\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0005\u0013\u0150\u0008\u0013\n\u0013\u000c\u0013\u0153\u0009\u0013\u0001\u0013\u0003\u0013\u0156\u0008\u0013\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0014\u0004\u0014\u015d\u0008\u0014\u000b\u0014\u000c\u0014\u015e\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0003\u0019\u0179\u0008\u0019\u0001\u0019\u0001\u0019\u0001\u001a\u0001\u001a\u0003\u001a\u017f\u0008\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u0186\u0008\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0005\u001d\u0198\u0008\u001d\n\u001d\u000c\u001d\u019b\u0009\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0005\u001d\u01a2\u0008\u001d\n\u001d\u000c\u001d\u01a5\u0009\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0005\u001e\u01b1\u0008\u001e\n\u001e\u000c\u001e\u01b4\u0009\u001e\u0001\u001e\u0003\u001e\u01b7\u0008\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001 \u0001 \u0001 \u0001!\u0001!\u0001!\u0001!\u0001!\u0005!\u01cb\u0008!\n!\u000c!\u01ce\u0009!\u0001!\u0001!\u0001!\u0001!\u0001!\u0005!\u01d5\u0008!\n!\u000c!\u01d8\u0009!\u0001!\u0001!\u0001!\u0001!\u0001\u0022\u0001\u0022\u0003\u0022\u01e0\u0008\u0022\u0001\u0022\u0001\u0022\u0001#\u0001#\u0001#\u0001#\u0005#\u01e8\u0008#\n#\u000c#\u01eb\u0009#\u0001$\u0001$\u0001$\u0001%\u0001%\u0001%\u0001%\u0001%\u0001%\u0001%\u0001&\u0001&\u0001&\u0001&\u0001&\u0001&\u0001&\u0001'\u0001'\u0001'\u0003'\u0201\u0008'\u0001'\u0001'\u0001'\u0001(\u0001(\u0001(\u0001(\u0003(\u020a\u0008(\u0003(\u020c\u0008(\u0001(\u0001(\u0001)\u0003)\u0211\u0008)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001*\u0003*\u021a\u0008*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001+\u0001+\u0003+\u0224\u0008+\u0001,\u0001,\u0001-\u0001-\u0001.\u0001.\u0001/\u0003/\u022d\u0008/\u0001/\u0001/\u0001/\u0001/\u0001/\u0004/\u0234\u0008/\u000b/\u000c/\u0235\u0003/\u0238\u0008/\u0001/\u0001/\u00010\u00010\u00010\u00010\u00010\u00010\u00010\u00050\u0243\u00080\n0\u000c0\u0246\u00090\u00010\u00010\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u00051\u0251\u00081\n1\u000c1\u0254\u00091\u00011\u00011\u00012\u00012\u00012\u00012\u00012\u00012\u00012\u00052\u025f\u00082\n2\u000c2\u0262\u00092\u00012\u00012\u00013\u00013\u00013\u00013\u00013\u00014\u00014\u00014\u00015\u00015\u00015\u00016\u00016\u00017\u00017\u00017\u00018\u00018\u00018\u00019\u00019\u00019\u0001:\u0001:\u0004:\u027e\u0008:\u000b:\u000c:\u027f\u0001;\u0001;\u0001;\u0001;\u0001;\u0001<\u0001<\u0003<\u0289\u0008<\u0001=\u0001=\u0001=\u0001=\u0001=\u0001=\u0003=\u0291\u0008=\u0001>\u0001>\u0001>\u0001>\u0001>\u0001>\u0001?\u0001?\u0001?\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001B\u0001B\u0001B\u0001B\u0001C\u0001C\u0001C\u0001C\u0001D\u0001D\u0001D\u0001D\u0001D\u0003D\u02b5\u0008D\u0001D\u0001D\u0001D\u0001E\u0001E\u0001E\u0003E\u02bd\u0008E\u0001E\u0001E\u0001E\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001G\u0001G\u0001G\u0001G\u0001G\u0001G\u0001G\u0001H\u0001H\u0001H\u0003H\u02d3\u0008H\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001J\u0001J\u0001J\u0001J\u0001J\u0001K\u0001K\u0001K\u0001K\u0001L\u0001L\u0001L\u0001L\u0001M\u0001M\u0001M\u0001M\u0001N\u0001N\u0001N\u0001N\u0001O\u0001O\u0001O\u0001O\u0001P\u0001P\u0001P\u0001P\u0001Q\u0001Q\u0001Q\u0001Q\u0001R\u0001R\u0001R\u0001R\u0001S\u0001S\u0001S\u0001S\u0001S\u0001T\u0001T\u0001T\u0001T\u0001T\u0001U\u0001U\u0001U\u0001U\u0001U\u0001V\u0001V\u0001V\u0001V\u0001W\u0001W\u0001W\u0001W\u0001X\u0001X\u0001X\u0001X\u0001Y\u0001Y\u0001Y\u0001Y\u0001Z\u0001Z\u0001Z\u0001Z\u0001Z\u0001[\u0001[\u0001[\u0001[\u0001[\u0001\u005c\u0001\u005c\u0001\u005c\u0001\u005c\u0001\u005c\u0001]\u0001]\u0001]\u0001]\u0001^\u0001^\u0001^\u0001^\u0001_\u0001_\u0001_\u0001_\u0001`\u0001`\u0001`\u0001`\u0001a\u0001a\u0001a\u0001a\u0001b\u0001b\u0001b\u0001b\u0001c\u0001c\u0001c\u0001c\u0001d\u0001d\u0001d\u0001d\u0001e\u0001e\u0001e\u0001e\u0001f\u0001f\u0001f\u0001f\u0001g\u0001g\u0001g\u0003g\u035c\u0008g\u0001g\u0001g\u0001h\u0001h\u0001h\u0001h\u0001i\u0001i\u0001i\u0001i\u0001j\u0001j\u0001j\u0001j\u0001k\u0001k\u0001k\u0001k\u0001l\u0001l\u0001l\u0001l\u0001m\u0001m\u0001m\u0001m\u0001n\u0001n\u0001n\u0001n\u0001o\u0001o\u0001o\u0001o\u0001p\u0001p\u0001p\u0001p\u0001p\u0001q\u0001q\u0001q\u0001q\u0001q\u0006\u0131\u0148\u0151\u0199\u01b2\u01cc\u0000r\u0004\u0002\u0006\u0003\u0008\u0000\n\u0004\u000c\u0005\u000e\u0006\u0010\u0007\u0012\u0008\u0014\u0009\u0016\n\u0018\u000b\u001a\u0000\u001c\u0000\u001e\u0000 \u0000\u0022\u0000$\u000c&\u0000(\r*\u0000,\u000e.\u00010\u000f2\u00104\u00006\u00118\u0000:\u0000<\u0000>\u0012@\u0000B\u0000D\u0000F\u0013H\u0000J\u0000L\u0000N\u0000P\u0000R\u0000T\u0014V\u0015X\u0016Z\u0000\u005c\u0000^\u0000`\u0000b\u0017d\u0018f\u0019h\u001aj\u0000l\u0000n\u0000p\u0000r\u0000t\u0000v\u0000x\u0000z\u0000|\u0000~\u0000\u0080\u0000\u0082\u0000\u0084\u001b\u0086\u001c\u0088\u001d\u008a\u001e\u008c\u0000\u008e\u0000\u0090\u0000\u0092\u0000\u0094\u0000\u0096\u0000\u0098\u0000\u009a\u001f\u009c\u0000\u009e\u0000\u00a0 \u00a2\u0000\u00a4\u0000\u00a6\u0000\u00a8\u0000\u00aa\u0000\u00ac\u0000\u00ae\u0000\u00b0!\u00b2\u0000\u00b4\u0000\u00b6\u0000\u00b8\u0000\u00ba\u0000\u00bc\u0000\u00be\u0000\u00c0\u0000\u00c2\u0000\u00c4\u0000\u00c6\u0000\u00c8\u0000\u00ca\u0000\u00cc\u0000\u00ce\u0000\u00d0\u0000\u00d2\u0000\u00d4\u0000\u00d6\u0000\u00d8\u0000\u00da\u0000\u00dc\u0000\u00de\u0000\u00e0\u0000\u00e2\u0000\u00e4\u0000\u00e6\u0000\u0004\u0000\u0001\u0002\u0003\u0015\u0002\u0000\u0009\u0009 \u0003\u0000\u0000\u0008\n\u001f\u007f\u007f\u0001\u000009\u0002\u0000AZaz\u0008\u0000\u0022\u0022//\u005c\u005cbbffnnrrtt\u0003\u0000\n\n\u0022\u0022\u005c\u005c\u0001\u0000\u0022\u0022\u0002\u0000\n\n''\u0001\u0001\n\n\u0002\u0000--__\u0002\u0000\u0022\u0022\u005c\u005c\u0001\u0001\u0022\u0022\u0002\u0000EEee\u0002\u0000++--\u0003\u000009EEee\u0002\u0000AFaf\u0001\u000019\u0001\u000007\u0001\u000001\u0003\u0000 TTtt\u0002\u0000ZZzz\u03a0\u0000\u0004\u0001\u0000\u0000\u0000\u0000\u0006\u0001\u0000\u0000\u0000\u0000\n\u0001\u0000\u0000\u0000\u0000\u000c\u0001\u0000\u0000\u0000\u0000\u000e\u0001\u0000\u0000\u0000\u0000\u0010\u0001\u0000\u0000\u0000\u0000\u0012\u0001\u0000\u0000\u0000\u0000\u0014\u0001\u0000\u0000\u0000\u0000\u0016\u0001\u0000\u0000\u0000\u0000\u0018\u0001\u0000\u0000\u0000\u0000$\u0001\u0000\u0000\u0000\u0000&\u0001\u0000\u0000\u0000\u0000(\u0001\u0000\u0000\u0000\u0000*\u0001\u0000\u0000\u0000\u0000,\u0001\u0000\u0000\u0000\u0000.\u0001\u0000\u0000\u0000\u00010\u0001\u0000\u0000\u0000\u00012\u0001\u0000\u0000\u0000\u00014\u0001\u0000\u0000\u0000\u00016\u0001\u0000\u0000\u0000\u0001:\u0001\u0000\u0000\u0000\u0001<\u0001\u0000\u0000\u0000\u0001>\u0001\u0000\u0000\u0000\u0001@\u0001\u0000\u0000\u0000\u0001B\u0001\u0000\u0000\u0000\u0001D\u0001\u0000\u0000\u0000\u0001F\u0001\u0000\u0000\u0000\u0001N\u0001\u0000\u0000\u0000\u0001P\u0001\u0000\u0000\u0000\u0001R\u0001\u0000\u0000\u0000\u0001T\u0001\u0000\u0000\u0000\u0001V\u0001\u0000\u0000\u0000\u0001X\u0001\u0000\u0000\u0000\u0001b\u0001\u0000\u0000\u0000\u0001d\u0001\u0000\u0000\u0000\u0001f\u0001\u0000\u0000\u0000\u0001h\u0001\u0000\u0000\u0000\u0001\u0084\u0001\u0000\u0000\u0000\u0001\u0086\u0001\u0000\u0000\u0000\u0001\u0088\u0001\u0000\u0000\u0000\u0001\u008a\u0001\u0000\u0000\u0000\u0001\u008c\u0001\u0000\u0000\u0000\u0001\u008e\u0001\u0000\u0000\u0000\u0001\u0090\u0001\u0000\u0000\u0000\u0001\u0092\u0001\u0000\u0000\u0000\u0001\u0096\u0001\u0000\u0000\u0000\u0001\u0098\u0001\u0000\u0000\u0000\u0002\u009a\u0001\u0000\u0000\u0000\u0002\u009c\u0001\u0000\u0000\u0000\u0002\u009e\u0001\u0000\u0000\u0000\u0002\u00a0\u0001\u0000\u0000\u0000\u0002\u00a2\u0001\u0000\u0000\u0000\u0002\u00a4\u0001\u0000\u0000\u0000\u0002\u00a6\u0001\u0000\u0000\u0000\u0002\u00a8\u0001\u0000\u0000\u0000\u0002\u00aa\u0001\u0000\u0000\u0000\u0002\u00ac\u0001\u0000\u0000\u0000\u0002\u00ae\u0001\u0000\u0000\u0000\u0003\u00b0\u0001\u0000\u0000\u0000\u0003\u00b2\u0001\u0000\u0000\u0000\u0003\u00b4\u0001\u0000\u0000\u0000\u0003\u00b6\u0001\u0000\u0000\u0000\u0003\u00b8\u0001\u0000\u0000\u0000\u0003\u00ba\u0001\u0000\u0000\u0000\u0003\u00bc\u0001\u0000\u0000\u0000\u0003\u00be\u0001\u0000\u0000\u0000\u0003\u00c0\u0001\u0000\u0000\u0000\u0003\u00c2\u0001\u0000\u0000\u0000\u0003\u00c4\u0001\u0000\u0000\u0000\u0003\u00c6\u0001\u0000\u0000\u0000\u0003\u00c8\u0001\u0000\u0000\u0000\u0003\u00ca\u0001\u0000\u0000\u0000\u0003\u00cc\u0001\u0000\u0000\u0000\u0003\u00ce\u0001\u0000\u0000\u0000\u0003\u00d0\u0001\u0000\u0000\u0000\u0003\u00d2\u0001\u0000\u0000\u0000\u0003\u00d4\u0001\u0000\u0000\u0000\u0003\u00d6\u0001\u0000\u0000\u0000\u0003\u00d8\u0001\u0000\u0000\u0000\u0003\u00da\u0001\u0000\u0000\u0000\u0003\u00dc\u0001\u0000\u0000\u0000\u0003\u00de\u0001\u0000\u0000\u0000\u0003\u00e0\u0001\u0000\u0000\u0000\u0003\u00e2\u0001\u0000\u0000\u0000\u0003\u00e4\u0001\u0000\u0000\u0000\u0003\u00e6\u0001\u0000\u0000\u0000\u0004\u00e9\u0001\u0000\u0000\u0000\u0006\u00f3\u0001\u0000\u0000\u0000\u0008\u00f7\u0001\u0000\u0000\u0000\n\u00f9\u0001\u0000\u0000\u0000\u000c\u0100\u0001\u0000\u0000\u0000\u000e\u0102\u0001\u0000\u0000\u0000\u0010\u0105\u0001\u0000\u0000\u0000\u0012\u0107\u0001\u0000\u0000\u0000\u0014\u010a\u0001\u0000\u0000\u0000\u0016\u010e\u0001\u0000\u0000\u0000\u0018\u0110\u0001\u0000\u0000\u0000\u001a\u0112\u0001\u0000\u0000\u0000\u001c\u0114\u0001\u0000\u0000\u0000\u001e\u0116\u0001\u0000\u0000\u0000 \u011c\u0001\u0000\u0000\u0000\u0022\u0122\u0001\u0000\u0000\u0000$\u012c\u0001\u0000\u0000\u0000&\u0136\u0001\u0000\u0000\u0000(\u0144\u0001\u0000\u0000\u0000*\u014d\u0001\u0000\u0000\u0000,\u015c\u0001\u0000\u0000\u0000.\u0160\u0001\u0000\u0000\u00000\u0162\u0001\u0000\u0000\u00002\u0166\u0001\u0000\u0000\u00004\u016a\u0001\u0000\u0000\u00006\u0178\u0001\u0000\u0000\u00008\u0185\u0001\u0000\u0000\u0000:\u0187\u0001\u0000\u0000\u0000<\u018c\u0001\u0000\u0000\u0000>\u0191\u0001\u0000\u0000\u0000@\u01aa\u0001\u0000\u0000\u0000B\u01bb\u0001\u0000\u0000\u0000D\u01c0\u0001\u0000\u0000\u0000F\u01c5\u0001\u0000\u0000\u0000H\u01dd\u0001\u0000\u0000\u0000J\u01e3\u0001\u0000\u0000\u0000L\u01ec\u0001\u0000\u0000\u0000N\u01ef\u0001\u0000\u0000\u0000P\u01f6\u0001\u0000\u0000\u0000R\u01fd\u0001\u0000\u0000\u0000T\u0205\u0001\u0000\u0000\u0000V\u0210\u0001\u0000\u0000\u0000X\u0219\u0001\u0000\u0000\u0000Z\u0223\u0001\u0000\u0000\u0000\u005c\u0225\u0001\u0000\u0000\u0000^\u0227\u0001\u0000\u0000\u0000`\u0229\u0001\u0000\u0000\u0000b\u022c\u0001\u0000\u0000\u0000d\u023b\u0001\u0000\u0000\u0000f\u0249\u0001\u0000\u0000\u0000h\u0257\u0001\u0000\u0000\u0000j\u0265\u0001\u0000\u0000\u0000l\u026a\u0001\u0000\u0000\u0000n\u026d\u0001\u0000\u0000\u0000p\u0270\u0001\u0000\u0000\u0000r\u0272\u0001\u0000\u0000\u0000t\u0275\u0001\u0000\u0000\u0000v\u0278\u0001\u0000\u0000\u0000x\u027b\u0001\u0000\u0000\u0000z\u0281\u0001\u0000\u0000\u0000|\u0288\u0001\u0000\u0000\u0000~\u028a\u0001\u0000\u0000\u0000\u0080\u0292\u0001\u0000\u0000\u0000\u0082\u0298\u0001\u0000\u0000\u0000\u0084\u029b\u0001\u0000\u0000\u0000\u0086\u02a1\u0001\u0000\u0000\u0000\u0088\u02a7\u0001\u0000\u0000\u0000\u008a\u02ab\u0001\u0000\u0000\u0000\u008c\u02af\u0001\u0000\u0000\u0000\u008e\u02b9\u0001\u0000\u0000\u0000\u0090\u02c1\u0001\u0000\u0000\u0000\u0092\u02c8\u0001\u0000\u0000\u0000\u0094\u02cf\u0001\u0000\u0000\u0000\u0096\u02d4\u0001\u0000\u0000\u0000\u0098\u02dd\u0001\u0000\u0000\u0000\u009a\u02e2\u0001\u0000\u0000\u0000\u009c\u02e6\u0001\u0000\u0000\u0000\u009e\u02ea\u0001\u0000\u0000\u0000\u00a0\u02ee\u0001\u0000\u0000\u0000\u00a2\u02f2\u0001\u0000\u0000\u0000\u00a4\u02f6\u0001\u0000\u0000\u0000\u00a6\u02fa\u0001\u0000\u0000\u0000\u00a8\u02fe\u0001\u0000\u0000\u0000\u00aa\u0302\u0001\u0000\u0000\u0000\u00ac\u0307\u0001\u0000\u0000\u0000\u00ae\u030c\u0001\u0000\u0000\u0000\u00b0\u0311\u0001\u0000\u0000\u0000\u00b2\u0315\u0001\u0000\u0000\u0000\u00b4\u0319\u0001\u0000\u0000\u0000\u00b6\u031d\u0001\u0000\u0000\u0000\u00b8\u0321\u0001\u0000\u0000\u0000\u00ba\u0326\u0001\u0000\u0000\u0000\u00bc\u032b\u0001\u0000\u0000\u0000\u00be\u0330\u0001\u0000\u0000\u0000\u00c0\u0334\u0001\u0000\u0000\u0000\u00c2\u0338\u0001\u0000\u0000\u0000\u00c4\u033c\u0001\u0000\u0000\u0000\u00c6\u0340\u0001\u0000\u0000\u0000\u00c8\u0344\u0001\u0000\u0000\u0000\u00ca\u0348\u0001\u0000\u0000\u0000\u00cc\u034c\u0001\u0000\u0000\u0000\u00ce\u0350\u0001\u0000\u0000\u0000\u00d0\u0354\u0001\u0000\u0000\u0000\u00d2\u035b\u0001\u0000\u0000\u0000\u00d4\u035f\u0001\u0000\u0000\u0000\u00d6\u0363\u0001\u0000\u0000\u0000\u00d8\u0367\u0001\u0000\u0000\u0000\u00da\u036b\u0001\u0000\u0000\u0000\u00dc\u036f\u0001\u0000\u0000\u0000\u00de\u0373\u0001\u0000\u0000\u0000\u00e0\u0377\u0001\u0000\u0000\u0000\u00e2\u037b\u0001\u0000\u0000\u0000\u00e4\u037f\u0001\u0000\u0000\u0000\u00e6\u0384\u0001\u0000\u0000\u0000\u00e8\u00ea\u0007\u0000\u0000\u0000\u00e9\u00e8\u0001\u0000\u0000\u0000\u00ea\u00eb\u0001\u0000\u0000\u0000\u00eb\u00e9\u0001\u0000\u0000\u0000\u00eb\u00ec\u0001\u0000\u0000\u0000\u00ec\u00ed\u0001\u0000\u0000\u0000\u00ed\u00ee\u0006\u0000\u0000\u0000\u00ee\u0005\u0001\u0000\u0000\u0000\u00ef\u00f1\u0005\r\u0000\u0000\u00f0\u00ef\u0001\u0000\u0000\u0000\u00f0\u00f1\u0001\u0000\u0000\u0000\u00f1\u00f2\u0001\u0000\u0000\u0000\u00f2\u00f4\u0005\n\u0000\u0000\u00f3\u00f0\u0001\u0000\u0000\u0000\u00f4\u00f5\u0001\u0000\u0000\u0000\u00f5\u00f3\u0001\u0000\u0000\u0000\u00f5\u00f6\u0001\u0000\u0000\u0000\u00f6\u0007\u0001\u0000\u0000\u0000\u00f7\u00f8\u0008\u0001\u0000\u0000\u00f8\u0009\u0001\u0000\u0000\u0000\u00f9\u00fd\u0005#\u0000\u0000\u00fa\u00fc\u0003\u0008\u0002\u0000\u00fb\u00fa\u0001\u0000\u0000\u0000\u00fc\u00ff\u0001\u0000\u0000\u0000\u00fd\u00fb\u0001\u0000\u0000\u0000\u00fd\u00fe\u0001\u0000\u0000\u0000\u00fe\u000b\u0001\u0000\u0000\u0000\u00ff\u00fd\u0001\u0000\u0000\u0000\u0100\u0101\u0005[\u0000\u0000\u0101\r\u0001\u0000\u0000\u0000\u0102\u0103\u0005[\u0000\u0000\u0103\u0104\u0005[\u0000\u0000\u0104\u000f\u0001\u0000\u0000\u0000\u0105\u0106\u0005]\u0000\u0000\u0106\u0011\u0001\u0000\u0000\u0000\u0107\u0108\u0005]\u0000\u0000\u0108\u0109\u0005]\u0000\u0000\u0109\u0013\u0001\u0000\u0000\u0000\u010a\u010b\u0005=\u0000\u0000\u010b\u010c\u0001\u0000\u0000\u0000\u010c\u010d\u0006\u0008\u0001\u0000\u010d\u0015\u0001\u0000\u0000\u0000\u010e\u010f\u0005.\u0000\u0000\u010f\u0017\u0001\u0000\u0000\u0000\u0110\u0111\u0005,\u0000\u0000\u0111\u0019\u0001\u0000\u0000\u0000\u0112\u0113\u0007\u0002\u0000\u0000\u0113\u001b\u0001\u0000\u0000\u0000\u0114\u0115\u0007\u0003\u0000\u0000\u0115\u001d\u0001\u0000\u0000\u0000\u0116\u011a\u0005\u005c\u0000\u0000\u0117\u011b\u0007\u0004\u0000\u0000\u0118\u011b\u0003 \u000e\u0000\u0119\u011b\u0003\u0022\u000f\u0000\u011a\u0117\u0001\u0000\u0000\u0000\u011a\u0118\u0001\u0000\u0000\u0000\u011a\u0119\u0001\u0000\u0000\u0000\u011b\u001f\u0001\u0000\u0000\u0000\u011c\u011d\u0005u\u0000\u0000\u011d\u011e\u0003Z+\u0000\u011e\u011f\u0003Z+\u0000\u011f\u0120\u0003Z+\u0000\u0120\u0121\u0003Z+\u0000\u0121!\u0001\u0000\u0000\u0000\u0122\u0123\u0005U\u0000\u0000\u0123\u0124\u0003Z+\u0000\u0124\u0125\u0003Z+\u0000\u0125\u0126\u0003Z+\u0000\u0126\u0127\u0003Z+\u0000\u0127\u0128\u0003Z+\u0000\u0128\u0129\u0003Z+\u0000\u0129\u012a\u0003Z+\u0000\u012a\u012b\u0003Z+\u0000\u012b#\u0001\u0000\u0000\u0000\u012c\u0131\u0005\u0022\u0000\u0000\u012d\u0130\u0003\u001e\r\u0000\u012e\u0130\u0008\u0005\u0000\u0000\u012f\u012d\u0001\u0000\u0000\u0000\u012f\u012e\u0001\u0000\u0000\u0000\u0130\u0133\u0001\u0000\u0000\u0000\u0131\u0132\u0001\u0000\u0000\u0000\u0131\u012f\u0001\u0000\u0000\u0000\u0132\u0134\u0001\u0000\u0000\u0000\u0133\u0131\u0001\u0000\u0000\u0000\u0134\u0135\u0005\u0022\u0000\u0000\u0135%\u0001\u0000\u0000\u0000\u0136\u013b\u0005\u0022\u0000\u0000\u0137\u013a\u0003\u001e\r\u0000\u0138\u013a\u0008\u0005\u0000\u0000\u0139\u0137\u0001\u0000\u0000\u0000\u0139\u0138\u0001\u0000\u0000\u0000\u013a\u013d\u0001\u0000\u0000\u0000\u013b\u0139\u0001\u0000\u0000\u0000\u013b\u013c\u0001\u0000\u0000\u0000\u013c\u0140\u0001\u0000\u0000\u0000\u013d\u013b\u0001\u0000\u0000\u0000\u013e\u0141\u0008\u0006\u0000\u0000\u013f\u0141\u0005\u0000\u0000\u0001\u0140\u013e\u0001\u0000\u0000\u0000\u0140\u013f\u0001\u0000\u0000\u0000\u0141\u0142\u0001\u0000\u0000\u0000\u0142\u0143\u0006\u0011\u0002\u0000\u0143'\u0001\u0000\u0000\u0000\u0144\u0148\u0005'\u0000\u0000\u0145\u0147\u0008\u0007\u0000\u0000\u0146\u0145\u0001\u0000\u0000\u0000\u0147\u014a\u0001\u0000\u0000\u0000\u0148\u0149\u0001\u0000\u0000\u0000\u0148\u0146\u0001\u0000\u0000\u0000\u0149\u014b\u0001\u0000\u0000\u0000\u014a\u0148\u0001\u0000\u0000\u0000\u014b\u014c\u0005'\u0000\u0000\u014c)\u0001\u0000\u0000\u0000\u014d\u0151\u0005'\u0000\u0000\u014e\u0150\u0008\u0007\u0000\u0000\u014f\u014e\u0001\u0000\u0000\u0000\u0150\u0153\u0001\u0000\u0000\u0000\u0151\u0152\u0001\u0000\u0000\u0000\u0151\u014f\u0001\u0000\u0000\u0000\u0152\u0155\u0001\u0000\u0000\u0000\u0153\u0151\u0001\u0000\u0000\u0000\u0154\u0156\u0007\u0008\u0000\u0000\u0155\u0154\u0001\u0000\u0000\u0000\u0156\u0157\u0001\u0000\u0000\u0000\u0157\u0158\u0006\u0013\u0002\u0000\u0158+\u0001\u0000\u0000\u0000\u0159\u015d\u0003\u001c\u000c\u0000\u015a\u015d\u0003\u001a\u000b\u0000\u015b\u015d\u0007\u0009\u0000\u0000\u015c\u0159\u0001\u0000\u0000\u0000\u015c\u015a\u0001\u0000\u0000\u0000\u015c\u015b\u0001\u0000\u0000\u0000\u015d\u015e\u0001\u0000\u0000\u0000\u015e\u015c\u0001\u0000\u0000\u0000\u015e\u015f\u0001\u0000\u0000\u0000\u015f-\u0001\u0000\u0000\u0000\u0160\u0161\u0009\u0000\u0000\u0000\u0161/\u0001\u0000\u0000\u0000\u0162\u0163\u0003\u0004\u0000\u0000\u0163\u0164\u0001\u0000\u0000\u0000\u0164\u0165\u0006\u0016\u0000\u0000\u01651\u0001\u0000\u0000\u0000\u0166\u0167\u0005{\u0000\u0000\u0167\u0168\u0001\u0000\u0000\u0000\u0168\u0169\u0006\u0017\u0003\u0000\u01693\u0001\u0000\u0000\u0000\u016a\u016b\u0003\u000c\u0004\u0000\u016b\u016c\u0001\u0000\u0000\u0000\u016c\u016d\u0006\u0018\u0004\u0000\u016d\u016e\u0006\u0018\u0005\u0000\u016e5\u0001\u0000\u0000\u0000\u016f\u0170\u0005t\u0000\u0000\u0170\u0171\u0005r\u0000\u0000\u0171\u0172\u0005u\u0000\u0000\u0172\u0179\u0005e\u0000\u0000\u0173\u0174\u0005f\u0000\u0000\u0174\u0175\u0005a\u0000\u0000\u0175\u0176\u0005l\u0000\u0000\u0176\u0177\u0005s\u0000\u0000\u0177\u0179\u0005e\u0000\u0000\u0178\u016f\u0001\u0000\u0000\u0000\u0178\u0173\u0001\u0000\u0000\u0000\u0179\u017a\u0001\u0000\u0000\u0000\u017a\u017b\u0006\u0019\u0006\u0000\u017b7\u0001\u0000\u0000\u0000\u017c\u017e\u0005\u005c\u0000\u0000\u017d\u017f\u0005\r\u0000\u0000\u017e\u017d\u0001\u0000\u0000\u0000\u017e\u017f\u0001\u0000\u0000\u0000\u017f\u0180\u0001\u0000\u0000\u0000\u0180\u0186\u0005\n\u0000\u0000\u0181\u0186\u0003\u001e\r\u0000\u0182\u0183\u0005\u0022\u0000\u0000\u0183\u0186\u0005\u0022\u0000\u0000\u0184\u0186\u0007\n\u0000\u0000\u0185\u017c\u0001\u0000\u0000\u0000\u0185\u0181\u0001\u0000\u0000\u0000\u0185\u0182\u0001\u0000\u0000\u0000\u0185\u0184\u0001\u0000\u0000\u0000\u01869\u0001\u0000\u0000\u0000\u0187\u0188\u0003$\u0010\u0000\u0188\u0189\u0001\u0000\u0000\u0000\u0189\u018a\u0006\u001b\u0007\u0000\u018a\u018b\u0006\u001b\u0006\u0000\u018b;\u0001\u0000\u0000\u0000\u018c\u018d\u0003&\u0011\u0000\u018d\u018e\u0001\u0000\u0000\u0000\u018e\u018f\u0006\u001c\u0002\u0000\u018f\u0190\u0006\u001c\u0006\u0000\u0190=\u0001\u0000\u0000\u0000\u0191\u0192\u0005\u0022\u0000\u0000\u0192\u0193\u0005\u0022\u0000\u0000\u0193\u0194\u0005\u0022\u0000\u0000\u0194\u0199\u0001\u0000\u0000\u0000\u0195\u0198\u00038\u001a\u0000\u0196\u0198\u0008\n\u0000\u0000\u0197\u0195\u0001\u0000\u0000\u0000\u0197\u0196\u0001\u0000\u0000\u0000\u0198\u019b\u0001\u0000\u0000\u0000\u0199\u019a\u0001\u0000\u0000\u0000\u0199\u0197\u0001\u0000\u0000\u0000\u019a\u019c\u0001\u0000\u0000\u0000\u019b\u0199\u0001\u0000\u0000\u0000\u019c\u019d\u0005\u0022\u0000\u0000\u019d\u019e\u0005\u0022\u0000\u0000\u019e\u019f\u0005\u0022\u0000\u0000\u019f\u01a3\u0001\u0000\u0000\u0000\u01a0\u01a2\u0005\u0022\u0000\u0000\u01a1\u01a0\u0001\u0000\u0000\u0000\u01a2\u01a5\u0001\u0000\u0000\u0000\u01a3\u01a1\u0001\u0000\u0000\u0000\u01a3\u01a4\u0001\u0000\u0000\u0000\u01a4\u01a6\u0001\u0000\u0000\u0000\u01a5\u01a3\u0001\u0000\u0000\u0000\u01a6\u01a7\u0004\u001d\u0000\u0000\u01a7\u01a8\u0001\u0000\u0000\u0000\u01a8\u01a9\u0006\u001d\u0006\u0000\u01a9?\u0001\u0000\u0000\u0000\u01aa\u01ab\u0005\u0022\u0000\u0000\u01ab\u01ac\u0005\u0022\u0000\u0000\u01ac\u01ad\u0005\u0022\u0000\u0000\u01ad\u01b2\u0001\u0000\u0000\u0000\u01ae\u01b1\u00038\u001a\u0000\u01af\u01b1\u0008\n\u0000\u0000\u01b0\u01ae\u0001\u0000\u0000\u0000\u01b0\u01af\u0001\u0000\u0000\u0000\u01b1\u01b4\u0001\u0000\u0000\u0000\u01b2\u01b3\u0001\u0000\u0000\u0000\u01b2\u01b0\u0001\u0000\u0000\u0000\u01b3\u01b6\u0001\u0000\u0000\u0000\u01b4\u01b2\u0001\u0000\u0000\u0000\u01b5\u01b7\u0007\u000b\u0000\u0000\u01b6\u01b5\u0001\u0000\u0000\u0000\u01b7\u01b8\u0001\u0000\u0000\u0000\u01b8\u01b9\u0006\u001e\u0002\u0000\u01b9\u01ba\u0006\u001e\u0006\u0000\u01baA\u0001\u0000\u0000\u0000\u01bb\u01bc\u0003(\u0012\u0000\u01bc\u01bd\u0001\u0000\u0000\u0000\u01bd\u01be\u0006\u001f\u0008\u0000\u01be\u01bf\u0006\u001f\u0006\u0000\u01bfC\u0001\u0000\u0000\u0000\u01c0\u01c1\u0003*\u0013\u0000\u01c1\u01c2\u0001\u0000\u0000\u0000\u01c2\u01c3\u0006 \u0002\u0000\u01c3\u01c4\u0006 \u0006\u0000\u01c4E\u0001\u0000\u0000\u0000\u01c5\u01c6\u0005'\u0000\u0000\u01c6\u01c7\u0005'\u0000\u0000\u01c7\u01c8\u0005'\u0000\u0000\u01c8\u01cc\u0001\u0000\u0000\u0000\u01c9\u01cb\u0009\u0000\u0000\u0000\u01ca\u01c9\u0001\u0000\u0000\u0000\u01cb\u01ce\u0001\u0000\u0000\u0000\u01cc\u01cd\u0001\u0000\u0000\u0000\u01cc\u01ca\u0001\u0000\u0000\u0000\u01cd\u01cf\u0001\u0000\u0000\u0000\u01ce\u01cc\u0001\u0000\u0000\u0000\u01cf\u01d0\u0005'\u0000\u0000\u01d0\u01d1\u0005'\u0000\u0000\u01d1\u01d2\u0005'\u0000\u0000\u01d2\u01d6\u0001\u0000\u0000\u0000\u01d3\u01d5\u0005'\u0000\u0000\u01d4\u01d3\u0001\u0000\u0000\u0000\u01d5\u01d8\u0001\u0000\u0000\u0000\u01d6\u01d4\u0001\u0000\u0000\u0000\u01d6\u01d7\u0001\u0000\u0000\u0000\u01d7\u01d9\u0001\u0000\u0000\u0000\u01d8\u01d6\u0001\u0000\u0000\u0000\u01d9\u01da\u0004!\u0001\u0000\u01da\u01db\u0001\u0000\u0000\u0000\u01db\u01dc\u0006!\u0006\u0000\u01dcG\u0001\u0000\u0000\u0000\u01dd\u01df\u0007\u000c\u0000\u0000\u01de\u01e0\u0007\r\u0000\u0000\u01df\u01de\u0001\u0000\u0000\u0000\u01df\u01e0\u0001\u0000\u0000\u0000\u01e0\u01e1\u0001\u0000\u0000\u0000\u01e1\u01e2\u0003J#\u0000\u01e2I\u0001\u0000\u0000\u0000\u01e3\u01e9\u0003\u001a\u000b\u0000\u01e4\u01e8\u0003\u001a\u000b\u0000\u01e5\u01e6\u0005_\u0000\u0000\u01e6\u01e8\u0003\u001a\u000b\u0000\u01e7\u01e4\u0001\u0000\u0000\u0000\u01e7\u01e5\u0001\u0000\u0000\u0000\u01e8\u01eb\u0001\u0000\u0000\u0000\u01e9\u01e7\u0001\u0000\u0000\u0000\u01e9\u01ea\u0001\u0000\u0000\u0000\u01eaK\u0001\u0000\u0000\u0000\u01eb\u01e9\u0001\u0000\u0000\u0000\u01ec\u01ed\u0005.\u0000\u0000\u01ed\u01ee\u0003J#\u0000\u01eeM\u0001\u0000\u0000\u0000\u01ef\u01f0\u0003b/\u0000\u01f0\u01f1\u0005.\u0000\u0000\u01f1\u01f2\u0005\u0000\u0000\u0001\u01f2\u01f3\u0001\u0000\u0000\u0000\u01f3\u01f4\u0006%\u0002\u0000\u01f4\u01f5\u0006%\u0006\u0000\u01f5O\u0001\u0000\u0000\u0000\u01f6\u01f7\u0003b/\u0000\u01f7\u01f8\u0005.\u0000\u0000\u01f8\u01f9\u0008\u000e\u0000\u0000\u01f9\u01fa\u0001\u0000\u0000\u0000\u01fa\u01fb\u0006&\u0002\u0000\u01fb\u01fc\u0006&\u0006\u0000\u01fcQ\u0001\u0000\u0000\u0000\u01fd\u01fe\u0003b/\u0000\u01fe\u0200\u0007\u000c\u0000\u0000\u01ff\u0201\u0007\r\u0000\u0000\u0200\u01ff\u0001\u0000\u0000\u0000\u0200\u0201\u0001\u0000\u0000\u0000\u0201\u0202\u0001\u0000\u0000\u0000\u0202\u0203\u0006'\u0002\u0000\u0203\u0204\u0006'\u0006\u0000\u0204S\u0001\u0000\u0000\u0000\u0205\u020b\u0003b/\u0000\u0206\u020c\u0003H\u0022\u0000\u0207\u0209\u0003L$\u0000\u0208\u020a\u0003H\u0022\u0000\u0209\u0208\u0001\u0000\u0000\u0000\u0209\u020a\u0001\u0000\u0000\u0000\u020a\u020c\u0001\u0000\u0000\u0000\u020b\u0206\u0001\u0000\u0000\u0000\u020b\u0207\u0001\u0000\u0000\u0000\u020c\u020d\u0001\u0000\u0000\u0000\u020d\u020e\u0006(\u0006\u0000\u020eU\u0001\u0000\u0000\u0000\u020f\u0211\u0007\r\u0000\u0000\u0210\u020f\u0001\u0000\u0000\u0000\u0210\u0211\u0001\u0000\u0000\u0000\u0211\u0212\u0001\u0000\u0000\u0000\u0212\u0213\u0005i\u0000\u0000\u0213\u0214\u0005n\u0000\u0000\u0214\u0215\u0005f\u0000\u0000\u0215\u0216\u0001\u0000\u0000\u0000\u0216\u0217\u0006)\u0006\u0000\u0217W\u0001\u0000\u0000\u0000\u0218\u021a\u0007\r\u0000\u0000\u0219\u0218\u0001\u0000\u0000\u0000\u0219\u021a\u0001\u0000\u0000\u0000\u021a\u021b\u0001\u0000\u0000\u0000\u021b\u021c\u0005n\u0000\u0000\u021c\u021d\u0005a\u0000\u0000\u021d\u021e\u0005n\u0000\u0000\u021e\u021f\u0001\u0000\u0000\u0000\u021f\u0220\u0006*\u0006\u0000\u0220Y\u0001\u0000\u0000\u0000\u0221\u0224\u0007\u000f\u0000\u0000\u0222\u0224\u0003\u001a\u000b\u0000\u0223\u0221\u0001\u0000\u0000\u0000\u0223\u0222\u0001\u0000\u0000\u0000\u0224[\u0001\u0000\u0000\u0000\u0225\u0226\u0007\u0010\u0000\u0000\u0226]\u0001\u0000\u0000\u0000\u0227\u0228\u0007\u0011\u0000\u0000\u0228_\u0001\u0000\u0000\u0000\u0229\u022a\u0007\u0012\u0000\u0000\u022aa\u0001\u0000\u0000\u0000\u022b\u022d\u0007\r\u0000\u0000\u022c\u022b\u0001\u0000\u0000\u0000\u022c\u022d\u0001\u0000\u0000\u0000\u022d\u0237\u0001\u0000\u0000\u0000\u022e\u0238\u0003\u001a\u000b\u0000\u022f\u0233\u0003\u005c,\u0000\u0230\u0234\u0003\u001a\u000b\u0000\u0231\u0232\u0005_\u0000\u0000\u0232\u0234\u0003\u001a\u000b\u0000\u0233\u0230\u0001\u0000\u0000\u0000\u0233\u0231\u0001\u0000\u0000\u0000\u0234\u0235\u0001\u0000\u0000\u0000\u0235\u0233\u0001\u0000\u0000\u0000\u0235\u0236\u0001\u0000\u0000\u0000\u0236\u0238\u0001\u0000\u0000\u0000\u0237\u022e\u0001\u0000\u0000\u0000\u0237\u022f\u0001\u0000\u0000\u0000\u0238\u0239\u0001\u0000\u0000\u0000\u0239\u023a\u0006/\u0006\u0000\u023ac\u0001\u0000\u0000\u0000\u023b\u023c\u00050\u0000\u0000\u023c\u023d\u0005x\u0000\u0000\u023d\u023e\u0001\u0000\u0000\u0000\u023e\u0244\u0003Z+\u0000\u023f\u0243\u0003Z+\u0000\u0240\u0241\u0005_\u0000\u0000\u0241\u0243\u0003Z+\u0000\u0242\u023f\u0001\u0000\u0000\u0000\u0242\u0240\u0001\u0000\u0000\u0000\u0243\u0246\u0001\u0000\u0000\u0000\u0244\u0242\u0001\u0000\u0000\u0000\u0244\u0245\u0001\u0000\u0000\u0000\u0245\u0247\u0001\u0000\u0000\u0000\u0246\u0244\u0001\u0000\u0000\u0000\u0247\u0248\u00060\u0006\u0000\u0248e\u0001\u0000\u0000\u0000\u0249\u024a\u00050\u0000\u0000\u024a\u024b\u0005o\u0000\u0000\u024b\u024c\u0001\u0000\u0000\u0000\u024c\u0252\u0003^-\u0000\u024d\u0251\u0003^-\u0000\u024e\u024f\u0005_\u0000\u0000\u024f\u0251\u0003^-\u0000\u0250\u024d\u0001\u0000\u0000\u0000\u0250\u024e\u0001\u0000\u0000\u0000\u0251\u0254\u0001\u0000\u0000\u0000\u0252\u0250\u0001\u0000\u0000\u0000\u0252\u0253\u0001\u0000\u0000\u0000\u0253\u0255\u0001\u0000\u0000\u0000\u0254\u0252\u0001\u0000\u0000\u0000\u0255\u0256\u00061\u0006\u0000\u0256g\u0001\u0000\u0000\u0000\u0257\u0258\u00050\u0000\u0000\u0258\u0259\u0005b\u0000\u0000\u0259\u025a\u0001\u0000\u0000\u0000\u025a\u0260\u0003`.\u0000\u025b\u025f\u0003`.\u0000\u025c\u025d\u0005_\u0000\u0000\u025d\u025f\u0003`.\u0000\u025e\u025b\u0001\u0000\u0000\u0000\u025e\u025c\u0001\u0000\u0000\u0000\u025f\u0262\u0001\u0000\u0000\u0000\u0260\u025e\u0001\u0000\u0000\u0000\u0260\u0261\u0001\u0000\u0000\u0000\u0261\u0263\u0001\u0000\u0000\u0000\u0262\u0260\u0001\u0000\u0000\u0000\u0263\u0264\u00062\u0006\u0000\u0264i\u0001\u0000\u0000\u0000\u0265\u0266\u0003\u001a\u000b\u0000\u0266\u0267\u0003\u001a\u000b\u0000\u0267\u0268\u0003\u001a\u000b\u0000\u0268\u0269\u0003\u001a\u000b\u0000\u0269k\u0001\u0000\u0000\u0000\u026a\u026b\u0003\u001a\u000b\u0000\u026b\u026c\u0003\u001a\u000b\u0000\u026cm\u0001\u0000\u0000\u0000\u026d\u026e\u0003\u001a\u000b\u0000\u026e\u026f\u0003\u001a\u000b\u0000\u026fo\u0001\u0000\u0000\u0000\u0270\u0271\u0007\u0013\u0000\u0000\u0271q\u0001\u0000\u0000\u0000\u0272\u0273\u0003\u001a\u000b\u0000\u0273\u0274\u0003\u001a\u000b\u0000\u0274s\u0001\u0000\u0000\u0000\u0275\u0276\u0003\u001a\u000b\u0000\u0276\u0277\u0003\u001a\u000b\u0000\u0277u\u0001\u0000\u0000\u0000\u0278\u0279\u0003\u001a\u000b\u0000\u0279\u027a\u0003\u001a\u000b\u0000\u027aw\u0001\u0000\u0000\u0000\u027b\u027d\u0005.\u0000\u0000\u027c\u027e\u0003\u001a\u000b\u0000\u027d\u027c\u0001\u0000\u0000\u0000\u027e\u027f\u0001\u0000\u0000\u0000\u027f\u027d\u0001\u0000\u0000\u0000\u027f\u0280\u0001\u0000\u0000\u0000\u0280y\u0001\u0000\u0000\u0000\u0281\u0282\u0007\r\u0000\u0000\u0282\u0283\u0003r7\u0000\u0283\u0284\u0005:\u0000\u0000\u0284\u0285\u0003t8\u0000\u0285{\u0001\u0000\u0000\u0000\u0286\u0289\u0007\u0014\u0000\u0000\u0287\u0289\u0003z;\u0000\u0288\u0286\u0001\u0000\u0000\u0000\u0288\u0287\u0001\u0000\u0000\u0000\u0289}\u0001\u0000\u0000\u0000\u028a\u028b\u0003r7\u0000\u028b\u028c\u0005:\u0000\u0000\u028c\u028d\u0003t8\u0000\u028d\u028e\u0005:\u0000\u0000\u028e\u0290\u0003v9\u0000\u028f\u0291\u0003x:\u0000\u0290\u028f\u0001\u0000\u0000\u0000\u0290\u0291\u0001\u0000\u0000\u0000\u0291\u007f\u0001\u0000\u0000\u0000\u0292\u0293\u0003j3\u0000\u0293\u0294\u0005-\u0000\u0000\u0294\u0295\u0003l4\u0000\u0295\u0296\u0005-\u0000\u0000\u0296\u0297\u0003n5\u0000\u0297\u0081\u0001\u0000\u0000\u0000\u0298\u0299\u0003~=\u0000\u0299\u029a\u0003|<\u0000\u029a\u0083\u0001\u0000\u0000\u0000\u029b\u029c\u0003\u0080>\u0000\u029c\u029d\u0003p6\u0000\u029d\u029e\u0003\u0082?\u0000\u029e\u029f\u0001\u0000\u0000\u0000\u029f\u02a0\u0006@\u0006\u0000\u02a0\u0085\u0001\u0000\u0000\u0000\u02a1\u02a2\u0003\u0080>\u0000\u02a2\u02a3\u0003p6\u0000\u02a3\u02a4\u0003~=\u0000\u02a4\u02a5\u0001\u0000\u0000\u0000\u02a5\u02a6\u0006A\u0006\u0000\u02a6\u0087\u0001\u0000\u0000\u0000\u02a7\u02a8\u0003\u0080>\u0000\u02a8\u02a9\u0001\u0000\u0000\u0000\u02a9\u02aa\u0006B\u0006\u0000\u02aa\u0089\u0001\u0000\u0000\u0000\u02ab\u02ac\u0003~=\u0000\u02ac\u02ad\u0001\u0000\u0000\u0000\u02ad\u02ae\u0006C\u0006\u0000\u02ae\u008b\u0001\u0000\u0000\u0000\u02af\u02b0\u0003r7\u0000\u02b0\u02b1\u0005:\u0000\u0000\u02b1\u02b2\u0003t8\u0000\u02b2\u02b4\u0005:\u0000\u0000\u02b3\u02b5\u0003\u001a\u000b\u0000\u02b4\u02b3\u0001\u0000\u0000\u0000\u02b4\u02b5\u0001\u0000\u0000\u0000\u02b5\u02b6\u0001\u0000\u0000\u0000\u02b6\u02b7\u0006D\u0002\u0000\u02b7\u02b8\u0006D\u0006\u0000\u02b8\u008d\u0001\u0000\u0000\u0000\u02b9\u02ba\u0003r7\u0000\u02ba\u02bc\u0005:\u0000\u0000\u02bb\u02bd\u0003\u001a\u000b\u0000\u02bc\u02bb\u0001\u0000\u0000\u0000\u02bc\u02bd\u0001\u0000\u0000\u0000\u02bd\u02be\u0001\u0000\u0000\u0000\u02be\u02bf\u0006E\u0002\u0000\u02bf\u02c0\u0006E\u0006\u0000\u02c0\u008f\u0001\u0000\u0000\u0000\u02c1\u02c2\u0003\u0080>\u0000\u02c2\u02c3\u0003p6\u0000\u02c3\u02c4\u0003\u008cD\u0000\u02c4\u02c5\u0001\u0000\u0000\u0000\u02c5\u02c6\u0006F\u0002\u0000\u02c6\u02c7\u0006F\u0006\u0000\u02c7\u0091\u0001\u0000\u0000\u0000\u02c8\u02c9\u0003\u0080>\u0000\u02c9\u02ca\u0003p6\u0000\u02ca\u02cb\u0003\u008eE\u0000\u02cb\u02cc\u0001\u0000\u0000\u0000\u02cc\u02cd\u0006G\u0002\u0000\u02cd\u02ce\u0006G\u0006\u0000\u02ce\u0093\u0001\u0000\u0000\u0000\u02cf\u02d0\u0003r7\u0000\u02d0\u02d2\u0005:\u0000\u0000\u02d1\u02d3\u0003\u001a\u000b\u0000\u02d2\u02d1\u0001\u0000\u0000\u0000\u02d2\u02d3\u0001\u0000\u0000\u0000\u02d3\u0095\u0001\u0000\u0000\u0000\u02d4\u02d5\u0003\u0080>\u0000\u02d5\u02d6\u0003p6\u0000\u02d6\u02d7\u0003~=\u0000\u02d7\u02d8\u0007\r\u0000\u0000\u02d8\u02d9\u0003\u0094H\u0000\u02d9\u02da\u0001\u0000\u0000\u0000\u02da\u02db\u0006I\u0002\u0000\u02db\u02dc\u0006I\u0006\u0000\u02dc\u0097\u0001\u0000\u0000\u0000\u02dd\u02de\u0009\u0000\u0000\u0000\u02de\u02df\u0001\u0000\u0000\u0000\u02df\u02e0\u0006J\u0002\u0000\u02e0\u02e1\u0006J\u0006\u0000\u02e1\u0099\u0001\u0000\u0000\u0000\u02e2\u02e3\u0003\u0004\u0000\u0000\u02e3\u02e4\u0001\u0000\u0000\u0000\u02e4\u02e5\u0006K\u0000\u0000\u02e5\u009b\u0001\u0000\u0000\u0000\u02e6\u02e7\u0003\u0016\u0009\u0000\u02e7\u02e8\u0001\u0000\u0000\u0000\u02e8\u02e9\u0006L\u0009\u0000\u02e9\u009d\u0001\u0000\u0000\u0000\u02ea\u02eb\u0003\u0018\n\u0000\u02eb\u02ec\u0001\u0000\u0000\u0000\u02ec\u02ed\u0006M\n\u0000\u02ed\u009f\u0001\u0000\u0000\u0000\u02ee\u02ef\u0005}\u0000\u0000\u02ef\u02f0\u0001\u0000\u0000\u0000\u02f0\u02f1\u0006N\u0006\u0000\u02f1\u00a1\u0001\u0000\u0000\u0000\u02f2\u02f3\u0003$\u0010\u0000\u02f3\u02f4\u0001\u0000\u0000\u0000\u02f4\u02f5\u0006O\u0007\u0000\u02f5\u00a3\u0001\u0000\u0000\u0000\u02f6\u02f7\u0003&\u0011\u0000\u02f7\u02f8\u0001\u0000\u0000\u0000\u02f8\u02f9\u0006P\u0002\u0000\u02f9\u00a5\u0001\u0000\u0000\u0000\u02fa\u02fb\u0003(\u0012\u0000\u02fb\u02fc\u0001\u0000\u0000\u0000\u02fc\u02fd\u0006Q\u0008\u0000\u02fd\u00a7\u0001\u0000\u0000\u0000\u02fe\u02ff\u0003,\u0014\u0000\u02ff\u0300\u0001\u0000\u0000\u0000\u0300\u0301\u0006R\u000b\u0000\u0301\u00a9\u0001\u0000\u0000\u0000\u0302\u0303\u0003\u0014\u0008\u0000\u0303\u0304\u0001\u0000\u0000\u0000\u0304\u0305\u0006S\u000c\u0000\u0305\u0306\u0006S\u0001\u0000\u0306\u00ab\u0001\u0000\u0000\u0000\u0307\u0308\u0009\u0000\u0000\u0000\u0308\u0309\u0001\u0000\u0000\u0000\u0309\u030a\u0006T\u0002\u0000\u030a\u030b\u0006T\u0006\u0000\u030b\u00ad\u0001\u0000\u0000\u0000\u030c\u030d\u0005\u0000\u0000\u0001\u030d\u030e\u0001\u0000\u0000\u0000\u030e\u030f\u0006U\u0002\u0000\u030f\u0310\u0006U\u0006\u0000\u0310\u00af\u0001\u0000\u0000\u0000\u0311\u0312\u0003\u0004\u0000\u0000\u0312\u0313\u0001\u0000\u0000\u0000\u0313\u0314\u0006V\u0000\u0000\u0314\u00b1\u0001\u0000\u0000\u0000\u0315\u0316\u0003\u0006\u0001\u0000\u0316\u0317\u0001\u0000\u0000\u0000\u0317\u0318\u0006W\r\u0000\u0318\u00b3\u0001\u0000\u0000\u0000\u0319\u031a\u0003\n\u0003\u0000\u031a\u031b\u0001\u0000\u0000\u0000\u031b\u031c\u0006X\u000e\u0000\u031c\u00b5\u0001\u0000\u0000\u0000\u031d\u031e\u0003\u0018\n\u0000\u031e\u031f\u0001\u0000\u0000\u0000\u031f\u0320\u0006Y\n\u0000\u0320\u00b7\u0001\u0000\u0000\u0000\u0321\u0322\u00032\u0017\u0000\u0322\u0323\u0001\u0000\u0000\u0000\u0323\u0324\u0006Z\u000f\u0000\u0324\u0325\u0006Z\u0010\u0000\u0325\u00b9\u0001\u0000\u0000\u0000\u0326\u0327\u0003\u000c\u0004\u0000\u0327\u0328\u0001\u0000\u0000\u0000\u0328\u0329\u0006[\u0004\u0000\u0329\u032a\u0006[\u0011\u0000\u032a\u00bb\u0001\u0000\u0000\u0000\u032b\u032c\u0003\u0010\u0006\u0000\u032c\u032d\u0001\u0000\u0000\u0000\u032d\u032e\u0006\u005c\u0012\u0000\u032e\u032f\u0006\u005c\u0006\u0000\u032f\u00bd\u0001\u0000\u0000\u0000\u0330\u0331\u00036\u0019\u0000\u0331\u0332\u0001\u0000\u0000\u0000\u0332\u0333\u0006]\u0013\u0000\u0333\u00bf\u0001\u0000\u0000\u0000\u0334\u0335\u0003$\u0010\u0000\u0335\u0336\u0001\u0000\u0000\u0000\u0336\u0337\u0006^\u0007\u0000\u0337\u00c1\u0001\u0000\u0000\u0000\u0338\u0339\u0003&\u0011\u0000\u0339\u033a\u0001\u0000\u0000\u0000\u033a\u033b\u0006_\u0002\u0000\u033b\u00c3\u0001\u0000\u0000\u0000\u033c\u033d\u0003>\u001d\u0000\u033d\u033e\u0001\u0000\u0000\u0000\u033e\u033f\u0006`\u0014\u0000\u033f\u00c5\u0001\u0000\u0000\u0000\u0340\u0341\u0003(\u0012\u0000\u0341\u0342\u0001\u0000\u0000\u0000\u0342\u0343\u0006a\u0008\u0000\u0343\u00c7\u0001\u0000\u0000\u0000\u0344\u0345\u0003*\u0013\u0000\u0345\u0346\u0001\u0000\u0000\u0000\u0346\u0347\u0006b\u0002\u0000\u0347\u00c9\u0001\u0000\u0000\u0000\u0348\u0349\u0003F!\u0000\u0349\u034a\u0001\u0000\u0000\u0000\u034a\u034b\u0006c\u0015\u0000\u034b\u00cb\u0001\u0000\u0000\u0000\u034c\u034d\u0003T(\u0000\u034d\u034e\u0001\u0000\u0000\u0000\u034e\u034f\u0006d\u0016\u0000\u034f\u00cd\u0001\u0000\u0000\u0000\u0350\u0351\u0003V)\u0000\u0351\u0352\u0001\u0000\u0000\u0000\u0352\u0353\u0006e\u0017\u0000\u0353\u00cf\u0001\u0000\u0000\u0000\u0354\u0355\u0003X*\u0000\u0355\u0356\u0001\u0000\u0000\u0000\u0356\u0357\u0006f\u0018\u0000\u0357\u00d1\u0001\u0000\u0000\u0000\u0358\u035c\u0003T(\u0000\u0359\u035c\u0003N%\u0000\u035a\u035c\u0003P&\u0000\u035b\u0358\u0001\u0000\u0000\u0000\u035b\u0359\u0001\u0000\u0000\u0000\u035b\u035a\u0001\u0000\u0000\u0000\u035c\u035d\u0001\u0000\u0000\u0000\u035d\u035e\u0006g\u0002\u0000\u035e\u00d3\u0001\u0000\u0000\u0000\u035f\u0360\u0003b/\u0000\u0360\u0361\u0001\u0000\u0000\u0000\u0361\u0362\u0006h\u0019\u0000\u0362\u00d5\u0001\u0000\u0000\u0000\u0363\u0364\u0003d0\u0000\u0364\u0365\u0001\u0000\u0000\u0000\u0365\u0366\u0006i\u001a\u0000\u0366\u00d7\u0001\u0000\u0000\u0000\u0367\u0368\u0003f1\u0000\u0368\u0369\u0001\u0000\u0000\u0000\u0369\u036a\u0006j\u001b\u0000\u036a\u00d9\u0001\u0000\u0000\u0000\u036b\u036c\u0003h2\u0000\u036c\u036d\u0001\u0000\u0000\u0000\u036d\u036e\u0006k\u001c\u0000\u036e\u00db\u0001\u0000\u0000\u0000\u036f\u0370\u0003\u0084@\u0000\u0370\u0371\u0001\u0000\u0000\u0000\u0371\u0372\u0006l\u001d\u0000\u0372\u00dd\u0001\u0000\u0000\u0000\u0373\u0374\u0003\u0086A\u0000\u0374\u0375\u0001\u0000\u0000\u0000\u0375\u0376\u0006m\u001e\u0000\u0376\u00df\u0001\u0000\u0000\u0000\u0377\u0378\u0003\u0088B\u0000\u0378\u0379\u0001\u0000\u0000\u0000\u0379\u037a\u0006n\u001f\u0000\u037a\u00e1\u0001\u0000\u0000\u0000\u037b\u037c\u0003\u008aC\u0000\u037c\u037d\u0001\u0000\u0000\u0000\u037d\u037e\u0006o \u0000\u037e\u00e3\u0001\u0000\u0000\u0000\u037f\u0380\u0009\u0000\u0000\u0000\u0380\u0381\u0001\u0000\u0000\u0000\u0381\u0382\u0006p\u0002\u0000\u0382\u0383\u0006p\u0006\u0000\u0383\u00e5\u0001\u0000\u0000\u0000\u0384\u0385\u0005\u0000\u0000\u0001\u0385\u0386\u0001\u0000\u0000\u0000\u0386\u0387\u0006q\u0002\u0000\u0387\u0388\u0006q\u0006\u0000\u0388\u00e7\u0001\u0000\u0000\u00008\u0000\u0001\u0002\u0003\u00eb\u00f0\u00f5\u00fd\u011a\u012f\u0131\u0139\u013b\u0140\u0148\u0151\u0155\u015c\u015e\u0178\u017e\u0185\u0197\u0199\u01a3\u01b0\u01b2\u01b6\u01cc\u01d6\u01df\u01e7\u01e9\u0200\u0209\u020b\u0210\u0219\u0223\u022c\u0233\u0235\u0237\u0242\u0244\u0250\u0252\u025e\u0260\u027f\u0288\u0290\u02b4\u02bc\u02d2\u035b!\u0006\u0000\u0000\u0005\u0001\u0000\u0007\u0001\u0000\u0002\u0002\u0000\u0007\u0005\u0000\u0002\u0003\u0000\u0004\u0000\u0000\u0007\u000c\u0000\u0007\r\u0000\u0007\n\u0000\u0007\u000b\u0000\u0007\u000e\u0000\u0007\u0009\u0000\u0007\u0003\u0000\u0007\u0004\u0000\u0007\u0010\u0000\u0005\u0002\u0000\u0005\u0003\u0000\u0007\u0007\u0000\u0007\u0011\u0000\u0007\u0012\u0000\u0007\u0013\u0000\u0007\u0014\u0000\u0007\u0015\u0000\u0007\u0016\u0000\u0007\u0017\u0000\u0007\u0018\u0000\u0007\u0019\u0000\u0007\u001a\u0000\u0007\u001b\u0000\u0007\u001c\u0000\u0007\u001d\u0000\u0007\u001e\u0000" +fld public final static java.lang.String _serializedATN = "\u0004\u0000!\u0395\u0006\uffff\uffff\u0006\uffff\uffff\u0006\uffff\uffff\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002\u0008\u0007\u0008\u0002\u0009\u0007\u0009\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002\u000c\u0007\u000c\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\u0022\u0007\u0022\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002'\u0007'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007,\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u00071\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u00076\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007;\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007Y\u0002Z\u0007Z\u0002[\u0007[\u0002\u005c\u0007\u005c\u0002]\u0007]\u0002^\u0007^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0002r\u0007r\u0002s\u0007s\u0001\u0000\u0004\u0000\u00ee\u0008\u0000\u000b\u0000\u000c\u0000\u00ef\u0001\u0000\u0001\u0000\u0001\u0001\u0003\u0001\u00f5\u0008\u0001\u0001\u0001\u0004\u0001\u00f8\u0008\u0001\u000b\u0001\u000c\u0001\u00f9\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0005\u0003\u0100\u0008\u0003\n\u0003\u000c\u0003\u0103\u0009\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0008\u0001\u0008\u0001\u0008\u0001\u0008\u0001\u0009\u0001\u0009\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000c\u0001\u000c\u0001\r\u0001\r\u0001\r\u0001\r\u0003\r\u011f\u0008\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0005\u0010\u0134\u0008\u0010\n\u0010\u000c\u0010\u0137\u0009\u0010\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0005\u0011\u013e\u0008\u0011\n\u0011\u000c\u0011\u0141\u0009\u0011\u0001\u0011\u0001\u0011\u0003\u0011\u0145\u0008\u0011\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0005\u0012\u014b\u0008\u0012\n\u0012\u000c\u0012\u014e\u0009\u0012\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0005\u0013\u0154\u0008\u0013\n\u0013\u000c\u0013\u0157\u0009\u0013\u0001\u0013\u0003\u0013\u015a\u0008\u0013\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0014\u0004\u0014\u0161\u0008\u0014\u000b\u0014\u000c\u0014\u0162\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0003\u0019\u017d\u0008\u0019\u0001\u0019\u0001\u0019\u0001\u001a\u0001\u001a\u0003\u001a\u0183\u0008\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u018a\u0008\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0005\u001d\u019c\u0008\u001d\n\u001d\u000c\u001d\u019f\u0009\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0005\u001d\u01a6\u0008\u001d\n\u001d\u000c\u001d\u01a9\u0009\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0005\u001e\u01b5\u0008\u001e\n\u001e\u000c\u001e\u01b8\u0009\u001e\u0001\u001e\u0003\u001e\u01bb\u0008\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001 \u0001 \u0001 \u0001!\u0001!\u0001!\u0001!\u0001!\u0005!\u01cf\u0008!\n!\u000c!\u01d2\u0009!\u0001!\u0001!\u0001!\u0001!\u0001!\u0005!\u01d9\u0008!\n!\u000c!\u01dc\u0009!\u0001!\u0001!\u0001!\u0001!\u0001\u0022\u0001\u0022\u0003\u0022\u01e4\u0008\u0022\u0001\u0022\u0001\u0022\u0001#\u0001#\u0001#\u0001#\u0005#\u01ec\u0008#\n#\u000c#\u01ef\u0009#\u0001$\u0001$\u0001$\u0001%\u0001%\u0001%\u0001%\u0001%\u0001%\u0001%\u0001&\u0001&\u0001&\u0001&\u0001&\u0001&\u0001&\u0001'\u0001'\u0001'\u0003'\u0205\u0008'\u0001'\u0001'\u0001'\u0001(\u0001(\u0001(\u0001(\u0003(\u020e\u0008(\u0003(\u0210\u0008(\u0001(\u0001(\u0001)\u0003)\u0215\u0008)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001*\u0003*\u021e\u0008*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001+\u0001+\u0003+\u0228\u0008+\u0001,\u0001,\u0001-\u0001-\u0001.\u0001.\u0001/\u0003/\u0231\u0008/\u0001/\u0001/\u0001/\u0001/\u0001/\u0004/\u0238\u0008/\u000b/\u000c/\u0239\u0003/\u023c\u0008/\u0001/\u0001/\u00010\u00010\u00010\u00010\u00010\u00010\u00010\u00050\u0247\u00080\n0\u000c0\u024a\u00090\u00010\u00010\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u00051\u0255\u00081\n1\u000c1\u0258\u00091\u00011\u00011\u00012\u00012\u00012\u00012\u00012\u00012\u00012\u00052\u0263\u00082\n2\u000c2\u0266\u00092\u00012\u00012\u00013\u00013\u00013\u00013\u00013\u00014\u00014\u00014\u00015\u00015\u00015\u00016\u00016\u00017\u00017\u00017\u00018\u00018\u00018\u00019\u00019\u00019\u0001:\u0001:\u0004:\u0282\u0008:\u000b:\u000c:\u0283\u0001;\u0001;\u0001;\u0001;\u0001;\u0001<\u0001<\u0003<\u028d\u0008<\u0001=\u0001=\u0001=\u0001=\u0001=\u0001=\u0003=\u0295\u0008=\u0001>\u0001>\u0001>\u0001>\u0001>\u0001>\u0001?\u0001?\u0001?\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001B\u0001B\u0001B\u0001B\u0001C\u0001C\u0001C\u0001C\u0001D\u0001D\u0001D\u0001D\u0001D\u0003D\u02b9\u0008D\u0001D\u0001D\u0001D\u0001E\u0001E\u0001E\u0003E\u02c1\u0008E\u0001E\u0001E\u0001E\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001F\u0001G\u0001G\u0001G\u0001G\u0001G\u0001G\u0001G\u0001H\u0001H\u0001H\u0003H\u02d7\u0008H\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001J\u0001J\u0001J\u0001J\u0001J\u0001K\u0001K\u0001K\u0001K\u0001L\u0001L\u0001L\u0001L\u0001M\u0001M\u0001M\u0001M\u0001N\u0001N\u0001N\u0001N\u0001O\u0001O\u0001O\u0001O\u0001P\u0001P\u0001P\u0001P\u0001Q\u0001Q\u0001Q\u0001Q\u0001R\u0001R\u0001R\u0001R\u0001S\u0001S\u0001S\u0001S\u0001T\u0001T\u0001T\u0001T\u0001U\u0001U\u0001U\u0001U\u0001U\u0001V\u0001V\u0001V\u0001V\u0001V\u0001W\u0001W\u0001W\u0001W\u0001W\u0001X\u0001X\u0001X\u0001X\u0001Y\u0001Y\u0001Y\u0001Y\u0001Z\u0001Z\u0001Z\u0001Z\u0001[\u0001[\u0001[\u0001[\u0001\u005c\u0001\u005c\u0001\u005c\u0001\u005c\u0001\u005c\u0001]\u0001]\u0001]\u0001]\u0001]\u0001^\u0001^\u0001^\u0001^\u0001^\u0001_\u0001_\u0001_\u0001_\u0001`\u0001`\u0001`\u0001`\u0001a\u0001a\u0001a\u0001a\u0001b\u0001b\u0001b\u0001b\u0001c\u0001c\u0001c\u0001c\u0001d\u0001d\u0001d\u0001d\u0001e\u0001e\u0001e\u0001e\u0001f\u0001f\u0001f\u0001f\u0001g\u0001g\u0001g\u0001g\u0001h\u0001h\u0001h\u0001h\u0001i\u0001i\u0001i\u0003i\u0368\u0008i\u0001i\u0001i\u0001j\u0001j\u0001j\u0001j\u0001k\u0001k\u0001k\u0001k\u0001l\u0001l\u0001l\u0001l\u0001m\u0001m\u0001m\u0001m\u0001n\u0001n\u0001n\u0001n\u0001o\u0001o\u0001o\u0001o\u0001p\u0001p\u0001p\u0001p\u0001q\u0001q\u0001q\u0001q\u0001r\u0001r\u0001r\u0001r\u0001r\u0001s\u0001s\u0001s\u0001s\u0001s\u0006\u0135\u014c\u0155\u019d\u01b6\u01d0\u0000t\u0004\u0002\u0006\u0003\u0008\u0000\n\u0004\u000c\u0005\u000e\u0006\u0010\u0007\u0012\u0008\u0014\u0009\u0016\n\u0018\u000b\u001a\u0000\u001c\u0000\u001e\u0000 \u0000\u0022\u0000$\u000c&\u0000(\r*\u0000,\u000e.\u00010\u000f2\u00104\u00006\u00118\u0000:\u0000<\u0000>\u0012@\u0000B\u0000D\u0000F\u0013H\u0000J\u0000L\u0000N\u0000P\u0000R\u0000T\u0014V\u0015X\u0016Z\u0000\u005c\u0000^\u0000`\u0000b\u0017d\u0018f\u0019h\u001aj\u0000l\u0000n\u0000p\u0000r\u0000t\u0000v\u0000x\u0000z\u0000|\u0000~\u0000\u0080\u0000\u0082\u0000\u0084\u001b\u0086\u001c\u0088\u001d\u008a\u001e\u008c\u0000\u008e\u0000\u0090\u0000\u0092\u0000\u0094\u0000\u0096\u0000\u0098\u0000\u009a\u001f\u009c\u0000\u009e\u0000\u00a0\u0000\u00a2\u0000\u00a4 \u00a6\u0000\u00a8\u0000\u00aa\u0000\u00ac\u0000\u00ae\u0000\u00b0\u0000\u00b2\u0000\u00b4!\u00b6\u0000\u00b8\u0000\u00ba\u0000\u00bc\u0000\u00be\u0000\u00c0\u0000\u00c2\u0000\u00c4\u0000\u00c6\u0000\u00c8\u0000\u00ca\u0000\u00cc\u0000\u00ce\u0000\u00d0\u0000\u00d2\u0000\u00d4\u0000\u00d6\u0000\u00d8\u0000\u00da\u0000\u00dc\u0000\u00de\u0000\u00e0\u0000\u00e2\u0000\u00e4\u0000\u00e6\u0000\u00e8\u0000\u00ea\u0000\u0004\u0000\u0001\u0002\u0003\u0015\u0002\u0000\u0009\u0009 \u0003\u0000\u0000\u0008\n\u001f\u007f\u007f\u0001\u000009\u0002\u0000AZaz\u0008\u0000\u0022\u0022//\u005c\u005cbbffnnrrtt\u0003\u0000\n\n\u0022\u0022\u005c\u005c\u0001\u0000\u0022\u0022\u0002\u0000\n\n''\u0001\u0001\n\n\u0002\u0000--__\u0002\u0000\u0022\u0022\u005c\u005c\u0001\u0001\u0022\u0022\u0002\u0000EEee\u0002\u0000++--\u0003\u000009EEee\u0002\u0000AFaf\u0001\u000019\u0001\u000007\u0001\u000001\u0003\u0000 TTtt\u0002\u0000ZZzz\u03ac\u0000\u0004\u0001\u0000\u0000\u0000\u0000\u0006\u0001\u0000\u0000\u0000\u0000\n\u0001\u0000\u0000\u0000\u0000\u000c\u0001\u0000\u0000\u0000\u0000\u000e\u0001\u0000\u0000\u0000\u0000\u0010\u0001\u0000\u0000\u0000\u0000\u0012\u0001\u0000\u0000\u0000\u0000\u0014\u0001\u0000\u0000\u0000\u0000\u0016\u0001\u0000\u0000\u0000\u0000\u0018\u0001\u0000\u0000\u0000\u0000$\u0001\u0000\u0000\u0000\u0000&\u0001\u0000\u0000\u0000\u0000(\u0001\u0000\u0000\u0000\u0000*\u0001\u0000\u0000\u0000\u0000,\u0001\u0000\u0000\u0000\u0000.\u0001\u0000\u0000\u0000\u00010\u0001\u0000\u0000\u0000\u00012\u0001\u0000\u0000\u0000\u00014\u0001\u0000\u0000\u0000\u00016\u0001\u0000\u0000\u0000\u0001:\u0001\u0000\u0000\u0000\u0001<\u0001\u0000\u0000\u0000\u0001>\u0001\u0000\u0000\u0000\u0001@\u0001\u0000\u0000\u0000\u0001B\u0001\u0000\u0000\u0000\u0001D\u0001\u0000\u0000\u0000\u0001F\u0001\u0000\u0000\u0000\u0001N\u0001\u0000\u0000\u0000\u0001P\u0001\u0000\u0000\u0000\u0001R\u0001\u0000\u0000\u0000\u0001T\u0001\u0000\u0000\u0000\u0001V\u0001\u0000\u0000\u0000\u0001X\u0001\u0000\u0000\u0000\u0001b\u0001\u0000\u0000\u0000\u0001d\u0001\u0000\u0000\u0000\u0001f\u0001\u0000\u0000\u0000\u0001h\u0001\u0000\u0000\u0000\u0001\u0084\u0001\u0000\u0000\u0000\u0001\u0086\u0001\u0000\u0000\u0000\u0001\u0088\u0001\u0000\u0000\u0000\u0001\u008a\u0001\u0000\u0000\u0000\u0001\u008c\u0001\u0000\u0000\u0000\u0001\u008e\u0001\u0000\u0000\u0000\u0001\u0090\u0001\u0000\u0000\u0000\u0001\u0092\u0001\u0000\u0000\u0000\u0001\u0096\u0001\u0000\u0000\u0000\u0001\u0098\u0001\u0000\u0000\u0000\u0002\u009a\u0001\u0000\u0000\u0000\u0002\u009c\u0001\u0000\u0000\u0000\u0002\u009e\u0001\u0000\u0000\u0000\u0002\u00a0\u0001\u0000\u0000\u0000\u0002\u00a2\u0001\u0000\u0000\u0000\u0002\u00a4\u0001\u0000\u0000\u0000\u0002\u00a6\u0001\u0000\u0000\u0000\u0002\u00a8\u0001\u0000\u0000\u0000\u0002\u00aa\u0001\u0000\u0000\u0000\u0002\u00ac\u0001\u0000\u0000\u0000\u0002\u00ae\u0001\u0000\u0000\u0000\u0002\u00b0\u0001\u0000\u0000\u0000\u0002\u00b2\u0001\u0000\u0000\u0000\u0003\u00b4\u0001\u0000\u0000\u0000\u0003\u00b6\u0001\u0000\u0000\u0000\u0003\u00b8\u0001\u0000\u0000\u0000\u0003\u00ba\u0001\u0000\u0000\u0000\u0003\u00bc\u0001\u0000\u0000\u0000\u0003\u00be\u0001\u0000\u0000\u0000\u0003\u00c0\u0001\u0000\u0000\u0000\u0003\u00c2\u0001\u0000\u0000\u0000\u0003\u00c4\u0001\u0000\u0000\u0000\u0003\u00c6\u0001\u0000\u0000\u0000\u0003\u00c8\u0001\u0000\u0000\u0000\u0003\u00ca\u0001\u0000\u0000\u0000\u0003\u00cc\u0001\u0000\u0000\u0000\u0003\u00ce\u0001\u0000\u0000\u0000\u0003\u00d0\u0001\u0000\u0000\u0000\u0003\u00d2\u0001\u0000\u0000\u0000\u0003\u00d4\u0001\u0000\u0000\u0000\u0003\u00d6\u0001\u0000\u0000\u0000\u0003\u00d8\u0001\u0000\u0000\u0000\u0003\u00da\u0001\u0000\u0000\u0000\u0003\u00dc\u0001\u0000\u0000\u0000\u0003\u00de\u0001\u0000\u0000\u0000\u0003\u00e0\u0001\u0000\u0000\u0000\u0003\u00e2\u0001\u0000\u0000\u0000\u0003\u00e4\u0001\u0000\u0000\u0000\u0003\u00e6\u0001\u0000\u0000\u0000\u0003\u00e8\u0001\u0000\u0000\u0000\u0003\u00ea\u0001\u0000\u0000\u0000\u0004\u00ed\u0001\u0000\u0000\u0000\u0006\u00f7\u0001\u0000\u0000\u0000\u0008\u00fb\u0001\u0000\u0000\u0000\n\u00fd\u0001\u0000\u0000\u0000\u000c\u0104\u0001\u0000\u0000\u0000\u000e\u0106\u0001\u0000\u0000\u0000\u0010\u0109\u0001\u0000\u0000\u0000\u0012\u010b\u0001\u0000\u0000\u0000\u0014\u010e\u0001\u0000\u0000\u0000\u0016\u0112\u0001\u0000\u0000\u0000\u0018\u0114\u0001\u0000\u0000\u0000\u001a\u0116\u0001\u0000\u0000\u0000\u001c\u0118\u0001\u0000\u0000\u0000\u001e\u011a\u0001\u0000\u0000\u0000 \u0120\u0001\u0000\u0000\u0000\u0022\u0126\u0001\u0000\u0000\u0000$\u0130\u0001\u0000\u0000\u0000&\u013a\u0001\u0000\u0000\u0000(\u0148\u0001\u0000\u0000\u0000*\u0151\u0001\u0000\u0000\u0000,\u0160\u0001\u0000\u0000\u0000.\u0164\u0001\u0000\u0000\u00000\u0166\u0001\u0000\u0000\u00002\u016a\u0001\u0000\u0000\u00004\u016e\u0001\u0000\u0000\u00006\u017c\u0001\u0000\u0000\u00008\u0189\u0001\u0000\u0000\u0000:\u018b\u0001\u0000\u0000\u0000<\u0190\u0001\u0000\u0000\u0000>\u0195\u0001\u0000\u0000\u0000@\u01ae\u0001\u0000\u0000\u0000B\u01bf\u0001\u0000\u0000\u0000D\u01c4\u0001\u0000\u0000\u0000F\u01c9\u0001\u0000\u0000\u0000H\u01e1\u0001\u0000\u0000\u0000J\u01e7\u0001\u0000\u0000\u0000L\u01f0\u0001\u0000\u0000\u0000N\u01f3\u0001\u0000\u0000\u0000P\u01fa\u0001\u0000\u0000\u0000R\u0201\u0001\u0000\u0000\u0000T\u0209\u0001\u0000\u0000\u0000V\u0214\u0001\u0000\u0000\u0000X\u021d\u0001\u0000\u0000\u0000Z\u0227\u0001\u0000\u0000\u0000\u005c\u0229\u0001\u0000\u0000\u0000^\u022b\u0001\u0000\u0000\u0000`\u022d\u0001\u0000\u0000\u0000b\u0230\u0001\u0000\u0000\u0000d\u023f\u0001\u0000\u0000\u0000f\u024d\u0001\u0000\u0000\u0000h\u025b\u0001\u0000\u0000\u0000j\u0269\u0001\u0000\u0000\u0000l\u026e\u0001\u0000\u0000\u0000n\u0271\u0001\u0000\u0000\u0000p\u0274\u0001\u0000\u0000\u0000r\u0276\u0001\u0000\u0000\u0000t\u0279\u0001\u0000\u0000\u0000v\u027c\u0001\u0000\u0000\u0000x\u027f\u0001\u0000\u0000\u0000z\u0285\u0001\u0000\u0000\u0000|\u028c\u0001\u0000\u0000\u0000~\u028e\u0001\u0000\u0000\u0000\u0080\u0296\u0001\u0000\u0000\u0000\u0082\u029c\u0001\u0000\u0000\u0000\u0084\u029f\u0001\u0000\u0000\u0000\u0086\u02a5\u0001\u0000\u0000\u0000\u0088\u02ab\u0001\u0000\u0000\u0000\u008a\u02af\u0001\u0000\u0000\u0000\u008c\u02b3\u0001\u0000\u0000\u0000\u008e\u02bd\u0001\u0000\u0000\u0000\u0090\u02c5\u0001\u0000\u0000\u0000\u0092\u02cc\u0001\u0000\u0000\u0000\u0094\u02d3\u0001\u0000\u0000\u0000\u0096\u02d8\u0001\u0000\u0000\u0000\u0098\u02e1\u0001\u0000\u0000\u0000\u009a\u02e6\u0001\u0000\u0000\u0000\u009c\u02ea\u0001\u0000\u0000\u0000\u009e\u02ee\u0001\u0000\u0000\u0000\u00a0\u02f2\u0001\u0000\u0000\u0000\u00a2\u02f6\u0001\u0000\u0000\u0000\u00a4\u02fa\u0001\u0000\u0000\u0000\u00a6\u02fe\u0001\u0000\u0000\u0000\u00a8\u0302\u0001\u0000\u0000\u0000\u00aa\u0306\u0001\u0000\u0000\u0000\u00ac\u030a\u0001\u0000\u0000\u0000\u00ae\u030e\u0001\u0000\u0000\u0000\u00b0\u0313\u0001\u0000\u0000\u0000\u00b2\u0318\u0001\u0000\u0000\u0000\u00b4\u031d\u0001\u0000\u0000\u0000\u00b6\u0321\u0001\u0000\u0000\u0000\u00b8\u0325\u0001\u0000\u0000\u0000\u00ba\u0329\u0001\u0000\u0000\u0000\u00bc\u032d\u0001\u0000\u0000\u0000\u00be\u0332\u0001\u0000\u0000\u0000\u00c0\u0337\u0001\u0000\u0000\u0000\u00c2\u033c\u0001\u0000\u0000\u0000\u00c4\u0340\u0001\u0000\u0000\u0000\u00c6\u0344\u0001\u0000\u0000\u0000\u00c8\u0348\u0001\u0000\u0000\u0000\u00ca\u034c\u0001\u0000\u0000\u0000\u00cc\u0350\u0001\u0000\u0000\u0000\u00ce\u0354\u0001\u0000\u0000\u0000\u00d0\u0358\u0001\u0000\u0000\u0000\u00d2\u035c\u0001\u0000\u0000\u0000\u00d4\u0360\u0001\u0000\u0000\u0000\u00d6\u0367\u0001\u0000\u0000\u0000\u00d8\u036b\u0001\u0000\u0000\u0000\u00da\u036f\u0001\u0000\u0000\u0000\u00dc\u0373\u0001\u0000\u0000\u0000\u00de\u0377\u0001\u0000\u0000\u0000\u00e0\u037b\u0001\u0000\u0000\u0000\u00e2\u037f\u0001\u0000\u0000\u0000\u00e4\u0383\u0001\u0000\u0000\u0000\u00e6\u0387\u0001\u0000\u0000\u0000\u00e8\u038b\u0001\u0000\u0000\u0000\u00ea\u0390\u0001\u0000\u0000\u0000\u00ec\u00ee\u0007\u0000\u0000\u0000\u00ed\u00ec\u0001\u0000\u0000\u0000\u00ee\u00ef\u0001\u0000\u0000\u0000\u00ef\u00ed\u0001\u0000\u0000\u0000\u00ef\u00f0\u0001\u0000\u0000\u0000\u00f0\u00f1\u0001\u0000\u0000\u0000\u00f1\u00f2\u0006\u0000\u0000\u0000\u00f2\u0005\u0001\u0000\u0000\u0000\u00f3\u00f5\u0005\r\u0000\u0000\u00f4\u00f3\u0001\u0000\u0000\u0000\u00f4\u00f5\u0001\u0000\u0000\u0000\u00f5\u00f6\u0001\u0000\u0000\u0000\u00f6\u00f8\u0005\n\u0000\u0000\u00f7\u00f4\u0001\u0000\u0000\u0000\u00f8\u00f9\u0001\u0000\u0000\u0000\u00f9\u00f7\u0001\u0000\u0000\u0000\u00f9\u00fa\u0001\u0000\u0000\u0000\u00fa\u0007\u0001\u0000\u0000\u0000\u00fb\u00fc\u0008\u0001\u0000\u0000\u00fc\u0009\u0001\u0000\u0000\u0000\u00fd\u0101\u0005#\u0000\u0000\u00fe\u0100\u0003\u0008\u0002\u0000\u00ff\u00fe\u0001\u0000\u0000\u0000\u0100\u0103\u0001\u0000\u0000\u0000\u0101\u00ff\u0001\u0000\u0000\u0000\u0101\u0102\u0001\u0000\u0000\u0000\u0102\u000b\u0001\u0000\u0000\u0000\u0103\u0101\u0001\u0000\u0000\u0000\u0104\u0105\u0005[\u0000\u0000\u0105\r\u0001\u0000\u0000\u0000\u0106\u0107\u0005[\u0000\u0000\u0107\u0108\u0005[\u0000\u0000\u0108\u000f\u0001\u0000\u0000\u0000\u0109\u010a\u0005]\u0000\u0000\u010a\u0011\u0001\u0000\u0000\u0000\u010b\u010c\u0005]\u0000\u0000\u010c\u010d\u0005]\u0000\u0000\u010d\u0013\u0001\u0000\u0000\u0000\u010e\u010f\u0005=\u0000\u0000\u010f\u0110\u0001\u0000\u0000\u0000\u0110\u0111\u0006\u0008\u0001\u0000\u0111\u0015\u0001\u0000\u0000\u0000\u0112\u0113\u0005.\u0000\u0000\u0113\u0017\u0001\u0000\u0000\u0000\u0114\u0115\u0005,\u0000\u0000\u0115\u0019\u0001\u0000\u0000\u0000\u0116\u0117\u0007\u0002\u0000\u0000\u0117\u001b\u0001\u0000\u0000\u0000\u0118\u0119\u0007\u0003\u0000\u0000\u0119\u001d\u0001\u0000\u0000\u0000\u011a\u011e\u0005\u005c\u0000\u0000\u011b\u011f\u0007\u0004\u0000\u0000\u011c\u011f\u0003 \u000e\u0000\u011d\u011f\u0003\u0022\u000f\u0000\u011e\u011b\u0001\u0000\u0000\u0000\u011e\u011c\u0001\u0000\u0000\u0000\u011e\u011d\u0001\u0000\u0000\u0000\u011f\u001f\u0001\u0000\u0000\u0000\u0120\u0121\u0005u\u0000\u0000\u0121\u0122\u0003Z+\u0000\u0122\u0123\u0003Z+\u0000\u0123\u0124\u0003Z+\u0000\u0124\u0125\u0003Z+\u0000\u0125!\u0001\u0000\u0000\u0000\u0126\u0127\u0005U\u0000\u0000\u0127\u0128\u0003Z+\u0000\u0128\u0129\u0003Z+\u0000\u0129\u012a\u0003Z+\u0000\u012a\u012b\u0003Z+\u0000\u012b\u012c\u0003Z+\u0000\u012c\u012d\u0003Z+\u0000\u012d\u012e\u0003Z+\u0000\u012e\u012f\u0003Z+\u0000\u012f#\u0001\u0000\u0000\u0000\u0130\u0135\u0005\u0022\u0000\u0000\u0131\u0134\u0003\u001e\r\u0000\u0132\u0134\u0008\u0005\u0000\u0000\u0133\u0131\u0001\u0000\u0000\u0000\u0133\u0132\u0001\u0000\u0000\u0000\u0134\u0137\u0001\u0000\u0000\u0000\u0135\u0136\u0001\u0000\u0000\u0000\u0135\u0133\u0001\u0000\u0000\u0000\u0136\u0138\u0001\u0000\u0000\u0000\u0137\u0135\u0001\u0000\u0000\u0000\u0138\u0139\u0005\u0022\u0000\u0000\u0139%\u0001\u0000\u0000\u0000\u013a\u013f\u0005\u0022\u0000\u0000\u013b\u013e\u0003\u001e\r\u0000\u013c\u013e\u0008\u0005\u0000\u0000\u013d\u013b\u0001\u0000\u0000\u0000\u013d\u013c\u0001\u0000\u0000\u0000\u013e\u0141\u0001\u0000\u0000\u0000\u013f\u013d\u0001\u0000\u0000\u0000\u013f\u0140\u0001\u0000\u0000\u0000\u0140\u0144\u0001\u0000\u0000\u0000\u0141\u013f\u0001\u0000\u0000\u0000\u0142\u0145\u0008\u0006\u0000\u0000\u0143\u0145\u0005\u0000\u0000\u0001\u0144\u0142\u0001\u0000\u0000\u0000\u0144\u0143\u0001\u0000\u0000\u0000\u0145\u0146\u0001\u0000\u0000\u0000\u0146\u0147\u0006\u0011\u0002\u0000\u0147'\u0001\u0000\u0000\u0000\u0148\u014c\u0005'\u0000\u0000\u0149\u014b\u0008\u0007\u0000\u0000\u014a\u0149\u0001\u0000\u0000\u0000\u014b\u014e\u0001\u0000\u0000\u0000\u014c\u014d\u0001\u0000\u0000\u0000\u014c\u014a\u0001\u0000\u0000\u0000\u014d\u014f\u0001\u0000\u0000\u0000\u014e\u014c\u0001\u0000\u0000\u0000\u014f\u0150\u0005'\u0000\u0000\u0150)\u0001\u0000\u0000\u0000\u0151\u0155\u0005'\u0000\u0000\u0152\u0154\u0008\u0007\u0000\u0000\u0153\u0152\u0001\u0000\u0000\u0000\u0154\u0157\u0001\u0000\u0000\u0000\u0155\u0156\u0001\u0000\u0000\u0000\u0155\u0153\u0001\u0000\u0000\u0000\u0156\u0159\u0001\u0000\u0000\u0000\u0157\u0155\u0001\u0000\u0000\u0000\u0158\u015a\u0007\u0008\u0000\u0000\u0159\u0158\u0001\u0000\u0000\u0000\u015a\u015b\u0001\u0000\u0000\u0000\u015b\u015c\u0006\u0013\u0002\u0000\u015c+\u0001\u0000\u0000\u0000\u015d\u0161\u0003\u001c\u000c\u0000\u015e\u0161\u0003\u001a\u000b\u0000\u015f\u0161\u0007\u0009\u0000\u0000\u0160\u015d\u0001\u0000\u0000\u0000\u0160\u015e\u0001\u0000\u0000\u0000\u0160\u015f\u0001\u0000\u0000\u0000\u0161\u0162\u0001\u0000\u0000\u0000\u0162\u0160\u0001\u0000\u0000\u0000\u0162\u0163\u0001\u0000\u0000\u0000\u0163-\u0001\u0000\u0000\u0000\u0164\u0165\u0009\u0000\u0000\u0000\u0165/\u0001\u0000\u0000\u0000\u0166\u0167\u0003\u0004\u0000\u0000\u0167\u0168\u0001\u0000\u0000\u0000\u0168\u0169\u0006\u0016\u0000\u0000\u01691\u0001\u0000\u0000\u0000\u016a\u016b\u0005{\u0000\u0000\u016b\u016c\u0001\u0000\u0000\u0000\u016c\u016d\u0006\u0017\u0003\u0000\u016d3\u0001\u0000\u0000\u0000\u016e\u016f\u0003\u000c\u0004\u0000\u016f\u0170\u0001\u0000\u0000\u0000\u0170\u0171\u0006\u0018\u0004\u0000\u0171\u0172\u0006\u0018\u0005\u0000\u01725\u0001\u0000\u0000\u0000\u0173\u0174\u0005t\u0000\u0000\u0174\u0175\u0005r\u0000\u0000\u0175\u0176\u0005u\u0000\u0000\u0176\u017d\u0005e\u0000\u0000\u0177\u0178\u0005f\u0000\u0000\u0178\u0179\u0005a\u0000\u0000\u0179\u017a\u0005l\u0000\u0000\u017a\u017b\u0005s\u0000\u0000\u017b\u017d\u0005e\u0000\u0000\u017c\u0173\u0001\u0000\u0000\u0000\u017c\u0177\u0001\u0000\u0000\u0000\u017d\u017e\u0001\u0000\u0000\u0000\u017e\u017f\u0006\u0019\u0006\u0000\u017f7\u0001\u0000\u0000\u0000\u0180\u0182\u0005\u005c\u0000\u0000\u0181\u0183\u0005\r\u0000\u0000\u0182\u0181\u0001\u0000\u0000\u0000\u0182\u0183\u0001\u0000\u0000\u0000\u0183\u0184\u0001\u0000\u0000\u0000\u0184\u018a\u0005\n\u0000\u0000\u0185\u018a\u0003\u001e\r\u0000\u0186\u0187\u0005\u0022\u0000\u0000\u0187\u018a\u0005\u0022\u0000\u0000\u0188\u018a\u0007\n\u0000\u0000\u0189\u0180\u0001\u0000\u0000\u0000\u0189\u0185\u0001\u0000\u0000\u0000\u0189\u0186\u0001\u0000\u0000\u0000\u0189\u0188\u0001\u0000\u0000\u0000\u018a9\u0001\u0000\u0000\u0000\u018b\u018c\u0003$\u0010\u0000\u018c\u018d\u0001\u0000\u0000\u0000\u018d\u018e\u0006\u001b\u0007\u0000\u018e\u018f\u0006\u001b\u0006\u0000\u018f;\u0001\u0000\u0000\u0000\u0190\u0191\u0003&\u0011\u0000\u0191\u0192\u0001\u0000\u0000\u0000\u0192\u0193\u0006\u001c\u0002\u0000\u0193\u0194\u0006\u001c\u0006\u0000\u0194=\u0001\u0000\u0000\u0000\u0195\u0196\u0005\u0022\u0000\u0000\u0196\u0197\u0005\u0022\u0000\u0000\u0197\u0198\u0005\u0022\u0000\u0000\u0198\u019d\u0001\u0000\u0000\u0000\u0199\u019c\u00038\u001a\u0000\u019a\u019c\u0008\n\u0000\u0000\u019b\u0199\u0001\u0000\u0000\u0000\u019b\u019a\u0001\u0000\u0000\u0000\u019c\u019f\u0001\u0000\u0000\u0000\u019d\u019e\u0001\u0000\u0000\u0000\u019d\u019b\u0001\u0000\u0000\u0000\u019e\u01a0\u0001\u0000\u0000\u0000\u019f\u019d\u0001\u0000\u0000\u0000\u01a0\u01a1\u0005\u0022\u0000\u0000\u01a1\u01a2\u0005\u0022\u0000\u0000\u01a2\u01a3\u0005\u0022\u0000\u0000\u01a3\u01a7\u0001\u0000\u0000\u0000\u01a4\u01a6\u0005\u0022\u0000\u0000\u01a5\u01a4\u0001\u0000\u0000\u0000\u01a6\u01a9\u0001\u0000\u0000\u0000\u01a7\u01a5\u0001\u0000\u0000\u0000\u01a7\u01a8\u0001\u0000\u0000\u0000\u01a8\u01aa\u0001\u0000\u0000\u0000\u01a9\u01a7\u0001\u0000\u0000\u0000\u01aa\u01ab\u0004\u001d\u0000\u0000\u01ab\u01ac\u0001\u0000\u0000\u0000\u01ac\u01ad\u0006\u001d\u0006\u0000\u01ad?\u0001\u0000\u0000\u0000\u01ae\u01af\u0005\u0022\u0000\u0000\u01af\u01b0\u0005\u0022\u0000\u0000\u01b0\u01b1\u0005\u0022\u0000\u0000\u01b1\u01b6\u0001\u0000\u0000\u0000\u01b2\u01b5\u00038\u001a\u0000\u01b3\u01b5\u0008\n\u0000\u0000\u01b4\u01b2\u0001\u0000\u0000\u0000\u01b4\u01b3\u0001\u0000\u0000\u0000\u01b5\u01b8\u0001\u0000\u0000\u0000\u01b6\u01b7\u0001\u0000\u0000\u0000\u01b6\u01b4\u0001\u0000\u0000\u0000\u01b7\u01ba\u0001\u0000\u0000\u0000\u01b8\u01b6\u0001\u0000\u0000\u0000\u01b9\u01bb\u0007\u000b\u0000\u0000\u01ba\u01b9\u0001\u0000\u0000\u0000\u01bb\u01bc\u0001\u0000\u0000\u0000\u01bc\u01bd\u0006\u001e\u0002\u0000\u01bd\u01be\u0006\u001e\u0006\u0000\u01beA\u0001\u0000\u0000\u0000\u01bf\u01c0\u0003(\u0012\u0000\u01c0\u01c1\u0001\u0000\u0000\u0000\u01c1\u01c2\u0006\u001f\u0008\u0000\u01c2\u01c3\u0006\u001f\u0006\u0000\u01c3C\u0001\u0000\u0000\u0000\u01c4\u01c5\u0003*\u0013\u0000\u01c5\u01c6\u0001\u0000\u0000\u0000\u01c6\u01c7\u0006 \u0002\u0000\u01c7\u01c8\u0006 \u0006\u0000\u01c8E\u0001\u0000\u0000\u0000\u01c9\u01ca\u0005'\u0000\u0000\u01ca\u01cb\u0005'\u0000\u0000\u01cb\u01cc\u0005'\u0000\u0000\u01cc\u01d0\u0001\u0000\u0000\u0000\u01cd\u01cf\u0009\u0000\u0000\u0000\u01ce\u01cd\u0001\u0000\u0000\u0000\u01cf\u01d2\u0001\u0000\u0000\u0000\u01d0\u01d1\u0001\u0000\u0000\u0000\u01d0\u01ce\u0001\u0000\u0000\u0000\u01d1\u01d3\u0001\u0000\u0000\u0000\u01d2\u01d0\u0001\u0000\u0000\u0000\u01d3\u01d4\u0005'\u0000\u0000\u01d4\u01d5\u0005'\u0000\u0000\u01d5\u01d6\u0005'\u0000\u0000\u01d6\u01da\u0001\u0000\u0000\u0000\u01d7\u01d9\u0005'\u0000\u0000\u01d8\u01d7\u0001\u0000\u0000\u0000\u01d9\u01dc\u0001\u0000\u0000\u0000\u01da\u01d8\u0001\u0000\u0000\u0000\u01da\u01db\u0001\u0000\u0000\u0000\u01db\u01dd\u0001\u0000\u0000\u0000\u01dc\u01da\u0001\u0000\u0000\u0000\u01dd\u01de\u0004!\u0001\u0000\u01de\u01df\u0001\u0000\u0000\u0000\u01df\u01e0\u0006!\u0006\u0000\u01e0G\u0001\u0000\u0000\u0000\u01e1\u01e3\u0007\u000c\u0000\u0000\u01e2\u01e4\u0007\r\u0000\u0000\u01e3\u01e2\u0001\u0000\u0000\u0000\u01e3\u01e4\u0001\u0000\u0000\u0000\u01e4\u01e5\u0001\u0000\u0000\u0000\u01e5\u01e6\u0003J#\u0000\u01e6I\u0001\u0000\u0000\u0000\u01e7\u01ed\u0003\u001a\u000b\u0000\u01e8\u01ec\u0003\u001a\u000b\u0000\u01e9\u01ea\u0005_\u0000\u0000\u01ea\u01ec\u0003\u001a\u000b\u0000\u01eb\u01e8\u0001\u0000\u0000\u0000\u01eb\u01e9\u0001\u0000\u0000\u0000\u01ec\u01ef\u0001\u0000\u0000\u0000\u01ed\u01eb\u0001\u0000\u0000\u0000\u01ed\u01ee\u0001\u0000\u0000\u0000\u01eeK\u0001\u0000\u0000\u0000\u01ef\u01ed\u0001\u0000\u0000\u0000\u01f0\u01f1\u0005.\u0000\u0000\u01f1\u01f2\u0003J#\u0000\u01f2M\u0001\u0000\u0000\u0000\u01f3\u01f4\u0003b/\u0000\u01f4\u01f5\u0005.\u0000\u0000\u01f5\u01f6\u0005\u0000\u0000\u0001\u01f6\u01f7\u0001\u0000\u0000\u0000\u01f7\u01f8\u0006%\u0002\u0000\u01f8\u01f9\u0006%\u0006\u0000\u01f9O\u0001\u0000\u0000\u0000\u01fa\u01fb\u0003b/\u0000\u01fb\u01fc\u0005.\u0000\u0000\u01fc\u01fd\u0008\u000e\u0000\u0000\u01fd\u01fe\u0001\u0000\u0000\u0000\u01fe\u01ff\u0006&\u0002\u0000\u01ff\u0200\u0006&\u0006\u0000\u0200Q\u0001\u0000\u0000\u0000\u0201\u0202\u0003b/\u0000\u0202\u0204\u0007\u000c\u0000\u0000\u0203\u0205\u0007\r\u0000\u0000\u0204\u0203\u0001\u0000\u0000\u0000\u0204\u0205\u0001\u0000\u0000\u0000\u0205\u0206\u0001\u0000\u0000\u0000\u0206\u0207\u0006'\u0002\u0000\u0207\u0208\u0006'\u0006\u0000\u0208S\u0001\u0000\u0000\u0000\u0209\u020f\u0003b/\u0000\u020a\u0210\u0003H\u0022\u0000\u020b\u020d\u0003L$\u0000\u020c\u020e\u0003H\u0022\u0000\u020d\u020c\u0001\u0000\u0000\u0000\u020d\u020e\u0001\u0000\u0000\u0000\u020e\u0210\u0001\u0000\u0000\u0000\u020f\u020a\u0001\u0000\u0000\u0000\u020f\u020b\u0001\u0000\u0000\u0000\u0210\u0211\u0001\u0000\u0000\u0000\u0211\u0212\u0006(\u0006\u0000\u0212U\u0001\u0000\u0000\u0000\u0213\u0215\u0007\r\u0000\u0000\u0214\u0213\u0001\u0000\u0000\u0000\u0214\u0215\u0001\u0000\u0000\u0000\u0215\u0216\u0001\u0000\u0000\u0000\u0216\u0217\u0005i\u0000\u0000\u0217\u0218\u0005n\u0000\u0000\u0218\u0219\u0005f\u0000\u0000\u0219\u021a\u0001\u0000\u0000\u0000\u021a\u021b\u0006)\u0006\u0000\u021bW\u0001\u0000\u0000\u0000\u021c\u021e\u0007\r\u0000\u0000\u021d\u021c\u0001\u0000\u0000\u0000\u021d\u021e\u0001\u0000\u0000\u0000\u021e\u021f\u0001\u0000\u0000\u0000\u021f\u0220\u0005n\u0000\u0000\u0220\u0221\u0005a\u0000\u0000\u0221\u0222\u0005n\u0000\u0000\u0222\u0223\u0001\u0000\u0000\u0000\u0223\u0224\u0006*\u0006\u0000\u0224Y\u0001\u0000\u0000\u0000\u0225\u0228\u0007\u000f\u0000\u0000\u0226\u0228\u0003\u001a\u000b\u0000\u0227\u0225\u0001\u0000\u0000\u0000\u0227\u0226\u0001\u0000\u0000\u0000\u0228[\u0001\u0000\u0000\u0000\u0229\u022a\u0007\u0010\u0000\u0000\u022a]\u0001\u0000\u0000\u0000\u022b\u022c\u0007\u0011\u0000\u0000\u022c_\u0001\u0000\u0000\u0000\u022d\u022e\u0007\u0012\u0000\u0000\u022ea\u0001\u0000\u0000\u0000\u022f\u0231\u0007\r\u0000\u0000\u0230\u022f\u0001\u0000\u0000\u0000\u0230\u0231\u0001\u0000\u0000\u0000\u0231\u023b\u0001\u0000\u0000\u0000\u0232\u023c\u0003\u001a\u000b\u0000\u0233\u0237\u0003\u005c,\u0000\u0234\u0238\u0003\u001a\u000b\u0000\u0235\u0236\u0005_\u0000\u0000\u0236\u0238\u0003\u001a\u000b\u0000\u0237\u0234\u0001\u0000\u0000\u0000\u0237\u0235\u0001\u0000\u0000\u0000\u0238\u0239\u0001\u0000\u0000\u0000\u0239\u0237\u0001\u0000\u0000\u0000\u0239\u023a\u0001\u0000\u0000\u0000\u023a\u023c\u0001\u0000\u0000\u0000\u023b\u0232\u0001\u0000\u0000\u0000\u023b\u0233\u0001\u0000\u0000\u0000\u023c\u023d\u0001\u0000\u0000\u0000\u023d\u023e\u0006/\u0006\u0000\u023ec\u0001\u0000\u0000\u0000\u023f\u0240\u00050\u0000\u0000\u0240\u0241\u0005x\u0000\u0000\u0241\u0242\u0001\u0000\u0000\u0000\u0242\u0248\u0003Z+\u0000\u0243\u0247\u0003Z+\u0000\u0244\u0245\u0005_\u0000\u0000\u0245\u0247\u0003Z+\u0000\u0246\u0243\u0001\u0000\u0000\u0000\u0246\u0244\u0001\u0000\u0000\u0000\u0247\u024a\u0001\u0000\u0000\u0000\u0248\u0246\u0001\u0000\u0000\u0000\u0248\u0249\u0001\u0000\u0000\u0000\u0249\u024b\u0001\u0000\u0000\u0000\u024a\u0248\u0001\u0000\u0000\u0000\u024b\u024c\u00060\u0006\u0000\u024ce\u0001\u0000\u0000\u0000\u024d\u024e\u00050\u0000\u0000\u024e\u024f\u0005o\u0000\u0000\u024f\u0250\u0001\u0000\u0000\u0000\u0250\u0256\u0003^-\u0000\u0251\u0255\u0003^-\u0000\u0252\u0253\u0005_\u0000\u0000\u0253\u0255\u0003^-\u0000\u0254\u0251\u0001\u0000\u0000\u0000\u0254\u0252\u0001\u0000\u0000\u0000\u0255\u0258\u0001\u0000\u0000\u0000\u0256\u0254\u0001\u0000\u0000\u0000\u0256\u0257\u0001\u0000\u0000\u0000\u0257\u0259\u0001\u0000\u0000\u0000\u0258\u0256\u0001\u0000\u0000\u0000\u0259\u025a\u00061\u0006\u0000\u025ag\u0001\u0000\u0000\u0000\u025b\u025c\u00050\u0000\u0000\u025c\u025d\u0005b\u0000\u0000\u025d\u025e\u0001\u0000\u0000\u0000\u025e\u0264\u0003`.\u0000\u025f\u0263\u0003`.\u0000\u0260\u0261\u0005_\u0000\u0000\u0261\u0263\u0003`.\u0000\u0262\u025f\u0001\u0000\u0000\u0000\u0262\u0260\u0001\u0000\u0000\u0000\u0263\u0266\u0001\u0000\u0000\u0000\u0264\u0262\u0001\u0000\u0000\u0000\u0264\u0265\u0001\u0000\u0000\u0000\u0265\u0267\u0001\u0000\u0000\u0000\u0266\u0264\u0001\u0000\u0000\u0000\u0267\u0268\u00062\u0006\u0000\u0268i\u0001\u0000\u0000\u0000\u0269\u026a\u0003\u001a\u000b\u0000\u026a\u026b\u0003\u001a\u000b\u0000\u026b\u026c\u0003\u001a\u000b\u0000\u026c\u026d\u0003\u001a\u000b\u0000\u026dk\u0001\u0000\u0000\u0000\u026e\u026f\u0003\u001a\u000b\u0000\u026f\u0270\u0003\u001a\u000b\u0000\u0270m\u0001\u0000\u0000\u0000\u0271\u0272\u0003\u001a\u000b\u0000\u0272\u0273\u0003\u001a\u000b\u0000\u0273o\u0001\u0000\u0000\u0000\u0274\u0275\u0007\u0013\u0000\u0000\u0275q\u0001\u0000\u0000\u0000\u0276\u0277\u0003\u001a\u000b\u0000\u0277\u0278\u0003\u001a\u000b\u0000\u0278s\u0001\u0000\u0000\u0000\u0279\u027a\u0003\u001a\u000b\u0000\u027a\u027b\u0003\u001a\u000b\u0000\u027bu\u0001\u0000\u0000\u0000\u027c\u027d\u0003\u001a\u000b\u0000\u027d\u027e\u0003\u001a\u000b\u0000\u027ew\u0001\u0000\u0000\u0000\u027f\u0281\u0005.\u0000\u0000\u0280\u0282\u0003\u001a\u000b\u0000\u0281\u0280\u0001\u0000\u0000\u0000\u0282\u0283\u0001\u0000\u0000\u0000\u0283\u0281\u0001\u0000\u0000\u0000\u0283\u0284\u0001\u0000\u0000\u0000\u0284y\u0001\u0000\u0000\u0000\u0285\u0286\u0007\r\u0000\u0000\u0286\u0287\u0003r7\u0000\u0287\u0288\u0005:\u0000\u0000\u0288\u0289\u0003t8\u0000\u0289{\u0001\u0000\u0000\u0000\u028a\u028d\u0007\u0014\u0000\u0000\u028b\u028d\u0003z;\u0000\u028c\u028a\u0001\u0000\u0000\u0000\u028c\u028b\u0001\u0000\u0000\u0000\u028d}\u0001\u0000\u0000\u0000\u028e\u028f\u0003r7\u0000\u028f\u0290\u0005:\u0000\u0000\u0290\u0291\u0003t8\u0000\u0291\u0292\u0005:\u0000\u0000\u0292\u0294\u0003v9\u0000\u0293\u0295\u0003x:\u0000\u0294\u0293\u0001\u0000\u0000\u0000\u0294\u0295\u0001\u0000\u0000\u0000\u0295\u007f\u0001\u0000\u0000\u0000\u0296\u0297\u0003j3\u0000\u0297\u0298\u0005-\u0000\u0000\u0298\u0299\u0003l4\u0000\u0299\u029a\u0005-\u0000\u0000\u029a\u029b\u0003n5\u0000\u029b\u0081\u0001\u0000\u0000\u0000\u029c\u029d\u0003~=\u0000\u029d\u029e\u0003|<\u0000\u029e\u0083\u0001\u0000\u0000\u0000\u029f\u02a0\u0003\u0080>\u0000\u02a0\u02a1\u0003p6\u0000\u02a1\u02a2\u0003\u0082?\u0000\u02a2\u02a3\u0001\u0000\u0000\u0000\u02a3\u02a4\u0006@\u0006\u0000\u02a4\u0085\u0001\u0000\u0000\u0000\u02a5\u02a6\u0003\u0080>\u0000\u02a6\u02a7\u0003p6\u0000\u02a7\u02a8\u0003~=\u0000\u02a8\u02a9\u0001\u0000\u0000\u0000\u02a9\u02aa\u0006A\u0006\u0000\u02aa\u0087\u0001\u0000\u0000\u0000\u02ab\u02ac\u0003\u0080>\u0000\u02ac\u02ad\u0001\u0000\u0000\u0000\u02ad\u02ae\u0006B\u0006\u0000\u02ae\u0089\u0001\u0000\u0000\u0000\u02af\u02b0\u0003~=\u0000\u02b0\u02b1\u0001\u0000\u0000\u0000\u02b1\u02b2\u0006C\u0006\u0000\u02b2\u008b\u0001\u0000\u0000\u0000\u02b3\u02b4\u0003r7\u0000\u02b4\u02b5\u0005:\u0000\u0000\u02b5\u02b6\u0003t8\u0000\u02b6\u02b8\u0005:\u0000\u0000\u02b7\u02b9\u0003\u001a\u000b\u0000\u02b8\u02b7\u0001\u0000\u0000\u0000\u02b8\u02b9\u0001\u0000\u0000\u0000\u02b9\u02ba\u0001\u0000\u0000\u0000\u02ba\u02bb\u0006D\u0002\u0000\u02bb\u02bc\u0006D\u0006\u0000\u02bc\u008d\u0001\u0000\u0000\u0000\u02bd\u02be\u0003r7\u0000\u02be\u02c0\u0005:\u0000\u0000\u02bf\u02c1\u0003\u001a\u000b\u0000\u02c0\u02bf\u0001\u0000\u0000\u0000\u02c0\u02c1\u0001\u0000\u0000\u0000\u02c1\u02c2\u0001\u0000\u0000\u0000\u02c2\u02c3\u0006E\u0002\u0000\u02c3\u02c4\u0006E\u0006\u0000\u02c4\u008f\u0001\u0000\u0000\u0000\u02c5\u02c6\u0003\u0080>\u0000\u02c6\u02c7\u0003p6\u0000\u02c7\u02c8\u0003\u008cD\u0000\u02c8\u02c9\u0001\u0000\u0000\u0000\u02c9\u02ca\u0006F\u0002\u0000\u02ca\u02cb\u0006F\u0006\u0000\u02cb\u0091\u0001\u0000\u0000\u0000\u02cc\u02cd\u0003\u0080>\u0000\u02cd\u02ce\u0003p6\u0000\u02ce\u02cf\u0003\u008eE\u0000\u02cf\u02d0\u0001\u0000\u0000\u0000\u02d0\u02d1\u0006G\u0002\u0000\u02d1\u02d2\u0006G\u0006\u0000\u02d2\u0093\u0001\u0000\u0000\u0000\u02d3\u02d4\u0003r7\u0000\u02d4\u02d6\u0005:\u0000\u0000\u02d5\u02d7\u0003\u001a\u000b\u0000\u02d6\u02d5\u0001\u0000\u0000\u0000\u02d6\u02d7\u0001\u0000\u0000\u0000\u02d7\u0095\u0001\u0000\u0000\u0000\u02d8\u02d9\u0003\u0080>\u0000\u02d9\u02da\u0003p6\u0000\u02da\u02db\u0003~=\u0000\u02db\u02dc\u0007\r\u0000\u0000\u02dc\u02dd\u0003\u0094H\u0000\u02dd\u02de\u0001\u0000\u0000\u0000\u02de\u02df\u0006I\u0002\u0000\u02df\u02e0\u0006I\u0006\u0000\u02e0\u0097\u0001\u0000\u0000\u0000\u02e1\u02e2\u0009\u0000\u0000\u0000\u02e2\u02e3\u0001\u0000\u0000\u0000\u02e3\u02e4\u0006J\u0002\u0000\u02e4\u02e5\u0006J\u0006\u0000\u02e5\u0099\u0001\u0000\u0000\u0000\u02e6\u02e7\u0003\u0004\u0000\u0000\u02e7\u02e8\u0001\u0000\u0000\u0000\u02e8\u02e9\u0006K\u0000\u0000\u02e9\u009b\u0001\u0000\u0000\u0000\u02ea\u02eb\u0003\u0006\u0001\u0000\u02eb\u02ec\u0001\u0000\u0000\u0000\u02ec\u02ed\u0006L\u0009\u0000\u02ed\u009d\u0001\u0000\u0000\u0000\u02ee\u02ef\u0003\n\u0003\u0000\u02ef\u02f0\u0001\u0000\u0000\u0000\u02f0\u02f1\u0006M\n\u0000\u02f1\u009f\u0001\u0000\u0000\u0000\u02f2\u02f3\u0003\u0016\u0009\u0000\u02f3\u02f4\u0001\u0000\u0000\u0000\u02f4\u02f5\u0006N\u000b\u0000\u02f5\u00a1\u0001\u0000\u0000\u0000\u02f6\u02f7\u0003\u0018\n\u0000\u02f7\u02f8\u0001\u0000\u0000\u0000\u02f8\u02f9\u0006O\u000c\u0000\u02f9\u00a3\u0001\u0000\u0000\u0000\u02fa\u02fb\u0005}\u0000\u0000\u02fb\u02fc\u0001\u0000\u0000\u0000\u02fc\u02fd\u0006P\u0006\u0000\u02fd\u00a5\u0001\u0000\u0000\u0000\u02fe\u02ff\u0003$\u0010\u0000\u02ff\u0300\u0001\u0000\u0000\u0000\u0300\u0301\u0006Q\u0007\u0000\u0301\u00a7\u0001\u0000\u0000\u0000\u0302\u0303\u0003&\u0011\u0000\u0303\u0304\u0001\u0000\u0000\u0000\u0304\u0305\u0006R\u0002\u0000\u0305\u00a9\u0001\u0000\u0000\u0000\u0306\u0307\u0003(\u0012\u0000\u0307\u0308\u0001\u0000\u0000\u0000\u0308\u0309\u0006S\u0008\u0000\u0309\u00ab\u0001\u0000\u0000\u0000\u030a\u030b\u0003,\u0014\u0000\u030b\u030c\u0001\u0000\u0000\u0000\u030c\u030d\u0006T\r\u0000\u030d\u00ad\u0001\u0000\u0000\u0000\u030e\u030f\u0003\u0014\u0008\u0000\u030f\u0310\u0001\u0000\u0000\u0000\u0310\u0311\u0006U\u000e\u0000\u0311\u0312\u0006U\u0001\u0000\u0312\u00af\u0001\u0000\u0000\u0000\u0313\u0314\u0009\u0000\u0000\u0000\u0314\u0315\u0001\u0000\u0000\u0000\u0315\u0316\u0006V\u0002\u0000\u0316\u0317\u0006V\u0006\u0000\u0317\u00b1\u0001\u0000\u0000\u0000\u0318\u0319\u0005\u0000\u0000\u0001\u0319\u031a\u0001\u0000\u0000\u0000\u031a\u031b\u0006W\u0002\u0000\u031b\u031c\u0006W\u0006\u0000\u031c\u00b3\u0001\u0000\u0000\u0000\u031d\u031e\u0003\u0004\u0000\u0000\u031e\u031f\u0001\u0000\u0000\u0000\u031f\u0320\u0006X\u0000\u0000\u0320\u00b5\u0001\u0000\u0000\u0000\u0321\u0322\u0003\u0006\u0001\u0000\u0322\u0323\u0001\u0000\u0000\u0000\u0323\u0324\u0006Y\u0009\u0000\u0324\u00b7\u0001\u0000\u0000\u0000\u0325\u0326\u0003\n\u0003\u0000\u0326\u0327\u0001\u0000\u0000\u0000\u0327\u0328\u0006Z\n\u0000\u0328\u00b9\u0001\u0000\u0000\u0000\u0329\u032a\u0003\u0018\n\u0000\u032a\u032b\u0001\u0000\u0000\u0000\u032b\u032c\u0006[\u000c\u0000\u032c\u00bb\u0001\u0000\u0000\u0000\u032d\u032e\u00032\u0017\u0000\u032e\u032f\u0001\u0000\u0000\u0000\u032f\u0330\u0006\u005c\u000f\u0000\u0330\u0331\u0006\u005c\u0010\u0000\u0331\u00bd\u0001\u0000\u0000\u0000\u0332\u0333\u0003\u000c\u0004\u0000\u0333\u0334\u0001\u0000\u0000\u0000\u0334\u0335\u0006]\u0004\u0000\u0335\u0336\u0006]\u0011\u0000\u0336\u00bf\u0001\u0000\u0000\u0000\u0337\u0338\u0003\u0010\u0006\u0000\u0338\u0339\u0001\u0000\u0000\u0000\u0339\u033a\u0006^\u0012\u0000\u033a\u033b\u0006^\u0006\u0000\u033b\u00c1\u0001\u0000\u0000\u0000\u033c\u033d\u00036\u0019\u0000\u033d\u033e\u0001\u0000\u0000\u0000\u033e\u033f\u0006_\u0013\u0000\u033f\u00c3\u0001\u0000\u0000\u0000\u0340\u0341\u0003$\u0010\u0000\u0341\u0342\u0001\u0000\u0000\u0000\u0342\u0343\u0006`\u0007\u0000\u0343\u00c5\u0001\u0000\u0000\u0000\u0344\u0345\u0003&\u0011\u0000\u0345\u0346\u0001\u0000\u0000\u0000\u0346\u0347\u0006a\u0002\u0000\u0347\u00c7\u0001\u0000\u0000\u0000\u0348\u0349\u0003>\u001d\u0000\u0349\u034a\u0001\u0000\u0000\u0000\u034a\u034b\u0006b\u0014\u0000\u034b\u00c9\u0001\u0000\u0000\u0000\u034c\u034d\u0003(\u0012\u0000\u034d\u034e\u0001\u0000\u0000\u0000\u034e\u034f\u0006c\u0008\u0000\u034f\u00cb\u0001\u0000\u0000\u0000\u0350\u0351\u0003*\u0013\u0000\u0351\u0352\u0001\u0000\u0000\u0000\u0352\u0353\u0006d\u0002\u0000\u0353\u00cd\u0001\u0000\u0000\u0000\u0354\u0355\u0003F!\u0000\u0355\u0356\u0001\u0000\u0000\u0000\u0356\u0357\u0006e\u0015\u0000\u0357\u00cf\u0001\u0000\u0000\u0000\u0358\u0359\u0003T(\u0000\u0359\u035a\u0001\u0000\u0000\u0000\u035a\u035b\u0006f\u0016\u0000\u035b\u00d1\u0001\u0000\u0000\u0000\u035c\u035d\u0003V)\u0000\u035d\u035e\u0001\u0000\u0000\u0000\u035e\u035f\u0006g\u0017\u0000\u035f\u00d3\u0001\u0000\u0000\u0000\u0360\u0361\u0003X*\u0000\u0361\u0362\u0001\u0000\u0000\u0000\u0362\u0363\u0006h\u0018\u0000\u0363\u00d5\u0001\u0000\u0000\u0000\u0364\u0368\u0003T(\u0000\u0365\u0368\u0003N%\u0000\u0366\u0368\u0003P&\u0000\u0367\u0364\u0001\u0000\u0000\u0000\u0367\u0365\u0001\u0000\u0000\u0000\u0367\u0366\u0001\u0000\u0000\u0000\u0368\u0369\u0001\u0000\u0000\u0000\u0369\u036a\u0006i\u0002\u0000\u036a\u00d7\u0001\u0000\u0000\u0000\u036b\u036c\u0003b/\u0000\u036c\u036d\u0001\u0000\u0000\u0000\u036d\u036e\u0006j\u0019\u0000\u036e\u00d9\u0001\u0000\u0000\u0000\u036f\u0370\u0003d0\u0000\u0370\u0371\u0001\u0000\u0000\u0000\u0371\u0372\u0006k\u001a\u0000\u0372\u00db\u0001\u0000\u0000\u0000\u0373\u0374\u0003f1\u0000\u0374\u0375\u0001\u0000\u0000\u0000\u0375\u0376\u0006l\u001b\u0000\u0376\u00dd\u0001\u0000\u0000\u0000\u0377\u0378\u0003h2\u0000\u0378\u0379\u0001\u0000\u0000\u0000\u0379\u037a\u0006m\u001c\u0000\u037a\u00df\u0001\u0000\u0000\u0000\u037b\u037c\u0003\u0084@\u0000\u037c\u037d\u0001\u0000\u0000\u0000\u037d\u037e\u0006n\u001d\u0000\u037e\u00e1\u0001\u0000\u0000\u0000\u037f\u0380\u0003\u0086A\u0000\u0380\u0381\u0001\u0000\u0000\u0000\u0381\u0382\u0006o\u001e\u0000\u0382\u00e3\u0001\u0000\u0000\u0000\u0383\u0384\u0003\u0088B\u0000\u0384\u0385\u0001\u0000\u0000\u0000\u0385\u0386\u0006p\u001f\u0000\u0386\u00e5\u0001\u0000\u0000\u0000\u0387\u0388\u0003\u008aC\u0000\u0388\u0389\u0001\u0000\u0000\u0000\u0389\u038a\u0006q \u0000\u038a\u00e7\u0001\u0000\u0000\u0000\u038b\u038c\u0009\u0000\u0000\u0000\u038c\u038d\u0001\u0000\u0000\u0000\u038d\u038e\u0006r\u0002\u0000\u038e\u038f\u0006r\u0006\u0000\u038f\u00e9\u0001\u0000\u0000\u0000\u0390\u0391\u0005\u0000\u0000\u0001\u0391\u0392\u0001\u0000\u0000\u0000\u0392\u0393\u0006s\u0002\u0000\u0393\u0394\u0006s\u0006\u0000\u0394\u00eb\u0001\u0000\u0000\u00008\u0000\u0001\u0002\u0003\u00ef\u00f4\u00f9\u0101\u011e\u0133\u0135\u013d\u013f\u0144\u014c\u0155\u0159\u0160\u0162\u017c\u0182\u0189\u019b\u019d\u01a7\u01b4\u01b6\u01ba\u01d0\u01da\u01e3\u01eb\u01ed\u0204\u020d\u020f\u0214\u021d\u0227\u0230\u0237\u0239\u023b\u0246\u0248\u0254\u0256\u0262\u0264\u0283\u028c\u0294\u02b8\u02c0\u02d6\u0367!\u0006\u0000\u0000\u0005\u0001\u0000\u0007\u0001\u0000\u0002\u0002\u0000\u0007\u0005\u0000\u0002\u0003\u0000\u0004\u0000\u0000\u0007\u000c\u0000\u0007\r\u0000\u0007\u0003\u0000\u0007\u0004\u0000\u0007\n\u0000\u0007\u000b\u0000\u0007\u000e\u0000\u0007\u0009\u0000\u0007\u0010\u0000\u0005\u0002\u0000\u0005\u0003\u0000\u0007\u0007\u0000\u0007\u0011\u0000\u0007\u0012\u0000\u0007\u0013\u0000\u0007\u0014\u0000\u0007\u0015\u0000\u0007\u0016\u0000\u0007\u0017\u0000\u0007\u0018\u0000\u0007\u0019\u0000\u0007\u001a\u0000\u0007\u001b\u0000\u0007\u001c\u0000\u0007\u001d\u0000\u0007\u001e\u0000" fld public final static java.lang.String[] ruleNames fld public final static java.lang.String[] tokenNames anno 0 java.lang.Deprecated() @@ -139,28 +139,27 @@ fld public final static int NAN = 22 fld public final static int NL = 3 fld public final static int OCT_INT = 25 fld public final static int OFFSET_DATE_TIME = 27 -fld public final static int RULE_array_ = 18 -fld public final static int RULE_array_table = 23 -fld public final static int RULE_array_values = 19 +fld public final static int RULE_array_ = 17 +fld public final static int RULE_array_table = 22 +fld public final static int RULE_array_values = 18 fld public final static int RULE_bool_ = 13 fld public final static int RULE_comment = 2 -fld public final static int RULE_comment_or_nl = 20 +fld public final static int RULE_comment_or_nl = 19 fld public final static int RULE_date_time = 14 fld public final static int RULE_document = 0 fld public final static int RULE_dotted_key = 8 fld public final static int RULE_expression = 1 fld public final static int RULE_floating_point = 12 fld public final static int RULE_inline_table = 15 -fld public final static int RULE_inline_value = 17 -fld public final static int RULE_inner_array = 16 +fld public final static int RULE_inline_value = 16 fld public final static int RULE_integer = 11 fld public final static int RULE_key = 4 fld public final static int RULE_key_value = 3 fld public final static int RULE_quoted_key = 7 fld public final static int RULE_simple_key = 5 -fld public final static int RULE_standard_table = 22 +fld public final static int RULE_standard_table = 21 fld public final static int RULE_string = 10 -fld public final static int RULE_table = 21 +fld public final static int RULE_table = 20 fld public final static int RULE_unquoted_key = 6 fld public final static int RULE_value = 9 fld public final static int R_BRACE = 32 @@ -168,7 +167,7 @@ fld public final static int R_BRACKET = 7 fld public final static int UNQUOTED_KEY = 14 fld public final static int VALUE_WS = 15 fld public final static int WS = 2 -fld public final static java.lang.String _serializedATN = "\u0004\u0001!\u00cc\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002\u0008\u0007\u0008\u0002\u0009\u0007\u0009\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002\u000c\u0007\u000c\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0001\u0000\u0001\u0000\u0001\u0000\u0005\u00004\u0008\u0000\n\u0000\u000c\u00007\u0009\u0000\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001B\u0008\u0001\u0001\u0002\u0003\u0002E\u0008\u0002\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0003\u0004M\u0008\u0004\u0001\u0005\u0001\u0005\u0003\u0005Q\u0008\u0005\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0008\u0001\u0008\u0001\u0008\u0004\u0008Z\u0008\u0008\u000b\u0008\u000c\u0008[\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0003\u0009e\u0008\u0009\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000c\u0001\u000c\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0005\u000fz\u0008\u000f\n\u000f\u000c\u000f}\u0009\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0003\u000f\u0083\u0008\u000f\u0001\u0010\u0001\u0010\u0003\u0010\u0087\u0008\u0010\u0001\u0010\u0001\u0010\u0005\u0010\u008b\u0008\u0010\n\u0010\u000c\u0010\u008e\u0009\u0010\u0001\u0010\u0005\u0010\u0091\u0008\u0010\n\u0010\u000c\u0010\u0094\u0009\u0010\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0003\u0011\u009f\u0008\u0011\u0001\u0012\u0001\u0012\u0003\u0012\u00a3\u0008\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0003\u0013\u00b3\u0008\u0013\u0003\u0013\u00b5\u0008\u0013\u0001\u0014\u0003\u0014\u00b8\u0008\u0014\u0001\u0014\u0005\u0014\u00bb\u0008\u0014\n\u0014\u000c\u0014\u00be\u0009\u0014\u0001\u0015\u0001\u0015\u0003\u0015\u00c2\u0008\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0003{\u008c\u0092\u0000\u0018\u0000\u0002\u0004\u0006\u0008\n\u000c\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \u0022$&(*,.\u0000\u0005\u0001\u0000\u000c\r\u0002\u0000\u000c\r\u0012\u0013\u0001\u0000\u0017\u001a\u0001\u0000\u0014\u0016\u0001\u0000\u001b\u001e\u00d1\u00000\u0001\u0000\u0000\u0000\u0002A\u0001\u0000\u0000\u0000\u0004D\u0001\u0000\u0000\u0000\u0006F\u0001\u0000\u0000\u0000\u0008L\u0001\u0000\u0000\u0000\nP\u0001\u0000\u0000\u0000\u000cR\u0001\u0000\u0000\u0000\u000eT\u0001\u0000\u0000\u0000\u0010V\u0001\u0000\u0000\u0000\u0012d\u0001\u0000\u0000\u0000\u0014f\u0001\u0000\u0000\u0000\u0016h\u0001\u0000\u0000\u0000\u0018j\u0001\u0000\u0000\u0000\u001al\u0001\u0000\u0000\u0000\u001cn\u0001\u0000\u0000\u0000\u001e\u0082\u0001\u0000\u0000\u0000 \u0084\u0001\u0000\u0000\u0000\u0022\u009e\u0001\u0000\u0000\u0000$\u00a0\u0001\u0000\u0000\u0000&\u00b4\u0001\u0000\u0000\u0000(\u00bc\u0001\u0000\u0000\u0000*\u00c1\u0001\u0000\u0000\u0000,\u00c3\u0001\u0000\u0000\u0000.\u00c7\u0001\u0000\u0000\u000005\u0003\u0002\u0001\u000012\u0005\u0003\u0000\u000024\u0003\u0002\u0001\u000031\u0001\u0000\u0000\u000047\u0001\u0000\u0000\u000053\u0001\u0000\u0000\u000056\u0001\u0000\u0000\u000068\u0001\u0000\u0000\u000075\u0001\u0000\u0000\u000089\u0005\u0000\u0000\u00019\u0001\u0001\u0000\u0000\u0000:;\u0003\u0006\u0003\u0000;<\u0003\u0004\u0002\u0000\u0003*\u0015\u0000>?\u0003\u0004\u0002\u0000?B\u0001\u0000\u0000\u0000@B\u0003\u0004\u0002\u0000A:\u0001\u0000\u0000\u0000A=\u0001\u0000\u0000\u0000A@\u0001\u0000\u0000\u0000B\u0003\u0001\u0000\u0000\u0000CE\u0005\u0004\u0000\u0000DC\u0001\u0000\u0000\u0000DE\u0001\u0000\u0000\u0000E\u0005\u0001\u0000\u0000\u0000FG\u0003\u0008\u0004\u0000GH\u0005\u0009\u0000\u0000HI\u0003\u0012\u0009\u0000I\u0007\u0001\u0000\u0000\u0000JM\u0003\n\u0005\u0000KM\u0003\u0010\u0008\u0000LJ\u0001\u0000\u0000\u0000LK\u0001\u0000\u0000\u0000M\u0009\u0001\u0000\u0000\u0000NQ\u0003\u000e\u0007\u0000OQ\u0003\u000c\u0006\u0000PN\u0001\u0000\u0000\u0000PO\u0001\u0000\u0000\u0000Q\u000b\u0001\u0000\u0000\u0000RS\u0005\u000e\u0000\u0000S\r\u0001\u0000\u0000\u0000TU\u0007\u0000\u0000\u0000U\u000f\u0001\u0000\u0000\u0000VY\u0003\n\u0005\u0000WX\u0005\n\u0000\u0000XZ\u0003\n\u0005\u0000YW\u0001\u0000\u0000\u0000Z[\u0001\u0000\u0000\u0000[Y\u0001\u0000\u0000\u0000[\u005c\u0001\u0000\u0000\u0000\u005c\u0011\u0001\u0000\u0000\u0000]e\u0003\u0014\n\u0000^e\u0003\u0016\u000b\u0000_e\u0003\u0018\u000c\u0000`e\u0003\u001a\r\u0000ae\u0003\u001c\u000e\u0000be\u0003$\u0012\u0000ce\u0003\u001e\u000f\u0000d]\u0001\u0000\u0000\u0000d^\u0001\u0000\u0000\u0000d_\u0001\u0000\u0000\u0000d`\u0001\u0000\u0000\u0000da\u0001\u0000\u0000\u0000db\u0001\u0000\u0000\u0000dc\u0001\u0000\u0000\u0000e\u0013\u0001\u0000\u0000\u0000fg\u0007\u0001\u0000\u0000g\u0015\u0001\u0000\u0000\u0000hi\u0007\u0002\u0000\u0000i\u0017\u0001\u0000\u0000\u0000jk\u0007\u0003\u0000\u0000k\u0019\u0001\u0000\u0000\u0000lm\u0005\u0011\u0000\u0000m\u001b\u0001\u0000\u0000\u0000no\u0007\u0004\u0000\u0000o\u001d\u0001\u0000\u0000\u0000pq\u0005\u0010\u0000\u0000qr\u0003\u0008\u0004\u0000rs\u0005\u0009\u0000\u0000s{\u0003\u0022\u0011\u0000tu\u0005\u000b\u0000\u0000uv\u0003\u0008\u0004\u0000vw\u0005\u0009\u0000\u0000wx\u0003\u0022\u0011\u0000xz\u0001\u0000\u0000\u0000yt\u0001\u0000\u0000\u0000z}\u0001\u0000\u0000\u0000{|\u0001\u0000\u0000\u0000{y\u0001\u0000\u0000\u0000|~\u0001\u0000\u0000\u0000}{\u0001\u0000\u0000\u0000~\u007f\u0005 \u0000\u0000\u007f\u0083\u0001\u0000\u0000\u0000\u0080\u0081\u0005\u0010\u0000\u0000\u0081\u0083\u0005 \u0000\u0000\u0082p\u0001\u0000\u0000\u0000\u0082\u0080\u0001\u0000\u0000\u0000\u0083\u001f\u0001\u0000\u0000\u0000\u0084\u0086\u0005\u0005\u0000\u0000\u0085\u0087\u0003\u0022\u0011\u0000\u0086\u0085\u0001\u0000\u0000\u0000\u0086\u0087\u0001\u0000\u0000\u0000\u0087\u008c\u0001\u0000\u0000\u0000\u0088\u0089\u0005\u000b\u0000\u0000\u0089\u008b\u0003\u0022\u0011\u0000\u008a\u0088\u0001\u0000\u0000\u0000\u008b\u008e\u0001\u0000\u0000\u0000\u008c\u008d\u0001\u0000\u0000\u0000\u008c\u008a\u0001\u0000\u0000\u0000\u008d\u0092\u0001\u0000\u0000\u0000\u008e\u008c\u0001\u0000\u0000\u0000\u008f\u0091\u0005\u000b\u0000\u0000\u0090\u008f\u0001\u0000\u0000\u0000\u0091\u0094\u0001\u0000\u0000\u0000\u0092\u0093\u0001\u0000\u0000\u0000\u0092\u0090\u0001\u0000\u0000\u0000\u0093\u0095\u0001\u0000\u0000\u0000\u0094\u0092\u0001\u0000\u0000\u0000\u0095\u0096\u0005\u0007\u0000\u0000\u0096!\u0001\u0000\u0000\u0000\u0097\u009f\u0003\u0014\n\u0000\u0098\u009f\u0003\u0016\u000b\u0000\u0099\u009f\u0003\u0018\u000c\u0000\u009a\u009f\u0003\u001a\r\u0000\u009b\u009f\u0003\u001c\u000e\u0000\u009c\u009f\u0003 \u0010\u0000\u009d\u009f\u0003\u001e\u000f\u0000\u009e\u0097\u0001\u0000\u0000\u0000\u009e\u0098\u0001\u0000\u0000\u0000\u009e\u0099\u0001\u0000\u0000\u0000\u009e\u009a\u0001\u0000\u0000\u0000\u009e\u009b\u0001\u0000\u0000\u0000\u009e\u009c\u0001\u0000\u0000\u0000\u009e\u009d\u0001\u0000\u0000\u0000\u009f#\u0001\u0000\u0000\u0000\u00a0\u00a2\u0005\u0005\u0000\u0000\u00a1\u00a3\u0003&\u0013\u0000\u00a2\u00a1\u0001\u0000\u0000\u0000\u00a2\u00a3\u0001\u0000\u0000\u0000\u00a3\u00a4\u0001\u0000\u0000\u0000\u00a4\u00a5\u0003(\u0014\u0000\u00a5\u00a6\u0005\u0007\u0000\u0000\u00a6%\u0001\u0000\u0000\u0000\u00a7\u00a8\u0003(\u0014\u0000\u00a8\u00a9\u0003\u0012\u0009\u0000\u00a9\u00aa\u0003(\u0014\u0000\u00aa\u00ab\u0005\u000b\u0000\u0000\u00ab\u00ac\u0003(\u0014\u0000\u00ac\u00ad\u0003&\u0013\u0000\u00ad\u00ae\u0003(\u0014\u0000\u00ae\u00b5\u0001\u0000\u0000\u0000\u00af\u00b0\u0003(\u0014\u0000\u00b0\u00b2\u0003\u0012\u0009\u0000\u00b1\u00b3\u0005\u000b\u0000\u0000\u00b2\u00b1\u0001\u0000\u0000\u0000\u00b2\u00b3\u0001\u0000\u0000\u0000\u00b3\u00b5\u0001\u0000\u0000\u0000\u00b4\u00a7\u0001\u0000\u0000\u0000\u00b4\u00af\u0001\u0000\u0000\u0000\u00b5'\u0001\u0000\u0000\u0000\u00b6\u00b8\u0005\u0004\u0000\u0000\u00b7\u00b6\u0001\u0000\u0000\u0000\u00b7\u00b8\u0001\u0000\u0000\u0000\u00b8\u00b9\u0001\u0000\u0000\u0000\u00b9\u00bb\u0005\u0003\u0000\u0000\u00ba\u00b7\u0001\u0000\u0000\u0000\u00bb\u00be\u0001\u0000\u0000\u0000\u00bc\u00ba\u0001\u0000\u0000\u0000\u00bc\u00bd\u0001\u0000\u0000\u0000\u00bd)\u0001\u0000\u0000\u0000\u00be\u00bc\u0001\u0000\u0000\u0000\u00bf\u00c2\u0003,\u0016\u0000\u00c0\u00c2\u0003.\u0017\u0000\u00c1\u00bf\u0001\u0000\u0000\u0000\u00c1\u00c0\u0001\u0000\u0000\u0000\u00c2+\u0001\u0000\u0000\u0000\u00c3\u00c4\u0005\u0005\u0000\u0000\u00c4\u00c5\u0003\u0008\u0004\u0000\u00c5\u00c6\u0005\u0007\u0000\u0000\u00c6-\u0001\u0000\u0000\u0000\u00c7\u00c8\u0005\u0006\u0000\u0000\u00c8\u00c9\u0003\u0008\u0004\u0000\u00c9\u00ca\u0005\u0008\u0000\u0000\u00ca/\u0001\u0000\u0000\u0000\u00135ADLP[d{\u0082\u0086\u008c\u0092\u009e\u00a2\u00b2\u00b4\u00b7\u00bc\u00c1" +fld public final static java.lang.String _serializedATN = "\u0004\u0001!\u00c1\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002\u0008\u0007\u0008\u0002\u0009\u0007\u0009\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002\u000c\u0007\u000c\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0001\u0000\u0001\u0000\u0001\u0000\u0005\u00002\u0008\u0000\n\u0000\u000c\u00005\u0009\u0000\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001@\u0008\u0001\u0001\u0002\u0003\u0002C\u0008\u0002\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0003\u0004K\u0008\u0004\u0001\u0005\u0001\u0005\u0003\u0005O\u0008\u0005\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0008\u0001\u0008\u0001\u0008\u0004\u0008X\u0008\u0008\u000b\u0008\u000c\u0008Y\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0003\u0009c\u0008\u0009\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000c\u0001\u000c\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0005\u000f|\u0008\u000f\n\u000f\u000c\u000f\u007f\u0009\u000f\u0001\u000f\u0001\u000f\u0003\u000f\u0083\u0008\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0003\u000f\u008b\u0008\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010\u0094\u0008\u0010\u0001\u0011\u0001\u0011\u0003\u0011\u0098\u0008\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0003\u0012\u00a8\u0008\u0012\u0003\u0012\u00aa\u0008\u0012\u0001\u0013\u0003\u0013\u00ad\u0008\u0013\u0001\u0013\u0005\u0013\u00b0\u0008\u0013\n\u0013\u000c\u0013\u00b3\u0009\u0013\u0001\u0014\u0001\u0014\u0003\u0014\u00b7\u0008\u0014\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0000\u0000\u0017\u0000\u0002\u0004\u0006\u0008\n\u000c\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \u0022$&(*,\u0000\u0005\u0001\u0000\u000c\r\u0002\u0000\u000c\r\u0012\u0013\u0001\u0000\u0017\u001a\u0001\u0000\u0014\u0016\u0001\u0000\u001b\u001e\u00c5\u0000.\u0001\u0000\u0000\u0000\u0002?\u0001\u0000\u0000\u0000\u0004B\u0001\u0000\u0000\u0000\u0006D\u0001\u0000\u0000\u0000\u0008J\u0001\u0000\u0000\u0000\nN\u0001\u0000\u0000\u0000\u000cP\u0001\u0000\u0000\u0000\u000eR\u0001\u0000\u0000\u0000\u0010T\u0001\u0000\u0000\u0000\u0012b\u0001\u0000\u0000\u0000\u0014d\u0001\u0000\u0000\u0000\u0016f\u0001\u0000\u0000\u0000\u0018h\u0001\u0000\u0000\u0000\u001aj\u0001\u0000\u0000\u0000\u001cl\u0001\u0000\u0000\u0000\u001e\u008a\u0001\u0000\u0000\u0000 \u0093\u0001\u0000\u0000\u0000\u0022\u0095\u0001\u0000\u0000\u0000$\u00a9\u0001\u0000\u0000\u0000&\u00b1\u0001\u0000\u0000\u0000(\u00b6\u0001\u0000\u0000\u0000*\u00b8\u0001\u0000\u0000\u0000,\u00bc\u0001\u0000\u0000\u0000.3\u0003\u0002\u0001\u0000/0\u0005\u0003\u0000\u000002\u0003\u0002\u0001\u00001/\u0001\u0000\u0000\u000025\u0001\u0000\u0000\u000031\u0001\u0000\u0000\u000034\u0001\u0000\u0000\u000046\u0001\u0000\u0000\u000053\u0001\u0000\u0000\u000067\u0005\u0000\u0000\u00017\u0001\u0001\u0000\u0000\u000089\u0003\u0006\u0003\u00009:\u0003\u0004\u0002\u0000:@\u0001\u0000\u0000\u0000;<\u0003(\u0014\u0000<=\u0003\u0004\u0002\u0000=@\u0001\u0000\u0000\u0000>@\u0003\u0004\u0002\u0000?8\u0001\u0000\u0000\u0000?;\u0001\u0000\u0000\u0000?>\u0001\u0000\u0000\u0000@\u0003\u0001\u0000\u0000\u0000AC\u0005\u0004\u0000\u0000BA\u0001\u0000\u0000\u0000BC\u0001\u0000\u0000\u0000C\u0005\u0001\u0000\u0000\u0000DE\u0003\u0008\u0004\u0000EF\u0005\u0009\u0000\u0000FG\u0003\u0012\u0009\u0000G\u0007\u0001\u0000\u0000\u0000HK\u0003\n\u0005\u0000IK\u0003\u0010\u0008\u0000JH\u0001\u0000\u0000\u0000JI\u0001\u0000\u0000\u0000K\u0009\u0001\u0000\u0000\u0000LO\u0003\u000e\u0007\u0000MO\u0003\u000c\u0006\u0000NL\u0001\u0000\u0000\u0000NM\u0001\u0000\u0000\u0000O\u000b\u0001\u0000\u0000\u0000PQ\u0005\u000e\u0000\u0000Q\r\u0001\u0000\u0000\u0000RS\u0007\u0000\u0000\u0000S\u000f\u0001\u0000\u0000\u0000TW\u0003\n\u0005\u0000UV\u0005\n\u0000\u0000VX\u0003\n\u0005\u0000WU\u0001\u0000\u0000\u0000XY\u0001\u0000\u0000\u0000YW\u0001\u0000\u0000\u0000YZ\u0001\u0000\u0000\u0000Z\u0011\u0001\u0000\u0000\u0000[c\u0003\u0014\n\u0000\u005cc\u0003\u0016\u000b\u0000]c\u0003\u0018\u000c\u0000^c\u0003\u001a\r\u0000_c\u0003\u001c\u000e\u0000`c\u0003\u0022\u0011\u0000ac\u0003\u001e\u000f\u0000b[\u0001\u0000\u0000\u0000b\u005c\u0001\u0000\u0000\u0000b]\u0001\u0000\u0000\u0000b^\u0001\u0000\u0000\u0000b_\u0001\u0000\u0000\u0000b`\u0001\u0000\u0000\u0000ba\u0001\u0000\u0000\u0000c\u0013\u0001\u0000\u0000\u0000de\u0007\u0001\u0000\u0000e\u0015\u0001\u0000\u0000\u0000fg\u0007\u0002\u0000\u0000g\u0017\u0001\u0000\u0000\u0000hi\u0007\u0003\u0000\u0000i\u0019\u0001\u0000\u0000\u0000jk\u0005\u0011\u0000\u0000k\u001b\u0001\u0000\u0000\u0000lm\u0007\u0004\u0000\u0000m\u001d\u0001\u0000\u0000\u0000no\u0005\u0010\u0000\u0000op\u0003&\u0013\u0000pq\u0003\u0008\u0004\u0000qr\u0005\u0009\u0000\u0000rs\u0003 \u0010\u0000s}\u0003&\u0013\u0000tu\u0005\u000b\u0000\u0000uv\u0003&\u0013\u0000vw\u0003\u0008\u0004\u0000wx\u0005\u0009\u0000\u0000xy\u0003 \u0010\u0000yz\u0003&\u0013\u0000z|\u0001\u0000\u0000\u0000{t\u0001\u0000\u0000\u0000|\u007f\u0001\u0000\u0000\u0000}{\u0001\u0000\u0000\u0000}~\u0001\u0000\u0000\u0000~\u0082\u0001\u0000\u0000\u0000\u007f}\u0001\u0000\u0000\u0000\u0080\u0081\u0005\u000b\u0000\u0000\u0081\u0083\u0003&\u0013\u0000\u0082\u0080\u0001\u0000\u0000\u0000\u0082\u0083\u0001\u0000\u0000\u0000\u0083\u0084\u0001\u0000\u0000\u0000\u0084\u0085\u0005 \u0000\u0000\u0085\u008b\u0001\u0000\u0000\u0000\u0086\u0087\u0005\u0010\u0000\u0000\u0087\u0088\u0003&\u0013\u0000\u0088\u0089\u0005 \u0000\u0000\u0089\u008b\u0001\u0000\u0000\u0000\u008an\u0001\u0000\u0000\u0000\u008a\u0086\u0001\u0000\u0000\u0000\u008b\u001f\u0001\u0000\u0000\u0000\u008c\u0094\u0003\u0014\n\u0000\u008d\u0094\u0003\u0016\u000b\u0000\u008e\u0094\u0003\u0018\u000c\u0000\u008f\u0094\u0003\u001a\r\u0000\u0090\u0094\u0003\u001c\u000e\u0000\u0091\u0094\u0003\u0022\u0011\u0000\u0092\u0094\u0003\u001e\u000f\u0000\u0093\u008c\u0001\u0000\u0000\u0000\u0093\u008d\u0001\u0000\u0000\u0000\u0093\u008e\u0001\u0000\u0000\u0000\u0093\u008f\u0001\u0000\u0000\u0000\u0093\u0090\u0001\u0000\u0000\u0000\u0093\u0091\u0001\u0000\u0000\u0000\u0093\u0092\u0001\u0000\u0000\u0000\u0094!\u0001\u0000\u0000\u0000\u0095\u0097\u0005\u0005\u0000\u0000\u0096\u0098\u0003$\u0012\u0000\u0097\u0096\u0001\u0000\u0000\u0000\u0097\u0098\u0001\u0000\u0000\u0000\u0098\u0099\u0001\u0000\u0000\u0000\u0099\u009a\u0003&\u0013\u0000\u009a\u009b\u0005\u0007\u0000\u0000\u009b#\u0001\u0000\u0000\u0000\u009c\u009d\u0003&\u0013\u0000\u009d\u009e\u0003\u0012\u0009\u0000\u009e\u009f\u0003&\u0013\u0000\u009f\u00a0\u0005\u000b\u0000\u0000\u00a0\u00a1\u0003&\u0013\u0000\u00a1\u00a2\u0003$\u0012\u0000\u00a2\u00a3\u0003&\u0013\u0000\u00a3\u00aa\u0001\u0000\u0000\u0000\u00a4\u00a5\u0003&\u0013\u0000\u00a5\u00a7\u0003\u0012\u0009\u0000\u00a6\u00a8\u0005\u000b\u0000\u0000\u00a7\u00a6\u0001\u0000\u0000\u0000\u00a7\u00a8\u0001\u0000\u0000\u0000\u00a8\u00aa\u0001\u0000\u0000\u0000\u00a9\u009c\u0001\u0000\u0000\u0000\u00a9\u00a4\u0001\u0000\u0000\u0000\u00aa%\u0001\u0000\u0000\u0000\u00ab\u00ad\u0005\u0004\u0000\u0000\u00ac\u00ab\u0001\u0000\u0000\u0000\u00ac\u00ad\u0001\u0000\u0000\u0000\u00ad\u00ae\u0001\u0000\u0000\u0000\u00ae\u00b0\u0005\u0003\u0000\u0000\u00af\u00ac\u0001\u0000\u0000\u0000\u00b0\u00b3\u0001\u0000\u0000\u0000\u00b1\u00af\u0001\u0000\u0000\u0000\u00b1\u00b2\u0001\u0000\u0000\u0000\u00b2'\u0001\u0000\u0000\u0000\u00b3\u00b1\u0001\u0000\u0000\u0000\u00b4\u00b7\u0003*\u0015\u0000\u00b5\u00b7\u0003,\u0016\u0000\u00b6\u00b4\u0001\u0000\u0000\u0000\u00b6\u00b5\u0001\u0000\u0000\u0000\u00b7)\u0001\u0000\u0000\u0000\u00b8\u00b9\u0005\u0005\u0000\u0000\u00b9\u00ba\u0003\u0008\u0004\u0000\u00ba\u00bb\u0005\u0007\u0000\u0000\u00bb+\u0001\u0000\u0000\u0000\u00bc\u00bd\u0005\u0006\u0000\u0000\u00bd\u00be\u0003\u0008\u0004\u0000\u00be\u00bf\u0005\u0008\u0000\u0000\u00bf-\u0001\u0000\u0000\u0000\u00113?BJNYb}\u0082\u008a\u0093\u0097\u00a7\u00a9\u00ac\u00b1\u00b6" fld public final static java.lang.String[] ruleNames fld public final static java.lang.String[] tokenNames anno 0 java.lang.Deprecated() @@ -187,7 +186,6 @@ innr public static ExpressionContext innr public static Floating_pointContext innr public static Inline_tableContext innr public static Inline_valueContext -innr public static Inner_arrayContext innr public static IntegerContext innr public static KeyContext innr public static Key_valueContext @@ -211,7 +209,6 @@ meth public final net.vieiro.toml.antlr4.TOMLAntlrParser$ExpressionContext expre meth public final net.vieiro.toml.antlr4.TOMLAntlrParser$Floating_pointContext floating_point() meth public final net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext inline_table() meth public final net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext inline_value() -meth public final net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext inner_array() meth public final net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext integer() meth public final net.vieiro.toml.antlr4.TOMLAntlrParser$KeyContext key() meth public final net.vieiro.toml.antlr4.TOMLAntlrParser$Key_valueContext key_value() @@ -373,10 +370,12 @@ CLSS public static net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext cons public init(org.antlr.v4.runtime.ParserRuleContext,int) meth public <%0 extends java.lang.Object> {%%0} accept(org.antlr.v4.runtime.tree.ParseTreeVisitor) meth public int getRuleIndex() +meth public java.util.List comment_or_nl() meth public java.util.List inline_value() meth public java.util.List key() meth public java.util.List COMMA() meth public java.util.List EQUALS() +meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Comment_or_nlContext comment_or_nl(int) meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext inline_value(int) meth public net.vieiro.toml.antlr4.TOMLAntlrParser$KeyContext key(int) meth public org.antlr.v4.runtime.tree.TerminalNode COMMA(int) @@ -392,32 +391,17 @@ CLSS public static net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext cons public init(org.antlr.v4.runtime.ParserRuleContext,int) meth public <%0 extends java.lang.Object> {%%0} accept(org.antlr.v4.runtime.tree.ParseTreeVisitor) meth public int getRuleIndex() +meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Array_Context array_() meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Bool_Context bool_() meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Date_timeContext date_time() meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Floating_pointContext floating_point() meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext inline_table() -meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext inner_array() meth public net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext integer() meth public net.vieiro.toml.antlr4.TOMLAntlrParser$StringContext string() meth public void enterRule(org.antlr.v4.runtime.tree.ParseTreeListener) meth public void exitRule(org.antlr.v4.runtime.tree.ParseTreeListener) supr org.antlr.v4.runtime.ParserRuleContext -CLSS public static net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext - outer net.vieiro.toml.antlr4.TOMLAntlrParser -cons public init(org.antlr.v4.runtime.ParserRuleContext,int) -meth public <%0 extends java.lang.Object> {%%0} accept(org.antlr.v4.runtime.tree.ParseTreeVisitor) -meth public int getRuleIndex() -meth public java.util.List inline_value() -meth public java.util.List COMMA() -meth public net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext inline_value(int) -meth public org.antlr.v4.runtime.tree.TerminalNode COMMA(int) -meth public org.antlr.v4.runtime.tree.TerminalNode L_BRACKET() -meth public org.antlr.v4.runtime.tree.TerminalNode R_BRACKET() -meth public void enterRule(org.antlr.v4.runtime.tree.ParseTreeListener) -meth public void exitRule(org.antlr.v4.runtime.tree.ParseTreeListener) -supr org.antlr.v4.runtime.ParserRuleContext - CLSS public static net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext outer net.vieiro.toml.antlr4.TOMLAntlrParser cons public init(org.antlr.v4.runtime.ParserRuleContext,int) @@ -555,7 +539,6 @@ meth public void enterExpression(net.vieiro.toml.antlr4.TOMLAntlrParser$Expressi meth public void enterFloating_point(net.vieiro.toml.antlr4.TOMLAntlrParser$Floating_pointContext) meth public void enterInline_table(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext) meth public void enterInline_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext) -meth public void enterInner_array(net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext) meth public void enterInteger(net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext) meth public void enterKey(net.vieiro.toml.antlr4.TOMLAntlrParser$KeyContext) meth public void enterKey_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Key_valueContext) @@ -580,7 +563,6 @@ meth public void exitExpression(net.vieiro.toml.antlr4.TOMLAntlrParser$Expressio meth public void exitFloating_point(net.vieiro.toml.antlr4.TOMLAntlrParser$Floating_pointContext) meth public void exitInline_table(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext) meth public void exitInline_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext) -meth public void exitInner_array(net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext) meth public void exitInteger(net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext) meth public void exitKey(net.vieiro.toml.antlr4.TOMLAntlrParser$KeyContext) meth public void exitKey_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Key_valueContext) @@ -611,7 +593,6 @@ meth public {net.vieiro.toml.antlr4.TOMLAntlrParserBaseVisitor%0} visitExpressio meth public {net.vieiro.toml.antlr4.TOMLAntlrParserBaseVisitor%0} visitFloating_point(net.vieiro.toml.antlr4.TOMLAntlrParser$Floating_pointContext) meth public {net.vieiro.toml.antlr4.TOMLAntlrParserBaseVisitor%0} visitInline_table(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext) meth public {net.vieiro.toml.antlr4.TOMLAntlrParserBaseVisitor%0} visitInline_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext) -meth public {net.vieiro.toml.antlr4.TOMLAntlrParserBaseVisitor%0} visitInner_array(net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext) meth public {net.vieiro.toml.antlr4.TOMLAntlrParserBaseVisitor%0} visitInteger(net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext) meth public {net.vieiro.toml.antlr4.TOMLAntlrParserBaseVisitor%0} visitKey(net.vieiro.toml.antlr4.TOMLAntlrParser$KeyContext) meth public {net.vieiro.toml.antlr4.TOMLAntlrParserBaseVisitor%0} visitKey_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Key_valueContext) @@ -639,7 +620,6 @@ meth public abstract void enterExpression(net.vieiro.toml.antlr4.TOMLAntlrParser meth public abstract void enterFloating_point(net.vieiro.toml.antlr4.TOMLAntlrParser$Floating_pointContext) meth public abstract void enterInline_table(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext) meth public abstract void enterInline_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext) -meth public abstract void enterInner_array(net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext) meth public abstract void enterInteger(net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext) meth public abstract void enterKey(net.vieiro.toml.antlr4.TOMLAntlrParser$KeyContext) meth public abstract void enterKey_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Key_valueContext) @@ -663,7 +643,6 @@ meth public abstract void exitExpression(net.vieiro.toml.antlr4.TOMLAntlrParser$ meth public abstract void exitFloating_point(net.vieiro.toml.antlr4.TOMLAntlrParser$Floating_pointContext) meth public abstract void exitInline_table(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext) meth public abstract void exitInline_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext) -meth public abstract void exitInner_array(net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext) meth public abstract void exitInteger(net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext) meth public abstract void exitKey(net.vieiro.toml.antlr4.TOMLAntlrParser$KeyContext) meth public abstract void exitKey_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Key_valueContext) @@ -690,7 +669,6 @@ meth public abstract {net.vieiro.toml.antlr4.TOMLAntlrParserVisitor%0} visitExpr meth public abstract {net.vieiro.toml.antlr4.TOMLAntlrParserVisitor%0} visitFloating_point(net.vieiro.toml.antlr4.TOMLAntlrParser$Floating_pointContext) meth public abstract {net.vieiro.toml.antlr4.TOMLAntlrParserVisitor%0} visitInline_table(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_tableContext) meth public abstract {net.vieiro.toml.antlr4.TOMLAntlrParserVisitor%0} visitInline_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Inline_valueContext) -meth public abstract {net.vieiro.toml.antlr4.TOMLAntlrParserVisitor%0} visitInner_array(net.vieiro.toml.antlr4.TOMLAntlrParser$Inner_arrayContext) meth public abstract {net.vieiro.toml.antlr4.TOMLAntlrParserVisitor%0} visitInteger(net.vieiro.toml.antlr4.TOMLAntlrParser$IntegerContext) meth public abstract {net.vieiro.toml.antlr4.TOMLAntlrParserVisitor%0} visitKey(net.vieiro.toml.antlr4.TOMLAntlrParser$KeyContext) meth public abstract {net.vieiro.toml.antlr4.TOMLAntlrParserVisitor%0} visitKey_value(net.vieiro.toml.antlr4.TOMLAntlrParser$Key_valueContext) diff --git a/ide/libs.tomljava/nbproject/project.properties b/ide/libs.tomljava/nbproject/project.properties index fd31d8dfe334..fc3fd8cfb743 100644 --- a/ide/libs.tomljava/nbproject/project.properties +++ b/ide/libs.tomljava/nbproject/project.properties @@ -18,4 +18,4 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -release.external/toml-java-13.4.2.jar=modules/ext/toml-java-13.4.2.jar +release.external/toml-java-13.5.1.jar=modules/ext/toml-java-13.5.1.jar diff --git a/ide/libs.tomljava/nbproject/project.xml b/ide/libs.tomljava/nbproject/project.xml index 3f8586e254a4..48c5f441010a 100644 --- a/ide/libs.tomljava/nbproject/project.xml +++ b/ide/libs.tomljava/nbproject/project.xml @@ -40,8 +40,8 @@ net.vieiro.toml.antlr4 - ext/toml-java-13.4.2.jar - external/toml-java-13.4.2.jar + ext/toml-java-13.5.1.jar + external/toml-java-13.5.1.jar From 558b386a803ad1a8f9e319105fb74283339e4a57 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 10 Feb 2026 08:51:43 +0100 Subject: [PATCH 09/74] Do not try to auto-import simple enum names in switches, that are 'in scope' due to enum switch target typing. --- .../java/editor/imports/ClipboardHandler.java | 62 +++++-- .../editor/imports/ClipboardHandlerTest.java | 153 ++++++++++++++++-- 2 files changed, 187 insertions(+), 28 deletions(-) diff --git a/java/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java b/java/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java index 67939190d941..f18b02a72dae 100644 --- a/java/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java +++ b/java/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java @@ -73,12 +73,17 @@ import javax.swing.text.Position; import javax.swing.text.StyledDocument; -import com.sun.source.tree.CaseTree; import com.sun.source.tree.ClassTree; import com.sun.source.tree.ImportTree; import com.sun.source.tree.MethodTree; +import com.sun.source.tree.SwitchExpressionTree; +import com.sun.source.tree.SwitchTree; +import com.sun.source.tree.Tree.Kind; +import com.sun.source.util.Trees; import java.awt.Component; import java.util.Set; +import javax.lang.model.type.TypeKind; +import javax.lang.model.type.TypeMirror; import org.netbeans.api.editor.EditorActionRegistration; import org.netbeans.api.editor.EditorActionRegistrations; import org.netbeans.api.java.lexer.JavaTokenId; @@ -407,25 +412,50 @@ public void exportToClipboard(JComponent comp, Clipboard clip, int action) throw @Override public void run(final CompilationController parameter) throws Exception { parameter.toPhase(JavaSource.Phase.RESOLVED); + Trees trees = parameter.getTrees(); + new ErrorAwareTreePathScanner() { private final Set declaredInCopiedText = new HashSet<>(); @Override public Void visitIdentifier(IdentifierTree node, Void p) { - int s = (int) parameter.getTrees().getSourcePositions().getStartPosition(parameter.getCompilationUnit(), node); - int e = (int) parameter.getTrees().getSourcePositions().getEndPosition(parameter.getCompilationUnit(), node); - javax.lang.model.element.Element el = parameter.getTrees().getElement(getCurrentPath()); + int s = (int) trees.getSourcePositions().getStartPosition(parameter.getCompilationUnit(), node); + int e = (int) trees.getSourcePositions().getEndPosition(parameter.getCompilationUnit(), node); + javax.lang.model.element.Element el = trees.getElement(getCurrentPath()); if (s >= start && e >= start && e <= end && el != null && !declaredInCopiedText.contains(el)) { if (el.getKind().isClass() || el.getKind().isInterface()) { - TreePath parentPath = getCurrentPath().getParentPath(); - if (parentPath == null || parentPath.getLeaf().getKind() != Tree.Kind.NEW_CLASS - || ((NewClassTree)parentPath.getLeaf()).getEnclosingExpression() == null - || ((NewClassTree)parentPath.getLeaf()).getIdentifier() != node) { - simple2ImportFQN.put(el.getSimpleName().toString(), ((TypeElement) el).getQualifiedName().toString()); - spans.add(new int[] {s - start, e - start}); + if (el.asType().getKind() != TypeKind.ERROR) { + TreePath parentPath = getCurrentPath().getParentPath(); + if (parentPath == null || parentPath.getLeaf().getKind() != Tree.Kind.NEW_CLASS + || ((NewClassTree)parentPath.getLeaf()).getEnclosingExpression() == null + || ((NewClassTree)parentPath.getLeaf()).getIdentifier() != node) { + simple2ImportFQN.put(el.getSimpleName().toString(), ((TypeElement) el).getQualifiedName().toString()); + spans.add(new int[] {s - start, e - start}); + } } } else if ((el.getKind() == ElementKind.ENUM_CONSTANT)) { TreePath parentPath = getCurrentPath().getParentPath(); - if (parentPath.getLeaf().getKind() != Tree.Kind.CASE || ((CaseTree)parentPath.getLeaf()).getExpression() != node) { + boolean shouldImport = true; + if (parentPath.getLeaf().getKind() == Tree.Kind.CONSTANT_CASE_LABEL) { + TreePath swtch = parentPath; + while (swtch != null && + swtch.getLeaf().getKind() != Kind.SWITCH && + swtch.getLeaf().getKind() != Kind.SWITCH_EXPRESSION) { + swtch = swtch.getParentPath(); + } + TypeMirror selectorType; + if (swtch != null) { + selectorType = switch (swtch.getLeaf().getKind()) { + case SWITCH -> trees.getTypeMirror(new TreePath(swtch, ((SwitchTree) swtch.getLeaf()).getExpression())); + case SWITCH_EXPRESSION -> trees.getTypeMirror(new TreePath(swtch, ((SwitchExpressionTree) swtch.getLeaf()).getExpression())); + default -> null; + }; + } else { + selectorType = null; + } + Element selectorElement = selectorType != null ? parameter.getTypes().asElement(selectorType) : null; + shouldImport = selectorElement == null || selectorElement.getKind() != ElementKind.ENUM; + } + if (shouldImport) { simple2ImportFQN.put(el.getSimpleName().toString(), ((TypeElement) el.getEnclosingElement()).getQualifiedName().toString() + '.' + el.getSimpleName().toString()); spans.add(new int[] {s - start, e - start}); } @@ -447,8 +477,8 @@ public void exportToClipboard(JComponent comp, Clipboard clip, int action) throw return super.visitMethod(node, p); } private void handleDeclaration() { - int s = (int) parameter.getTrees().getSourcePositions().getStartPosition(parameter.getCompilationUnit(), getCurrentPath().getLeaf()); - int e = (int) parameter.getTrees().getSourcePositions().getEndPosition(parameter.getCompilationUnit(), getCurrentPath().getLeaf()); + int s = (int) trees.getSourcePositions().getStartPosition(parameter.getCompilationUnit(), getCurrentPath().getLeaf()); + int e = (int) trees.getSourcePositions().getEndPosition(parameter.getCompilationUnit(), getCurrentPath().getLeaf()); javax.lang.model.element.Element el = parameter.getTrees().getElement(getCurrentPath()); if (el != null && ((start <= s && s <= end) || (start <= e && e <= end))) { @@ -719,7 +749,7 @@ private boolean insideToken(final JTextComponent jtc, final JavaTokenId first, f private static final Object NO_IMPORTS = new Object(); private static final Object RUN_SYNCHRONOUSLY = new Object(); - private static final DataFlavor IMPORT_FLAVOR = new DataFlavor(ImportsWrapper.class, NbBundle.getMessage(ClipboardHandler.class, "MSG_ClipboardImportFlavor")); + static final DataFlavor IMPORT_FLAVOR = new DataFlavor(ImportsWrapper.class, NbBundle.getMessage(ClipboardHandler.class, "MSG_ClipboardImportFlavor")); private static final DataFlavor COPY_FROM_STRING_FLAVOR = new DataFlavor(Boolean.class, NbBundle.getMessage(ClipboardHandler.class, "MSG_ClipboardCopyFromStringFlavor")); private static final class WrappedTransferable implements Transferable { @@ -777,6 +807,10 @@ public ImportsWrapper(FileObject sourceFO, Map simple2ImportFQN, this.simple2ImportFQN = simple2ImportFQN; this.identifiers = identifiers; } + + public Map getSimple2ImportFQN() { + return simple2ImportFQN; + } } public static final class JavaCutAction extends CutAction { diff --git a/java/java.editor/test/unit/src/org/netbeans/modules/java/editor/imports/ClipboardHandlerTest.java b/java/java.editor/test/unit/src/org/netbeans/modules/java/editor/imports/ClipboardHandlerTest.java index 445c51e21c66..e8f0e215c024 100644 --- a/java/java.editor/test/unit/src/org/netbeans/modules/java/editor/imports/ClipboardHandlerTest.java +++ b/java/java.editor/test/unit/src/org/netbeans/modules/java/editor/imports/ClipboardHandlerTest.java @@ -18,9 +18,11 @@ */ package org.netbeans.modules.java.editor.imports; +import java.awt.Toolkit; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.IOException; +import java.util.Map; import java.util.concurrent.Exchanger; import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; @@ -34,6 +36,7 @@ import org.netbeans.api.lexer.Language; import org.netbeans.core.startup.Main; import org.netbeans.junit.NbTestCase; +import org.netbeans.modules.java.editor.imports.ClipboardHandler.ImportsWrapper; import org.netbeans.modules.java.source.BootClassPathUtil; import org.netbeans.modules.java.source.parsing.JavacParser; import org.openide.cookies.EditorCookie; @@ -119,6 +122,111 @@ public void testStaticImportsOn11_JIRA3019() throws Exception { "11"); } + public void testSwitchSimpleEnumNames1() throws Exception { + doCopy(""" + package test; + import static test.E.A; + public class Test { + private void test(E e) { + |switch (e) { + case A: + case B: + case C: + System.err.println(A); + break; + }| + } + } + enum E { + A, B, C; + } + """, + "21"); + ImportsWrapper wrapper = (ImportsWrapper) Toolkit.getDefaultToolkit().getSystemClipboard().getData(ClipboardHandler.IMPORT_FLAVOR); + Map simple2ImportFQN = wrapper.getSimple2ImportFQN(); + assertEquals(Map.of("A", "test.E.A", "System", "java.lang.System"), + simple2ImportFQN); + } + + public void testSwitchSimpleEnumNames2() throws Exception { + doCopy(""" + package test; + import static test.E.A; + public class Test { + private int test(E e) { + return |switch (e) { + case A, B, C -> { + System.err.println(A); + yield 0; + } + }| + } + } + enum E { + A, B, C; + } + """, + "21"); + ImportsWrapper wrapper = (ImportsWrapper) Toolkit.getDefaultToolkit().getSystemClipboard().getData(ClipboardHandler.IMPORT_FLAVOR); + Map simple2ImportFQN = wrapper.getSimple2ImportFQN(); + assertEquals(Map.of("A", "test.E.A", "System", "java.lang.System"), + simple2ImportFQN); + } + + public void testSwitchSimpleEnumNames3() throws Exception { + doCopy(""" + package test; + import static test.E.*; + public class Test { + private int test(Object o) { + return |switch (o) { + case A: + case B: + case C: + System.err.println(A); + yield 0; + default: yield 0; + }| + } + } + enum E { + A, B, C; + } + """, + "21"); + ImportsWrapper wrapper = (ImportsWrapper) Toolkit.getDefaultToolkit().getSystemClipboard().getData(ClipboardHandler.IMPORT_FLAVOR); + Map simple2ImportFQN = wrapper.getSimple2ImportFQN(); + assertEquals(Map.of("A", "test.E.A", "B", "test.E.B", "C", "test.E.C", "System", "java.lang.System"), + simple2ImportFQN); + } + + public void testSwitchSimpleEnumNames4() throws Exception { + doCopy(""" + package test; + import static test.E.A; + public class Test { + private int test(Undef o) { + return |switch (o) { + case A: + case B: + case C: + System.err.println(A); + yield 0; + default: yield 0; + }| + } + } + enum E { + A, B, C; + } + """, + "21"); + ImportsWrapper wrapper = (ImportsWrapper) Toolkit.getDefaultToolkit().getSystemClipboard().getData(ClipboardHandler.IMPORT_FLAVOR); + Map simple2ImportFQN = wrapper.getSimple2ImportFQN(); + assertEquals(Map.of("A", "test.E.A", "System", "java.lang.System"), + simple2ImportFQN); + } + private void copyAndPaste(String from, final String to, String golden) throws Exception { copyAndPaste(from, to, golden, null); } @@ -128,6 +236,36 @@ private void copyAndPaste(String from, final String to, String golden, String so assertTrue(pastePos >= 0); + FileObject src = doCopy(from, sourceLevel); + final JEditorPane[] target = new JEditorPane[1]; + final Exception[] fromAWT = new Exception[1]; + + target[0] = paneFor(src, "test/Target.java", to.replaceAll(Pattern.quote("^"), ""), sourceLevel); + SwingUtilities.invokeAndWait(new Runnable() { + @Override public void run() { + try { + target[0].setCaretPosition(pastePos); + + target[0].paste(); + } catch (Exception ex) { + fromAWT[0] = ex; + } + } + }); + + if (fromAWT[0] != null) throw fromAWT[0]; + + final String[] actual = new String[1]; + + SwingUtilities.invokeAndWait(new Runnable() { + @Override public void run() { + actual[0] = target[0].getText(); + } + }); + assertEquals(golden, actual[0]); + } + + private FileObject doCopy(String from, String sourceLevel) throws Exception { String[] split = from.split(Pattern.quote("|")); assertEquals(3, split.length); @@ -145,11 +283,9 @@ private void copyAndPaste(String from, final String to, String golden, String so SourceUtilsTestUtil.prepareTest(src, build, cache); SourceUtilsTestUtil.compileRecursively(src); - final JEditorPane[] target = new JEditorPane[1]; final Exception[] fromAWT = new Exception[1]; final JEditorPane source = paneFor(src, "test/Test.java", cleanFrom, sourceLevel); - target[0] = paneFor(src, "test/Target.java", to.replaceAll(Pattern.quote("^"), ""), sourceLevel); SwingUtilities.invokeAndWait(new Runnable() { @Override public void run() { try { @@ -157,10 +293,6 @@ private void copyAndPaste(String from, final String to, String golden, String so source.setSelectionEnd(end); source.copy(); - - target[0].setCaretPosition(pastePos); - - target[0].paste(); } catch (Exception ex) { fromAWT[0] = ex; } @@ -169,14 +301,7 @@ private void copyAndPaste(String from, final String to, String golden, String so if (fromAWT[0] != null) throw fromAWT[0]; - final String[] actual = new String[1]; - - SwingUtilities.invokeAndWait(new Runnable() { - @Override public void run() { - actual[0] = target[0].getText(); - } - }); - assertEquals(golden, actual[0]); + return src; } private JEditorPane paneFor(FileObject src, String fileName, String code, String sourceLevel) throws Exception, DataObjectNotFoundException, IOException { From 6787d1a11a8d3dc57b77e760508103e87a76688f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Thu, 5 Mar 2026 19:20:07 +0100 Subject: [PATCH 10/74] Ensure NodeJSCodeCompletionTest is run with a fixed node js version The test depends on the downloadable API documentation from node js and the golden files are only correct for a limited version range. --- ...edProjectFileOwnerQueryImplementation.java | 46 +++++++++++++ .../editor/FixedVersionMockJsSupport.java | 67 +++++++++++++++++++ .../editor/NodeJSCodeCompletionTest.java | 23 +++++-- 3 files changed, 129 insertions(+), 7 deletions(-) create mode 100644 webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/FixedProjectFileOwnerQueryImplementation.java create mode 100644 webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/FixedVersionMockJsSupport.java diff --git a/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/FixedProjectFileOwnerQueryImplementation.java b/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/FixedProjectFileOwnerQueryImplementation.java new file mode 100644 index 000000000000..b62d5edbe505 --- /dev/null +++ b/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/FixedProjectFileOwnerQueryImplementation.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.javascript2.nodejs.editor; + +import java.net.URI; +import org.netbeans.api.project.Project; +import org.netbeans.spi.project.FileOwnerQueryImplementation; +import org.openide.filesystems.FileObject; + +/** + * FileOwnerQueryImplementation that return a fixed project for all paths + */ +public class FixedProjectFileOwnerQueryImplementation implements FileOwnerQueryImplementation { + + private final Project project; + + public FixedProjectFileOwnerQueryImplementation(Project project) { + this.project = project; + } + + @Override + public Project getOwner(URI file) { + return project; + } + + @Override + public Project getOwner(FileObject file) { + return project; + } +} diff --git a/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/FixedVersionMockJsSupport.java b/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/FixedVersionMockJsSupport.java new file mode 100644 index 000000000000..9aba750cf1b7 --- /dev/null +++ b/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/FixedVersionMockJsSupport.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.javascript2.nodejs.editor; + +import javax.swing.event.ChangeListener; +import org.netbeans.modules.javascript2.nodejs.spi.NodeJsSupport; +import org.netbeans.modules.web.common.api.Version; +import org.openide.filesystems.FileObject; + +/** + * Mock NodeJsSupport to enable providing a fixed node js version and not use + * fallback. + */ +public class FixedVersionMockJsSupport implements NodeJsSupport { + + private final String version; + + public FixedVersionMockJsSupport(String version) { + this.version = version; + } + + @Override + public boolean isSupportEnabled() { + return true; + } + + @Override + public Version getVersion() { + return Version.fromDottedNotationWithFallback(version); + } + + @Override + public String getDocumentationUrl() { + return "https://nodejs.org/docs/v" + version + "/api/"; + } + + @Override + public FileObject getDocumentationFolder() { + return null; + } + + @Override + public void addChangeListener(ChangeListener listener) { + // Ignore + } + + @Override + public void removeChangeListener(ChangeListener listener) { + // Ignore + } +} diff --git a/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/NodeJSCodeCompletionTest.java b/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/NodeJSCodeCompletionTest.java index f28a420bbedd..a3a0f51da9ea 100644 --- a/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/NodeJSCodeCompletionTest.java +++ b/webcommon/javascript2.nodejs/test/unit/src/org/netbeans/modules/javascript2/nodejs/editor/NodeJSCodeCompletionTest.java @@ -25,15 +25,17 @@ import java.util.List; import java.util.Map; import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.project.Project; import org.netbeans.modules.javascript2.editor.JsCodeCompletionBase; -import static org.netbeans.modules.javascript2.editor.JsTestBase.JS_SOURCE_ID; import org.netbeans.modules.javascript2.nodejs.TestProjectSupport; +import org.netbeans.modules.javascript2.nodejs.TestProjectSupport.TestProject; import org.netbeans.spi.java.classpath.support.ClassPathSupport; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; +import org.openide.util.Lookup; +import org.openide.util.lookup.Lookups; import org.openide.util.test.MockLookup; +import static org.netbeans.modules.javascript2.editor.JsTestBase.JS_SOURCE_ID; /** * * @author Petr Pisl @@ -48,20 +50,27 @@ public NodeJSCodeCompletionTest(String testName) throws IOException { @Override protected void setUp() throws Exception { -// super.setUp(); //To change body of generated methods, choose Tools | Templates. if (!isSetup) { // only for the first run index all sources super.setUp(); isSetup = true; } - + FileObject folder = getTestFile("TestNavigation"); - Project testProject = new TestProjectSupport.TestProject(folder, null); - List lookupAll = new ArrayList(); + TestProject testProject = new TestProjectSupport.TestProject(folder, null); + + // NodeJsDataProvider downloads the node js api documentation. The + // golden files assume a fixed version, so simulate that for the test + // project. + Lookup projectLookup = Lookups.fixed(new FixedVersionMockJsSupport("24.14.0")); + + testProject.setLookup(projectLookup); + + List lookupAll = new ArrayList<>(); lookupAll.addAll(MockLookup.getDefault().lookupAll(Object.class)); lookupAll.add(new TestProjectSupport.FileOwnerQueryImpl(testProject)); + lookupAll.add(new FixedProjectFileOwnerQueryImplementation(testProject)); MockLookup.setInstances(lookupAll.toArray()); - } public void testBasicExport01() throws Exception { From bc02e801e79ba3c051cc176b507515adc25f18ea Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Wed, 4 Mar 2026 13:48:50 +0100 Subject: [PATCH 11/74] Add toml template and update yaml template registration - toml had no new-file template - set requireProject = false for both toml and yaml - moved registration from layer to annotation - fixed trivial layer ordering conflict (jflex grammar) --- .../languages/jflex/resources/layer.xml | 2 +- .../nbproject/project.properties | 5 +-- ide/languages.toml/nbproject/project.xml | 8 +++++ .../modules/languages/toml/Bundle.properties | 1 + .../languages/toml/TomlFileDescription.html | 28 ++++++++++++++++ .../languages/toml/TomlFileTemplate.toml | 3 ++ .../modules/languages/toml/package-info.java | 32 +++++++++++++++++++ ide/languages.yaml/nbproject/project.xml | 8 +++++ .../yaml/EmptyYAMLFileDescription.html | 4 +-- .../netbeans/modules/languages/yaml/layer.xml | 12 ------- .../modules/languages/yaml/package-info.java | 32 +++++++++++++++++++ 11 files changed, 115 insertions(+), 20 deletions(-) create mode 100644 ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlFileDescription.html create mode 100644 ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlFileTemplate.toml create mode 100644 ide/languages.toml/src/org/netbeans/modules/languages/toml/package-info.java create mode 100644 ide/languages.yaml/src/org/netbeans/modules/languages/yaml/package-info.java diff --git a/ide/languages.jflex/src/org/netbeans/modules/languages/jflex/resources/layer.xml b/ide/languages.jflex/src/org/netbeans/modules/languages/jflex/resources/layer.xml index 3f1811dfb328..9227951b4b4b 100644 --- a/ide/languages.jflex/src/org/netbeans/modules/languages/jflex/resources/layer.xml +++ b/ide/languages.jflex/src/org/netbeans/modules/languages/jflex/resources/layer.xml @@ -68,7 +68,7 @@ - + diff --git a/ide/languages.toml/nbproject/project.properties b/ide/languages.toml/nbproject/project.properties index 256fa1936ed9..a829154e419c 100644 --- a/ide/languages.toml/nbproject/project.properties +++ b/ide/languages.toml/nbproject/project.properties @@ -14,7 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 -javac.target=1.8 - - +javac.release=17 diff --git a/ide/languages.toml/nbproject/project.xml b/ide/languages.toml/nbproject/project.xml index 541232d6f03c..9d5fc2301d3f 100644 --- a/ide/languages.toml/nbproject/project.xml +++ b/ide/languages.toml/nbproject/project.xml @@ -25,6 +25,14 @@ org.netbeans.modules.languages.toml + + org.netbeans.api.templates + + + + 1.40 + + org.netbeans.core.multiview diff --git a/ide/languages.toml/src/org/netbeans/modules/languages/toml/Bundle.properties b/ide/languages.toml/src/org/netbeans/modules/languages/toml/Bundle.properties index 0ffa8111a3f9..02390baccfb6 100644 --- a/ide/languages.toml/src/org/netbeans/modules/languages/toml/Bundle.properties +++ b/ide/languages.toml/src/org/netbeans/modules/languages/toml/Bundle.properties @@ -21,6 +21,7 @@ OpenIDE-Module-Short-Description=Support for editing TOML files. OpenIDE-Module-Long-Description=Support for editing TOML files. Editors/text/x-toml=TOML +Templates/Other/TomlFileTemplate.toml=TOML File boolean=Boolean comment=Comment diff --git a/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlFileDescription.html b/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlFileDescription.html new file mode 100644 index 000000000000..a49a8a7ffde6 --- /dev/null +++ b/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlFileDescription.html @@ -0,0 +1,28 @@ + + + + + + + +Creates an empty TOML file. + diff --git a/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlFileTemplate.toml b/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlFileTemplate.toml new file mode 100644 index 000000000000..ff60b089b346 --- /dev/null +++ b/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlFileTemplate.toml @@ -0,0 +1,3 @@ +# TOML document + +title = "Hello World" diff --git a/ide/languages.toml/src/org/netbeans/modules/languages/toml/package-info.java b/ide/languages.toml/src/org/netbeans/modules/languages/toml/package-info.java new file mode 100644 index 000000000000..b04032d1642d --- /dev/null +++ b/ide/languages.toml/src/org/netbeans/modules/languages/toml/package-info.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +@TemplateRegistration( + folder = "Other", + content = "TomlFileTemplate.toml", + displayName = "#Templates/Other/TomlFileTemplate.toml", + targetName = "EmptyTOML", + position = 840, + requireProject = false, + category = "simple-files", + description = "TomlFileDescription.html" +) +package org.netbeans.modules.languages.toml; + +import org.netbeans.api.templates.TemplateRegistration; diff --git a/ide/languages.yaml/nbproject/project.xml b/ide/languages.yaml/nbproject/project.xml index d63462101d08..02029b2fc53d 100644 --- a/ide/languages.yaml/nbproject/project.xml +++ b/ide/languages.yaml/nbproject/project.xml @@ -25,6 +25,14 @@ org.netbeans.modules.languages.yaml + + org.netbeans.api.templates + + + + 1.40 + + org.netbeans.core.multiview diff --git a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/EmptyYAMLFileDescription.html b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/EmptyYAMLFileDescription.html index 25f5fe0080ca..487bc6fbb477 100644 --- a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/EmptyYAMLFileDescription.html +++ b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/EmptyYAMLFileDescription.html @@ -24,7 +24,5 @@ -Creates an empty YAML file. You can edit the file in the IDE's Source Editor. -To change this template, choose Tools | Template Manager -and open the template in the editor. +Creates an empty YAML file. diff --git a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/layer.xml b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/layer.xml index 30d90dcb9668..f1da95fe2096 100644 --- a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/layer.xml +++ b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/layer.xml @@ -70,18 +70,6 @@ - - - - - - - - - - - - diff --git a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/package-info.java b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/package-info.java new file mode 100644 index 000000000000..2588f638bafe --- /dev/null +++ b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/package-info.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +@TemplateRegistration( + folder = "Other", + content = "EmptyYAML.yml", + displayName = "#Templates/Other/EmptyYAML.yml", + targetName = "EmptyYAML", + position = 850, + requireProject = false, + category = "simple-files", + description = "EmptyYAMLFileDescription.html" +) +package org.netbeans.modules.languages.yaml; + +import org.netbeans.api.templates.TemplateRegistration; From 74a5461f60320baad65afca34738f1b248c98d03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 10 Jan 2026 14:42:21 +0100 Subject: [PATCH 12/74] lsp.client: Add the ability to customize the language id resolving of an LSP --- ide/lsp.client/apichanges.xml | 28 ++ .../modules/lsp/client/LSPBindings.java | 21 +- .../LanguageServerProviderAccessor.java | 2 + ...xtDocumentSyncServerCapabilityHandler.java | 9 +- .../lsp/client/options/Bundle.properties | 2 + .../client/options/GenericLanguageServer.java | 14 +- .../options/LanguageDescriptionPanel.form | 224 +++++++++------- .../options/LanguageDescriptionPanel.java | 240 ++++++++++++------ .../client/options/LanguageServersPanel.java | 2 +- .../lsp/client/options/LanguageStorage.java | 8 +- .../lsp/client/spi/LanguageIdResolver.java | 43 ++++ .../client/spi/LanguageServerProvider.java | 35 ++- .../client/options/LanguageStorageTest.java | 4 +- 13 files changed, 441 insertions(+), 191 deletions(-) create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageIdResolver.java diff --git a/ide/lsp.client/apichanges.xml b/ide/lsp.client/apichanges.xml index b01e979d9c92..b92e84280a35 100644 --- a/ide/lsp.client/apichanges.xml +++ b/ide/lsp.client/apichanges.xml @@ -25,6 +25,34 @@ LSP Client API + + + Adding LanguageIdProvider + + + + + +

+ While NetBeans uses mimetypes as primary identifier for source types, + LSP uses languageId as a carrier to inform what language/type of file + is being edited. Even a single language server can provide support + for multiple languages. One such example is the typescript language + server, which defaults to typescript, but also supports the + typescript variant that embeds react templates (TSX). +

+

+ To support this an implementation can provide a resolver. The + resolver has to implement the interface + org.netbeans.modules.lsp.client.spi.LanguageIdResolver + and will be provided by a lookup provided to the + LanguageServerDescription. For each opened file + the resolver will be called with the file object and will return + the language id if it can resolve it for the given file. +

+
+ +
Adding MultiMimeLanguageServerProvider diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java index 836f11345151..3308bfb20ced 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java @@ -92,6 +92,7 @@ import org.netbeans.modules.lsp.client.bindings.LanguageClientImpl; import org.netbeans.modules.lsp.client.bindings.TextDocumentSyncServerCapabilityHandler; import org.netbeans.modules.lsp.client.options.MimeTypeInfo; +import org.netbeans.modules.lsp.client.spi.LanguageIdResolver; import org.netbeans.modules.lsp.client.spi.ServerRestarter; import org.netbeans.modules.lsp.client.spi.LanguageServerProvider; import org.netbeans.modules.lsp.client.spi.LanguageServerProvider.LanguageServerDescription; @@ -372,7 +373,9 @@ public void close() throws IOException { } InitializeResult result = initServer(process, server, dir); //XXX: what if a different root is expected???? server.initialized(new InitializedParams()); - b = new LSPBindings(server, result, LanguageServerProviderAccessor.getINSTANCE().getProcess(desc)); + process = LanguageServerProviderAccessor.getINSTANCE().getProcess(desc); + Lookup serverLookup = LanguageServerProviderAccessor.getINSTANCE().getLookup(desc); + b = new LSPBindings(server, result, process, serverLookup.lookup(LanguageIdResolver.class)); // Register cleanup via LSPReference#run new LSPReference(b, Utilities.activeReferenceQueue()); lci.setBindings(b); @@ -426,7 +429,7 @@ public void write(int w) throws IOException { LanguageServer server = launcher.getRemoteProxy(); InitializeResult result = initServer(null, server, root); server.initialized(new InitializedParams()); - LSPBindings bindings = new LSPBindings(server, result, null); + LSPBindings bindings = new LSPBindings(server, result, null, null); lc.setBindings(bindings); @@ -521,11 +524,13 @@ public static synchronized Set getAllBindings() { private final LanguageServer server; private final InitializeResult initResult; private final Process process; + private final LanguageIdResolver languageIdResolver; - private LSPBindings(LanguageServer server, InitializeResult initResult, Process process) { + private LSPBindings(LanguageServer server, InitializeResult initResult, Process process, LanguageIdResolver languageIdResolver) { this.server = server; this.initResult = initResult; this.process = process; + this.languageIdResolver = languageIdResolver; } public TextDocumentService getTextDocumentService() { @@ -541,6 +546,16 @@ public InitializeResult getInitResult() { return initResult; } + public String resolveLanguageId(FileObject fileObject) { + if(languageIdResolver != null) { + String languageId = languageIdResolver.resolveLanguageId(fileObject); + if (languageId != null) { + return languageId; + } + } + return FileUtil.getMIMEType(fileObject); + } + @SuppressWarnings("AccessingNonPublicFieldOfAnotherObject") public static synchronized void addBackgroundTask(FileObject file, BackgroundTask task) { RequestProcessor.Task req = WORKER.create(() -> { diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LanguageServerProviderAccessor.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LanguageServerProviderAccessor.java index 9fab198d7a19..c9f14607c9c8 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LanguageServerProviderAccessor.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LanguageServerProviderAccessor.java @@ -24,6 +24,7 @@ import org.netbeans.api.annotations.common.NonNull; import org.netbeans.modules.lsp.client.spi.LanguageServerProvider.LanguageServerDescription; import org.openide.util.Exceptions; +import org.openide.util.Lookup; /** * @@ -57,4 +58,5 @@ public static void setINSTANCE (LanguageServerProviderAccessor instance) { public abstract LSPBindings getBindings(LanguageServerDescription desc); public abstract void setBindings(LanguageServerDescription desc, LSPBindings bindings); public abstract LanguageServerDescription createLanguageServerDescription(@NonNull LanguageServer server); + public abstract Lookup getLookup(LanguageServerDescription desc); } diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java index 6b38f9494365..e4b621af3275 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java @@ -315,14 +315,13 @@ private void ensureDidOpenSent(Document doc, boolean sync) { } }); - // @todo: the mimetype is not the language ID - TextDocumentItem textDocumentItem = new TextDocumentItem(uri, - FileUtil.getMIMEType(file), - 0, - text[0]); for (LSPBindings server : servers) { if (server.getOpenedFiles().add(file)) { + TextDocumentItem textDocumentItem = new TextDocumentItem(uri, + server.resolveLanguageId(file), + 0, + text[0]); server.getTextDocumentService().didOpen(new DidOpenTextDocumentParams(textDocumentItem)); } } diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/Bundle.properties b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/Bundle.properties index 9e6229d88267..c5e9b4baa886 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/Bundle.properties +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/Bundle.properties @@ -41,3 +41,5 @@ ACSD_Marks_CB=Keep Marks Checkbox text/x-generic-lsp=Language Server Protocol Client (generic) LanguageDescriptionPanel.debugger.text=Enable &Breakpoints +LanguageDescriptionPanel.languageIdLabel.text=Language Identifier: +LanguageDescriptionPanel.languageId.text= diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/GenericLanguageServer.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/GenericLanguageServer.java index e39e8b97f908..c0d5c6738579 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/GenericLanguageServer.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/GenericLanguageServer.java @@ -25,6 +25,7 @@ import org.netbeans.api.io.InputOutput; import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectUtils; +import org.netbeans.modules.lsp.client.spi.LanguageIdResolver; import org.netbeans.modules.lsp.client.spi.LanguageServerProvider; import org.openide.filesystems.FileAttributeEvent; import org.openide.filesystems.FileChangeListener; @@ -35,6 +36,7 @@ import org.openide.util.Exceptions; import org.openide.util.Lookup; import org.openide.util.RequestProcessor; +import org.openide.util.lookup.Lookups; /** * @@ -57,6 +59,7 @@ public LanguageServerDescription startServer(Lookup lookup) { FileObject server = FileUtil.getConfigFile("Editors/" + mti.mimeType + "/org-netbeans-modules-lsp-client-options-GenericLanguageServer.instance"); String[] command = (String[]) server.getAttribute("command"); String name = (String) server.getAttribute("name"); + String languageId = (String) server.getAttribute("languageId"); if (name == null) { name = command[0]; @@ -130,7 +133,16 @@ private void update() { io.show(); } }); - return LanguageServerDescription.create(process.getInputStream(), process.getOutputStream(), process); + Lookup serverLookup = null; + if(languageId != null && ! languageId.isBlank()) { + serverLookup = Lookups.fixed(new LanguageIdResolver() { + @Override + public String resolveLanguageId(FileObject fileObject) { + return languageId; + } + }); + } + return LanguageServerDescription.create(process.getInputStream(), process.getOutputStream(), process, serverLookup); } catch (Throwable t) { t.printStackTrace(); //TODO return null; diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageDescriptionPanel.form b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageDescriptionPanel.form index c081107add5a..76e4a5f9c182 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageDescriptionPanel.form +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageDescriptionPanel.form @@ -32,105 +32,10 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -145,6 +50,11 @@ + + + + + @@ -159,6 +69,11 @@ + + + + + @@ -173,6 +88,11 @@ + + + + + @@ -187,34 +107,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -229,6 +178,11 @@ + + + + + @@ -243,12 +197,22 @@ + + + + + + + + + + @@ -260,6 +224,11 @@ + + + + + @@ -274,13 +243,24 @@ + + + + + + + + + + + @@ -295,6 +275,11 @@ + + + + + @@ -302,6 +287,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageDescriptionPanel.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageDescriptionPanel.java index d33b2d76bbcc..981b87e40e89 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageDescriptionPanel.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageDescriptionPanel.java @@ -18,17 +18,20 @@ */ package org.netbeans.modules.lsp.client.options; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; import java.io.File; import java.util.Locale; import java.util.Set; -import javax.swing.GroupLayout; +import javax.swing.Box; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFileChooser; import javax.swing.JLabel; import javax.swing.JSeparator; import javax.swing.JTextField; -import javax.swing.LayoutStyle; import javax.swing.filechooser.FileFilter; import org.netbeans.modules.lsp.client.options.LanguageStorage.LanguageDescription; import org.openide.awt.Mnemonics; @@ -63,11 +66,21 @@ public LanguageDescriptionPanel(LanguageDescription desc, Set usedIds) { this.name.setText(desc.name); this.icon.setText(desc.icon); this.debugger.setSelected(desc.debugger); + this.languageId.setText(desc.languageId); } } public LanguageDescription getDescription() { - return new LanguageDescription(id, this.extensions.getText(), this.syntax.getText(), this.server.getText(), this.name.getText(), this.icon.getText(), this.debugger.isSelected()); + return new LanguageDescription( + id, + this.extensions.getText(), + this.syntax.getText(), + this.server.getText(), + this.name.getText(), + this.icon.getText(), + this.debugger.isSelected(), + this.languageId.getText() + ); } /** @@ -78,6 +91,7 @@ public LanguageDescription getDescription() { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + GridBagConstraints gridBagConstraints; JLabel nameLabel = new JLabel(); JLabel extensionsLabel = new JLabel(); @@ -95,119 +109,188 @@ private void initComponents() { icon = new JTextField(); JButton browseIcon = new JButton(); debugger = new JCheckBox(); + languageIdLabel = new JLabel(); + languageId = new JTextField(); + filler1 = new Box.Filler(new Dimension(0, 0), new Dimension(0, 0), new Dimension(0, 32767)); + + setLayout(new GridBagLayout()); nameLabel.setLabelFor(name); Mnemonics.setLocalizedText(nameLabel, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.nameLabel.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 5; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(nameLabel, gridBagConstraints); extensionsLabel.setLabelFor(extensions); Mnemonics.setLocalizedText(extensionsLabel, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.extensionsLabel.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.ipadx = 32; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(extensionsLabel, gridBagConstraints); grammarLabel.setLabelFor(syntax); Mnemonics.setLocalizedText(grammarLabel, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.grammarLabel.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(grammarLabel, gridBagConstraints); serverLabel.setLabelFor(server); Mnemonics.setLocalizedText(serverLabel, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.serverLabel.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 2; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(serverLabel, gridBagConstraints); + name.setColumns(40); name.setText(NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.name.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 5; + gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(name, gridBagConstraints); + extensions.setColumns(40); extensions.setText(NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.extensions.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(extensions, gridBagConstraints); + syntax.setColumns(40); syntax.setText(NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.syntax.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 1; + gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(syntax, gridBagConstraints); + server.setColumns(40); server.setText(NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.server.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 2; + gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(server, gridBagConstraints); Mnemonics.setLocalizedText(browseGrammar, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.browseGrammar.text")); // NOI18N browseGrammar.addActionListener(this::browseGrammarActionPerformed); + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(browseGrammar, gridBagConstraints); Mnemonics.setLocalizedText(browseServer, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.browseServer.text")); // NOI18N browseServer.addActionListener(this::browseServerActionPerformed); + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 2; + gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(browseServer, gridBagConstraints); + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 4; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = GridBagConstraints.WEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(extraOptionsSeparator, gridBagConstraints); Mnemonics.setLocalizedText(optionalParams, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.optionalParams.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 4; + gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(optionalParams, gridBagConstraints); iconLabel.setLabelFor(icon); Mnemonics.setLocalizedText(iconLabel, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.iconLabel.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 6; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(iconLabel, gridBagConstraints); + icon.setColumns(40); icon.setText(NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.icon.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 6; + gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(icon, gridBagConstraints); Mnemonics.setLocalizedText(browseIcon, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.browseIcon.text")); // NOI18N browseIcon.addActionListener(this::browseIconActionPerformed); + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 7; + gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(browseIcon, gridBagConstraints); Mnemonics.setLocalizedText(debugger, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.debugger.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 3; + gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(debugger, gridBagConstraints); - GroupLayout layout = new GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(optionalParams) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addComponent(extraOptionsSeparator)) - .addGroup(GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(nameLabel) - .addComponent(iconLabel)) - .addGap(68, 68, 68) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING) - .addComponent(icon, GroupLayout.DEFAULT_SIZE, 273, Short.MAX_VALUE) - .addComponent(name)) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addComponent(browseIcon)) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(grammarLabel) - .addComponent(serverLabel) - .addComponent(extensionsLabel, GroupLayout.PREFERRED_SIZE, 101, GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(extensions) - .addComponent(server) - .addComponent(syntax)) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(browseGrammar, GroupLayout.Alignment.TRAILING) - .addComponent(browseServer, GroupLayout.Alignment.TRAILING))) - .addGroup(layout.createSequentialGroup() - .addComponent(debugger) - .addGap(0, 0, Short.MAX_VALUE))) - .addContainerGap()) - ); - layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(extensionsLabel) - .addComponent(extensions, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(grammarLabel) - .addComponent(syntax, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) - .addComponent(browseGrammar)) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(server, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) - .addComponent(serverLabel) - .addComponent(browseServer)) - .addGap(18, 18, 18) - .addComponent(debugger) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(optionalParams) - .addGroup(layout.createSequentialGroup() - .addGap(7, 7, 7) - .addComponent(extraOptionsSeparator, GroupLayout.PREFERRED_SIZE, 11, GroupLayout.PREFERRED_SIZE))) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(nameLabel) - .addComponent(name, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(icon, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) - .addComponent(iconLabel) - .addComponent(browseIcon)) - .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); + Mnemonics.setLocalizedText(languageIdLabel, NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.languageIdLabel.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 7; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(languageIdLabel, gridBagConstraints); + + languageId.setColumns(40); + languageId.setText(NbBundle.getMessage(LanguageDescriptionPanel.class, "LanguageDescriptionPanel.languageId.text")); // NOI18N + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 7; + gridBagConstraints.fill = GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = GridBagConstraints.BASELINE_LEADING; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new Insets(5, 5, 5, 5); + add(languageId, gridBagConstraints); + gridBagConstraints = new GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 8; + gridBagConstraints.weighty = 1.0; + add(filler1, gridBagConstraints); }// //GEN-END:initComponents @Messages("DESC_JSONFilter=Grammars (.json, .xml, .tmLanguage)") @@ -271,7 +354,10 @@ private void browseServerActionPerformed(java.awt.event.ActionEvent evt) {//GEN- // Variables declaration - do not modify//GEN-BEGIN:variables private JCheckBox debugger; private JTextField extensions; + private Box.Filler filler1; private JTextField icon; + private JTextField languageId; + private JLabel languageIdLabel; private JTextField name; private JTextField server; private JTextField syntax; diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageServersPanel.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageServersPanel.java index 8572d2807897..741d08cc439c 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageServersPanel.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageServersPanel.java @@ -38,7 +38,7 @@ final class LanguageServersPanel extends javax.swing.JPanel { - private static final LanguageDescription PROTOTYPE = new LanguageDescription(null, null, null, null, "MMMMMMMMMMMMMMMMM", null, false); + private static final LanguageDescription PROTOTYPE = new LanguageDescription(null, null, null, null, "MMMMMMMMMMMMMMMMM", null, false, null); private final LanguageServersOptionsPanelController controller; private final DefaultListModel languages; private final Set usedIds; diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java index 31d61b38fce0..7d167a92d239 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java @@ -187,6 +187,9 @@ static void store(List languages) { if (description.name != null) { langServer.setAttribute("name", description.name); } + if (description.languageId != null && !description.languageId.isBlank()) { + langServer.setAttribute("languageId", description.languageId); + } } deleteConfigFileIfExists("Editors/" + description.mimeType + "/generic-breakpoints.instance"); @@ -282,6 +285,7 @@ public static class LanguageDescription { public String icon; public String mimeType; public boolean debugger; + public String languageId; public LanguageDescription() { this.id = null; @@ -292,9 +296,10 @@ public LanguageDescription() { this.icon = null; this.debugger = false; this.mimeType = null; + this.languageId = null; } - public LanguageDescription(String id, String extensions, String syntaxGrammar, String languageServer, String name, String icon, boolean debugger) { + public LanguageDescription(String id, String extensions, String syntaxGrammar, String languageServer, String name, String icon, boolean debugger, String languageId) { this.id = id; this.extensions = extensions; this.syntaxGrammar = syntaxGrammar; @@ -303,6 +308,7 @@ public LanguageDescription(String id, String extensions, String syntaxGrammar, S this.icon = icon; this.debugger = debugger; this.mimeType = "text/x-ext-" + id; + this.languageId = languageId; } } diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageIdResolver.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageIdResolver.java new file mode 100644 index 000000000000..f315fe4c897e --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageIdResolver.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.lsp.client.spi; + +import org.openide.filesystems.FileObject; + +/** + * LSP uses languageId as a carrier to inform what language/type of file is + * being edited. Even a single language server can provide support for multiple + * languages. One such example is the typescript language server, which defaults + * to typescript, but also supports the typescript variant that embeds react + * templates (TSX). + * + *

Language servers can provide a language id mapper to allow customization + * of the resolving process.

+ * + * @since 1.33.0 + */ +public interface LanguageIdResolver { + /** + * Resolve the language id for the given file object. + * + * @param fileObject target to resolve the langeuge id for + * @return the determined language id or {@code null} if that can't be found. + */ + public String resolveLanguageId(FileObject fileObject); +} diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageServerProvider.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageServerProvider.java index eea786f3fe34..48fb06d3a0bf 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageServerProvider.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageServerProvider.java @@ -57,25 +57,47 @@ public static final class LanguageServerDescription { * @param process the process of the running language server, or null if none. * @return an instance of LanguageServerDescription */ - public static @NonNull LanguageServerDescription create(@NonNull InputStream in, @NonNull OutputStream out, @NullAllowed Process process) { - return new LanguageServerDescription(in, out, process, null); + public static @NonNull LanguageServerDescription create( + @NonNull InputStream in, + @NonNull OutputStream out, + @NullAllowed Process process) { + return create(in, out, process, null); + } + + /** + * Create the description of a running language server. + * + * @param in the InputStream that should be used to communicate with the server + * @param out the OutputStream that should be used to communicate with the server + * @param process the process of the running language server, or null if none. + * @param lookup lookup to be provided by the server + * @return an instance of LanguageServerDescription + */ + public static @NonNull LanguageServerDescription create( + @NonNull InputStream in, + @NonNull OutputStream out, + @NullAllowed Process process, + @NullAllowed Lookup lookup) { + return new LanguageServerDescription(in, out, process, null, lookup == null ? Lookup.EMPTY : lookup); } static @NonNull LanguageServerDescription create(@NonNull LanguageServer server) { - return new LanguageServerDescription(null, null, null, server); + return new LanguageServerDescription(null, null, null, server, Lookup.EMPTY); } private final InputStream in; private final OutputStream out; private final Process process; private final LanguageServer server; + private final Lookup lookup; private LSPBindings bindings; - private LanguageServerDescription(InputStream in, OutputStream out, Process process, LanguageServer server) { + private LanguageServerDescription(InputStream in, OutputStream out, Process process, LanguageServer server, Lookup lookup) { this.in = in; this.out = out; this.process = process; this.server = server; + this.lookup = lookup; } static { @@ -110,6 +132,11 @@ public void setBindings(LanguageServerDescription desc, LSPBindings bindings) { desc.bindings = bindings; } + @Override + public Lookup getLookup(LanguageServerDescription desc) { + return desc.lookup; + } + @Override public LanguageServerDescription createLanguageServerDescription(LanguageServer server) { return LanguageServerDescription.create(server); diff --git a/ide/lsp.client/test/unit/src/org/netbeans/modules/lsp/client/options/LanguageStorageTest.java b/ide/lsp.client/test/unit/src/org/netbeans/modules/lsp/client/options/LanguageStorageTest.java index 8cd5eea1b9c3..89b4a020c995 100644 --- a/ide/lsp.client/test/unit/src/org/netbeans/modules/lsp/client/options/LanguageStorageTest.java +++ b/ide/lsp.client/test/unit/src/org/netbeans/modules/lsp/client/options/LanguageStorageTest.java @@ -93,7 +93,7 @@ public FileObject findResource(String name) { DataObject testDO = DataObject.find(testFO); assertEquals("org.openide.loaders.DefaultDataObject", testDO.getClass().getName()); - LanguageStorage.store(Arrays.asList(new LanguageDescription("t", "txt", FileUtil.toFile(grammar).getAbsolutePath(), null, "txt", null, false))); + LanguageStorage.store(Arrays.asList(new LanguageDescription("t", "txt", FileUtil.toFile(grammar).getAbsolutePath(), null, "txt", null, false, null))); assertEquals("text/x-ext-t", FileUtil.getMIMEType(testFO)); DataObject recognized = DataObject.find(testFO); @@ -107,7 +107,7 @@ public FileObject findResource(String name) { Language l = MimeLookup.getLookup("text/x-ext-t").lookup(Language.class); assertNotNull(l); - LanguageStorage.store(Arrays.asList(new LanguageDescription("t", "txt", FileUtil.toFile(grammar).getAbsolutePath(), null, "txt", null, false))); + LanguageStorage.store(Arrays.asList(new LanguageDescription("t", "txt", FileUtil.toFile(grammar).getAbsolutePath(), null, "txt", null, false, null))); LanguageStorage.store(Collections.emptyList()); From 40614e826c1744ca43207537b54f8c3f0cff7f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 10 Jan 2026 14:42:53 +0100 Subject: [PATCH 13/74] Typescript: Support resolving of typescript with embedded react templates (TSX) --- .../editor/TypeScriptDataObjectDataObject.java | 2 +- .../typescript/editor/TypeScriptLSP.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptDataObjectDataObject.java b/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptDataObjectDataObject.java index a3db16474ea2..7f2c633a5a1c 100644 --- a/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptDataObjectDataObject.java +++ b/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptDataObjectDataObject.java @@ -44,7 +44,7 @@ @MIMEResolver.ExtensionRegistration( displayName = "#LBL_TypeScriptDataObject_LOADER", mimeType = TYPESCRIPT_MIME_TYPE, - extension = {"ts"}, + extension = {"ts", "tsx"}, position = 193 // lower than 218 as CND also recognizes .ts file ) @DataObject.Registration( diff --git a/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptLSP.java b/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptLSP.java index c54c6f33ccbf..16d140dd5ea0 100644 --- a/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptLSP.java +++ b/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptLSP.java @@ -26,12 +26,14 @@ import org.netbeans.api.editor.mimelookup.MimeRegistration; import org.netbeans.api.options.OptionsDisplayer; import org.netbeans.modules.javascript.nodejs.api.NodeJsSupport; +import org.netbeans.modules.lsp.client.spi.LanguageIdResolver; import org.netbeans.modules.lsp.client.spi.LanguageServerProvider; import org.openide.awt.NotificationDisplayer; import org.openide.modules.InstalledFileLocator; import org.openide.util.ImageUtilities; import org.openide.util.Lookup; import org.openide.util.NbBundle.Messages; +import org.openide.util.lookup.Lookups; import static org.netbeans.modules.typescript.editor.TypeScriptEditorKit.TYPESCRIPT_ICON; import static org.netbeans.modules.typescript.editor.TypeScriptEditorKit.TYPESCRIPT_MIME_TYPE; @@ -45,6 +47,14 @@ public class TypeScriptLSP implements LanguageServerProvider { private static final Logger LOG = Logger.getLogger(TypeScriptLSP.class.getName()); + private static final LanguageIdResolver LANGUAGE_ID_RESOLVER = fo -> { + if("tsx".equalsIgnoreCase(fo.getExt())) { + return "typescriptreact"; + } else { + return "typescript"; + } + }; + private final AtomicBoolean missingNodeWarningIssued = new AtomicBoolean(); @Override @@ -64,7 +74,12 @@ public LanguageServerDescription startServer(Lookup lookup) { File server = InstalledFileLocator.getDefault().locate("typescript-lsp/node_modules/typescript-language-server/lib/cli.mjs", "org.netbeans.modules.typescript.editor", false); try { Process p = new ProcessBuilder(new String[] {node, server.getAbsolutePath(), "--stdio"}).directory(server.getParentFile().getParentFile()).redirectError(ProcessBuilder.Redirect.INHERIT).start(); - return LanguageServerDescription.create(p.getInputStream(), p.getOutputStream(), p); + return LanguageServerDescription.create( + p.getInputStream(), + p.getOutputStream(), + p, + Lookups.fixed(LANGUAGE_ID_RESOLVER) + ); } catch (IOException ex) { LOG.log(Level.FINE, null, ex); return null; From ab4be0b414796d638d9592ecdad0dbead9348a47 Mon Sep 17 00:00:00 2001 From: Davide Mainardi Date: Mon, 8 Dec 2025 15:20:00 +0100 Subject: [PATCH 14/74] Add support for GlassFish 7.1.0, and GlassFish 8.0.0 Added --module-path and --add-modules in order to start Glassfish after the bootstrap was redesigned. --- .../glassfish/common/Bundle.properties | 1 + .../glassfish/common/ServerDetails.java | 17 +++- .../common/wizards/Bundle.properties | 1 + .../tooling/data/GlassFishVersion.java | 8 ++ .../glassfish/tooling/server/ServerTasks.java | 28 +++++- .../server/config/ConfigBuilderProvider.java | 8 +- .../tooling/server/config/GlassFishV7_1_0.xml | 94 +++++++++++++++++++ .../tooling/server/config/GlassFishV8_0_0.xml | 3 +- .../glassfish/tooling/utils/ServerUtils.java | 46 +++++---- .../tooling/admin/AdminFactoryTest.java | 26 +++++ .../tooling/data/GlassFishVersionTest.java | 6 +- .../tooling/utils/EnumUtilsTest.java | 38 ++++---- 12 files changed, 224 insertions(+), 52 deletions(-) create mode 100644 enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/GlassFishV7_1_0.xml diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/Bundle.properties b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/Bundle.properties index a135021e5c38..a83f6d4bcdd6 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/Bundle.properties +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/Bundle.properties @@ -192,6 +192,7 @@ STR_7022_SERVER_NAME=GlassFish Server 7.0.22 STR_7023_SERVER_NAME=GlassFish Server 7.0.23 STR_7024_SERVER_NAME=GlassFish Server 7.0.24 STR_7025_SERVER_NAME=GlassFish Server 7.0.25 +STR_710_SERVER_NAME=GlassFish Server 7.1.0 STR_800_SERVER_NAME=GlassFish Server 8.0.0 # CommonServerSupport.java diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ServerDetails.java b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ServerDetails.java index 2d955f5fe9a2..d301c678532c 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ServerDetails.java +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ServerDetails.java @@ -557,7 +557,7 @@ public enum ServerDetails { ), /** - * details for an instance of GlassFish Server 7.0.24 + * details for an instance of GlassFish Server 7.0.25 */ GLASSFISH_SERVER_7_0_25(NbBundle.getMessage(ServerDetails.class, "STR_7025_SERVER_NAME", new Object[]{}), // NOI18N GlassfishInstanceProvider.JAKARTAEE10_DEPLOYER_FRAGMENT, @@ -566,6 +566,17 @@ public enum ServerDetails { "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/7.0.25/glassfish-7.0.25.zip", // NOI18N "http://www.eclipse.org/legal/epl-2.0" //NOI18N ), + + /** + * details for an instance of GlassFish Server 7.1.0 + */ + GLASSFISH_SERVER_7_1_0(NbBundle.getMessage(ServerDetails.class, "STR_710_SERVER_NAME", new Object[]{}), // NOI18N + GlassfishInstanceProvider.JAKARTAEE10_DEPLOYER_FRAGMENT, + GlassFishVersion.GF_7_1_0, + "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/7.1.0/glassfish-7.1.0.zip", // NOI18N + "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/7.1.0/glassfish-7.1.0.zip", // NOI18N + "http://www.eclipse.org/legal/epl-2.0" //NOI18N + ), /** * details for an instance of GlassFish Server 8.0.0 @@ -573,8 +584,8 @@ public enum ServerDetails { GLASSFISH_SERVER_8_0_0(NbBundle.getMessage(ServerDetails.class, "STR_800_SERVER_NAME", new Object[]{}), // NOI18N GlassfishInstanceProvider.JAKARTAEE11_DEPLOYER_FRAGMENT, GlassFishVersion.GF_8_0_0, - "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/8.0.0-M12/glassfish-8.0.0-M12.zip", // NOI18N - "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/8.0.0-M12/glassfish-8.0.0-M12.zip", // NOI18N + "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/8.0.0/glassfish-8.0.0.zip", // NOI18N + "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/8.0.0/glassfish-8.0.0.zip", // NOI18N "http://www.eclipse.org/legal/epl-2.0" //NOI18N ); diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/wizards/Bundle.properties b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/wizards/Bundle.properties index 8cfeab56094b..a7f84f8b939e 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/wizards/Bundle.properties +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/wizards/Bundle.properties @@ -193,6 +193,7 @@ STR_7022_SERVER_NAME=GlassFish Server 7.0.22 STR_7023_SERVER_NAME=GlassFish Server 7.0.23 STR_7024_SERVER_NAME=GlassFish Server 7.0.24 STR_7025_SERVER_NAME=GlassFish Server 7.0.25 +STR_710_SERVER_NAME=GlassFish Server 7.1.0 STR_V8_FAMILY_NAME=GlassFish Server STR_800_SERVER_NAME=GlassFish Server 8.0.0 diff --git a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/data/GlassFishVersion.java b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/data/GlassFishVersion.java index 2b3a5e5557c3..93b3b2488500 100644 --- a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/data/GlassFishVersion.java +++ b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/data/GlassFishVersion.java @@ -146,6 +146,8 @@ public enum GlassFishVersion { GF_7_0_24 ((short) 7, (short) 0, (short) 24, (short) 0, GlassFishVersion.GF_7_0_24_STR), /** GlassFish 7.0.25 */ GF_7_0_25 ((short) 7, (short) 0, (short) 25, (short) 0, GlassFishVersion.GF_7_0_25_STR), + /** GlassFish 7.1.0 */ + GF_7_1_0 ((short) 7, (short) 1, (short) 0, (short) 0, GlassFishVersion.GF_7_1_0_STR), /** GlassFish 8.0.0 */ GF_8_0_0 ((short) 8, (short) 0, (short) 0, (short) 0, GlassFishVersion.GF_8_0_0_STR); // Class attributes // @@ -424,6 +426,11 @@ public enum GlassFishVersion { static final String GF_7_0_25_STR = "7.0.25"; /** Additional {@code String} representations of GF_7_0_25 value. */ static final String GF_7_0_25_STR_NEXT[] = {"7.0.25", "7.0.25.0"}; + + /** A {@code String} representation of GF_7_1_0 value. */ + static final String GF_7_1_0_STR = "7.1.0"; + /** Additional {@code String} representations of GF_7_1_0 value. */ + static final String GF_7_1_0_STR_NEXT[] = {"7.1.0", "7.1.0.0"}; /** A {@code String} representation of GF_8_0_0 value. */ static final String GF_8_0_0_STR = "8.0.0"; @@ -492,6 +499,7 @@ public enum GlassFishVersion { initStringValuesMapFromArray(GF_7_0_23, GF_7_0_23_STR_NEXT); initStringValuesMapFromArray(GF_7_0_24, GF_7_0_24_STR_NEXT); initStringValuesMapFromArray(GF_7_0_25, GF_7_0_25_STR_NEXT); + initStringValuesMapFromArray(GF_7_1_0, GF_7_1_0_STR_NEXT); initStringValuesMapFromArray(GF_8_0_0, GF_8_0_0_STR_NEXT); } diff --git a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/ServerTasks.java b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/ServerTasks.java index 9289b989e174..05e5af2b1019 100644 --- a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/ServerTasks.java +++ b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/ServerTasks.java @@ -103,6 +103,28 @@ private static void addJavaAgent(GlassFishServer server, } } } + + /** + * Append module path and add modules to java options when there is at least + * one '--add-opens' without 'ALL-UNNAMED'. + *

+ * @param server GlassFish server entity. + * @param optList Returned list of java options. + */ + private static void appendModulePath(GlassFishServer server, List optList) { + boolean needed = optList.stream() + .anyMatch(opt -> opt.contains("--add-opens") && !opt.contains("ALL-UNNAMED")); + if (needed) { + // appending module path and all modules in order to use + // '--add-opens' without 'ALL-UNNAMED'. + // See https://github.com/eclipse-ee4j/glassfish/pull/25537 + String modulePath = server.getServerHome() + File.separator + + ServerUtils.GF_LIB_DIR_NAME + File.separator + + "bootstrap"; + optList.add("--module-path=" + modulePath); + optList.add("--add-modules=ALL-MODULE-PATH"); + } + } /** * Adds server variables from variables map into Java VM options @@ -142,8 +164,9 @@ public static ResultProcess startServer(GlassFishServer server, JvmConfigReader jvmConfigReader = new JvmConfigReader(DAS_NAME); String domainAbsolutePath = server.getDomainsFolder() + File.separator + server.getDomainName(); - String domainXmlPath = domainAbsolutePath + File.separator + "config" - + File.separator + "domain.xml"; + String domainXmlPath = domainAbsolutePath + File.separator + + ServerUtils.GF_DOMAIN_CONFIG_DIR_NAME + File.separator + + ServerUtils.GF_DOMAIN_CONFIG_FILE_NAME; if (!TreeParser.readXml(new File(domainXmlPath), jvmConfigReader)) { // retry with platform default LOGGER.log(Level.INFO, "Retrying with {0} encoding", Charset.defaultCharset()); @@ -154,6 +177,7 @@ public static ResultProcess startServer(GlassFishServer server, } } List optList = jvmConfigReader.getOptList(); + appendModulePath(server, optList); Map propMap = jvmConfigReader.getPropMap(); addJavaAgent(server, jvmConfigReader); // try to find bootstraping jar - usually glassfish.jar diff --git a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/ConfigBuilderProvider.java b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/ConfigBuilderProvider.java index 4870dd20f690..c0f8cafe85a6 100644 --- a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/ConfigBuilderProvider.java +++ b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/ConfigBuilderProvider.java @@ -240,6 +240,11 @@ public class ConfigBuilderProvider { private static final Config.Next CONFIG_V7_0_25 = new Config.Next(GlassFishVersion.GF_7_0_25, ConfigBuilderProvider.class.getResource("GlassFishV7_0_24.xml")); + + /** Library builder configuration since GlassFish 7.1.0. */ + private static final Config.Next CONFIG_V7_1_0 + = new Config.Next(GlassFishVersion.GF_7_1_0, + ConfigBuilderProvider.class.getResource("GlassFishV7_1_0.xml")); /** Library builder configuration since GlassFish 8.0.0. */ private static final Config.Next CONFIG_V8_0_0 @@ -260,7 +265,8 @@ public class ConfigBuilderProvider { CONFIG_V7_0_15, CONFIG_V7_0_16, CONFIG_V7_0_17, CONFIG_V7_0_18, CONFIG_V7_0_19, CONFIG_V7_0_20, CONFIG_V7_0_21, CONFIG_V7_0_22, CONFIG_V7_0_23, - CONFIG_V7_0_24, CONFIG_V7_0_24, CONFIG_V8_0_0); + CONFIG_V7_0_24, CONFIG_V7_0_25, CONFIG_V7_1_0, + CONFIG_V8_0_0); /** Builders array for each server instance. */ private static final ConcurrentMap builders diff --git a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/GlassFishV7_1_0.xml b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/GlassFishV7_1_0.xml new file mode 100644 index 000000000000..ee23801075cd --- /dev/null +++ b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/GlassFishV7_1_0.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/GlassFishV8_0_0.xml b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/GlassFishV8_0_0.xml index 553de53e5e5b..a7d90138926b 100644 --- a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/GlassFishV8_0_0.xml +++ b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/server/config/GlassFishV8_0_0.xml @@ -28,6 +28,7 @@ + @@ -70,7 +71,7 @@ - + diff --git a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/utils/ServerUtils.java b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/utils/ServerUtils.java index c5a639e49857..643f99d9f87f 100644 --- a/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/utils/ServerUtils.java +++ b/enterprise/glassfish.tooling/src/org/netbeans/modules/glassfish/tooling/utils/ServerUtils.java @@ -21,7 +21,6 @@ import java.io.File; import java.io.FileFilter; import java.io.IOException; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.*; import java.util.ArrayList; @@ -557,37 +556,36 @@ public static GlassFishVersion getServerVersion(final String serverHome) { ClassLoader cl = new URLClassLoader(new URL[] {commonUtilJar. toURI().toURL()}); Class c = cl.loadClass(VERSION_CLASS); - // Try to get version from com.sun.appserv.server.util.Version. - try { - Method mGetFullVersion = c.getMethod(VERSION_METHOD); - System.getProperties().put(GF_HOME_PROPERTY, serverHome); - String fullVersionString - = (String)mGetFullVersion.invoke(c); - System.getProperties().remove(GF_HOME_PROPERTY); - String versionString - = getVersionString(fullVersionString); + + // Use Manifest Bundle-Version. + try (JarFile jar = new JarFile(commonUtilJar)) { + Manifest manifest = jar.getManifest(); + String versionString = getVersionString(manifest + .getMainAttributes().getValue(BUNDLE_VERSION)); if (versionString != null) { version = GlassFishVersion.toValue(versionString); } - } catch (IllegalAccessException | IllegalArgumentException - | InvocationTargetException | NoSuchMethodException - | SecurityException | NoClassDefFoundError ex) { - Logger.log(Level.WARNING, "Cannot retrieve Glassfish version from: " - + commonUtilJar.getAbsolutePath() + ". " - + "Using Manifest Bundle-Version as fallback option:", ex); + } catch (IOException ioe) { + Logger.log(Level.WARNING, "Cannot retrieve Glassfish version from Manifest: " + + commonUtilJar.getAbsolutePath() + ": ", ioe); } - // Use Manifest Bundle-Version as fallback option. + if (version == null) { - try (JarFile jar = new JarFile(commonUtilJar)) { - Manifest manifest = jar.getManifest(); - String versionString = getVersionString(manifest - .getMainAttributes().getValue(BUNDLE_VERSION)); + // Try to get version from com.sun.appserv.server.util.Version as fallback option. + try { + Method mGetFullVersion = c.getMethod(VERSION_METHOD); + System.getProperties().put(GF_HOME_PROPERTY, serverHome); + String fullVersionString = (String)mGetFullVersion.invoke(c); + System.getProperties().remove(GF_HOME_PROPERTY); + String versionString + = getVersionString(fullVersionString); if (versionString != null) { version = GlassFishVersion.toValue(versionString); } - } catch (IOException ioe) { - Logger.log(Level.WARNING, "Cannot retrieve Glassfish version from Manifest: " - + commonUtilJar.getAbsolutePath() + ": ", ioe); + } catch (ReflectiveOperationException | IllegalArgumentException | SecurityException | NoClassDefFoundError ex) { + Logger.log(Level.WARNING, "Cannot retrieve Glassfish version from: " + + commonUtilJar.getAbsolutePath() + ". " + + "Using Manifest Bundle-Version as fallback option:", ex); } } } catch (MalformedURLException | ClassNotFoundException ex) { diff --git a/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/admin/AdminFactoryTest.java b/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/admin/AdminFactoryTest.java index 00574543aef4..29f61da6c4ff 100644 --- a/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/admin/AdminFactoryTest.java +++ b/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/admin/AdminFactoryTest.java @@ -190,6 +190,32 @@ public void testGetInstanceforVersionGF7() { assertTrue(cmd.equals(runner.getCommand())); } + /** + * Test factory functionality for GlassFish v. 7.1.0 + *

+ * Factory should initialize REST {@code Runner} and point it to + * provided {@code Command} instance. + */ + @Test + public void testGetInstanceforVersionGF71() { + GlassFishServerEntity srv = new GlassFishServerEntity(); + srv.setVersion(GlassFishVersion.GF_7_1_0); + AdminFactory af = AdminFactory.getInstance(srv.getVersion()); + assertTrue(af instanceof AdminFactoryRest); + Command cmd = new CommandVersion(); + Runner runner; + try { + runner = af.getRunner(srv, cmd); + } catch (GlassFishIdeException gfie) { + runner = null; + fail("Exception in Runner initialization: " + gfie.getMessage()); + } + // Returned runner should be REST interface. + assertTrue(runner instanceof RunnerRest); + // Stored command entity should be the one we supplied. + assertTrue(cmd.equals(runner.getCommand())); + } + /** * Test factory functionality for GlassFish v. 8.0.0 *

diff --git a/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/data/GlassFishVersionTest.java b/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/data/GlassFishVersionTest.java index d4fb84497a1f..27573e844e8d 100644 --- a/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/data/GlassFishVersionTest.java +++ b/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/data/GlassFishVersionTest.java @@ -143,6 +143,8 @@ public void testToValue() { GlassFishVersion.GF_7_0_24_STR_NEXT); verifyToValueFromAdditionalArray(GlassFishVersion.GF_7_0_25, GlassFishVersion.GF_7_0_25_STR_NEXT); + verifyToValueFromAdditionalArray(GlassFishVersion.GF_7_1_0, + GlassFishVersion.GF_7_1_0_STR_NEXT); verifyToValueFromAdditionalArray(GlassFishVersion.GF_8_0_0, GlassFishVersion.GF_8_0_0_STR_NEXT); } @@ -179,7 +181,7 @@ public void testToValueIncomplete() { GlassFishVersion.GF_7_0_20, GlassFishVersion.GF_7_0_21, GlassFishVersion.GF_7_0_22, GlassFishVersion.GF_7_0_23, GlassFishVersion.GF_7_0_24, GlassFishVersion.GF_7_0_25, - GlassFishVersion.GF_8_0_0 + GlassFishVersion.GF_7_1_0, GlassFishVersion.GF_8_0_0 }; String strings[] = { "1.0.1.4", "2.0.1.5", "2.1.0.3", "2.1.1.7", @@ -195,7 +197,7 @@ public void testToValueIncomplete() { "7.0.14.0", "7.0.15.0", "7.0.16.0", "7.0.17.0", "7.0.18.0", "7.0.19.0", "7.0.20.0", "7.0.21.0", "7.0.22.0", "7.0.23.0", "7.0.24.0", "7.0.25.0", - "8.0.0.0" + "7.1.0.0", "8.0.0.0" }; for (int i = 0; i < versions.length; i++) { GlassFishVersion version = GlassFishVersion.toValue(strings[i]); diff --git a/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/utils/EnumUtilsTest.java b/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/utils/EnumUtilsTest.java index 9c28fd65aaec..34a27b3ee9ca 100644 --- a/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/utils/EnumUtilsTest.java +++ b/enterprise/glassfish.tooling/test/unit/src/org/netbeans/modules/glassfish/tooling/utils/EnumUtilsTest.java @@ -21,7 +21,7 @@ import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_3; import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_4; import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_6_2_5; -import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_7_0_25; +import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_7_1_0; import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_8_0_0; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; @@ -48,10 +48,10 @@ public class EnumUtilsTest { */ @Test public void testEq() { - assertFalse(EnumUtils.eq(GF_8_0_0, GF_7_0_25), "Equals for a > b shall be false."); + assertFalse(EnumUtils.eq(GF_8_0_0, GF_7_1_0), "Equals for a > b shall be false."); assertTrue(EnumUtils.eq(GF_8_0_0, GF_8_0_0), "Equals for a == b shall be true."); - assertFalse(EnumUtils.eq(GF_7_0_25, GF_6_2_5), "Equals for a > b shall be false."); - assertTrue(EnumUtils.eq(GF_7_0_25, GF_7_0_25), "Equals for a == b shall be true."); + assertFalse(EnumUtils.eq(GF_7_1_0, GF_6_2_5), "Equals for a > b shall be false."); + assertTrue(EnumUtils.eq(GF_7_1_0, GF_7_1_0), "Equals for a == b shall be true."); assertFalse(EnumUtils.eq(GF_4, GF_3), "Equals for a > b shall be false."); assertTrue(EnumUtils.eq(GF_4, GF_4), "Equals for a == b shall be true."); assertFalse(EnumUtils.eq(GF_3, GF_4), "Equals for a < b shall be false."); @@ -72,10 +72,10 @@ public void testEq() { */ @Test public void testNe() { - assertTrue(EnumUtils.ne(GF_8_0_0, GF_7_0_25), "Not equals for a > b shall be true."); + assertTrue(EnumUtils.ne(GF_8_0_0, GF_7_1_0), "Not equals for a > b shall be true."); assertFalse(EnumUtils.ne(GF_8_0_0, GF_8_0_0), "Not equals for a == b shall be false."); - assertTrue(EnumUtils.ne(GF_7_0_25, GF_6_2_5), "Not equals for a > b shall be true."); - assertFalse(EnumUtils.ne(GF_7_0_25, GF_7_0_25), "Not equals for a == b shall be false."); + assertTrue(EnumUtils.ne(GF_7_1_0, GF_6_2_5), "Not equals for a > b shall be true."); + assertFalse(EnumUtils.ne(GF_7_1_0, GF_7_1_0), "Not equals for a == b shall be false."); assertTrue(EnumUtils.ne(GF_4, GF_3), "Not equals for a > b shall be true."); assertFalse(EnumUtils.ne(GF_4, GF_4), "Not equals for a == b shall be false."); assertTrue(EnumUtils.ne(GF_3, GF_4), "Not equals for a < b shall be true."); @@ -96,10 +96,10 @@ public void testNe() { */ @Test public void testLt() { - assertFalse(EnumUtils.lt(GF_8_0_0, GF_7_0_25), "Less than for a > b shall be false."); + assertFalse(EnumUtils.lt(GF_8_0_0, GF_7_1_0), "Less than for a > b shall be false."); assertFalse(EnumUtils.lt(GF_8_0_0, GF_8_0_0), "Less than for a == b shall be false."); - assertFalse(EnumUtils.lt(GF_7_0_25, GF_6_2_5), "Less than for a > b shall be false."); - assertFalse(EnumUtils.lt(GF_7_0_25, GF_7_0_25), "Less than for a == b shall be false."); + assertFalse(EnumUtils.lt(GF_7_1_0, GF_6_2_5), "Less than for a > b shall be false."); + assertFalse(EnumUtils.lt(GF_7_1_0, GF_7_1_0), "Less than for a == b shall be false."); assertFalse(EnumUtils.lt(GF_4, GF_3), "Less than for a > b shall be false."); assertFalse(EnumUtils.lt(GF_4, GF_4), "Less than for a == b shall be false."); assertTrue(EnumUtils.lt(GF_3, GF_4), "Less than for a < b shall be true."); @@ -120,10 +120,10 @@ public void testLt() { */ @Test public void testLe() { - assertFalse(EnumUtils.le(GF_8_0_0, GF_7_0_25), "Less than or equal for a > b shall be false."); + assertFalse(EnumUtils.le(GF_8_0_0, GF_7_1_0), "Less than or equal for a > b shall be false."); assertTrue(EnumUtils.le(GF_8_0_0, GF_8_0_0), "Less than or equal for a == b shall be true."); - assertFalse(EnumUtils.le(GF_7_0_25, GF_6_2_5), "Less than or equal for a > b shall be false."); - assertTrue(EnumUtils.le(GF_7_0_25, GF_7_0_25), "Less than or equal for a == b shall be true."); + assertFalse(EnumUtils.le(GF_7_1_0, GF_6_2_5), "Less than or equal for a > b shall be false."); + assertTrue(EnumUtils.le(GF_7_1_0, GF_7_1_0), "Less than or equal for a == b shall be true."); assertFalse(EnumUtils.le(GF_4, GF_3), "Less than or equal for a > b shall be false."); assertTrue(EnumUtils.le(GF_4, GF_4), "Less than or equal for a == b shall be true."); assertTrue(EnumUtils.le(GF_3, GF_4), "Less than or equal for a < b shall be true."); @@ -144,10 +144,10 @@ public void testLe() { */ @Test public void testGt() { - assertTrue(EnumUtils.gt(GF_8_0_0, GF_7_0_25), "Greater than for a > b shall be true."); + assertTrue(EnumUtils.gt(GF_8_0_0, GF_7_1_0), "Greater than for a > b shall be true."); assertFalse(EnumUtils.gt(GF_8_0_0, GF_8_0_0), "Greater than for a == b shall be false."); - assertTrue(EnumUtils.gt(GF_7_0_25, GF_6_2_5), "Greater than for a > b shall be true."); - assertFalse(EnumUtils.gt(GF_7_0_25, GF_7_0_25), "Greater than for a == b shall be false."); + assertTrue(EnumUtils.gt(GF_7_1_0, GF_6_2_5), "Greater than for a > b shall be true."); + assertFalse(EnumUtils.gt(GF_7_1_0, GF_7_1_0), "Greater than for a == b shall be false."); assertTrue(EnumUtils.gt(GF_4, GF_3), "Greater than for a > b shall be true."); assertFalse(EnumUtils.gt(GF_4, GF_4), "Greater than for a == b shall be false."); assertFalse(EnumUtils.gt(GF_3, GF_4), "Greater than for a < b shall be false."); @@ -168,10 +168,10 @@ public void testGt() { */ @Test public void testGe() { - assertTrue(EnumUtils.ge(GF_8_0_0, GF_7_0_25), "Greater than or equal for a > b shall be true."); + assertTrue(EnumUtils.ge(GF_8_0_0, GF_7_1_0), "Greater than or equal for a > b shall be true."); assertTrue(EnumUtils.ge(GF_8_0_0, GF_8_0_0), "Greater than or equal for a == b shall be true."); - assertTrue(EnumUtils.ge(GF_7_0_25, GF_6_2_5), "Greater than or equal for a > b shall be true."); - assertTrue(EnumUtils.ge(GF_7_0_25, GF_7_0_25), "Greater than or equal for a == b shall be true."); + assertTrue(EnumUtils.ge(GF_7_1_0, GF_6_2_5), "Greater than or equal for a > b shall be true."); + assertTrue(EnumUtils.ge(GF_7_1_0, GF_7_1_0), "Greater than or equal for a == b shall be true."); assertTrue(EnumUtils.ge(GF_4, GF_3), "Greater than or equal for a > b shall be true."); assertTrue(EnumUtils.ge(GF_4, GF_4), "Greater than or equal for a == b shall be true."); assertFalse(EnumUtils.ge(GF_3, GF_4), "Greater than or equal for a < b shall be false."); From aadbe3ba4881d016bb78eee281927ffbfda49da7 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 8 Mar 2026 18:17:00 +0100 Subject: [PATCH 15/74] Bump ide cluster to release=17 skipped - xml.tax - xml.text.obsolete90 - o.n.agent - dlight.nativeexecution consolidated compiler args property edited db.mysql sig file (Thread.destroy() and stop() removal) dropped libwrappers (without sources) to their bytecode level if they had a javac property defined. --- ide/api.debugger/nbproject/project.properties | 2 +- ide/api.java.classpath/nbproject/project.properties | 2 +- ide/api.xml.ui/nbproject/project.properties | 2 +- ide/api.xml/nbproject/project.properties | 2 +- ide/bugtracking.bridge/nbproject/project.properties | 2 +- ide/bugtracking.commons/nbproject/project.properties | 2 +- ide/bugtracking/nbproject/project.properties | 2 +- ide/c.google.gson/nbproject/project.properties | 2 +- ide/c.google.guava.failureaccess/nbproject/project.properties | 2 +- ide/c.google.guava/nbproject/project.properties | 2 +- ide/code.analysis/nbproject/project.properties | 2 +- ide/core.browser.webview/nbproject/project.properties | 2 +- ide/core.browser/nbproject/project.properties | 2 +- ide/core.ide/nbproject/project.properties | 2 +- ide/core.multitabs.project/nbproject/project.properties | 2 +- ide/csl.types/nbproject/project.properties | 2 +- ide/css.editor/nbproject/project.properties | 2 +- ide/css.model/nbproject/project.properties | 2 +- ide/css.prep/nbproject/project.properties | 2 +- ide/css.visual/nbproject/project.properties | 4 ++-- ide/db.core/nbproject/project.properties | 4 ++-- ide/db.dataview/nbproject/project.properties | 2 +- ide/db.drivers/nbproject/project.properties | 2 +- ide/db.metadata.model/nbproject/project.properties | 2 +- ide/db.mysql/nbproject/org-netbeans-modules-db-mysql.sig | 4 ---- ide/db.mysql/nbproject/project.properties | 2 +- ide/db.sql.editor/nbproject/project.properties | 2 +- ide/db.sql.visualeditor/nbproject/project.properties | 2 +- ide/db/nbproject/project.properties | 2 +- ide/dbapi/nbproject/project.properties | 2 +- ide/derby/nbproject/project.properties | 4 ++-- ide/diff/nbproject/project.properties | 2 +- ide/dlight.nativeexecution.nb/nbproject/project.properties | 2 +- ide/dlight.terminal/nbproject/project.properties | 2 +- ide/docker.api/nbproject/project.properties | 2 +- ide/docker.editor/nbproject/project.properties | 2 +- ide/docker.ui/nbproject/project.properties | 2 +- ide/editor.actions/nbproject/project.properties | 4 ++-- ide/editor.autosave/nbproject/project.properties | 2 +- ide/editor.bookmarks/nbproject/project.properties | 2 +- ide/editor.bracesmatching/nbproject/project.properties | 2 +- ide/editor.breadcrumbs/nbproject/project.properties | 2 +- ide/editor.codetemplates/nbproject/project.properties | 2 +- ide/editor.completion/nbproject/project.properties | 4 ++-- .../nbproject/project.properties | 2 +- ide/editor.document/nbproject/project.properties | 2 +- ide/editor.errorstripe.api/nbproject/project.properties | 2 +- ide/editor.errorstripe/nbproject/project.properties | 2 +- ide/editor.fold.nbui/nbproject/project.properties | 2 +- ide/editor.fold/nbproject/project.properties | 2 +- ide/editor.global.format/nbproject/project.properties | 2 +- ide/editor.guards/nbproject/project.properties | 4 ++-- ide/editor.indent.project/nbproject/project.properties | 2 +- ide/editor.indent.support/nbproject/project.properties | 2 +- ide/editor.indent/nbproject/project.properties | 4 ++-- ide/editor.kit/nbproject/project.properties | 2 +- ide/editor.lib/nbproject/project.properties | 2 +- ide/editor.lib2/nbproject/project.properties | 4 ++-- ide/editor.macros/nbproject/project.properties | 2 +- ide/editor.plain.lib/nbproject/project.properties | 2 +- ide/editor.search/nbproject/project.properties | 2 +- ide/editor.settings.lib/nbproject/project.properties | 2 +- ide/editor.settings.storage/nbproject/project.properties | 4 ++-- ide/editor.settings/nbproject/project.properties | 2 +- ide/editor.structure/nbproject/project.properties | 4 ++-- ide/editor.tools.storage/nbproject/project.properties | 2 +- ide/editor.util/nbproject/project.properties | 4 ++-- ide/editor/nbproject/project.properties | 4 ++-- ide/extbrowser/nbproject/project.properties | 2 +- ide/extexecution.base/nbproject/project.properties | 2 +- ide/extexecution.impl/nbproject/project.properties | 2 +- ide/extexecution.process/nbproject/project.properties | 2 +- ide/extexecution/nbproject/project.properties | 2 +- ide/git/nbproject/project.properties | 2 +- ide/go.lang/nbproject/project.properties | 2 +- ide/gototest/nbproject/project.properties | 4 ++-- ide/gsf.codecoverage/nbproject/project.properties | 2 +- ide/gsf.testrunner.ui/nbproject/project.properties | 2 +- ide/gsf.testrunner/nbproject/project.properties | 2 +- ide/html.custom/nbproject/project.properties | 2 +- ide/html.editor.lib/nbproject/project.properties | 2 +- ide/html.editor/nbproject/project.properties | 4 ++-- ide/html.indexing/nbproject/project.properties | 2 +- ide/html.lexer/nbproject/project.properties | 4 ++-- ide/html.parser/nbproject/project.properties | 2 +- ide/html.validation/nbproject/project.properties | 2 +- ide/html/nbproject/project.properties | 4 ++-- ide/httpserver/nbproject/project.properties | 4 ++-- ide/hudson.git/nbproject/project.properties | 2 +- ide/hudson.mercurial/nbproject/project.properties | 2 +- ide/hudson.subversion/nbproject/project.properties | 2 +- ide/hudson.tasklist/nbproject/project.properties | 2 +- ide/hudson.ui/nbproject/project.properties | 2 +- ide/hudson/nbproject/project.properties | 2 +- ide/ide.kit/nbproject/project.properties | 2 +- ide/image/nbproject/project.properties | 2 +- ide/javascript2.debug.ui/nbproject/project.properties | 2 +- ide/javascript2.debug/nbproject/project.properties | 2 +- ide/jellytools.ide/nbproject/project.properties | 2 +- ide/jumpto/nbproject/project.properties | 2 +- ide/languages.diff/nbproject/project.properties | 2 +- ide/languages.go/nbproject/project.properties | 2 +- ide/languages.manifest/nbproject/project.properties | 2 +- ide/languages/nbproject/project.properties | 4 ++-- ide/lexer.antlr4/nbproject/project.properties | 4 ++-- ide/lexer.nbbridge/nbproject/project.properties | 4 ++-- ide/lexer/nbproject/project.properties | 4 ++-- ide/lib.terminalemulator/nbproject/project.properties | 2 +- ide/libs.antlr3.runtime/nbproject/project.properties | 2 +- ide/libs.antlr4.runtime/nbproject/project.properties | 2 +- ide/libs.commons_compress/nbproject/project.properties | 2 +- ide/libs.freemarker/nbproject/project.properties | 2 +- ide/libs.jaxb/nbproject/project.properties | 2 +- ide/libs.jsch.agentproxy/nbproject/project.properties | 2 +- ide/libs.svnClientAdapter.javahl/nbproject/project.properties | 2 +- ide/libs.svnClientAdapter/nbproject/project.properties | 2 +- ide/libs.tomljava/nbproject/project.properties | 2 +- ide/localhistory/nbproject/project.properties | 4 ++-- ide/markdown/nbproject/project.properties | 2 +- ide/mercurial/nbproject/project.properties | 4 ++-- ide/nativeimage.api/nbproject/project.properties | 2 +- ide/notifications/nbproject/project.properties | 2 +- ide/o.n.swing.dirchooser/nbproject/project.properties | 2 +- ide/o.openidex.util/nbproject/project.properties | 2 +- ide/options.editor/nbproject/project.properties | 2 +- ide/parsing.api/nbproject/project.properties | 2 +- ide/parsing.nb/nbproject/project.properties | 2 +- ide/parsing.ui/nbproject/project.properties | 2 +- ide/print.editor/nbproject/project.properties | 4 ++-- ide/project.ant.compat8/nbproject/project.properties | 2 +- ide/project.ant.ui/nbproject/project.properties | 2 +- ide/project.indexingbridge/nbproject/project.properties | 2 +- ide/project.libraries.ui/nbproject/project.properties | 2 +- ide/project.libraries/nbproject/project.properties | 2 +- ide/project.spi.intern.impl/nbproject/project.properties | 2 +- ide/project.spi.intern/nbproject/project.properties | 2 +- ide/projectapi.nb/nbproject/project.properties | 2 +- ide/projectui.buildmenu/nbproject/project.properties | 4 ++-- ide/projectui/nbproject/project.properties | 2 +- ide/projectuiapi.base/nbproject/project.properties | 2 +- ide/properties.syntax/nbproject/project.properties | 2 +- ide/properties/nbproject/project.properties | 4 ++-- ide/schema2beans/nbproject/project.properties | 2 +- ide/selenium2.server/nbproject/project.properties | 2 +- ide/selenium2/nbproject/project.properties | 2 +- ide/server/nbproject/project.properties | 2 +- ide/slf4j.api/nbproject/project.properties | 2 +- ide/spellchecker.apimodule/nbproject/project.properties | 4 ++-- .../nbproject/project.properties | 4 ++-- .../nbproject/project.properties | 4 ++-- ide/spellchecker.dictionary_en/nbproject/project.properties | 2 +- ide/spellchecker/nbproject/project.properties | 4 ++-- ide/spi.debugger.ui/nbproject/project.properties | 2 +- ide/spi.editor.hints.projects/nbproject/project.properties | 2 +- ide/spi.editor.hints/nbproject/project.properties | 4 ++-- ide/spi.navigator/nbproject/project.properties | 2 +- ide/spi.palette/nbproject/project.properties | 4 ++-- ide/spi.tasklist/nbproject/project.properties | 4 ++-- ide/spi.viewmodel/nbproject/project.properties | 4 ++-- ide/subversion/nbproject/project.properties | 4 ++-- ide/swing.validation/nbproject/project.properties | 2 +- ide/target.iterator/nbproject/project.properties | 2 +- ide/tasklist.projectint/nbproject/project.properties | 4 ++-- ide/tasklist.todo/nbproject/project.properties | 4 ++-- ide/tasklist.ui/nbproject/project.properties | 4 ++-- ide/team.commons/nbproject/project.properties | 2 +- ide/team.ide/nbproject/project.properties | 2 +- ide/terminal.nb/nbproject/project.properties | 2 +- ide/terminal/nbproject/project.properties | 2 +- ide/utilities.project/nbproject/project.properties | 4 ++-- ide/utilities/nbproject/project.properties | 2 +- ide/versioning.core/nbproject/project.properties | 2 +- ide/versioning.indexingbridge/nbproject/project.properties | 2 +- ide/versioning.masterfs/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/versioning.ui/nbproject/project.properties | 2 +- ide/versioning.util/nbproject/project.properties | 4 ++-- ide/versioning/nbproject/project.properties | 4 ++-- ide/web.browser.api/nbproject/project.properties | 2 +- ide/web.common.ui/nbproject/project.properties | 2 +- ide/web.common/nbproject/project.properties | 2 +- ide/web.indent/nbproject/project.properties | 2 +- ide/web.webkit.debugging/nbproject/project.properties | 2 +- ide/xml.axi/nbproject/project.properties | 2 +- ide/xml.catalog.ui/nbproject/project.properties | 2 +- ide/xml.catalog/nbproject/project.properties | 2 +- ide/xml.core/nbproject/project.properties | 2 +- ide/xml.jaxb.api/nbproject/project.properties | 2 +- ide/xml.lexer/nbproject/project.properties | 4 ++-- ide/xml.multiview/nbproject/project.properties | 2 +- ide/xml.retriever/nbproject/project.properties | 2 +- ide/xml.schema.completion/nbproject/project.properties | 2 +- ide/xml.schema.model/nbproject/project.properties | 2 +- ide/xml.text/nbproject/project.properties | 2 +- ide/xml.wsdl.model/nbproject/project.properties | 2 +- ide/xml.xam/nbproject/project.properties | 2 +- ide/xml.xdm/nbproject/project.properties | 2 +- ide/xml/nbproject/project.properties | 2 +- ide/xsl/nbproject/project.properties | 2 +- 199 files changed, 240 insertions(+), 244 deletions(-) diff --git a/ide/api.debugger/nbproject/project.properties b/ide/api.debugger/nbproject/project.properties index 9aeb00e66e50..d0c80499156d 100644 --- a/ide/api.debugger/nbproject/project.properties +++ b/ide/api.debugger/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/api.java.classpath/nbproject/project.properties b/ide/api.java.classpath/nbproject/project.properties index 9500b7bfdc7d..25b5615e44ed 100644 --- a/ide/api.java.classpath/nbproject/project.properties +++ b/ide/api.java.classpath/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/api.xml.ui/nbproject/project.properties b/ide/api.xml.ui/nbproject/project.properties index 62ef7b8821bf..ac84fc3166b0 100644 --- a/ide/api.xml.ui/nbproject/project.properties +++ b/ide/api.xml.ui/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint:all diff --git a/ide/api.xml/nbproject/project.properties b/ide/api.xml/nbproject/project.properties index ebf62ee5794e..2d84d6a2f3e2 100644 --- a/ide/api.xml/nbproject/project.properties +++ b/ide/api.xml/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.overview=${basedir}/doc/overview.html javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/bugtracking.bridge/nbproject/project.properties b/ide/bugtracking.bridge/nbproject/project.properties index c016567ef061..36ece3efea20 100644 --- a/ide/bugtracking.bridge/nbproject/project.properties +++ b/ide/bugtracking.bridge/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/ide/bugtracking.commons/nbproject/project.properties b/ide/bugtracking.commons/nbproject/project.properties index 430766bd6587..a000cf2a4e6c 100644 --- a/ide/bugtracking.commons/nbproject/project.properties +++ b/ide/bugtracking.commons/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/bugtracking/nbproject/project.properties b/ide/bugtracking/nbproject/project.properties index 6b2282f4eb1e..f4cc859d0b26 100644 --- a/ide/bugtracking/nbproject/project.properties +++ b/ide/bugtracking/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml diff --git a/ide/c.google.gson/nbproject/project.properties b/ide/c.google.gson/nbproject/project.properties index 51eec5562cca..c73ef103be5a 100644 --- a/ide/c.google.gson/nbproject/project.properties +++ b/ide/c.google.gson/nbproject/project.properties @@ -17,5 +17,5 @@ release.external/gson-2.13.2.jar=modules/com-google-gson.jar is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=8 nbm.module.author=Jan Lahoda diff --git a/ide/c.google.guava.failureaccess/nbproject/project.properties b/ide/c.google.guava.failureaccess/nbproject/project.properties index a57a244f5095..b44483d3c596 100644 --- a/ide/c.google.guava.failureaccess/nbproject/project.properties +++ b/ide/c.google.guava.failureaccess/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=8 spec.version.base=1.10.0 release.external/failureaccess-1.0.3.jar=modules/com-google-guava-failureaccess.jar is.autoload=true diff --git a/ide/c.google.guava/nbproject/project.properties b/ide/c.google.guava/nbproject/project.properties index 115d5001ba71..8104553cced2 100644 --- a/ide/c.google.guava/nbproject/project.properties +++ b/ide/c.google.guava/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=8 spec.version.base=27.25.0 release.external/guava-33.4.6-jre.jar=modules/com-google-guava.jar is.autoload=true diff --git a/ide/code.analysis/nbproject/project.properties b/ide/code.analysis/nbproject/project.properties index f275d82341e2..e7e4b541ff87 100644 --- a/ide/code.analysis/nbproject/project.properties +++ b/ide/code.analysis/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml diff --git a/ide/core.browser.webview/nbproject/project.properties b/ide/core.browser.webview/nbproject/project.properties index e558d54e2291..4a932bad36f9 100644 --- a/ide/core.browser.webview/nbproject/project.properties +++ b/ide/core.browser.webview/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.47.0 is.eager=true diff --git a/ide/core.browser/nbproject/project.properties b/ide/core.browser/nbproject/project.properties index 621b5367f0d5..e299d94f01b1 100644 --- a/ide/core.browser/nbproject/project.properties +++ b/ide/core.browser/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.60.0 diff --git a/ide/core.ide/nbproject/project.properties b/ide/core.ide/nbproject/project.properties index c71f08b92e01..26626464843e 100644 --- a/ide/core.ide/nbproject/project.properties +++ b/ide/core.ide/nbproject/project.properties @@ -22,7 +22,7 @@ extra.module.files=\ netbeans.css,\ shortcuts.pdf javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/core.multitabs.project/nbproject/project.properties b/ide/core.multitabs.project/nbproject/project.properties index 29f85c9476c3..985195076aad 100644 --- a/ide/core.multitabs.project/nbproject/project.properties +++ b/ide/core.multitabs.project/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial nbm.needs.restart=true spec.version.base=1.42.0 diff --git a/ide/csl.types/nbproject/project.properties b/ide/csl.types/nbproject/project.properties index d84cfa8d8432..fd57c6a13870 100644 --- a/ide/csl.types/nbproject/project.properties +++ b/ide/csl.types/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml diff --git a/ide/css.editor/nbproject/project.properties b/ide/css.editor/nbproject/project.properties index 91a7d0213ae0..4de590d38fc0 100644 --- a/ide/css.editor/nbproject/project.properties +++ b/ide/css.editor/nbproject/project.properties @@ -25,7 +25,7 @@ jnlp.indirect.files=\ docs/css3-spec.zip javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/css.model/nbproject/project.properties b/ide/css.model/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/ide/css.model/nbproject/project.properties +++ b/ide/css.model/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/css.prep/nbproject/project.properties b/ide/css.prep/nbproject/project.properties index 27d7471907b2..21961627f3e6 100644 --- a/ide/css.prep/nbproject/project.properties +++ b/ide/css.prep/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. auxiliary.org-netbeans-modules-css-prep.less_2e_configured=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial test-unit-sys-prop.netbeans.dirs=${netbeans.dest.dir}/${nb.cluster.ide.dir} diff --git a/ide/css.visual/nbproject/project.properties b/ide/css.visual/nbproject/project.properties index 0b07c7a1fe5c..dc9fbad54ade 100644 --- a/ide/css.visual/nbproject/project.properties +++ b/ide/css.visual/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. cp.extra= -javac.compilerargs=\ -Xlint:unchecked -Xlint -Xlint:-serial -javac.source=1.8 +javac.compilerargs=-Xlint -Xlint:-serial +javac.release=17 test.config.stable.includes=\ **/CSSTest.class diff --git a/ide/db.core/nbproject/project.properties b/ide/db.core/nbproject/project.properties index 8ff3d4525258..48ef671cc4ef 100644 --- a/ide/db.core/nbproject/project.properties +++ b/ide/db.core/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/db.dataview/nbproject/project.properties b/ide/db.dataview/nbproject/project.properties index b25e67e223fb..dd301b304885 100644 --- a/ide/db.dataview/nbproject/project.properties +++ b/ide/db.dataview/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial release.external/commons-csv-1.8.jar=modules/ext/commons-csv-1.8.jar release.external/fastexcel-0.10.15.jar=modules/ext/fastexcel-0.10.15.jar diff --git a/ide/db.drivers/nbproject/project.properties b/ide/db.drivers/nbproject/project.properties index a393a8d8b842..c47e3a56ff72 100644 --- a/ide/db.drivers/nbproject/project.properties +++ b/ide/db.drivers/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=8 release.external/postgresql-42.5.4.jar=modules/ext/postgresql-42.5.4.jar jnlp.indirect.jars=\ modules/ext/postgresql-42.5.4.jar diff --git a/ide/db.metadata.model/nbproject/project.properties b/ide/db.metadata.model/nbproject/project.properties index ae79a54baf36..2a63c52236ef 100644 --- a/ide/db.metadata.model/nbproject/project.properties +++ b/ide/db.metadata.model/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial test.unit.cp.extra=external/derby-10.14.2.0.jar\:external/mysql-connector-j-8.0.31.jar diff --git a/ide/db.mysql/nbproject/org-netbeans-modules-db-mysql.sig b/ide/db.mysql/nbproject/org-netbeans-modules-db-mysql.sig index 543fcc98394e..dbebdca456cd 100644 --- a/ide/db.mysql/nbproject/org-netbeans-modules-db-mysql.sig +++ b/ide/db.mysql/nbproject/org-netbeans-modules-db-mysql.sig @@ -516,8 +516,6 @@ meth public final void setName(java.lang.String) meth public final void setPriority(int) meth public final void stop() anno 0 java.lang.Deprecated() -meth public final void stop(java.lang.Throwable) - anno 0 java.lang.Deprecated() meth public final void suspend() anno 0 java.lang.Deprecated() meth public int countStackFrames() @@ -540,8 +538,6 @@ meth public static void setDefaultUncaughtExceptionHandler(java.lang.Thread$Unca meth public static void sleep(long) throws java.lang.InterruptedException meth public static void sleep(long,int) throws java.lang.InterruptedException meth public static void yield() -meth public void destroy() - anno 0 java.lang.Deprecated() meth public void interrupt() meth public void run() meth public void setContextClassLoader(java.lang.ClassLoader) diff --git a/ide/db.mysql/nbproject/project.properties b/ide/db.mysql/nbproject/project.properties index 609b65725bbb..2397df305361 100644 --- a/ide/db.mysql/nbproject/project.properties +++ b/ide/db.mysql/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=0.60.0 diff --git a/ide/db.sql.editor/nbproject/project.properties b/ide/db.sql.editor/nbproject/project.properties index 116bd9df4d55..69a5ce1742f0 100644 --- a/ide/db.sql.editor/nbproject/project.properties +++ b/ide/db.sql.editor/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 spec.version.base=1.69.0 # org-netbeans-core: for /xml/lookups in the default fs diff --git a/ide/db.sql.visualeditor/nbproject/project.properties b/ide/db.sql.visualeditor/nbproject/project.properties index 15d840db3b3f..1ef0e25a8c32 100644 --- a/ide/db.sql.visualeditor/nbproject/project.properties +++ b/ide/db.sql.visualeditor/nbproject/project.properties @@ -17,7 +17,7 @@ #is.autoload=true #cp.extra=${ravelibs/jsf.dir}/${nb.modules.dir}/ext/jsf-api.jar -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml module.javadoc.packages= org.netbeans.modules.db.sql.visualeditor.api diff --git a/ide/db/nbproject/project.properties b/ide/db/nbproject/project.properties index d24e8a34cf0f..ca6c799bee04 100644 --- a/ide/db/nbproject/project.properties +++ b/ide/db/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.release=11 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/dbapi/nbproject/project.properties b/ide/dbapi/nbproject/project.properties index 4309d13f7c8e..ac299f1c7660 100644 --- a/ide/dbapi/nbproject/project.properties +++ b/ide/dbapi/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml spec.version.base=1.66.0 diff --git a/ide/derby/nbproject/project.properties b/ide/derby/nbproject/project.properties index 6cfb63da61c8..f91cca36ace9 100644 --- a/ide/derby/nbproject/project.properties +++ b/ide/derby/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 -javac.compilerargs=-Xlint:unchecked +javac.release=17 +javac.compilerargs=-Xlint release.build/derbysampledb.zip=modules/ext/derbysampledb.zip extra.module.files=modules/ext/derbysampledb.zip diff --git a/ide/diff/nbproject/project.properties b/ide/diff/nbproject/project.properties index b329b35ec9cf..4c7353038851 100644 --- a/ide/diff/nbproject/project.properties +++ b/ide/diff/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 spec.version.base=1.83.0 diff --git a/ide/dlight.nativeexecution.nb/nbproject/project.properties b/ide/dlight.nativeexecution.nb/nbproject/project.properties index b43e802366e6..d941511a1098 100644 --- a/ide/dlight.nativeexecution.nb/nbproject/project.properties +++ b/ide/dlight.nativeexecution.nb/nbproject/project.properties @@ -16,5 +16,5 @@ # under the License. is.autoload=true -javac.release=11 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/dlight.terminal/nbproject/project.properties b/ide/dlight.terminal/nbproject/project.properties index 69da12ca5ef3..8ada4ebb2801 100644 --- a/ide/dlight.terminal/nbproject/project.properties +++ b/ide/dlight.terminal/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.56.0 diff --git a/ide/docker.api/nbproject/project.properties b/ide/docker.api/nbproject/project.properties index 03384ede93c1..955d44060391 100644 --- a/ide/docker.api/nbproject/project.properties +++ b/ide/docker.api/nbproject/project.properties @@ -18,5 +18,5 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/docker.editor/nbproject/project.properties b/ide/docker.editor/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/ide/docker.editor/nbproject/project.properties +++ b/ide/docker.editor/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/docker.ui/nbproject/project.properties b/ide/docker.ui/nbproject/project.properties index 7edff8d0fcf6..156f51b1300c 100644 --- a/ide/docker.ui/nbproject/project.properties +++ b/ide/docker.ui/nbproject/project.properties @@ -17,4 +17,4 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/editor.actions/nbproject/project.properties b/ide/editor.actions/nbproject/project.properties index b9d7a3f7e207..59d5be75d8d7 100644 --- a/ide/editor.actions/nbproject/project.properties +++ b/ide/editor.actions/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.title=Editor Actions spec.version.base=1.63.0 diff --git a/ide/editor.autosave/nbproject/project.properties b/ide/editor.autosave/nbproject/project.properties index cae05ca6fedc..04066f57969b 100644 --- a/ide/editor.autosave/nbproject/project.properties +++ b/ide/editor.autosave/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.title=Editor Autosave is.eager=true diff --git a/ide/editor.bookmarks/nbproject/project.properties b/ide/editor.bookmarks/nbproject/project.properties index bb82bc17bbf2..44e23b200b14 100644 --- a/ide/editor.bookmarks/nbproject/project.properties +++ b/ide/editor.bookmarks/nbproject/project.properties @@ -18,6 +18,6 @@ #javadoc.arch=${basedir}/arch/arch-editor-bookmarks.xml #test.qa-functional.cp.extra=${editor/bookmarks.dir}/modules/org-netbeans-modules-editor-bookmarks.jar:${editor.dir}/modules/org-netbeans-modules-editor.jar:${editor.dir}/modules/org-netbeans-modules-editor-lib.jar:${nb_all}/editor/build/test/qa-functional/classes javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 # #178009 disable.qa-functional.tests=true diff --git a/ide/editor.bracesmatching/nbproject/project.properties b/ide/editor.bracesmatching/nbproject/project.properties index a4aa57de513a..8d5fcf0f02bc 100644 --- a/ide/editor.bracesmatching/nbproject/project.properties +++ b/ide/editor.bracesmatching/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/editor.breadcrumbs/nbproject/project.properties b/ide/editor.breadcrumbs/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/ide/editor.breadcrumbs/nbproject/project.properties +++ b/ide/editor.breadcrumbs/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/editor.codetemplates/nbproject/project.properties b/ide/editor.codetemplates/nbproject/project.properties index 0deccc49ae07..e6da3ed1560c 100644 --- a/ide/editor.codetemplates/nbproject/project.properties +++ b/ide/editor.codetemplates/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 #javadoc.name=EditorCodeTemplates javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.completion/nbproject/project.properties b/ide/editor.completion/nbproject/project.properties index 22a7f7479095..66daab49e4e1 100644 --- a/ide/editor.completion/nbproject/project.properties +++ b/ide/editor.completion/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml spec.version.base=1.77.0 diff --git a/ide/editor.deprecated.pre65formatting/nbproject/project.properties b/ide/editor.deprecated.pre65formatting/nbproject/project.properties index fe97c3b58421..1678a33dac06 100644 --- a/ide/editor.deprecated.pre65formatting/nbproject/project.properties +++ b/ide/editor.deprecated.pre65formatting/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.63.0 diff --git a/ide/editor.document/nbproject/project.properties b/ide/editor.document/nbproject/project.properties index 6cd365eed9f4..f6a5407a2031 100644 --- a/ide/editor.document/nbproject/project.properties +++ b/ide/editor.document/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.41.0 javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.errorstripe.api/nbproject/project.properties b/ide/editor.errorstripe.api/nbproject/project.properties index 32e605a107e6..e3973350dd58 100644 --- a/ide/editor.errorstripe.api/nbproject/project.properties +++ b/ide/editor.errorstripe.api/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 spec.version.base=2.64.0 is.autoload=true diff --git a/ide/editor.errorstripe/nbproject/project.properties b/ide/editor.errorstripe/nbproject/project.properties index 638f8b54f68c..c70ea345ed4f 100644 --- a/ide/editor.errorstripe/nbproject/project.properties +++ b/ide/editor.errorstripe/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 spec.version.base=2.66.0 nbm.needs.restart=true diff --git a/ide/editor.fold.nbui/nbproject/project.properties b/ide/editor.fold.nbui/nbproject/project.properties index c2f04533f0a9..531837e3e9a7 100644 --- a/ide/editor.fold.nbui/nbproject/project.properties +++ b/ide/editor.fold.nbui/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml spec.version.base=1.44.0 diff --git a/ide/editor.fold/nbproject/project.properties b/ide/editor.fold/nbproject/project.properties index 184dfc56f287..0ea15e48df35 100644 --- a/ide/editor.fold/nbproject/project.properties +++ b/ide/editor.fold/nbproject/project.properties @@ -20,6 +20,6 @@ javadoc.apichanges=${basedir}/apichanges.xml #javadoc.base=../../../editor/fold #cp.extra= -javac.source=1.8 +javac.release=17 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/editor.global.format/nbproject/project.properties b/ide/editor.global.format/nbproject/project.properties index e2794a766a2e..cbf75d5f8ea7 100644 --- a/ide/editor.global.format/nbproject/project.properties +++ b/ide/editor.global.format/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.47.0 diff --git a/ide/editor.guards/nbproject/project.properties b/ide/editor.guards/nbproject/project.properties index 9f0dc1065e50..03612b4aff45 100644 --- a/ide/editor.guards/nbproject/project.properties +++ b/ide/editor.guards/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.indent.project/nbproject/project.properties b/ide/editor.indent.project/nbproject/project.properties index b8f7915731e2..db2656bd6d9c 100644 --- a/ide/editor.indent.project/nbproject/project.properties +++ b/ide/editor.indent.project/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.indent.support/nbproject/project.properties b/ide/editor.indent.support/nbproject/project.properties index 92cd5ba2b34f..bd7dd4f645f4 100644 --- a/ide/editor.indent.support/nbproject/project.properties +++ b/ide/editor.indent.support/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/editor.indent/nbproject/project.properties b/ide/editor.indent/nbproject/project.properties index 192ab0d55bef..75c481dab3a4 100644 --- a/ide/editor.indent/nbproject/project.properties +++ b/ide/editor.indent/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 -javac.compilerargs=-Xlint:unchecked +javac.release=17 +javac.compilerargs=-Xlint javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/editor.kit/nbproject/project.properties b/ide/editor.kit/nbproject/project.properties index 8c6d610bb467..4ee60455ff59 100644 --- a/ide/editor.kit/nbproject/project.properties +++ b/ide/editor.kit/nbproject/project.properties @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/editor.lib/nbproject/project.properties b/ide/editor.lib/nbproject/project.properties index d524db5c586f..712889b37b55 100644 --- a/ide/editor.lib/nbproject/project.properties +++ b/ide/editor.lib/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 spec.version.base=4.39.0 is.autoload=true diff --git a/ide/editor.lib2/nbproject/project.properties b/ide/editor.lib2/nbproject/project.properties index a4b2e0709b7f..db5825660dd0 100644 --- a/ide/editor.lib2/nbproject/project.properties +++ b/ide/editor.lib2/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.source=1.8 -javac.compilerargs=-Xlint:unchecked +javac.release=17 +javac.compilerargs=-Xlint spec.version.base=2.52.0 javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.macros/nbproject/project.properties b/ide/editor.macros/nbproject/project.properties index 2de1af4ffad5..2b1005d383a3 100644 --- a/ide/editor.macros/nbproject/project.properties +++ b/ide/editor.macros/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 spec.version.base=1.63.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/editor.plain.lib/nbproject/project.properties b/ide/editor.plain.lib/nbproject/project.properties index ed47f0e7ae15..bd6fc0cefe2a 100644 --- a/ide/editor.plain.lib/nbproject/project.properties +++ b/ide/editor.plain.lib/nbproject/project.properties @@ -17,4 +17,4 @@ #javadoc.arch=${basedir}/arch/arch-editor-plain-lib.xml javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/editor.search/nbproject/project.properties b/ide/editor.search/nbproject/project.properties index ff6215532afe..75707f92a74d 100644 --- a/ide/editor.search/nbproject/project.properties +++ b/ide/editor.search/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.57.0 diff --git a/ide/editor.settings.lib/nbproject/project.properties b/ide/editor.settings.lib/nbproject/project.properties index 43bd0e632f95..50f5decc891d 100644 --- a/ide/editor.settings.lib/nbproject/project.properties +++ b/ide/editor.settings.lib/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.83.0 diff --git a/ide/editor.settings.storage/nbproject/project.properties b/ide/editor.settings.storage/nbproject/project.properties index 4beec386b2bb..24438f3e8daa 100644 --- a/ide/editor.settings.storage/nbproject/project.properties +++ b/ide/editor.settings.storage/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.eager=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml spec.version.base=1.84.0 diff --git a/ide/editor.settings/nbproject/project.properties b/ide/editor.settings/nbproject/project.properties index 9dfa211a1a4f..d38a57790371 100644 --- a/ide/editor.settings/nbproject/project.properties +++ b/ide/editor.settings/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.compilerargs=-Xlint:all -javac.source=1.8 +javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.structure/nbproject/project.properties b/ide/editor.structure/nbproject/project.properties index 3609c159e824..ace064723a89 100644 --- a/ide/editor.structure/nbproject/project.properties +++ b/ide/editor.structure/nbproject/project.properties @@ -17,9 +17,9 @@ -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint -javac.source=1.8 +javac.release=17 spec.version.base=1.79.0 diff --git a/ide/editor.tools.storage/nbproject/project.properties b/ide/editor.tools.storage/nbproject/project.properties index f275d82341e2..e7e4b541ff87 100644 --- a/ide/editor.tools.storage/nbproject/project.properties +++ b/ide/editor.tools.storage/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.util/nbproject/project.properties b/ide/editor.util/nbproject/project.properties index c929f3dee75f..827f617cac14 100644 --- a/ide/editor.util/nbproject/project.properties +++ b/ide/editor.util/nbproject/project.properties @@ -17,8 +17,8 @@ is.autoload=true javadoc.arch=${basedir}/arch.xml -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.title=Editor Utilities javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/editor/nbproject/project.properties b/ide/editor/nbproject/project.properties index b38279427f8c..784dccc45c38 100644 --- a/ide/editor/nbproject/project.properties +++ b/ide/editor/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 spec.version.base=1.119.0 is.autoload=true diff --git a/ide/extbrowser/nbproject/project.properties b/ide/extbrowser/nbproject/project.properties index 94f37e8e0b83..5d90cab0220a 100644 --- a/ide/extbrowser/nbproject/project.properties +++ b/ide/extbrowser/nbproject/project.properties @@ -17,7 +17,7 @@ javadoc.arch=${basedir}/arch.xml # test.unit.cp.extra and/or test.unit.run.cp.extra -javac.source=1.8 +javac.release=17 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ **/ExtWebBrowserTest.class,\ diff --git a/ide/extexecution.base/nbproject/project.properties b/ide/extexecution.base/nbproject/project.properties index b247d7849c13..6f5df72d8c51 100644 --- a/ide/extexecution.base/nbproject/project.properties +++ b/ide/extexecution.base/nbproject/project.properties @@ -17,7 +17,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/extexecution.impl/nbproject/project.properties b/ide/extexecution.impl/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/ide/extexecution.impl/nbproject/project.properties +++ b/ide/extexecution.impl/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/extexecution.process/nbproject/project.properties b/ide/extexecution.process/nbproject/project.properties index c8282a2b27ae..de1fef033f86 100644 --- a/ide/extexecution.process/nbproject/project.properties +++ b/ide/extexecution.process/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=11 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial \ No newline at end of file diff --git a/ide/extexecution/nbproject/project.properties b/ide/extexecution/nbproject/project.properties index b247d7849c13..6f5df72d8c51 100644 --- a/ide/extexecution/nbproject/project.properties +++ b/ide/extexecution/nbproject/project.properties @@ -17,7 +17,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/git/nbproject/project.properties b/ide/git/nbproject/project.properties index a3606d7535fc..f546c5f6b429 100644 --- a/ide/git/nbproject/project.properties +++ b/ide/git/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 nbm.homepage=http://netbeans.org/projects/versioncontrol/pages/Git_main nbm.module.author=Ondrej Vrabec diff --git a/ide/go.lang/nbproject/project.properties b/ide/go.lang/nbproject/project.properties index 471cf8bb1d6d..d068d6ae5002 100644 --- a/ide/go.lang/nbproject/project.properties +++ b/ide/go.lang/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 # As of 2nd Jan 2023, we use the Grammar from: # https://github.com/antlr/grammars-v4/tree/4794c0c5371ce6b0711a306256f8f7706394ec6d/golang diff --git a/ide/gototest/nbproject/project.properties b/ide/gototest/nbproject/project.properties index f13d48d407ca..ccffc0dcdf17 100644 --- a/ide/gototest/nbproject/project.properties +++ b/ide/gototest/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 is.autoload=true diff --git a/ide/gsf.codecoverage/nbproject/project.properties b/ide/gsf.codecoverage/nbproject/project.properties index 7e46c73bfe3b..7fed355a4ad6 100644 --- a/ide/gsf.codecoverage/nbproject/project.properties +++ b/ide/gsf.codecoverage/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial ant.jar=${ant.core.lib} diff --git a/ide/gsf.testrunner.ui/nbproject/project.properties b/ide/gsf.testrunner.ui/nbproject/project.properties index 20653a432dd8..1015e106e6e9 100644 --- a/ide/gsf.testrunner.ui/nbproject/project.properties +++ b/ide/gsf.testrunner.ui/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.apichanges=${basedir}/apichanges.xml spec.version.base=1.47.0 diff --git a/ide/gsf.testrunner/nbproject/project.properties b/ide/gsf.testrunner/nbproject/project.properties index 9c1cd1ca196a..343ef96b3ffd 100644 --- a/ide/gsf.testrunner/nbproject/project.properties +++ b/ide/gsf.testrunner/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/html.custom/nbproject/project.properties b/ide/html.custom/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/ide/html.custom/nbproject/project.properties +++ b/ide/html.custom/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/html.editor.lib/nbproject/project.properties b/ide/html.editor.lib/nbproject/project.properties index 405964cc971b..39fef70d5a4b 100644 --- a/ide/html.editor.lib/nbproject/project.properties +++ b/ide/html.editor.lib/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 #javadoc.arch=${basedir}/arch/arch-html-editor-lib.xml test.config.stableBTD.includes=**/*Test.class diff --git a/ide/html.editor/nbproject/project.properties b/ide/html.editor/nbproject/project.properties index 221d2e3f1b13..aa4e56a5773c 100644 --- a/ide/html.editor/nbproject/project.properties +++ b/ide/html.editor/nbproject/project.properties @@ -17,8 +17,8 @@ release.external/html-4.01.zip=docs/html-4.01.zip -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 jnlp.verify.excludes=docs/html-4.01.zip test.config.stableBTD.includes=**/*Test.class diff --git a/ide/html.indexing/nbproject/project.properties b/ide/html.indexing/nbproject/project.properties index 3a3208dcaf98..5d80cd1072e0 100644 --- a/ide/html.indexing/nbproject/project.properties +++ b/ide/html.indexing/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial is.autoload=true diff --git a/ide/html.lexer/nbproject/project.properties b/ide/html.lexer/nbproject/project.properties index e53a310f4412..531a97a52e22 100644 --- a/ide/html.lexer/nbproject/project.properties +++ b/ide/html.lexer/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 #javadoc.arch=${basedir}/arch.xml #javadoc.apichanges=${basedir}/apichanges.xml javadoc.title=HTML Lexer API diff --git a/ide/html.parser/nbproject/project.properties b/ide/html.parser/nbproject/project.properties index ee5bd428d4f8..f21cc69ce47b 100644 --- a/ide/html.parser/nbproject/project.properties +++ b/ide/html.parser/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 release.external/htmlparser-1.4.20190624.jar=modules/ext/html5-parser.jar release.external/html5doc.zip=docs/html5doc.zip diff --git a/ide/html.validation/nbproject/project.properties b/ide/html.validation/nbproject/project.properties index ae91acceb383..a99f81234791 100644 --- a/ide/html.validation/nbproject/project.properties +++ b/ide/html.validation/nbproject/project.properties @@ -32,7 +32,7 @@ release.external/salvation-2.7.2.jar=modules/ext/salvation.jar release.external/galimatias-0.1.3.jar=modules/ext/galimatias.jar release.external/langdetect-1.2.jar=modules/ext/langdetect.jar -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/ide/html/nbproject/project.properties b/ide/html/nbproject/project.properties index e4381910daa6..951974bb0529 100644 --- a/ide/html/nbproject/project.properties +++ b/ide/html/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml diff --git a/ide/httpserver/nbproject/project.properties b/ide/httpserver/nbproject/project.properties index ce178fbcd971..3e365a93e4eb 100644 --- a/ide/httpserver/nbproject/project.properties +++ b/ide/httpserver/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 spec.version.base=2.68.0 release.external/tomcat-embed-core-9.0.113.jar=modules/ext/webserver.jar release.external/tomcat-annotations-api-9.0.113.jar=modules/ext/webserver-annotations.jar diff --git a/ide/hudson.git/nbproject/project.properties b/ide/hudson.git/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/hudson.git/nbproject/project.properties +++ b/ide/hudson.git/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/hudson.mercurial/nbproject/project.properties b/ide/hudson.mercurial/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/hudson.mercurial/nbproject/project.properties +++ b/ide/hudson.mercurial/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/hudson.subversion/nbproject/project.properties b/ide/hudson.subversion/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/hudson.subversion/nbproject/project.properties +++ b/ide/hudson.subversion/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/hudson.tasklist/nbproject/project.properties b/ide/hudson.tasklist/nbproject/project.properties index b5744765ef3b..507fda5846b0 100644 --- a/ide/hudson.tasklist/nbproject/project.properties +++ b/ide/hudson.tasklist/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/ide/hudson.ui/nbproject/project.properties b/ide/hudson.ui/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/ide/hudson.ui/nbproject/project.properties +++ b/ide/hudson.ui/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/hudson/nbproject/project.properties b/ide/hudson/nbproject/project.properties index 13ec89a74cbd..3040d851ad5a 100644 --- a/ide/hudson/nbproject/project.properties +++ b/ide/hudson/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/ide.kit/nbproject/project.properties b/ide/ide.kit/nbproject/project.properties index 32b952f319d2..61e1ad3425d9 100644 --- a/ide/ide.kit/nbproject/project.properties +++ b/ide/ide.kit/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 test.config.commit.includes=\ org/netbeans/modules/ide/kit/Verify*.class diff --git a/ide/image/nbproject/project.properties b/ide/image/nbproject/project.properties index 8c6d610bb467..4ee60455ff59 100644 --- a/ide/image/nbproject/project.properties +++ b/ide/image/nbproject/project.properties @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/javascript2.debug.ui/nbproject/project.properties b/ide/javascript2.debug.ui/nbproject/project.properties index 5599f73ac260..77c7c8568eb8 100644 --- a/ide/javascript2.debug.ui/nbproject/project.properties +++ b/ide/javascript2.debug.ui/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml is.autoload=true diff --git a/ide/javascript2.debug/nbproject/project.properties b/ide/javascript2.debug/nbproject/project.properties index 5599f73ac260..77c7c8568eb8 100644 --- a/ide/javascript2.debug/nbproject/project.properties +++ b/ide/javascript2.debug/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml is.autoload=true diff --git a/ide/jellytools.ide/nbproject/project.properties b/ide/jellytools.ide/nbproject/project.properties index fa9737139e7b..fb0afd5b997d 100644 --- a/ide/jellytools.ide/nbproject/project.properties +++ b/ide/jellytools.ide/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=3.65.0 diff --git a/ide/jumpto/nbproject/project.properties b/ide/jumpto/nbproject/project.properties index d6c9cc7ae544..6dd2db3e45a2 100644 --- a/ide/jumpto/nbproject/project.properties +++ b/ide/jumpto/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/languages.diff/nbproject/project.properties b/ide/languages.diff/nbproject/project.properties index 8c6d610bb467..4ee60455ff59 100644 --- a/ide/languages.diff/nbproject/project.properties +++ b/ide/languages.diff/nbproject/project.properties @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/languages.go/nbproject/project.properties b/ide/languages.go/nbproject/project.properties index c216e1f04931..a829154e419c 100644 --- a/ide/languages.go/nbproject/project.properties +++ b/ide/languages.go/nbproject/project.properties @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 diff --git a/ide/languages.manifest/nbproject/project.properties b/ide/languages.manifest/nbproject/project.properties index 8c6d610bb467..4ee60455ff59 100644 --- a/ide/languages.manifest/nbproject/project.properties +++ b/ide/languages.manifest/nbproject/project.properties @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/languages/nbproject/project.properties b/ide/languages/nbproject/project.properties index 928c1056524c..0f6420658c59 100644 --- a/ide/languages/nbproject/project.properties +++ b/ide/languages/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. build.compiler.deprecation=false is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml spec.version.base=1.153.0 diff --git a/ide/lexer.antlr4/nbproject/project.properties b/ide/lexer.antlr4/nbproject/project.properties index 6cfbcd7ed8ca..5a22408b0a43 100644 --- a/ide/lexer.antlr4/nbproject/project.properties +++ b/ide/lexer.antlr4/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml spec.version.base=1.14.0 diff --git a/ide/lexer.nbbridge/nbproject/project.properties b/ide/lexer.nbbridge/nbproject/project.properties index 55dcdf66df20..17b2148b0017 100644 --- a/ide/lexer.nbbridge/nbproject/project.properties +++ b/ide/lexer.nbbridge/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml spec.version.base=1.64.0 diff --git a/ide/lexer/nbproject/project.properties b/ide/lexer/nbproject/project.properties index f841123f72ce..e2848ee31a0a 100644 --- a/ide/lexer/nbproject/project.properties +++ b/ide/lexer/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml spec.version.base=1.95.0 diff --git a/ide/lib.terminalemulator/nbproject/project.properties b/ide/lib.terminalemulator/nbproject/project.properties index 80d2ba58d96b..e9b64b41c82d 100644 --- a/ide/lib.terminalemulator/nbproject/project.properties +++ b/ide/lib.terminalemulator/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml nbm.homepage=http://wiki.netbeans.org/TerminalEmulator diff --git a/ide/libs.antlr3.runtime/nbproject/project.properties b/ide/libs.antlr3.runtime/nbproject/project.properties index 438654590cca..fce46e8d448d 100644 --- a/ide/libs.antlr3.runtime/nbproject/project.properties +++ b/ide/libs.antlr3.runtime/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true -javac.source=1.8 +javac.release=8 release.external/antlr-runtime-3.5.3.jar=modules/ext/antlr-runtime-3.5.3.jar license.file=../external/antlr-3.5.3-license.txt diff --git a/ide/libs.antlr4.runtime/nbproject/project.properties b/ide/libs.antlr4.runtime/nbproject/project.properties index 8e7b3fa99a81..6b4094b61e80 100644 --- a/ide/libs.antlr4.runtime/nbproject/project.properties +++ b/ide/libs.antlr4.runtime/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=8 release.external/antlr4-runtime-4.13.1.jar=modules/ext/antlr4-runtime-4.13.1.jar license.file=../external/antlr4-runtime-4.13.1-license.txt diff --git a/ide/libs.commons_compress/nbproject/project.properties b/ide/libs.commons_compress/nbproject/project.properties index fca3398066fd..dba3c3594eb7 100644 --- a/ide/libs.commons_compress/nbproject/project.properties +++ b/ide/libs.commons_compress/nbproject/project.properties @@ -17,6 +17,6 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=8 release.external/commons-compress-1.27.1.jar=modules/ext/commons-compress-1.27.1.jar spec.version.base=0.38.0 diff --git a/ide/libs.freemarker/nbproject/project.properties b/ide/libs.freemarker/nbproject/project.properties index 82c945ef9e89..b73a7ac52d00 100644 --- a/ide/libs.freemarker/nbproject/project.properties +++ b/ide/libs.freemarker/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 release.external/freemarker-2.3.34.jar=modules/ext/freemarker-2.3.34.jar module.jar.verifylinkageignores=freemarker.((ext.ant.FreemarkerXmlTask)|(template.DefaultObjectWrapper)) diff --git a/ide/libs.jaxb/nbproject/project.properties b/ide/libs.jaxb/nbproject/project.properties index feb3eb38d30a..c41915be8096 100644 --- a/ide/libs.jaxb/nbproject/project.properties +++ b/ide/libs.jaxb/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=8 javac.compilerargs=-Xlint -Xlint:-serial jnlp.indirect.jars=\ diff --git a/ide/libs.jsch.agentproxy/nbproject/project.properties b/ide/libs.jsch.agentproxy/nbproject/project.properties index ce8f36bee469..84cdad10b75e 100644 --- a/ide/libs.jsch.agentproxy/nbproject/project.properties +++ b/ide/libs.jsch.agentproxy/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 sigtest.gen.fail.on.error=false diff --git a/ide/libs.svnClientAdapter.javahl/nbproject/project.properties b/ide/libs.svnClientAdapter.javahl/nbproject/project.properties index 8d8baf9d921b..4d49f7eaa5ec 100644 --- a/ide/libs.svnClientAdapter.javahl/nbproject/project.properties +++ b/ide/libs.svnClientAdapter.javahl/nbproject/project.properties @@ -17,7 +17,7 @@ is.eager=true -javac.source=1.8 +javac.release=17 release.external/adapter-javahl-1.14.0.jar=modules/ext/adapter-javahl.jar release.external/javahl-1.14.0.jar=modules/ext/javahl.jar diff --git a/ide/libs.svnClientAdapter/nbproject/project.properties b/ide/libs.svnClientAdapter/nbproject/project.properties index 1dd722b7b370..eed4dab344a3 100644 --- a/ide/libs.svnClientAdapter/nbproject/project.properties +++ b/ide/libs.svnClientAdapter/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true -javac.source=1.8 +javac.release=17 release.external/adapter-base-1.14.0.jar=modules/ext/adapter-base.jar # Hidden class found: org.tigris.subversion.svnclientadapter.commandline.CommandLine$CmdArguments in method protected byte[] org.tigris.subversion.svnclientadapter.commandline.SvnCommandLine.execBytes(org.tigris.subversion.svnclientadapter.commandline.CommandLine$CmdArguments,boolean) throws java.lang.Exception in class org.tigris.subversion.svnclientadapter.commandline.SvnCommandLine diff --git a/ide/libs.tomljava/nbproject/project.properties b/ide/libs.tomljava/nbproject/project.properties index fc3fd8cfb743..51923a3bfabd 100644 --- a/ide/libs.tomljava/nbproject/project.properties +++ b/ide/libs.tomljava/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=8 javac.compilerargs=-Xlint -Xlint:-serial release.external/toml-java-13.5.1.jar=modules/ext/toml-java-13.5.1.jar diff --git a/ide/localhistory/nbproject/project.properties b/ide/localhistory/nbproject/project.properties index b9c94cafcbb1..f6936ba54c81 100644 --- a/ide/localhistory/nbproject/project.properties +++ b/ide/localhistory/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. nbm.needs.restart=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 #qa-functional test.qa-functional.cp.extra=${openide.nodes.dir}/modules/org-openide-nodes.jar:\ ${openide.util.dir}/lib/org-openide-util.jar:${openide.util.ui.dir}/lib/org-openide-util-ui.jar diff --git a/ide/markdown/nbproject/project.properties b/ide/markdown/nbproject/project.properties index 5137752915a4..60729d846776 100644 --- a/ide/markdown/nbproject/project.properties +++ b/ide/markdown/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/mercurial/nbproject/project.properties b/ide/mercurial/nbproject/project.properties index 2edccb03dabd..eab93ca5f14c 100644 --- a/ide/mercurial/nbproject/project.properties +++ b/ide/mercurial/nbproject/project.properties @@ -14,8 +14,8 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 nbm.homepage=http://wiki.netbeans.org/wiki/view/MercurialVersionControl nbm.module.author=John Rice and Padraig O'Briain nbm.needs.restart=true diff --git a/ide/nativeimage.api/nbproject/project.properties b/ide/nativeimage.api/nbproject/project.properties index 5137752915a4..60729d846776 100644 --- a/ide/nativeimage.api/nbproject/project.properties +++ b/ide/nativeimage.api/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/notifications/nbproject/project.properties b/ide/notifications/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/ide/notifications/nbproject/project.properties +++ b/ide/notifications/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/o.n.swing.dirchooser/nbproject/project.properties b/ide/o.n.swing.dirchooser/nbproject/project.properties index 1e961cce9e9a..f5c7ea32f956 100644 --- a/ide/o.n.swing.dirchooser/nbproject/project.properties +++ b/ide/o.n.swing.dirchooser/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=11 +javac.release=17 javadoc.arch=${basedir}/arch.xml diff --git a/ide/o.openidex.util/nbproject/project.properties b/ide/o.openidex.util/nbproject/project.properties index cf56d429104f..ed0cad1c92b1 100644 --- a/ide/o.openidex.util/nbproject/project.properties +++ b/ide/o.openidex.util/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/options.editor/nbproject/project.properties b/ide/options.editor/nbproject/project.properties index 0f6ffac917aa..db0b99765173 100644 --- a/ide/options.editor/nbproject/project.properties +++ b/ide/options.editor/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/parsing.api/nbproject/project.properties b/ide/parsing.api/nbproject/project.properties index 79dcbeaf2825..a84221607202 100644 --- a/ide/parsing.api/nbproject/project.properties +++ b/ide/parsing.api/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml spec.version.base=9.39.0 diff --git a/ide/parsing.nb/nbproject/project.properties b/ide/parsing.nb/nbproject/project.properties index 68f22cc1dd78..20fe2edd4a89 100644 --- a/ide/parsing.nb/nbproject/project.properties +++ b/ide/parsing.nb/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.36.0 #javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/parsing.ui/nbproject/project.properties b/ide/parsing.ui/nbproject/project.properties index 9cc525d78535..1404b1dc2b7d 100644 --- a/ide/parsing.ui/nbproject/project.properties +++ b/ide/parsing.ui/nbproject/project.properties @@ -16,5 +16,5 @@ # under the License. is.eager=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 spec.version.base=1.46.0 diff --git a/ide/print.editor/nbproject/project.properties b/ide/print.editor/nbproject/project.properties index 0bc35ea821de..c0dc6a02439a 100644 --- a/ide/print.editor/nbproject/project.properties +++ b/ide/print.editor/nbproject/project.properties @@ -16,5 +16,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 -javac.compilerargs=-Xlint:unchecked +javac.release=17 +javac.compilerargs=-Xlint diff --git a/ide/project.ant.compat8/nbproject/project.properties b/ide/project.ant.compat8/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/ide/project.ant.compat8/nbproject/project.properties +++ b/ide/project.ant.compat8/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/project.ant.ui/nbproject/project.properties b/ide/project.ant.ui/nbproject/project.properties index 76caffeadae8..bba55675b483 100644 --- a/ide/project.ant.ui/nbproject/project.properties +++ b/ide/project.ant.ui/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/project.indexingbridge/nbproject/project.properties b/ide/project.indexingbridge/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/ide/project.indexingbridge/nbproject/project.properties +++ b/ide/project.indexingbridge/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/project.libraries.ui/nbproject/project.properties b/ide/project.libraries.ui/nbproject/project.properties index 82c84fb9aab0..bd382a87eb5c 100644 --- a/ide/project.libraries.ui/nbproject/project.properties +++ b/ide/project.libraries.ui/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/project.libraries/nbproject/project.properties b/ide/project.libraries/nbproject/project.properties index 1dbf76083b08..d0b3e38b8699 100644 --- a/ide/project.libraries/nbproject/project.properties +++ b/ide/project.libraries/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/project.spi.intern.impl/nbproject/project.properties b/ide/project.spi.intern.impl/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/project.spi.intern.impl/nbproject/project.properties +++ b/ide/project.spi.intern.impl/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/project.spi.intern/nbproject/project.properties b/ide/project.spi.intern/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/ide/project.spi.intern/nbproject/project.properties +++ b/ide/project.spi.intern/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/projectapi.nb/nbproject/project.properties b/ide/projectapi.nb/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/projectapi.nb/nbproject/project.properties +++ b/ide/projectapi.nb/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/projectui.buildmenu/nbproject/project.properties b/ide/projectui.buildmenu/nbproject/project.properties index 21580f0a7e28..e19236b7b654 100644 --- a/ide/projectui.buildmenu/nbproject/project.properties +++ b/ide/projectui.buildmenu/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 spec.version.base=1.58.0 diff --git a/ide/projectui/nbproject/project.properties b/ide/projectui/nbproject/project.properties index 450d21c96f8a..e6eb152cc1ac 100644 --- a/ide/projectui/nbproject/project.properties +++ b/ide/projectui/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 spec.version.base=1.91.0 diff --git a/ide/projectuiapi.base/nbproject/project.properties b/ide/projectuiapi.base/nbproject/project.properties index e6d15d122e14..68ca7d879479 100644 --- a/ide/projectuiapi.base/nbproject/project.properties +++ b/ide/projectuiapi.base/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 spec.version.base=1.118.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/properties.syntax/nbproject/project.properties b/ide/properties.syntax/nbproject/project.properties index 6e935a3f45e5..302748ed40cd 100644 --- a/ide/properties.syntax/nbproject/project.properties +++ b/ide/properties.syntax/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/properties/nbproject/project.properties b/ide/properties/nbproject/project.properties index 10e1bedf2b0a..a83e7cd7ab82 100644 --- a/ide/properties/nbproject/project.properties +++ b/ide/properties/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml test.config.create.includes=org/netbeans/properties/jelly2tests/suites/creating_properties_file/*Test.class diff --git a/ide/schema2beans/nbproject/project.properties b/ide/schema2beans/nbproject/project.properties index 38cdeddc0447..cbe1b5cc82c4 100644 --- a/ide/schema2beans/nbproject/project.properties +++ b/ide/schema2beans/nbproject/project.properties @@ -19,4 +19,4 @@ is.autoload=true cp.extra=\ ${ant.core.lib} javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 diff --git a/ide/selenium2.server/nbproject/project.properties b/ide/selenium2.server/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/selenium2.server/nbproject/project.properties +++ b/ide/selenium2.server/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/selenium2/nbproject/project.properties b/ide/selenium2/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/selenium2/nbproject/project.properties +++ b/ide/selenium2/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/server/nbproject/project.properties b/ide/server/nbproject/project.properties index 5caac2271be3..aae5520c72f7 100644 --- a/ide/server/nbproject/project.properties +++ b/ide/server/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/slf4j.api/nbproject/project.properties b/ide/slf4j.api/nbproject/project.properties index 11a94b29cb67..e1061a0e0199 100644 --- a/ide/slf4j.api/nbproject/project.properties +++ b/ide/slf4j.api/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=8 release.external/slf4j-api-1.7.36.jar=modules/slf4j-api.jar is.autoload=true diff --git a/ide/spellchecker.apimodule/nbproject/project.properties b/ide/spellchecker.apimodule/nbproject/project.properties index 93aded380628..74030d245b62 100644 --- a/ide/spellchecker.apimodule/nbproject/project.properties +++ b/ide/spellchecker.apimodule/nbproject/project.properties @@ -17,8 +17,8 @@ # under the License. # is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml nbm.homepage=http://spellchecker.netbeans.org nbm.module.author=Jan Lahoda diff --git a/ide/spellchecker.bindings.htmlxml/nbproject/project.properties b/ide/spellchecker.bindings.htmlxml/nbproject/project.properties index 892f758075ba..c87210dd5127 100644 --- a/ide/spellchecker.bindings.htmlxml/nbproject/project.properties +++ b/ide/spellchecker.bindings.htmlxml/nbproject/project.properties @@ -16,8 +16,8 @@ # specific language governing permissions and limitations # under the License. # -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 is.eager=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/spellchecker.bindings.properties/nbproject/project.properties b/ide/spellchecker.bindings.properties/nbproject/project.properties index 3dc88525da25..41e40e9c2e8e 100644 --- a/ide/spellchecker.bindings.properties/nbproject/project.properties +++ b/ide/spellchecker.bindings.properties/nbproject/project.properties @@ -16,8 +16,8 @@ # specific language governing permissions and limitations # under the License. # -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 is.eager=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/spellchecker.dictionary_en/nbproject/project.properties b/ide/spellchecker.dictionary_en/nbproject/project.properties index 2dac7a94bab0..fcb122feaef4 100644 --- a/ide/spellchecker.dictionary_en/nbproject/project.properties +++ b/ide/spellchecker.dictionary_en/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 release.external/wordlist-en_GB-large-2017.08.24.zip=modules/dict/wordlist-en_GB-large-2017.08.24.zip release.external/wordlist-en_US-large-2017.08.24.zip=modules/dict/wordlist-en_US-large-2017.08.24.zip jnlp.indirect.files=modules/dict/dictionary_en_US.description,modules/dict/dictionary_en_GB.description,modules/dict/dictionary_en.description,modules/dict/wordlist-en_GB-large-2017.08.24.zip,modules/dict/wordlist-en_US-large-2017.08.24.zip diff --git a/ide/spellchecker/nbproject/project.properties b/ide/spellchecker/nbproject/project.properties index df6bbd054a97..31005e37b05c 100644 --- a/ide/spellchecker/nbproject/project.properties +++ b/ide/spellchecker/nbproject/project.properties @@ -16,8 +16,8 @@ # specific language governing permissions and limitations # under the License. # -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 nbm.homepage=http://spellchecker.netbeans.org nbm.module.author=Jan Lahoda spec.version.base=1.67.0 diff --git a/ide/spi.debugger.ui/nbproject/project.properties b/ide/spi.debugger.ui/nbproject/project.properties index 91c069f2dd47..78f417abaa8b 100644 --- a/ide/spi.debugger.ui/nbproject/project.properties +++ b/ide/spi.debugger.ui/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/spi.editor.hints.projects/nbproject/project.properties b/ide/spi.editor.hints.projects/nbproject/project.properties index 40b6ca976467..2a7b55a83744 100644 --- a/ide/spi.editor.hints.projects/nbproject/project.properties +++ b/ide/spi.editor.hints.projects/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/spi.editor.hints/nbproject/project.properties b/ide/spi.editor.hints/nbproject/project.properties index c992d7ba6d0f..a9636ece099a 100644 --- a/ide/spi.editor.hints/nbproject/project.properties +++ b/ide/spi.editor.hints/nbproject/project.properties @@ -14,8 +14,8 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml spec.version.base=1.74.0 diff --git a/ide/spi.navigator/nbproject/project.properties b/ide/spi.navigator/nbproject/project.properties index c0bf2776dfe9..8da43ae33793 100644 --- a/ide/spi.navigator/nbproject/project.properties +++ b/ide/spi.navigator/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/spi.palette/nbproject/project.properties b/ide/spi.palette/nbproject/project.properties index e4c8d1248b17..f6955433ebaa 100644 --- a/ide/spi.palette/nbproject/project.properties +++ b/ide/spi.palette/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/spi.tasklist/nbproject/project.properties b/ide/spi.tasklist/nbproject/project.properties index ee7e786a91ac..9c22e88101ae 100644 --- a/ide/spi.tasklist/nbproject/project.properties +++ b/ide/spi.tasklist/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml spec.version.base=1.67.0 diff --git a/ide/spi.viewmodel/nbproject/project.properties b/ide/spi.viewmodel/nbproject/project.properties index 0a0d93d87d41..d37f6d15984a 100644 --- a/ide/spi.viewmodel/nbproject/project.properties +++ b/ide/spi.viewmodel/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml # Need extra runtime dependency on modules which are loaded transitively: diff --git a/ide/subversion/nbproject/project.properties b/ide/subversion/nbproject/project.properties index d112f8dc0bc8..90df159225de 100644 --- a/ide/subversion/nbproject/project.properties +++ b/ide/subversion/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. spec.version.base=1.74.0 -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 #qa-functional test.qa-functional.cp.extra=${openide.nodes.dir}/modules/org-openide-nodes.jar:\${openide.util.dir}/lib/org-openide-util.jar:${openide.util.ui.dir}/lib/org-openide-util-ui.jar diff --git a/ide/swing.validation/nbproject/project.properties b/ide/swing.validation/nbproject/project.properties index 0ec8b7cbdcea..d68190bacb1c 100644 --- a/ide/swing.validation/nbproject/project.properties +++ b/ide/swing.validation/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml nbm.homepage=https://github.com/timboudreau/simplevalidation/ diff --git a/ide/target.iterator/nbproject/project.properties b/ide/target.iterator/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/ide/target.iterator/nbproject/project.properties +++ b/ide/target.iterator/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/tasklist.projectint/nbproject/project.properties b/ide/tasklist.projectint/nbproject/project.properties index 4d3d434757d8..7242281aa288 100644 --- a/ide/tasklist.projectint/nbproject/project.properties +++ b/ide/tasklist.projectint/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 diff --git a/ide/tasklist.todo/nbproject/project.properties b/ide/tasklist.todo/nbproject/project.properties index 0223ae552a70..102445c6d91a 100644 --- a/ide/tasklist.todo/nbproject/project.properties +++ b/ide/tasklist.todo/nbproject/project.properties @@ -14,8 +14,8 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 spec.version.base=1.63.0 #hook for apisupport TestBase test-unit-sys-prop.test.nbcvsroot=${nb_all} diff --git a/ide/tasklist.ui/nbproject/project.properties b/ide/tasklist.ui/nbproject/project.properties index 791a1ec9f915..2f709fd774f5 100644 --- a/ide/tasklist.ui/nbproject/project.properties +++ b/ide/tasklist.ui/nbproject/project.properties @@ -14,8 +14,8 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 spec.version.base=1.63.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/team.commons/nbproject/project.properties b/ide/team.commons/nbproject/project.properties index f275d82341e2..e7e4b541ff87 100644 --- a/ide/team.commons/nbproject/project.properties +++ b/ide/team.commons/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml diff --git a/ide/team.ide/nbproject/project.properties b/ide/team.ide/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/team.ide/nbproject/project.properties +++ b/ide/team.ide/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/terminal.nb/nbproject/project.properties b/ide/terminal.nb/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/ide/terminal.nb/nbproject/project.properties +++ b/ide/terminal.nb/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/terminal/nbproject/project.properties b/ide/terminal/nbproject/project.properties index 6672471687b4..475bdb851c12 100644 --- a/ide/terminal/nbproject/project.properties +++ b/ide/terminal/nbproject/project.properties @@ -25,7 +25,7 @@ auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.inden auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.spaces-per-tab=8 auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.tab-size=8 auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-limit-width=80 -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml nbm.homepage=http://wiki.netbeans.org/TerminalEmulator diff --git a/ide/utilities.project/nbproject/project.properties b/ide/utilities.project/nbproject/project.properties index cba3c3e4cc8b..71a34f488c84 100644 --- a/ide/utilities.project/nbproject/project.properties +++ b/ide/utilities.project/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.eager=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/utilities/nbproject/project.properties b/ide/utilities/nbproject/project.properties index 2fdb0bcfdb08..e625cc3c4dfd 100644 --- a/ide/utilities/nbproject/project.properties +++ b/ide/utilities/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -#javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml diff --git a/ide/versioning.core/nbproject/project.properties b/ide/versioning.core/nbproject/project.properties index 8bfcfba1247d..bc4b9d915825 100644 --- a/ide/versioning.core/nbproject/project.properties +++ b/ide/versioning.core/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 javadoc.name=Versioning diff --git a/ide/versioning.indexingbridge/nbproject/project.properties b/ide/versioning.indexingbridge/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/versioning.indexingbridge/nbproject/project.properties +++ b/ide/versioning.indexingbridge/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/versioning.masterfs/nbproject/project.properties b/ide/versioning.masterfs/nbproject/project.properties index 3fadda45068f..f86061d0204b 100644 --- a/ide/versioning.masterfs/nbproject/project.properties +++ b/ide/versioning.masterfs/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial test-unit-sys-prop.work.dir=${basedir}/build/test/unit/work \ No newline at end of file diff --git a/ide/versioning.system.cvss.installer/nbproject/project.properties b/ide/versioning.system.cvss.installer/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/ide/versioning.system.cvss.installer/nbproject/project.properties +++ b/ide/versioning.system.cvss.installer/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/versioning.ui/nbproject/project.properties b/ide/versioning.ui/nbproject/project.properties index 728c55ec267d..9c68d0965fb0 100644 --- a/ide/versioning.ui/nbproject/project.properties +++ b/ide/versioning.ui/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.eager=true -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=17 spec.version.base=1.55.0 diff --git a/ide/versioning.util/nbproject/project.properties b/ide/versioning.util/nbproject/project.properties index 317b70c1baea..8e181b7622b8 100644 --- a/ide/versioning.util/nbproject/project.properties +++ b/ide/versioning.util/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.release=11 +javac.compilerargs=-Xlint +javac.release=17 javadoc.name=Versioning Support Utilities spec.version.base=2.8.0 diff --git a/ide/versioning/nbproject/project.properties b/ide/versioning/nbproject/project.properties index 9822f827d24b..e7403b0c5bfc 100644 --- a/ide/versioning/nbproject/project.properties +++ b/ide/versioning/nbproject/project.properties @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.name=Versioning spec.version.base=1.79.0 diff --git a/ide/web.browser.api/nbproject/project.properties b/ide/web.browser.api/nbproject/project.properties index 49efc468653b..a55ed6fd07c5 100644 --- a/ide/web.browser.api/nbproject/project.properties +++ b/ide/web.browser.api/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial ant.jar=${ant.core.lib} diff --git a/ide/web.common.ui/nbproject/project.properties b/ide/web.common.ui/nbproject/project.properties index 8eb137779f70..d4aba834bb57 100644 --- a/ide/web.common.ui/nbproject/project.properties +++ b/ide/web.common.ui/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/ide/web.common/nbproject/project.properties b/ide/web.common/nbproject/project.properties index 6b98cd2b9d1f..8075069bda44 100644 --- a/ide/web.common/nbproject/project.properties +++ b/ide/web.common/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/web.indent/nbproject/project.properties b/ide/web.indent/nbproject/project.properties index 1f187157c6a8..9732eb4c1f39 100644 --- a/ide/web.indent/nbproject/project.properties +++ b/ide/web.indent/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial is.autoload=true \ No newline at end of file diff --git a/ide/web.webkit.debugging/nbproject/project.properties b/ide/web.webkit.debugging/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/ide/web.webkit.debugging/nbproject/project.properties +++ b/ide/web.webkit.debugging/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/xml.axi/nbproject/project.properties b/ide/xml.axi/nbproject/project.properties index 47550a6be8e3..ca795662f768 100644 --- a/ide/xml.axi/nbproject/project.properties +++ b/ide/xml.axi/nbproject/project.properties @@ -18,7 +18,7 @@ # is.autoload=true -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml test.config.stableBTD.includes=**/*Test.class diff --git a/ide/xml.catalog.ui/nbproject/project.properties b/ide/xml.catalog.ui/nbproject/project.properties index affaea1b508e..2e8f375876ad 100644 --- a/ide/xml.catalog.ui/nbproject/project.properties +++ b/ide/xml.catalog.ui/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=2.35.0 diff --git a/ide/xml.catalog/nbproject/project.properties b/ide/xml.catalog/nbproject/project.properties index ee4b2a5e7016..bfa35243549d 100644 --- a/ide/xml.catalog/nbproject/project.properties +++ b/ide/xml.catalog/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 spec.version.base=3.36.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/xml.core/nbproject/project.properties b/ide/xml.core/nbproject/project.properties index d8f2d7155d6e..96e4e79c3ca9 100644 --- a/ide/xml.core/nbproject/project.properties +++ b/ide/xml.core/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 spec.version.base=1.75.0 is.autoload=true diff --git a/ide/xml.jaxb.api/nbproject/project.properties b/ide/xml.jaxb.api/nbproject/project.properties index 01a1705b8b38..52d06ed9ffcc 100644 --- a/ide/xml.jaxb.api/nbproject/project.properties +++ b/ide/xml.jaxb.api/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=8 javac.compilerargs=-Xlint -Xlint:-serial jnlp.indirect.jars=\ diff --git a/ide/xml.lexer/nbproject/project.properties b/ide/xml.lexer/nbproject/project.properties index f76ed6d477a4..9b94f8bbee2a 100644 --- a/ide/xml.lexer/nbproject/project.properties +++ b/ide/xml.lexer/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/xml.multiview/nbproject/project.properties b/ide/xml.multiview/nbproject/project.properties index 3b6084a7f2b4..6a09ef59a609 100644 --- a/ide/xml.multiview/nbproject/project.properties +++ b/ide/xml.multiview/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml spec.version.base=1.70.0 is.autoload=true diff --git a/ide/xml.retriever/nbproject/project.properties b/ide/xml.retriever/nbproject/project.properties index 6079e461a049..28fe3e674643 100644 --- a/ide/xml.retriever/nbproject/project.properties +++ b/ide/xml.retriever/nbproject/project.properties @@ -17,7 +17,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/xml.schema.completion/nbproject/project.properties b/ide/xml.schema.completion/nbproject/project.properties index 3582e2f03712..918d00735aaa 100644 --- a/ide/xml.schema.completion/nbproject/project.properties +++ b/ide/xml.schema.completion/nbproject/project.properties @@ -16,5 +16,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml diff --git a/ide/xml.schema.model/nbproject/project.properties b/ide/xml.schema.model/nbproject/project.properties index 7c10361232db..7c79c38d5162 100644 --- a/ide/xml.schema.model/nbproject/project.properties +++ b/ide/xml.schema.model/nbproject/project.properties @@ -18,7 +18,7 @@ # is.autoload=true -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml spec.version.base=1.64.0 diff --git a/ide/xml.text/nbproject/project.properties b/ide/xml.text/nbproject/project.properties index 147b3d73811d..0130da64f5b7 100644 --- a/ide/xml.text/nbproject/project.properties +++ b/ide/xml.text/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 test.unit.cp.extra=${openide.dir}/core/openide.jar:${openide.loaders.dir}/core/openide-loaders.jar test.unit.run.cp.extra=${test.unit.cp.extra} diff --git a/ide/xml.wsdl.model/nbproject/project.properties b/ide/xml.wsdl.model/nbproject/project.properties index 1d79707170ce..b24e1f5b17d0 100644 --- a/ide/xml.wsdl.model/nbproject/project.properties +++ b/ide/xml.wsdl.model/nbproject/project.properties @@ -18,7 +18,7 @@ # is.autoload=true -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml spec.version.base=1.65.0 release.external/generated-wsdl-xsd-2004.08.24.jar=modules/ext/generated-wsdl-xsd-2004.08.24.jar diff --git a/ide/xml.xam/nbproject/project.properties b/ide/xml.xam/nbproject/project.properties index c55b3f9d880d..19886f88136b 100644 --- a/ide/xml.xam/nbproject/project.properties +++ b/ide/xml.xam/nbproject/project.properties @@ -18,7 +18,7 @@ # is.autoload=true -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml spec.version.base=1.64.0 diff --git a/ide/xml.xdm/nbproject/project.properties b/ide/xml.xdm/nbproject/project.properties index d9768b089f5d..1c83b898b121 100644 --- a/ide/xml.xdm/nbproject/project.properties +++ b/ide/xml.xdm/nbproject/project.properties @@ -18,7 +18,7 @@ # is.autoload=true -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml spec.version.base=1.66.0 diff --git a/ide/xml/nbproject/project.properties b/ide/xml/nbproject/project.properties index d6848efc77df..9486f8625421 100644 --- a/ide/xml/nbproject/project.properties +++ b/ide/xml/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 is.autoload=true javadoc.packages=\ diff --git a/ide/xsl/nbproject/project.properties b/ide/xsl/nbproject/project.properties index 52c357a969c6..fb296c95bcd4 100644 --- a/ide/xsl/nbproject/project.properties +++ b/ide/xsl/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 test.config.stableBTD.includes=**/*Test.class From 9228dc24c21b5f5b761635ac254bdf7a19e51d48 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 8 Mar 2026 17:18:44 +0100 Subject: [PATCH 16/74] Bump php cluster to release=21 --- php/hudson.php/nbproject/project.properties | 2 +- php/languages.neon/nbproject/project.properties | 2 +- php/php.api.annotation/nbproject/project.properties | 2 +- php/php.api.documentation/nbproject/project.properties | 2 +- php/php.api.editor/nbproject/project.properties | 2 +- php/php.api.executable/nbproject/project.properties | 2 +- php/php.api.framework/nbproject/project.properties | 2 +- php/php.api.phpmodule/nbproject/project.properties | 2 +- php/php.api.templates/nbproject/project.properties | 2 +- php/php.api.testing/nbproject/project.properties | 2 +- php/php.apigen/nbproject/project.properties | 2 +- php/php.atoum/nbproject/project.properties | 2 +- php/php.code.analysis/nbproject/project.properties | 2 +- php/php.codeception/nbproject/project.properties | 2 +- php/php.composer/nbproject/project.properties | 2 +- php/php.dbgp/nbproject/project.properties | 2 +- php/php.doctrine2/nbproject/project.properties | 2 +- php/php.editor/nbproject/project.properties | 2 +- php/php.kit/nbproject/project.properties | 2 +- php/php.latte/nbproject/project.properties | 2 +- php/php.nette.tester/nbproject/project.properties | 2 +- php/php.nette2/nbproject/project.properties | 2 +- php/php.phing/nbproject/project.properties | 2 +- php/php.phpdoc/nbproject/project.properties | 2 +- php/php.phpunit/nbproject/project.properties | 2 +- php/php.project/nbproject/project.properties | 2 +- php/php.refactoring/nbproject/project.properties | 2 +- php/php.samples/nbproject/project.properties | 2 +- php/php.smarty/nbproject/project.properties | 2 +- php/php.symfony/nbproject/project.properties | 2 +- php/php.symfony2/nbproject/project.properties | 2 +- php/php.twig/nbproject/project.properties | 2 +- php/php.zend/nbproject/project.properties | 2 +- php/php.zend2/nbproject/project.properties | 2 +- php/selenium2.php/nbproject/project.properties | 2 +- php/spellchecker.bindings.php/nbproject/project.properties | 2 +- php/websvc.saas.codegen.php/nbproject/project.properties | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/php/hudson.php/nbproject/project.properties b/php/hudson.php/nbproject/project.properties index ee2e82fe015a..5b0b05e3d8ff 100644 --- a/php/hudson.php/nbproject/project.properties +++ b/php/hudson.php/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/languages.neon/nbproject/project.properties b/php/languages.neon/nbproject/project.properties index f4e932deb55b..4553703f0c1d 100644 --- a/php/languages.neon/nbproject/project.properties +++ b/php/languages.neon/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.api.annotation/nbproject/project.properties b/php/php.api.annotation/nbproject/project.properties index a4cdd1eb824c..d32fb35c7739 100644 --- a/php/php.api.annotation/nbproject/project.properties +++ b/php/php.api.annotation/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/php/php.api.documentation/nbproject/project.properties b/php/php.api.documentation/nbproject/project.properties index a4cdd1eb824c..d32fb35c7739 100644 --- a/php/php.api.documentation/nbproject/project.properties +++ b/php/php.api.documentation/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/php/php.api.editor/nbproject/project.properties b/php/php.api.editor/nbproject/project.properties index a4cdd1eb824c..d32fb35c7739 100644 --- a/php/php.api.editor/nbproject/project.properties +++ b/php/php.api.editor/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/php/php.api.executable/nbproject/project.properties b/php/php.api.executable/nbproject/project.properties index a4cdd1eb824c..d32fb35c7739 100644 --- a/php/php.api.executable/nbproject/project.properties +++ b/php/php.api.executable/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/php/php.api.framework/nbproject/project.properties b/php/php.api.framework/nbproject/project.properties index a4cdd1eb824c..d32fb35c7739 100644 --- a/php/php.api.framework/nbproject/project.properties +++ b/php/php.api.framework/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/php/php.api.phpmodule/nbproject/project.properties b/php/php.api.phpmodule/nbproject/project.properties index 012b1a2d560a..42615029a03e 100644 --- a/php/php.api.phpmodule/nbproject/project.properties +++ b/php/php.api.phpmodule/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/php/php.api.templates/nbproject/project.properties b/php/php.api.templates/nbproject/project.properties index f4e932deb55b..4553703f0c1d 100644 --- a/php/php.api.templates/nbproject/project.properties +++ b/php/php.api.templates/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.api.testing/nbproject/project.properties b/php/php.api.testing/nbproject/project.properties index a4cdd1eb824c..d32fb35c7739 100644 --- a/php/php.api.testing/nbproject/project.properties +++ b/php/php.api.testing/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial test.config.stableBTD.includes=**/*Test.class diff --git a/php/php.apigen/nbproject/project.properties b/php/php.apigen/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.apigen/nbproject/project.properties +++ b/php/php.apigen/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.atoum/nbproject/project.properties b/php/php.atoum/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.atoum/nbproject/project.properties +++ b/php/php.atoum/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.code.analysis/nbproject/project.properties b/php/php.code.analysis/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.code.analysis/nbproject/project.properties +++ b/php/php.code.analysis/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.codeception/nbproject/project.properties b/php/php.codeception/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.codeception/nbproject/project.properties +++ b/php/php.codeception/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.composer/nbproject/project.properties b/php/php.composer/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.composer/nbproject/project.properties +++ b/php/php.composer/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.dbgp/nbproject/project.properties b/php/php.dbgp/nbproject/project.properties index 623fd4377904..025d3ba1ebb2 100644 --- a/php/php.dbgp/nbproject/project.properties +++ b/php/php.dbgp/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/php/php.doctrine2/nbproject/project.properties b/php/php.doctrine2/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.doctrine2/nbproject/project.properties +++ b/php/php.doctrine2/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.editor/nbproject/project.properties b/php/php.editor/nbproject/project.properties index 2f416c9bb717..5c70e1dee00c 100644 --- a/php/php.editor/nbproject/project.properties +++ b/php/php.editor/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial nbjavac.ignore.missing.enclosing=**/CUP$ASTPHP5Parser$actions.class nbm.needs.restart=true diff --git a/php/php.kit/nbproject/project.properties b/php/php.kit/nbproject/project.properties index 4a45bfaee803..8f8cb4028362 100644 --- a/php/php.kit/nbproject/project.properties +++ b/php/php.kit/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.release=17 +javac.release=21 nbm.needs.restart=true diff --git a/php/php.latte/nbproject/project.properties b/php/php.latte/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.latte/nbproject/project.properties +++ b/php/php.latte/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.nette.tester/nbproject/project.properties b/php/php.nette.tester/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.nette.tester/nbproject/project.properties +++ b/php/php.nette.tester/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.nette2/nbproject/project.properties b/php/php.nette2/nbproject/project.properties index 42e202fcf8f4..4b6b107a7248 100644 --- a/php/php.nette2/nbproject/project.properties +++ b/php/php.nette2/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base.fatal.warning=false diff --git a/php/php.phing/nbproject/project.properties b/php/php.phing/nbproject/project.properties index 1b8cfd07d342..eceac33a0060 100644 --- a/php/php.phing/nbproject/project.properties +++ b/php/php.phing/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.phpdoc/nbproject/project.properties b/php/php.phpdoc/nbproject/project.properties index 66231bbde44e..03cf5f9dd855 100644 --- a/php/php.phpdoc/nbproject/project.properties +++ b/php/php.phpdoc/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial nbm.module.author=Tomas Mysik diff --git a/php/php.phpunit/nbproject/project.properties b/php/php.phpunit/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.phpunit/nbproject/project.properties +++ b/php/php.phpunit/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.project/nbproject/project.properties b/php/php.project/nbproject/project.properties index b4c128c2b597..aa8fc5d3bbfe 100644 --- a/php/php.project/nbproject/project.properties +++ b/php/php.project/nbproject/project.properties @@ -17,7 +17,7 @@ # under the License. javac.compilerargs=-Xlint:unchecked -javac.release=17 +javac.release=21 javadoc.arch=${basedir}/arch.xml release.external/phpsigfiles-1.8.zip=docs/phpsigfiles.zip diff --git a/php/php.refactoring/nbproject/project.properties b/php/php.refactoring/nbproject/project.properties index 703f79d1bfd7..0268870b22fe 100644 --- a/php/php.refactoring/nbproject/project.properties +++ b/php/php.refactoring/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial test-unit-sys-prop.xtest.php.home=${netbeans.dest.dir}/php diff --git a/php/php.samples/nbproject/project.properties b/php/php.samples/nbproject/project.properties index 573ed8f4d919..6960a10a76e4 100644 --- a/php/php.samples/nbproject/project.properties +++ b/php/php.samples/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial license.file=licence.txt diff --git a/php/php.smarty/nbproject/project.properties b/php/php.smarty/nbproject/project.properties index cc9a13d0b433..e4f4ad128a5f 100644 --- a/php/php.smarty/nbproject/project.properties +++ b/php/php.smarty/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial nbm.homepage=http://wiki.netbeans.org/PhpSmartyFrameworkPlugin diff --git a/php/php.symfony/nbproject/project.properties b/php/php.symfony/nbproject/project.properties index 9a4b4191f3c1..cab2c38dd15b 100644 --- a/php/php.symfony/nbproject/project.properties +++ b/php/php.symfony/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base.fatal.warning=false diff --git a/php/php.symfony2/nbproject/project.properties b/php/php.symfony2/nbproject/project.properties index 42e202fcf8f4..4b6b107a7248 100644 --- a/php/php.symfony2/nbproject/project.properties +++ b/php/php.symfony2/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base.fatal.warning=false diff --git a/php/php.twig/nbproject/project.properties b/php/php.twig/nbproject/project.properties index 73811063fd2b..0d2669d99ce7 100644 --- a/php/php.twig/nbproject/project.properties +++ b/php/php.twig/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/php.zend/nbproject/project.properties b/php/php.zend/nbproject/project.properties index 9a4b4191f3c1..cab2c38dd15b 100644 --- a/php/php.zend/nbproject/project.properties +++ b/php/php.zend/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base.fatal.warning=false diff --git a/php/php.zend2/nbproject/project.properties b/php/php.zend2/nbproject/project.properties index 9a4b4191f3c1..cab2c38dd15b 100644 --- a/php/php.zend2/nbproject/project.properties +++ b/php/php.zend2/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base.fatal.warning=false diff --git a/php/selenium2.php/nbproject/project.properties b/php/selenium2.php/nbproject/project.properties index ee2e82fe015a..5b0b05e3d8ff 100644 --- a/php/selenium2.php/nbproject/project.properties +++ b/php/selenium2.php/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/spellchecker.bindings.php/nbproject/project.properties b/php/spellchecker.bindings.php/nbproject/project.properties index 7a7ef858a669..e2601ab4aa42 100644 --- a/php/spellchecker.bindings.php/nbproject/project.properties +++ b/php/spellchecker.bindings.php/nbproject/project.properties @@ -16,5 +16,5 @@ # under the License. is.eager=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/php/websvc.saas.codegen.php/nbproject/project.properties b/php/websvc.saas.codegen.php/nbproject/project.properties index f4e932deb55b..4553703f0c1d 100644 --- a/php/websvc.saas.codegen.php/nbproject/project.properties +++ b/php/websvc.saas.codegen.php/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial From f3f52c6fa9027d3dfaead400ca2ed02c7661a043 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Tue, 10 Mar 2026 19:06:27 +0100 Subject: [PATCH 17/74] Update FlatLaf from 3.6.2 to 3.7.1 --- platform/libs.flatlaf/external/binaries-list | 2 +- ...6.2-license.txt => flatlaf-3.7.1-license.txt} | 4 ++-- platform/libs.flatlaf/manifest.mf | 2 +- .../libs.flatlaf/nbproject/project.properties | 16 ++++++++-------- platform/libs.flatlaf/nbproject/project.xml | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) rename platform/libs.flatlaf/external/{flatlaf-3.6.2-license.txt => flatlaf-3.7.1-license.txt} (99%) diff --git a/platform/libs.flatlaf/external/binaries-list b/platform/libs.flatlaf/external/binaries-list index 54db01b1d2db..61b01a60b16c 100644 --- a/platform/libs.flatlaf/external/binaries-list +++ b/platform/libs.flatlaf/external/binaries-list @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. -D927E248D29606BE1BDFB5CC29699B0A2A2E7A6C com.formdev:flatlaf:3.6.2 +A71A3DDEBE42FBFA8BAEFF1D6C0D955F2CE97CC9 com.formdev:flatlaf:3.7.1 diff --git a/platform/libs.flatlaf/external/flatlaf-3.6.2-license.txt b/platform/libs.flatlaf/external/flatlaf-3.7.1-license.txt similarity index 99% rename from platform/libs.flatlaf/external/flatlaf-3.6.2-license.txt rename to platform/libs.flatlaf/external/flatlaf-3.7.1-license.txt index 01517bc8565f..84c15dad3353 100644 --- a/platform/libs.flatlaf/external/flatlaf-3.6.2-license.txt +++ b/platform/libs.flatlaf/external/flatlaf-3.7.1-license.txt @@ -1,7 +1,7 @@ Name: FlatLaf Look and Feel Description: FlatLaf Look and Feel -Version: 3.6.2 -Files: flatlaf-3.6.2.jar +Version: 3.7.1 +Files: flatlaf-3.7.1.jar License: Apache-2.0 Origin: FormDev Software GmbH. URL: https://www.formdev.com/flatlaf/ diff --git a/platform/libs.flatlaf/manifest.mf b/platform/libs.flatlaf/manifest.mf index 09ac31bea027..8d0ddf98a85a 100644 --- a/platform/libs.flatlaf/manifest.mf +++ b/platform/libs.flatlaf/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.libs.flatlaf/1 OpenIDE-Module-Install: org/netbeans/libs/flatlaf/Installer.class OpenIDE-Module-Specification-Version: 1.26 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Implementation-Version: 3.6.2 +OpenIDE-Module-Implementation-Version: 3.7.1 diff --git a/platform/libs.flatlaf/nbproject/project.properties b/platform/libs.flatlaf/nbproject/project.properties index 10d138887992..8b67714c5dcd 100644 --- a/platform/libs.flatlaf/nbproject/project.properties +++ b/platform/libs.flatlaf/nbproject/project.properties @@ -31,18 +31,18 @@ spec.version.base.fatal.warning=false # # So when FlatLaf is updated, the OpenIDE-Module-Implementation-Version entry # in manifest.mf needs to be updated to match the new FlatLaf version. -release.external/flatlaf-3.6.2.jar=modules/ext/flatlaf-3.6.2.jar +release.external/flatlaf-3.7.1.jar=modules/ext/flatlaf-3.7.1.jar # com.formdev.flatlaf.ui intentionally ommitted. # rest is equivalent to the "public" packages for friend dependencies as declared in project.xml sigtest.public.packages=com.formdev.flatlaf,com.formdev.flatlaf.themes,com.formdev.flatlaf.util -release.external/flatlaf-3.6.2.jar!/com/formdev/flatlaf/natives/flatlaf-windows-x86.dll=modules/lib/flatlaf-windows-x86.dll -release.external/flatlaf-3.6.2.jar!/com/formdev/flatlaf/natives/flatlaf-windows-x86_64.dll=modules/lib/flatlaf-windows-x86_64.dll -release.external/flatlaf-3.6.2.jar!/com/formdev/flatlaf/natives/flatlaf-windows-arm64.dll=modules/lib/flatlaf-windows-arm64.dll -release.external/flatlaf-3.6.2.jar!/com/formdev/flatlaf/natives/libflatlaf-macos-arm64.dylib=modules/lib/libflatlaf-macos-arm64.dylib -release.external/flatlaf-3.6.2.jar!/com/formdev/flatlaf/natives/libflatlaf-macos-x86_64.dylib=modules/lib/libflatlaf-macos-x86_64.dylib -release.external/flatlaf-3.6.2.jar!/com/formdev/flatlaf/natives/libflatlaf-linux-x86_64.so=modules/lib/libflatlaf-linux-x86_64.so -release.external/flatlaf-3.6.2.jar!/com/formdev/flatlaf/natives/libflatlaf-linux-arm64.so=modules/lib/libflatlaf-linux-arm64.so +release.external/flatlaf-3.7.1.jar!/com/formdev/flatlaf/natives/flatlaf-windows-x86.dll=modules/lib/flatlaf-windows-x86.dll +release.external/flatlaf-3.7.1.jar!/com/formdev/flatlaf/natives/flatlaf-windows-x86_64.dll=modules/lib/flatlaf-windows-x86_64.dll +release.external/flatlaf-3.7.1.jar!/com/formdev/flatlaf/natives/flatlaf-windows-arm64.dll=modules/lib/flatlaf-windows-arm64.dll +release.external/flatlaf-3.7.1.jar!/com/formdev/flatlaf/natives/libflatlaf-macos-arm64.dylib=modules/lib/libflatlaf-macos-arm64.dylib +release.external/flatlaf-3.7.1.jar!/com/formdev/flatlaf/natives/libflatlaf-macos-x86_64.dylib=modules/lib/libflatlaf-macos-x86_64.dylib +release.external/flatlaf-3.7.1.jar!/com/formdev/flatlaf/natives/libflatlaf-linux-x86_64.so=modules/lib/libflatlaf-linux-x86_64.so +release.external/flatlaf-3.7.1.jar!/com/formdev/flatlaf/natives/libflatlaf-linux-arm64.so=modules/lib/libflatlaf-linux-arm64.so jnlp.verify.excludes=\ modules/lib/flatlaf-windows-x86.dll,\ modules/lib/flatlaf-windows-x86_64.dll,\ diff --git a/platform/libs.flatlaf/nbproject/project.xml b/platform/libs.flatlaf/nbproject/project.xml index 4abb87b60fd5..64096afe3df4 100644 --- a/platform/libs.flatlaf/nbproject/project.xml +++ b/platform/libs.flatlaf/nbproject/project.xml @@ -49,8 +49,8 @@ com.formdev.flatlaf.util - ext/flatlaf-3.6.2.jar - external/flatlaf-3.6.2.jar + ext/flatlaf-3.7.1.jar + external/flatlaf-3.7.1.jar From fb05d6b3cfb23e1073ac5ba70121b0de4f4deecc Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Tue, 10 Mar 2026 12:40:50 +0100 Subject: [PATCH 18/74] Update bundled maven to 3.9.14 --- .../apache-maven-3.9.12-epl-license.txt | 217 ------------- ...xt => apache-maven-3.9.14-bin-license.txt} | 2 +- ...txt => apache-maven-3.9.14-bin-notice.txt} | 2 +- .../apache-maven-3.9.14-epl-license.txt | 284 ++++++++++++++++++ ...en-3.9.14-failureaccess-1.0.3-license.txt} | 2 +- ...maven-3.9.14-guava-33.5.0-jre-license.txt} | 2 +- ...14-javax.annotation-api-1.3.2-license.txt} | 2 +- ...che-maven-3.9.14-slf4j-1.7.36-license.txt} | 2 +- java/maven.embedder/external/binaries-list | 2 +- .../external/binariesembedded-list | 52 ++-- .../nbproject/project.properties | 2 +- java/maven.embedder/nbproject/project.xml | 52 ++-- .../embedder/impl/NbRepositoryCacheTest.java | 2 +- java/maven/nbproject/project.properties | 12 +- .../netbeans/nbbuild/extlibs/ignored-overlaps | 20 +- 15 files changed, 362 insertions(+), 293 deletions(-) delete mode 100644 java/maven.embedder/external/apache-maven-3.9.12-epl-license.txt rename java/maven.embedder/external/{apache-maven-3.9.12-bin-license.txt => apache-maven-3.9.14-bin-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.9.12-bin-notice.txt => apache-maven-3.9.14-bin-notice.txt} (98%) create mode 100644 java/maven.embedder/external/apache-maven-3.9.14-epl-license.txt rename java/maven.embedder/external/{apache-maven-3.9.12-failureaccess-1.0.3-license.txt => apache-maven-3.9.14-failureaccess-1.0.3-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.9.12-guava-33.5.0-jre-license.txt => apache-maven-3.9.14-guava-33.5.0-jre-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.9.12-javax.annotation-api-1.3.2-license.txt => apache-maven-3.9.14-javax.annotation-api-1.3.2-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.9.12-slf4j-1.7.36-license.txt => apache-maven-3.9.14-slf4j-1.7.36-license.txt} (95%) diff --git a/java/maven.embedder/external/apache-maven-3.9.12-epl-license.txt b/java/maven.embedder/external/apache-maven-3.9.12-epl-license.txt deleted file mode 100644 index ce3e922e2770..000000000000 --- a/java/maven.embedder/external/apache-maven-3.9.12-epl-license.txt +++ /dev/null @@ -1,217 +0,0 @@ -Name: Apache Maven components under EPL v1.0 -Description: These Apache Maven components are under EPL v1.0: org.eclipse.sisu.inject-0.9.0.M4.jar org.eclipse.sisu.plexus-0.9.0.M4.jar -Version: 3.9.12 -License: Maven-EPL-v10 -Origin: Apache Software Foundation -Files: apache-maven-3.9.12-bin.zip!/apache-maven-3.9.12/lib/org.eclipse.sisu.inject-0.9.0.M4.jar apache-maven-3.9.12-bin.zip!/apache-maven-3.9.12/lib/org.eclipse.sisu.plexus-0.9.0.M4.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC -LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM -CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - - 1. DEFINITIONS - - "Contribution" means: - -a) in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and - - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - -where such changes and/or additions to the Program originate from and are -distributed by that particular Contributor. A Contribution 'originates' from -a Contributor if it was added to the Program by such Contributor itself or -anyone acting on such Contributor's behalf. Contributions do not include additions -to the Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) are -not derivative works of the Program. - - "Contributor" means any person or entity that distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which are -necessarily infringed by the use or sale of its Contribution alone or when -combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including -all Contributors. - - 2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, -prepare derivative works of, publicly display, publicly perform, distribute -and sublicense the Contribution of such Contributor, if any, and such derivative -works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed -Patents to make, use, sell, offer to sell, import and otherwise transfer the -Contribution of such Contributor, if any, in source code and object code form. -This patent license shall apply to the combination of the Contribution and -the Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered by -the Licensed Patents. The patent license shall not apply to any other combinations -which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses -to its Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth -in this Agreement. - - 3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under -its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, -such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered -by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such Contributor, -and informs licensees how to obtain it in a reasonable manner on or through -a medium customarily used for software exchange. - - When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within -the Program. - -Each Contributor must identify itself as the originator of its Contribution, -if any, in a manner that reasonably allows subsequent Recipients to identify -the originator of the Contribution. - - 4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with -respect to end users, business partners and the like. While this license is -intended to facilitate the commercial use of the Program, the Contributor -who includes the Program in a commercial product offering should do so in -a manner which does not create potential liability for other Contributors. -Therefore, if a Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify -every other Contributor ("Indemnified Contributor") against any losses, damages -and costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor -to the extent caused by the acts or omissions of such Commercial Contributor -in connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense -and any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product -offering, Product X. That Contributor is then a Commercial Contributor. If -that Commercial Contributor then makes performance claims, or offers warranties -related to Product X, those performance claims and warranties are such Commercial -Contributor's responsibility alone. Under this section, the Commercial Contributor -would have to defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other Contributor -to pay any damages as a result, the Commercial Contributor must pay those -damages. - - 5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON -AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS -OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF -TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -Each Recipient is solely responsible for determining the appropriateness of -using and distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement, including but not limited to the -risks and costs of program errors, compliance with applicable laws, damage -to or loss of data, programs or equipment, and unavailability or interruption -of operations. - - 6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY -CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION -LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS -GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - 7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable -law, it shall not affect the validity or enforceability of the remainder of -the terms of this Agreement, and without further action by the parties hereto, -such provision shall be reformed to the minimum extent necessary to make such -provision valid and enforceable. - -If Recipient institutes patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Program itself -(excluding combinations of the Program with other software or hardware) infringes -such Recipient's patent(s), then such Recipient's rights granted under Section -2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to -comply with any of the material terms or conditions of this Agreement and -does not cure such failure in a reasonable period of time after becoming aware -of such noncompliance. If all Recipient's rights under this Agreement terminate, -Recipient agrees to cease use and distribution of the Program as soon as reasonably -practicable. However, Recipient's obligations under this Agreement and any -licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but -in order to avoid inconsistency the Agreement is copyrighted and may only -be modified in the following manner. The Agreement Steward reserves the right -to publish new versions (including revisions) of this Agreement from time -to time. No one other than the Agreement Steward has the right to modify this -Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse -Foundation may assign the responsibility to serve as the Agreement Steward -to a suitable separate entity. Each new version of the Agreement will be given -a distinguishing version number. The Program (including Contributions) may -always be distributed subject to the version of the Agreement under which -it was received. In addition, after a new version of the Agreement is published, -Contributor may elect to distribute the Program (including its Contributions) -under the new version. Except as expressly stated in Sections 2(a) and 2(b) -above, Recipient receives no rights or licenses to the intellectual property -of any Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted under -this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual -property laws of the United States of America. No party to this Agreement -will bring a legal action under this Agreement more than one year after the -cause of action arose. Each party waives its rights to a jury trial in any -resulting litigation. diff --git a/java/maven.embedder/external/apache-maven-3.9.12-bin-license.txt b/java/maven.embedder/external/apache-maven-3.9.14-bin-license.txt similarity index 99% rename from java/maven.embedder/external/apache-maven-3.9.12-bin-license.txt rename to java/maven.embedder/external/apache-maven-3.9.14-bin-license.txt index c6cd21b1db77..14811a288162 100644 --- a/java/maven.embedder/external/apache-maven-3.9.12-bin-license.txt +++ b/java/maven.embedder/external/apache-maven-3.9.14-bin-license.txt @@ -1,6 +1,6 @@ Name: Apache Maven Distribution Description: Apache Maven Distribution -Version: 3.9.12 +Version: 3.9.14 License: Apache-2.0 Origin: Apache Software Foundation URL: https://maven.apache.org/ diff --git a/java/maven.embedder/external/apache-maven-3.9.12-bin-notice.txt b/java/maven.embedder/external/apache-maven-3.9.14-bin-notice.txt similarity index 98% rename from java/maven.embedder/external/apache-maven-3.9.12-bin-notice.txt rename to java/maven.embedder/external/apache-maven-3.9.14-bin-notice.txt index 0b079aa60d3c..006d6f1ab5e3 100644 --- a/java/maven.embedder/external/apache-maven-3.9.12-bin-notice.txt +++ b/java/maven.embedder/external/apache-maven-3.9.14-bin-notice.txt @@ -24,7 +24,7 @@ javolution (http://javolution.org/). This product includes software developed by Rome (https://rome.dev.java.net/). -about.html in archive lib/org.eclipse.sisu.inject-0.9.0.M4.jar +about.html in archive lib/org.eclipse.sisu.inject-1.0.0.jar diff --git a/java/maven.embedder/external/apache-maven-3.9.14-epl-license.txt b/java/maven.embedder/external/apache-maven-3.9.14-epl-license.txt new file mode 100644 index 000000000000..1d453c539b49 --- /dev/null +++ b/java/maven.embedder/external/apache-maven-3.9.14-epl-license.txt @@ -0,0 +1,284 @@ +Name: Apache Maven components under EPL v2.0 +Description: These Apache Maven components are under EPL v2.0: org.eclipse.sisu.inject-1.0.0.jar org.eclipse.sisu.plexus-1.0.0.jar +Version: 3.9.14 +License: EPL-v20 +Origin: Apache Software Foundation +Files: apache-maven-3.9.14-bin.zip!/apache-maven-3.9.14/lib/org.eclipse.sisu.inject-1.0.0.jar apache-maven-3.9.14-bin.zip!/apache-maven-3.9.14/lib/org.eclipse.sisu.plexus-1.0.0.jar + +Eclipse Public License - v 2.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE + PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION + OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. Definitions + +“Contribution” means: + + a) in the case of the initial Contributor, the initial content + Distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate from + and are Distributed by that particular Contributor. A Contribution + “originates” from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's behalf. + Contributions do not include changes or additions to the Program that + are not Modified Works. + +“Contributor” means any person or entity that Distributes the Program. + +“Licensed Patents” mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +“Program” means the Contributions Distributed in accordance with this +Agreement. + +“Recipient” means anyone who receives the Program under this Agreement +or any Secondary License (as applicable), including Contributors. + +“Derivative Works” shall mean any work, whether in Source Code or other +form, that is based on (or derived from) the Program and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. + +“Modified Works” shall mean any work in Source Code or other form that +results from an addition to, deletion from, or modification of the +contents of the Program, including, for purposes of clarity any new file +in Source Code form that contains any contents of the Program. Modified +Works shall not include works that contain only declarations, +interfaces, types, classes, structures, or files of the Program solely +in each case in order to link to, bind by name, or subclass the Program +or Modified Works thereof. + +“Distribute” means the acts of a) distributing or b) making available +in any manner that enables the transfer of a copy. + +“Source Code” means the form of a Program preferred for making +modifications, including but not limited to software source code, +documentation source, and configuration files. + +“Secondary License” means either the GNU General Public License, +Version 2.0, or any later versions of that license, including any +exceptions or additional permissions as identified by the initial +Contributor. + +2. Grant of Rights + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare Derivative Works of, publicly display, + publicly perform, Distribute and sublicense the Contribution of such + Contributor, if any, and such Derivative Works. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in Source Code or other form. This patent license shall + apply to the combination of the Contribution and the Program if, at + the time the Contribution is added by the Contributor, such addition + of the Contribution causes such combination to be covered by the + Licensed Patents. The patent license shall not apply to any other + combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby + assumes sole responsibility to secure any other intellectual + property rights needed, if any. For example, if a third party + patent license is required to allow Recipient to Distribute the + Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + + e) Notwithstanding the terms of any Secondary License, no + Contributor makes additional grants to any Recipient (other than + those set forth in this Agreement) as a result of such Recipient's + receipt of the Program under the terms of a Secondary License + (if permitted under the terms of Section 3). + +3. Requirements + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in + accordance with section 3.2, and the Contributor must accompany + the Program with a statement that the Source Code for the Program + is available under this Agreement, and informs Recipients how to + obtain it in a reasonable manner on or through a medium customarily + used for software exchange; and + + b) the Contributor may Distribute the Program under a license + different than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + + ii) effectively excludes on behalf of all other Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + + iii) does not attempt to limit or alter the recipients' rights + in the Source Code under section 3.2; and + + iv) requires any subsequent distribution of the Program by any + party to be under a license that satisfies the requirements + of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the + Program (i) is combined with other material in a separate file or + files made available under a Secondary License, and (ii) the initial + Contributor attached to the Source Code the notice described in + Exhibit A of this Agreement, then the Program may be made available + under the terms of such Secondary Licenses, and + + b) a copy of this Agreement must be included with each copy of + the Program. + +3.3 Contributors may not remove or alter any copyright, patent, +trademark, attribution notices, disclaimers of warranty, or limitations +of liability (“notices”) contained within the Program from any copy of +the Program which they Distribute, provided that Contributors may add +their own appropriate notices. + +4. Commercial Distribution + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, +the Contributor who includes the Program in a commercial product +offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes +the Program in a commercial product offering, such Contributor +(“Commercial Contributor”) hereby agrees to defend and indemnify every +other Contributor (“Indemnified Contributor”) against any losses, +damages and costs (collectively “Losses”) arising from claims, lawsuits +and other legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the Program +in a commercial product offering. The obligations in this section do not +apply to any claims or Losses relating to any actual or alleged +intellectual property infringement. In order to qualify, an Indemnified +Contributor must: a) promptly notify the Commercial Contributor in +writing of such claim, and b) allow the Commercial Contributor to control, +and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those performance +claims and warranties, and if a court requires any other Contributor to +pay any damages as a result, the Commercial Contributor must pay +those damages. + +5. No Warranty + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all +risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs +or equipment, and unavailability or interruption of operations. + +6. Disclaimer of Liability + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. General + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other software +or hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +Distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to Distribute the Program (including its +Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any +Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted +under this Agreement are reserved. Nothing in this Agreement is intended +to be enforceable by any entity that is not a Contributor or Recipient. +No third-party beneficiary rights are created under this Agreement. + +Exhibit A - Form of Secondary Licenses Notice + +“This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth +in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), +version(s), and exceptions or additional permissions here}.” + + Simply including a copy of this Agreement, including this Exhibit A + is not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to + look for such a notice. + + You may add additional accurate notices of copyright ownership. diff --git a/java/maven.embedder/external/apache-maven-3.9.12-failureaccess-1.0.3-license.txt b/java/maven.embedder/external/apache-maven-3.9.14-failureaccess-1.0.3-license.txt similarity index 99% rename from java/maven.embedder/external/apache-maven-3.9.12-failureaccess-1.0.3-license.txt rename to java/maven.embedder/external/apache-maven-3.9.14-failureaccess-1.0.3-license.txt index 3c8273ebffcc..472682ecc720 100644 --- a/java/maven.embedder/external/apache-maven-3.9.12-failureaccess-1.0.3-license.txt +++ b/java/maven.embedder/external/apache-maven-3.9.14-failureaccess-1.0.3-license.txt @@ -3,7 +3,7 @@ Version: 1.0.3 License: Apache-2.0 Origin: https://github.com/google/guava Description: A Guava subproject -Files: apache-maven-3.9.12-bin.zip!/apache-maven-3.9.12/lib/failureaccess-1.0.3.jar +Files: apache-maven-3.9.14-bin.zip!/apache-maven-3.9.14/lib/failureaccess-1.0.3.jar Apache License Version 2.0, January 2004 diff --git a/java/maven.embedder/external/apache-maven-3.9.12-guava-33.5.0-jre-license.txt b/java/maven.embedder/external/apache-maven-3.9.14-guava-33.5.0-jre-license.txt similarity index 99% rename from java/maven.embedder/external/apache-maven-3.9.12-guava-33.5.0-jre-license.txt rename to java/maven.embedder/external/apache-maven-3.9.14-guava-33.5.0-jre-license.txt index 824854af9867..157fb6a7e1e9 100644 --- a/java/maven.embedder/external/apache-maven-3.9.12-guava-33.5.0-jre-license.txt +++ b/java/maven.embedder/external/apache-maven-3.9.14-guava-33.5.0-jre-license.txt @@ -3,7 +3,7 @@ Version: 33.5.0 License: Apache-2.0 Origin: https://github.com/google/guava Description: Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, and utilities for concurrency, I/O, hashing, primitives, strings, and more. -Files: apache-maven-3.9.12-bin.zip!/apache-maven-3.9.12/lib/guava-33.5.0-jre.jar +Files: apache-maven-3.9.14-bin.zip!/apache-maven-3.9.14/lib/guava-33.5.0-jre.jar Apache License Version 2.0, January 2004 diff --git a/java/maven.embedder/external/apache-maven-3.9.12-javax.annotation-api-1.3.2-license.txt b/java/maven.embedder/external/apache-maven-3.9.14-javax.annotation-api-1.3.2-license.txt similarity index 99% rename from java/maven.embedder/external/apache-maven-3.9.12-javax.annotation-api-1.3.2-license.txt rename to java/maven.embedder/external/apache-maven-3.9.14-javax.annotation-api-1.3.2-license.txt index cba2641060a3..29139439122f 100644 --- a/java/maven.embedder/external/apache-maven-3.9.12-javax.annotation-api-1.3.2-license.txt +++ b/java/maven.embedder/external/apache-maven-3.9.14-javax.annotation-api-1.3.2-license.txt @@ -3,7 +3,7 @@ Version: 1.3.2 Description: Part of Apache Maven Distribution License: CDDL-1.1 Origin: Apache Maven -Files: apache-maven-3.9.12-bin.zip!/apache-maven-3.9.12/lib/javax.annotation-api-1.3.2.jar +Files: apache-maven-3.9.14-bin.zip!/apache-maven-3.9.14/lib/javax.annotation-api-1.3.2.jar COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 diff --git a/java/maven.embedder/external/apache-maven-3.9.12-slf4j-1.7.36-license.txt b/java/maven.embedder/external/apache-maven-3.9.14-slf4j-1.7.36-license.txt similarity index 95% rename from java/maven.embedder/external/apache-maven-3.9.12-slf4j-1.7.36-license.txt rename to java/maven.embedder/external/apache-maven-3.9.14-slf4j-1.7.36-license.txt index 6f774902e10c..9d9b119a9da0 100644 --- a/java/maven.embedder/external/apache-maven-3.9.12-slf4j-1.7.36-license.txt +++ b/java/maven.embedder/external/apache-maven-3.9.14-slf4j-1.7.36-license.txt @@ -3,7 +3,7 @@ Description: Part of Apache Maven Distribution Version: 1.7.36 License: MIT-slf4j-22 Origin: Apache Software Foundation -Files: apache-maven-3.9.12-bin.zip!/apache-maven-3.9.12/lib/slf4j-api-1.7.36.jar +Files: apache-maven-3.9.14-bin.zip!/apache-maven-3.9.14/lib/slf4j-api-1.7.36.jar Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland) All rights reserved. diff --git a/java/maven.embedder/external/binaries-list b/java/maven.embedder/external/binaries-list index f332f9d4aee9..478bca4fe511 100644 --- a/java/maven.embedder/external/binaries-list +++ b/java/maven.embedder/external/binaries-list @@ -16,4 +16,4 @@ # under the License. DC15DFF8F701B227EE523EEB7A17F77C10EAFE2F org.jdom:jdom2:2.0.6.1 5D9CE6ADD7B714B8095F0E3E396C5E9F8C5DCFEF org.apache.maven.shared:maven-dependency-tree:2.2 -F0EE4660E55FDD9BC7F181843E41301D9292312A org.apache.maven:apache-maven:3.9.12:bin@zip +487713BBA197D8E735ACF13712604C33C408F4A7 org.apache.maven:apache-maven:3.9.14:bin@zip diff --git a/java/maven.embedder/external/binariesembedded-list b/java/maven.embedder/external/binariesembedded-list index e59d2e2c1e49..ab2c31c071ef 100644 --- a/java/maven.embedder/external/binariesembedded-list +++ b/java/maven.embedder/external/binariesembedded-list @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. -C29635C8A7AFA03D74B33C1884DF8ABB2B3F3DCC;org.ow2.asm:asm:9.9 +2CEEA6AB43BCAE1979B2A6D85FC0CA429877E5AB;org.ow2.asm:asm:9.9.1 0235BA8B489512805AC13A8F9EA77A1CA5EBE3E8;aopalliance:aopalliance:1.0 1194890E6F56EC29177673F2F12D0B8E627DEC98;org.apache.httpcomponents:httpclient:4.5.14 51CF043C87253C9F58B539C9F7E44C8894223850;org.apache.httpcomponents:httpcore:4.4.16 AEAFFD00D57023A2C947393ED251F0354F0985FC;com.google.guava:failureaccess:1.0.3 A461452D3E31BEBF2706323F8738EC44B19C96E1;commons-cli:commons-cli:1.11.0 -6A671D1C456A875FF61ABEC63216F754078BB0ED;commons-codec:commons-codec:1.20.0 +D95F998DB5F89900FE895DAF6CD2CDDCB2F1D64B;commons-codec:commons-codec:1.21.0 48B8230771E573B54CE6E867A9001E75977FE78E;com.google.code.gson:gson:2.13.2 4381275EFDEF6DDFAE38F002C31E84CD001C97F0;com.google.errorprone:error_prone_annotations:2.41.0 8699DE25F2F979108D6C1B804A7BA38CDA1116BC;com.google.guava:guava:33.5.0-jre @@ -31,31 +31,31 @@ BA7387C31622C6650B83EDBA1BBB115F1FE462BA;org.fusesource.jansi:jansi:2.4.2 6975DA39A7040257BD51D21A231B76C915872D38;javax.inject:javax.inject:1 D877E195A05ACA4A2F1AD2FF14BFEC1393AF4B5E;org.slf4j:jcl-over-slf4j:1.7.36 934C04D3CFEF185A8008E7BF34331B79730A9D43;javax.annotation:javax.annotation-api:1.3.2 -39ACDD4AD6B74B1C001AE7C0858482A11D0EAD59;org.apache.maven:maven-artifact:3.9.12 -FE2FE54522EB2F77BD9B30CEFC959D728D3F8105;org.apache.maven:maven-builder-support:3.9.12 -816D73144A402059010EF0735B4BF9F961C5A0F4;org.apache.maven:maven-compat:3.9.12 -A349A9DADEBCA9F2A2D1F99876F651A02961A366;org.apache.maven:maven-core:3.9.12 -DEA388FD5B198516175443C098EA1E8D6C2D8BB5;org.apache.maven:maven-embedder:3.9.12 -6F91CB0E47B7FC6DB492ED307B0C91B38BFCE924;org.apache.maven:maven-model:3.9.12 -C1A74479D447E70D98ED5F03F6B32D54818CA046;org.apache.maven:maven-model-builder:3.9.12 -2C2D5180B3DAE0E6F91575FC2507429727E01CC9;org.apache.maven:maven-plugin-api:3.9.12 -3ECFC216F9A56F15C6BD6B3E22567B0B6CB2183E;org.apache.maven:maven-repository-metadata:3.9.12 -8B670256B812A45B1CA9AE1BBF7F1C0D00A9D4E4;org.apache.maven.resolver:maven-resolver-api:1.9.25 -6DCD7E2076BAECBCFA77E781112BD110EA379D07;org.apache.maven.resolver:maven-resolver-connector-basic:1.9.25 -CC1BDE9B56A2E95A181207958DCF40715DC71AB3;org.apache.maven.resolver:maven-resolver-impl:1.9.25 -FB1C8C95F17C816C3CEB8692AA84CBB068DF5D94;org.apache.maven.resolver:maven-resolver-named-locks:1.9.25 -44963F45B78F89A8479705493C48E01FC54FF9D6;org.apache.maven:maven-resolver-provider:3.9.12 -F81237D0140F9222CF4437C44756A53368A2D152;org.apache.maven.resolver:maven-resolver-spi:1.9.25 -E51BC8226E19631B5191CB106B5F1CCE60F86DC7;org.apache.maven.resolver:maven-resolver-transport-http:1.9.25 -9B5AF36B4BAFBEC8F71430B6BB3A4802A9EBBF65;org.apache.maven.resolver:maven-resolver-transport-wagon:1.9.25 -D7E46F0D9422856532555AC98737C513BAF86EFD;org.apache.maven.resolver:maven-resolver-transport-file:1.9.25 -F755F6816D8FD63B09B8F2C9E1EAAA1F60C179E8;org.apache.maven.resolver:maven-resolver-util:1.9.25 -CA072F2B90A59D36D8218DD4E1460722DB6E2322;org.apache.maven:maven-settings:3.9.12 -1DDD0B8DA05D120768142176476A06F489CEA11C;org.apache.maven:maven-settings-builder:3.9.12 +921C4F90EC434E29B399796077A08459571D048A;org.apache.maven:maven-artifact:3.9.14 +FD7EFF42958F7A6CE02710F02127BC158D710D4E;org.apache.maven:maven-builder-support:3.9.14 +D526B5286F4927A79120A2765A85AFF50B6889A9;org.apache.maven:maven-compat:3.9.14 +39808A75B5625DDD0E8BBA0BD8F9E953DA940ADD;org.apache.maven:maven-core:3.9.14 +8BFC827FBF237EF8C53F7264DCB6F59910D1D833;org.apache.maven:maven-embedder:3.9.14 +623D1A652D2657577BE0C8D3C249A4AB2830A843;org.apache.maven:maven-model:3.9.14 +45299E0BBEFB6575BA18214D822753A373D49AA9;org.apache.maven:maven-model-builder:3.9.14 +67A865F97A78CBD97773542FF3CB838D6624B5C1;org.apache.maven:maven-plugin-api:3.9.14 +231607AFCE2005CB03F2F882B347189F7FF27686;org.apache.maven:maven-repository-metadata:3.9.14 +2FE7E86E3C193121789470507CF4FADD5BD7AD59;org.apache.maven.resolver:maven-resolver-api:1.9.27 +219C1F8C3289B9382B1F86FC278430D3A22968C3;org.apache.maven.resolver:maven-resolver-connector-basic:1.9.27 +876FC89223D9572CADE60A1B8158846724548D07;org.apache.maven.resolver:maven-resolver-impl:1.9.27 +72C89AD87BE374309A7308EE144949360ED482E8;org.apache.maven.resolver:maven-resolver-named-locks:1.9.27 +9927E911DFC855A462EE79E3F5BB3FD5EFFD8B82;org.apache.maven:maven-resolver-provider:3.9.14 +FB64E47ACDC73F938B4D5B6464EF7A6351F983D5;org.apache.maven.resolver:maven-resolver-spi:1.9.27 +6931510AEC55201631D9D904A7D4F8F81541A335;org.apache.maven.resolver:maven-resolver-transport-http:1.9.27 +23AF71B8583C0EF51004590196DE12C410DBCCF6;org.apache.maven.resolver:maven-resolver-transport-wagon:1.9.27 +89A2B09002672807C05B3B10AFCCBCB9CFCD8486;org.apache.maven.resolver:maven-resolver-transport-file:1.9.27 +7EE4446AF6AAB27475765EC9C9DC1FB2B082AF2B;org.apache.maven.resolver:maven-resolver-util:1.9.27 +B438FF21305253DED45570A74622595963942E65;org.apache.maven:maven-settings:3.9.14 +2B28C76E3C83715179B96404C0C003A91D543ABA;org.apache.maven:maven-settings-builder:3.9.14 BFA28296272A5915B08DE9F11F34A94B0A818FD0;org.apache.maven.shared:maven-shared-utils:3.4.2 -ED78BE9181CEA023BF4210D4D01810DE9961BE41;org.apache.maven:maven-slf4j-provider:3.9.12 -A062D8E12DC62E698C9F943A3FCE94E366B4E220;org.eclipse.sisu:org.eclipse.sisu.inject:0.9.0.M4 -478F7935E88CD9DA7EF01F509E4853E80EDE9034;org.eclipse.sisu:org.eclipse.sisu.plexus:0.9.0.M4 +E612704EEC107AACE14B3FFD155E2CBFC3C42B60;org.apache.maven:maven-slf4j-provider:3.9.14 +D9C2D6FF4B461AB9492EDB1CD9D8239CFB41F4CA;org.eclipse.sisu:org.eclipse.sisu.inject:1.0.0 +873767E95597C9E31749123A408BD4949C29A46C;org.eclipse.sisu:org.eclipse.sisu.plexus:1.0.0 425EA8E534716B4BFF1EA90F39BD76BE951D651B;org.codehaus.plexus:plexus-cipher:2.0 ACE0820F34DE49F69511F5263BCEBB09FAC9731A;org.codehaus.plexus:plexus-classworlds:2.9.0 A506F84636EA7AE370D04167DD155C103E616F68;org.codehaus.plexus:plexus-component-annotations:2.2.0 diff --git a/java/maven.embedder/nbproject/project.properties b/java/maven.embedder/nbproject/project.properties index 3657d8a14526..e9ef864fccad 100644 --- a/java/maven.embedder/nbproject/project.properties +++ b/java/maven.embedder/nbproject/project.properties @@ -20,7 +20,7 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial release.external/jdom2-2.0.6.1.jar=modules/ext/maven/jdom2-2.0.6.1.jar release.external/maven-dependency-tree-2.2.jar=modules/ext/maven/maven-dependency-tree-2.2.jar -bundled.maven=apache-maven-3.9.12 +bundled.maven=apache-maven-3.9.14 extra.module.files=maven/ nbm.executable.files=maven/bin/mvn,maven/bin/mvnDebug,maven/bin/mvnyjp extra.license.files=${cluster}/maven/LICENSE.txt,${cluster}/maven/NOTICE.txt diff --git a/java/maven.embedder/nbproject/project.xml b/java/maven.embedder/nbproject/project.xml index fc2c24f1cfe0..ec4ce04ec9c9 100644 --- a/java/maven.embedder/nbproject/project.xml +++ b/java/maven.embedder/nbproject/project.xml @@ -327,13 +327,13 @@ ../maven/lib/aopalliance-1.0.jar - ../maven/lib/asm-9.9.jar + ../maven/lib/asm-9.9.1.jar ../maven/lib/commons-cli-1.11.0.jar - ../maven/lib/commons-codec-1.20.0.jar + ../maven/lib/commons-codec-1.21.0.jar ../maven/lib/error_prone_annotations-2.41.0.jar @@ -377,79 +377,79 @@ ../maven/lib/jspecify-1.0.0.jar - ../maven/lib/maven-artifact-3.9.12.jar + ../maven/lib/maven-artifact-3.9.14.jar - ../maven/lib/maven-builder-support-3.9.12.jar + ../maven/lib/maven-builder-support-3.9.14.jar - ../maven/lib/maven-compat-3.9.12.jar + ../maven/lib/maven-compat-3.9.14.jar - ../maven/lib/maven-core-3.9.12.jar + ../maven/lib/maven-core-3.9.14.jar - ../maven/lib/maven-embedder-3.9.12.jar + ../maven/lib/maven-embedder-3.9.14.jar - ../maven/lib/maven-model-3.9.12.jar + ../maven/lib/maven-model-3.9.14.jar - ../maven/lib/maven-model-builder-3.9.12.jar + ../maven/lib/maven-model-builder-3.9.14.jar - ../maven/lib/maven-plugin-api-3.9.12.jar + ../maven/lib/maven-plugin-api-3.9.14.jar - ../maven/lib/maven-repository-metadata-3.9.12.jar + ../maven/lib/maven-repository-metadata-3.9.14.jar - ../maven/lib/maven-resolver-api-1.9.25.jar + ../maven/lib/maven-resolver-api-1.9.27.jar - ../maven/lib/maven-resolver-connector-basic-1.9.25.jar + ../maven/lib/maven-resolver-connector-basic-1.9.27.jar - ../maven/lib/maven-resolver-impl-1.9.25.jar + ../maven/lib/maven-resolver-impl-1.9.27.jar - ../maven/lib/maven-resolver-named-locks-1.9.25.jar + ../maven/lib/maven-resolver-named-locks-1.9.27.jar - ../maven/lib/maven-resolver-provider-3.9.12.jar + ../maven/lib/maven-resolver-provider-3.9.14.jar - ../maven/lib/maven-resolver-spi-1.9.25.jar + ../maven/lib/maven-resolver-spi-1.9.27.jar - ../maven/lib/maven-resolver-transport-file-1.9.25.jar + ../maven/lib/maven-resolver-transport-file-1.9.27.jar - ../maven/lib/maven-resolver-transport-http-1.9.25.jar + ../maven/lib/maven-resolver-transport-http-1.9.27.jar - ../maven/lib/maven-resolver-transport-wagon-1.9.25.jar + ../maven/lib/maven-resolver-transport-wagon-1.9.27.jar - ../maven/lib/maven-resolver-util-1.9.25.jar + ../maven/lib/maven-resolver-util-1.9.27.jar - ../maven/lib/maven-settings-3.9.12.jar + ../maven/lib/maven-settings-3.9.14.jar - ../maven/lib/maven-settings-builder-3.9.12.jar + ../maven/lib/maven-settings-builder-3.9.14.jar ../maven/lib/maven-shared-utils-3.4.2.jar - ../maven/lib/maven-slf4j-provider-3.9.12.jar + ../maven/lib/maven-slf4j-provider-3.9.14.jar - ../maven/lib/org.eclipse.sisu.inject-0.9.0.M4.jar + ../maven/lib/org.eclipse.sisu.inject-1.0.0.jar - ../maven/lib/org.eclipse.sisu.plexus-0.9.0.M4.jar + ../maven/lib/org.eclipse.sisu.plexus-1.0.0.jar ../maven/lib/plexus-cipher-2.0.jar diff --git a/java/maven.embedder/test/unit/src/org/netbeans/modules/maven/embedder/impl/NbRepositoryCacheTest.java b/java/maven.embedder/test/unit/src/org/netbeans/modules/maven/embedder/impl/NbRepositoryCacheTest.java index a887ba62d0bb..05e9ceac05a9 100644 --- a/java/maven.embedder/test/unit/src/org/netbeans/modules/maven/embedder/impl/NbRepositoryCacheTest.java +++ b/java/maven.embedder/test/unit/src/org/netbeans/modules/maven/embedder/impl/NbRepositoryCacheTest.java @@ -36,7 +36,7 @@ public NbRepositoryCacheTest() { @Test @Ignore("Classpath is not setup correctly for test - needs investigation") public void testConstants() throws Exception { - Class cl = Class.forName("org.eclipse.aether.internal.impl.DataPool"); + Class cl = Class.forName("org.eclipse.aether.internal.impl.DataPool"); assertNotNull("The constant value has changed most likely", cl); } diff --git a/java/maven/nbproject/project.properties b/java/maven/nbproject/project.properties index 02d06cb05fad..85412150adb1 100644 --- a/java/maven/nbproject/project.properties +++ b/java/maven/nbproject/project.properties @@ -39,6 +39,8 @@ requires.nb.javac=true test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} +# TODO update when embedded maven updates + # Classpath for agent injected into maven run (sourcecode in mavensrc) mavensrc.cp=:\ ./external/aether-api-1.13.1.jar:\ @@ -46,9 +48,9 @@ mavensrc.cp=:\ ${maven.embedder.dir}/maven/boot/plexus-classworlds-2.9.0.jar:\ ${maven.embedder.dir}/maven/lib/javax.annotation-api-1.3.2.jar:\ ${maven.embedder.dir}/maven/lib/javax.inject-1.jar:\ - ${maven.embedder.dir}/maven/lib/maven-core-3.9.12.jar:\ - ${maven.embedder.dir}/maven/lib/maven-model-3.9.12.jar:\ - ${maven.embedder.dir}/maven/lib/maven-plugin-api-3.9.12.jar:\ - ${maven.embedder.dir}/maven/lib/maven-resolver-api-1.9.25.jar:\ - ${maven.embedder.dir}/maven/lib/org.eclipse.sisu.plexus-0.9.0.M4.jar:\ + ${maven.embedder.dir}/maven/lib/maven-core-3.9.14.jar:\ + ${maven.embedder.dir}/maven/lib/maven-model-3.9.14.jar:\ + ${maven.embedder.dir}/maven/lib/maven-plugin-api-3.9.14.jar:\ + ${maven.embedder.dir}/maven/lib/maven-resolver-api-1.9.27.jar:\ + ${maven.embedder.dir}/maven/lib/org.eclipse.sisu.plexus-1.0.0.jar:\ ${maven.embedder.dir}/maven/lib/plexus-utils-3.6.0.jar diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps index 4680706f7904..9e46ce973be4 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps +++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps @@ -23,13 +23,13 @@ ide/db.sql.visualeditor/external/javacc-7.0.10.jar java/performance/external/javacc-7.0.10.jar # bundled maven conflicts with other libraries -java/maven.embedder/external/apache-maven-3.9.12-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar -java/maven.embedder/external/apache-maven-3.9.12-bin.zip platform/libs.asm/external/asm-9.9.jar -java/maven.embedder/external/apache-maven-3.9.12-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.18.0.jar -java/maven.embedder/external/apache-maven-3.9.12-bin.zip ide/c.google.guava.failureaccess/external/failureaccess-1.0.3.jar -java/maven.embedder/external/apache-maven-3.9.12-bin.zip ide/c.google.guava/external/guava-33.4.6-jre.jar -java/maven.embedder/external/apache-maven-3.9.12-bin.zip ide/c.google.gson/external/gson-2.13.2.jar -java/maven.embedder/external/apache-maven-3.9.12-bin.zip java/maven.indexer/external/javax.annotation-api-1.3.2.jar +java/maven.embedder/external/apache-maven-3.9.14-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar +java/maven.embedder/external/apache-maven-3.9.14-bin.zip platform/libs.asm/external/asm-9.9.jar +java/maven.embedder/external/apache-maven-3.9.14-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.18.0.jar +java/maven.embedder/external/apache-maven-3.9.14-bin.zip ide/c.google.guava.failureaccess/external/failureaccess-1.0.3.jar +java/maven.embedder/external/apache-maven-3.9.14-bin.zip ide/c.google.guava/external/guava-33.4.6-jre.jar +java/maven.embedder/external/apache-maven-3.9.14-bin.zip ide/c.google.gson/external/gson-2.13.2.jar +java/maven.embedder/external/apache-maven-3.9.14-bin.zip java/maven.indexer/external/javax.annotation-api-1.3.2.jar # Used to parse data during build, but need to as a lib for ide cluster nbbuild/external/json-simple-1.1.1.jar ide/libs.json_simple/external/json-simple-1.1.1.jar @@ -39,9 +39,9 @@ webcommon/javascript2.jade/external/jflex-1.4.3.jar webcommon/javascript2.lexer/ # javax.annotation-api is used by multiple modules. enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.indexer/external/javax.annotation-api-1.3.2.jar -enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.9.12-bin.zip +enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.9.14-bin.zip enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar -enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.9.12-bin.zip +enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.9.14-bin.zip # jaxb-api-osgi is used by multiple modules. enterprise/javaee.api/external/jaxb-api-osgi-2.2.7.jar enterprise/javaee7.api/external/jaxb-api-osgi-2.2.7.jar @@ -56,7 +56,7 @@ enterprise/websvc.restlib/external/osgi.core-8.0.0.jar platform/libs.osgi/extern extide/gradle/external/gradle-8.11.1-bin.zip extide/o.apache.tools.ant.module/external/apache-ant-1.10.14-bin.zip extide/gradle/external/gradle-8.11.1-bin.zip ide/o.apache.commons.lang/external/commons-lang-2.6.jar extide/gradle/external/gradle-8.11.1-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar -extide/gradle/external/gradle-8.11.1-bin.zip java/maven.embedder/external/apache-maven-3.9.12-bin.zip +extide/gradle/external/gradle-8.11.1-bin.zip java/maven.embedder/external/apache-maven-3.9.14-bin.zip extide/gradle/external/gradle-8.11.1-bin.zip nbbuild/external/jsoup-1.15.3.jar extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit4/external/hamcrest-core-1.3.jar extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit4/external/junit-4.13.2.jar From 3a7b30e59adf565285f88ffdc3bd5218a4607d83 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Thu, 12 Mar 2026 22:16:06 +0100 Subject: [PATCH 19/74] Bump webcommon cluster to release=17 skipped cordova modules and libs.jstestdriver --- webcommon/api.knockout/nbproject/project.properties | 2 +- webcommon/cordova.platforms/nbproject/project.properties | 2 +- webcommon/extbrowser.chrome/build.xml | 2 +- webcommon/extbrowser.chrome/nbproject/project.properties | 2 +- webcommon/html.angular/nbproject/project.properties | 2 +- webcommon/html.knockout/nbproject/project.properties | 2 +- webcommon/javascript.bower/nbproject/project.properties | 2 +- webcommon/javascript.grunt/nbproject/project.properties | 2 +- webcommon/javascript.gulp/nbproject/project.properties | 2 +- .../javascript.jstestdriver/nbproject/project.properties | 2 +- webcommon/javascript.karma/nbproject/project.properties | 2 +- webcommon/javascript.nodejs/nbproject/project.properties | 2 +- webcommon/javascript.v8debug.ui/nbproject/project.properties | 2 +- webcommon/javascript.v8debug/nbproject/project.properties | 2 +- webcommon/javascript2.doc/nbproject/project.properties | 2 +- webcommon/javascript2.extdoc/nbproject/project.properties | 2 +- webcommon/javascript2.extjs/nbproject/project.properties | 2 +- webcommon/javascript2.html/nbproject/project.properties | 2 +- webcommon/javascript2.jade/nbproject/project.properties | 2 +- webcommon/javascript2.jquery/nbproject/project.properties | 2 +- webcommon/javascript2.jsdoc/nbproject/project.properties | 2 +- webcommon/javascript2.json/nbproject/project.properties | 2 +- webcommon/javascript2.knockout/nbproject/project.properties | 2 +- webcommon/javascript2.lexer/nbproject/project.properties | 2 +- webcommon/javascript2.model/nbproject/project.properties | 2 +- webcommon/javascript2.nodejs/nbproject/project.properties | 2 +- .../javascript2.prototypejs/nbproject/project.properties | 2 +- webcommon/javascript2.react/nbproject/project.properties | 2 +- webcommon/javascript2.requirejs/nbproject/project.properties | 2 +- webcommon/javascript2.sdoc/nbproject/project.properties | 2 +- .../javascript2.source.query/nbproject/project.properties | 2 +- webcommon/javascript2.types/nbproject/project.properties | 2 +- webcommon/languages.apacheconf/nbproject/project.properties | 2 +- webcommon/languages.ini/nbproject/project.properties | 2 +- .../lib.chrome_devtools_protocol/nbproject/project.properties | 2 +- webcommon/lib.v8debug/nbproject/project.properties | 4 ++-- webcommon/libs.plist/nbproject/project.properties | 2 +- webcommon/netserver/nbproject/project.properties | 2 +- .../selenium2.webclient.mocha/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- webcommon/selenium2.webclient/nbproject/project.properties | 2 +- webcommon/typescript.editor/nbproject/project.properties | 2 +- webcommon/web.client.kit/nbproject/project.properties | 2 +- webcommon/web.client.samples/nbproject/project.properties | 2 +- webcommon/web.clientproject.api/nbproject/project.properties | 2 +- webcommon/web.clientproject/nbproject/project.properties | 4 ++-- webcommon/web.inspect/nbproject/project.properties | 2 +- .../web.javascript.debugger/nbproject/project.properties | 2 +- webcommon/web.webkit.tooling/nbproject/project.properties | 2 +- 49 files changed, 51 insertions(+), 51 deletions(-) diff --git a/webcommon/api.knockout/nbproject/project.properties b/webcommon/api.knockout/nbproject/project.properties index 6a8c641dd25b..8e1b8a7f9848 100644 --- a/webcommon/api.knockout/nbproject/project.properties +++ b/webcommon/api.knockout/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/webcommon/cordova.platforms/nbproject/project.properties b/webcommon/cordova.platforms/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/webcommon/cordova.platforms/nbproject/project.properties +++ b/webcommon/cordova.platforms/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/extbrowser.chrome/build.xml b/webcommon/extbrowser.chrome/build.xml index bcb7b18958b0..0af233468d88 100644 --- a/webcommon/extbrowser.chrome/build.xml +++ b/webcommon/extbrowser.chrome/build.xml @@ -37,7 +37,7 @@ - + diff --git a/webcommon/extbrowser.chrome/nbproject/project.properties b/webcommon/extbrowser.chrome/nbproject/project.properties index 3c53185ad682..7e14c382cbd3 100644 --- a/webcommon/extbrowser.chrome/nbproject/project.properties +++ b/webcommon/extbrowser.chrome/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial extra.module.files=modules/lib/netbeans-chrome-connector.crx diff --git a/webcommon/html.angular/nbproject/project.properties b/webcommon/html.angular/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/html.angular/nbproject/project.properties +++ b/webcommon/html.angular/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/html.knockout/nbproject/project.properties b/webcommon/html.knockout/nbproject/project.properties index 12ff4ce45c81..d941511a1098 100644 --- a/webcommon/html.knockout/nbproject/project.properties +++ b/webcommon/html.knockout/nbproject/project.properties @@ -16,5 +16,5 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript.bower/nbproject/project.properties b/webcommon/javascript.bower/nbproject/project.properties index ec4cf7317021..1b8cfd07d342 100644 --- a/webcommon/javascript.bower/nbproject/project.properties +++ b/webcommon/javascript.bower/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript.grunt/nbproject/project.properties b/webcommon/javascript.grunt/nbproject/project.properties index ec4cf7317021..1b8cfd07d342 100644 --- a/webcommon/javascript.grunt/nbproject/project.properties +++ b/webcommon/javascript.grunt/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript.gulp/nbproject/project.properties b/webcommon/javascript.gulp/nbproject/project.properties index ec4cf7317021..1b8cfd07d342 100644 --- a/webcommon/javascript.gulp/nbproject/project.properties +++ b/webcommon/javascript.gulp/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript.jstestdriver/nbproject/project.properties b/webcommon/javascript.jstestdriver/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/javascript.jstestdriver/nbproject/project.properties +++ b/webcommon/javascript.jstestdriver/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript.karma/nbproject/project.properties b/webcommon/javascript.karma/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/javascript.karma/nbproject/project.properties +++ b/webcommon/javascript.karma/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript.nodejs/nbproject/project.properties b/webcommon/javascript.nodejs/nbproject/project.properties index ec4cf7317021..1b8cfd07d342 100644 --- a/webcommon/javascript.nodejs/nbproject/project.properties +++ b/webcommon/javascript.nodejs/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript.v8debug.ui/nbproject/project.properties b/webcommon/javascript.v8debug.ui/nbproject/project.properties index 032fd9d2a221..bb5a8778b8f7 100644 --- a/webcommon/javascript.v8debug.ui/nbproject/project.properties +++ b/webcommon/javascript.v8debug.ui/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml is.eager=true diff --git a/webcommon/javascript.v8debug/nbproject/project.properties b/webcommon/javascript.v8debug/nbproject/project.properties index 29cf47d4fede..e94f7420d82c 100644 --- a/webcommon/javascript.v8debug/nbproject/project.properties +++ b/webcommon/javascript.v8debug/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml is.autoload=true diff --git a/webcommon/javascript2.doc/nbproject/project.properties b/webcommon/javascript2.doc/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/webcommon/javascript2.doc/nbproject/project.properties +++ b/webcommon/javascript2.doc/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.extdoc/nbproject/project.properties b/webcommon/javascript2.extdoc/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/javascript2.extdoc/nbproject/project.properties +++ b/webcommon/javascript2.extdoc/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.extjs/nbproject/project.properties b/webcommon/javascript2.extjs/nbproject/project.properties index ad2a11a04656..e0d96031e527 100644 --- a/webcommon/javascript2.extjs/nbproject/project.properties +++ b/webcommon/javascript2.extjs/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial jnlp.verify.excludes=docs/extjs-properties.xml diff --git a/webcommon/javascript2.html/nbproject/project.properties b/webcommon/javascript2.html/nbproject/project.properties index f32081d847fd..bd4c9fc1fd2a 100644 --- a/webcommon/javascript2.html/nbproject/project.properties +++ b/webcommon/javascript2.html/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial is.eager=true diff --git a/webcommon/javascript2.jade/nbproject/project.properties b/webcommon/javascript2.jade/nbproject/project.properties index e440801aaa3f..eb5df7dc6418 100644 --- a/webcommon/javascript2.jade/nbproject/project.properties +++ b/webcommon/javascript2.jade/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial #jnlp.verify.excludes=docs/jquery-api.xml,docs/jquery-propertyNames.xml diff --git a/webcommon/javascript2.jquery/nbproject/project.properties b/webcommon/javascript2.jquery/nbproject/project.properties index 250daf190a2e..80a8ae9707eb 100644 --- a/webcommon/javascript2.jquery/nbproject/project.properties +++ b/webcommon/javascript2.jquery/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial jnlp.verify.excludes=docs/jquery-api.xml,docs/jquery-propertyNames.xml diff --git a/webcommon/javascript2.jsdoc/nbproject/project.properties b/webcommon/javascript2.jsdoc/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/javascript2.jsdoc/nbproject/project.properties +++ b/webcommon/javascript2.jsdoc/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.json/nbproject/project.properties b/webcommon/javascript2.json/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/webcommon/javascript2.json/nbproject/project.properties +++ b/webcommon/javascript2.json/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.knockout/nbproject/project.properties b/webcommon/javascript2.knockout/nbproject/project.properties index 12ff4ce45c81..d941511a1098 100644 --- a/webcommon/javascript2.knockout/nbproject/project.properties +++ b/webcommon/javascript2.knockout/nbproject/project.properties @@ -16,5 +16,5 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.lexer/nbproject/project.properties b/webcommon/javascript2.lexer/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/webcommon/javascript2.lexer/nbproject/project.properties +++ b/webcommon/javascript2.lexer/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.model/nbproject/project.properties b/webcommon/javascript2.model/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/webcommon/javascript2.model/nbproject/project.properties +++ b/webcommon/javascript2.model/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.nodejs/nbproject/project.properties b/webcommon/javascript2.nodejs/nbproject/project.properties index ec4cf7317021..1b8cfd07d342 100644 --- a/webcommon/javascript2.nodejs/nbproject/project.properties +++ b/webcommon/javascript2.nodejs/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.prototypejs/nbproject/project.properties b/webcommon/javascript2.prototypejs/nbproject/project.properties index ec4cf7317021..1b8cfd07d342 100644 --- a/webcommon/javascript2.prototypejs/nbproject/project.properties +++ b/webcommon/javascript2.prototypejs/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.react/nbproject/project.properties b/webcommon/javascript2.react/nbproject/project.properties index ec4cf7317021..1b8cfd07d342 100644 --- a/webcommon/javascript2.react/nbproject/project.properties +++ b/webcommon/javascript2.react/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.requirejs/nbproject/project.properties b/webcommon/javascript2.requirejs/nbproject/project.properties index ec4cf7317021..1b8cfd07d342 100644 --- a/webcommon/javascript2.requirejs/nbproject/project.properties +++ b/webcommon/javascript2.requirejs/nbproject/project.properties @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.sdoc/nbproject/project.properties b/webcommon/javascript2.sdoc/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/javascript2.sdoc/nbproject/project.properties +++ b/webcommon/javascript2.sdoc/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript2.source.query/nbproject/project.properties b/webcommon/javascript2.source.query/nbproject/project.properties index 344eadb97d4f..4780706c885b 100644 --- a/webcommon/javascript2.source.query/nbproject/project.properties +++ b/webcommon/javascript2.source.query/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial is.autoload=true diff --git a/webcommon/javascript2.types/nbproject/project.properties b/webcommon/javascript2.types/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/webcommon/javascript2.types/nbproject/project.properties +++ b/webcommon/javascript2.types/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/languages.apacheconf/nbproject/project.properties b/webcommon/languages.apacheconf/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/languages.apacheconf/nbproject/project.properties +++ b/webcommon/languages.apacheconf/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/languages.ini/nbproject/project.properties b/webcommon/languages.ini/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/languages.ini/nbproject/project.properties +++ b/webcommon/languages.ini/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/lib.chrome_devtools_protocol/nbproject/project.properties b/webcommon/lib.chrome_devtools_protocol/nbproject/project.properties index bb54b6120505..52c11d423506 100644 --- a/webcommon/lib.chrome_devtools_protocol/nbproject/project.properties +++ b/webcommon/lib.chrome_devtools_protocol/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked +javac.compilerargs=-Xlint javac.release=11 #javadoc.apichanges=${basedir}/apichanges.xml diff --git a/webcommon/lib.v8debug/nbproject/project.properties b/webcommon/lib.v8debug/nbproject/project.properties index e40d34ceea78..0d18ca3966bb 100644 --- a/webcommon/lib.v8debug/nbproject/project.properties +++ b/webcommon/lib.v8debug/nbproject/project.properties @@ -16,8 +16,8 @@ # under the License. is.autoload=true -javac.compilerargs=-Xlint:unchecked -javac.source=1.8 +javac.compilerargs=-Xlint +javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/webcommon/libs.plist/nbproject/project.properties b/webcommon/libs.plist/nbproject/project.properties index a0129e64ab35..8553678e0201 100644 --- a/webcommon/libs.plist/nbproject/project.properties +++ b/webcommon/libs.plist/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=8 javac.compilerargs=-Xlint -Xlint:-serial is.autoload=true release.external/dd-plist-1.23.jar=modules/ext/dd-plist.jar diff --git a/webcommon/netserver/nbproject/project.properties b/webcommon/netserver/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/webcommon/netserver/nbproject/project.properties +++ b/webcommon/netserver/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/selenium2.webclient.mocha/nbproject/project.properties b/webcommon/selenium2.webclient.mocha/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/webcommon/selenium2.webclient.mocha/nbproject/project.properties +++ b/webcommon/selenium2.webclient.mocha/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/selenium2.webclient.protractor/nbproject/project.properties b/webcommon/selenium2.webclient.protractor/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/webcommon/selenium2.webclient.protractor/nbproject/project.properties +++ b/webcommon/selenium2.webclient.protractor/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/selenium2.webclient/nbproject/project.properties b/webcommon/selenium2.webclient/nbproject/project.properties index 3b054ca8045d..ee2e82fe015a 100644 --- a/webcommon/selenium2.webclient/nbproject/project.properties +++ b/webcommon/selenium2.webclient/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.eager=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/typescript.editor/nbproject/project.properties b/webcommon/typescript.editor/nbproject/project.properties index 5137752915a4..60729d846776 100644 --- a/webcommon/typescript.editor/nbproject/project.properties +++ b/webcommon/typescript.editor/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/web.client.kit/nbproject/project.properties b/webcommon/web.client.kit/nbproject/project.properties index 0f4ec98bc91a..1608e258a873 100644 --- a/webcommon/web.client.kit/nbproject/project.properties +++ b/webcommon/web.client.kit/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=8 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/web.client.samples/nbproject/project.properties b/webcommon/web.client.samples/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/web.client.samples/nbproject/project.properties +++ b/webcommon/web.client.samples/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/web.clientproject.api/nbproject/project.properties b/webcommon/web.clientproject.api/nbproject/project.properties index 0f73a1153601..f4e932deb55b 100644 --- a/webcommon/web.clientproject.api/nbproject/project.properties +++ b/webcommon/web.clientproject.api/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/web.clientproject/nbproject/project.properties b/webcommon/web.clientproject/nbproject/project.properties index 428556d39d02..73811063fd2b 100644 --- a/webcommon/web.clientproject/nbproject/project.properties +++ b/webcommon/web.clientproject/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 -javac.compilerargs=-Xlint -Xlint:-serial -Xlint:unchecked +javac.release=17 +javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/web.inspect/nbproject/project.properties b/webcommon/web.inspect/nbproject/project.properties index fc68210459de..d27304f747be 100644 --- a/webcommon/web.inspect/nbproject/project.properties +++ b/webcommon/web.inspect/nbproject/project.properties @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 diff --git a/webcommon/web.javascript.debugger/nbproject/project.properties b/webcommon/web.javascript.debugger/nbproject/project.properties index 5137752915a4..60729d846776 100644 --- a/webcommon/web.javascript.debugger/nbproject/project.properties +++ b/webcommon/web.javascript.debugger/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/web.webkit.tooling/nbproject/project.properties b/webcommon/web.webkit.tooling/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/webcommon/web.webkit.tooling/nbproject/project.properties +++ b/webcommon/web.webkit.tooling/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial From ecd07b719232d476b5847fcfe44adbdf609fa2cb Mon Sep 17 00:00:00 2001 From: Bogdan Haidu Date: Sun, 2 Nov 2025 21:01:08 +0200 Subject: [PATCH 20/74] Support for PHP 8.5 part 1 Issue #9034 - include Php 8.5 version option - syntax support for pipe opperator - error hints for basic non-callable pipe operator right handle : integer, float, bool, infix expression, arrow function - basic formatter handling for pipe operator - bump PhpVersion --- .../netbeans/modules/php/api/PhpVersion.java | 7 + .../modules/php/editor/CodeUtils.java | 1 + .../php/editor/indent/FormatVisitor.java | 18 + .../php/editor/indent/IndentationCounter.java | 8 + .../php/editor/lexer/LexUtilities.java | 7 +- .../php/editor/lexer/PHP5ColoringLexer.java | 184 +- .../php/editor/parser/ASTPHP5Parser.java | 4240 +++++----- .../php/editor/parser/ASTPHP5Scanner.java | 2786 ++++--- .../php/editor/parser/ASTPHP5Symbols.java | 141 +- .../editor/parser/EncodedActionTable1.java | 6851 ++++++++-------- .../editor/parser/EncodedActionTable10.java | 6975 ++++++++-------- .../editor/parser/EncodedActionTable11.java | 5991 +++++++------- .../editor/parser/EncodedActionTable12.java | 7227 ++++++++-------- .../editor/parser/EncodedActionTable13.java | 6191 +++++++------- .../editor/parser/EncodedActionTable14.java | 6061 +++++++------- .../editor/parser/EncodedActionTable15.java | 5909 +++++++------- .../editor/parser/EncodedActionTable16.java | 6199 +++++++------- .../editor/parser/EncodedActionTable17.java | 5601 ++++++------- .../editor/parser/EncodedActionTable18.java | 7233 +++++++++-------- .../editor/parser/EncodedActionTable19.java | 5313 ++++++------ .../editor/parser/EncodedActionTable2.java | 4861 +++++------ .../editor/parser/EncodedActionTable20.java | 6849 ++++++++-------- .../editor/parser/EncodedActionTable21.java | 3255 ++++++-- .../editor/parser/EncodedActionTable22.java | 266 + .../editor/parser/EncodedActionTable3.java | 6297 +++++++------- .../editor/parser/EncodedActionTable4.java | 6345 +++++++-------- .../editor/parser/EncodedActionTable5.java | 5715 ++++++------- .../editor/parser/EncodedActionTable6.java | 6197 +++++++------- .../editor/parser/EncodedActionTable7.java | 6355 +++++++-------- .../editor/parser/EncodedActionTable8.java | 5653 ++++++------- .../editor/parser/EncodedActionTable9.java | 5407 ++++++------ .../editor/parser/PHP5ErrorHandlerImpl.java | 2 + .../modules/php/editor/parser/Utils.java | 3 + .../astnodes/CompositionExpression.java | 106 + .../php/editor/parser/astnodes/Visitor.java | 2 + .../astnodes/visitors/DefaultVisitor.java | 7 + .../modules/php/editor/resources/layer.xml | 2 + ...IncorrectFunctionCompositionHintError.java | 167 + .../verification/PHP84UnhandledError.java | 2 +- .../verification/PHP85UnhandledError.java | 139 + .../lexer/php85/pipeOperator_01.pass | 94 + .../lexer/php85/pipeOperator_02.pass | 235 + .../lexer/php85/pipeOperator_03.pass | 91 + .../parser/php85/pipeOperator_01.pass | 337 + .../parser/php85/pipeOperator_02.pass | 819 ++ .../parser/php85/pipeOperator_03.pass | 281 + .../php85/pipeOperatorInlineExpression_01.php | 24 + ...eOperatorInlineExpression_01.php.formatted | 24 + .../pipeOperatorMultilineExpression_01.php | 24 + ...eratorMultilineExpression_01.php.formatted | 25 + .../testfiles/lexer/php85/pipeOperator_01.php | 28 + .../testfiles/lexer/php85/pipeOperator_02.php | 50 + .../testfiles/lexer/php85/pipeOperator_03.php | 28 + .../parser/php85/pipeOperator_01.php | 28 + .../parser/php85/pipeOperator_01.php.errors | 0 .../parser/php85/pipeOperator_02.php | 50 + .../parser/php85/pipeOperator_02.php.errors | 0 .../parser/php85/pipeOperator_03.php | 28 + .../parser/php85/pipeOperator_03.php.errors | 0 .../testArrowFunctionMustBeParenthesized.php | 24 + ...nctionMustBeParenthesizedRightHandle.hints | 3 + .../testInfixExpressionRightHandle.php | 31 + ...e.php.testInfixExpressionRightHandle.hints | 9 + .../testNonCallableRightHandle.php | 21 + ...andle.php.testNonCallableRightHandle.hints | 2 + .../php/editor/indent/PHPFormatterTest.java | 11 + .../php/editor/lexer/PHP85FeaturesTest.java | 38 + .../php/editor/parser/ASTPHP5ParserTest.java | 13 + .../php/editor/parser/PhpParserErrorTest.java | 13 + .../php/editor/parser/PrintASTVisitor.java | 9 + ...rrectFunctionCompositionHintErrorTest.java | 43 + php/php.editor/tools/ASTPHP5Parser.cup | 20 +- php/php.editor/tools/ASTPHP5Scanner.flex | 6 + php/php.editor/tools/Php5ColoringScanner.flex | 2 +- 74 files changed, 70857 insertions(+), 66127 deletions(-) create mode 100644 php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable22.java create mode 100644 php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/CompositionExpression.java create mode 100644 php/php.editor/src/org/netbeans/modules/php/editor/verification/IncorrectFunctionCompositionHintError.java create mode 100644 php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP85UnhandledError.java create mode 100644 php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_01.pass create mode 100644 php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_02.pass create mode 100644 php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_03.pass create mode 100644 php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_01.pass create mode 100644 php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_02.pass create mode 100644 php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_03.pass create mode 100644 php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorInlineExpression_01.php create mode 100644 php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorInlineExpression_01.php.formatted create mode 100644 php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php create mode 100644 php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php.formatted create mode 100644 php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_01.php create mode 100644 php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_02.php create mode 100644 php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_03.php create mode 100644 php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_01.php create mode 100644 php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_01.php.errors create mode 100644 php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_02.php create mode 100644 php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_02.php.errors create mode 100644 php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_03.php create mode 100644 php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_03.php.errors create mode 100644 php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testArrowFunctionMustBeParenthesized.php create mode 100644 php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testArrowFunctionMustBeParenthesized.php.testArrowFunctionMustBeParenthesizedRightHandle.hints create mode 100644 php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testInfixExpressionRightHandle.php create mode 100644 php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testInfixExpressionRightHandle.php.testInfixExpressionRightHandle.hints create mode 100644 php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testNonCallableRightHandle.php create mode 100644 php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testNonCallableRightHandle.php.testNonCallableRightHandle.hints create mode 100644 php/php.editor/test/unit/src/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest.java create mode 100644 php/php.editor/test/unit/src/org/netbeans/modules/php/editor/verification/IncorrectFunctionCompositionHintErrorTest.java diff --git a/php/php.api.phpmodule/src/org/netbeans/modules/php/api/PhpVersion.java b/php/php.api.phpmodule/src/org/netbeans/modules/php/api/PhpVersion.java index c5ca94b99137..7212c96ab5fa 100644 --- a/php/php.api.phpmodule/src/org/netbeans/modules/php/api/PhpVersion.java +++ b/php/php.api.phpmodule/src/org/netbeans/modules/php/api/PhpVersion.java @@ -41,6 +41,7 @@ "PhpVersion.PHP_82=PHP 8.2", "PhpVersion.PHP_83=PHP 8.3", "PhpVersion.PHP_84=PHP 8.4", + "PhpVersion.PHP_85=PHP 8.5", }) public enum PhpVersion { @@ -115,6 +116,11 @@ public enum PhpVersion { * @since 2.100 */ PHP_84(Bundle.PhpVersion_PHP_84()), + /** + * PHP 8.5 + * @since 2.106 + */ + PHP_85(Bundle.PhpVersion_PHP_85()), ; private final String displayName; @@ -373,6 +379,7 @@ private enum Period { PHP_82(LocalDate.of(2022, 12, 8), LocalDate.of(2024, 12, 31), LocalDate.of(2026, 12, 31)), PHP_83(LocalDate.of(2023, 11, 23), LocalDate.of(2025, 12, 31), LocalDate.of(2027, 12, 31)), PHP_84(LocalDate.of(2024, 11, 21), LocalDate.of(2026, 12, 31), LocalDate.of(2028, 12, 31)), + PHP_85(LocalDate.of(2025, 11, 20), LocalDate.of(2027, 12, 31), LocalDate.of(2029, 12, 31)), ; private final LocalDate initialRelease; diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/CodeUtils.java b/php/php.editor/src/org/netbeans/modules/php/editor/CodeUtils.java index a04f2c55751e..37ed9f329151 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/CodeUtils.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/CodeUtils.java @@ -93,6 +93,7 @@ public final class CodeUtils { public static final String NEW_LINE = "\n"; // NOI18N public static final String THIS_VARIABLE = "$this"; // NOI18N public static final String NS_SEPARATOR = "\\"; // NOI18N + public static final String PIPE_OPERATOR = "|>"; // NOI18N public static final Pattern WHITE_SPACES_PATTERN = Pattern.compile("\\s+"); // NOI18N public static final Pattern SPLIT_TYPES_PATTERN = Pattern.compile("[()|&]+"); // NOI18N diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java b/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java index d9c03f66edf6..71656d94cb2d 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java @@ -36,6 +36,7 @@ import org.netbeans.modules.csl.api.OffsetRange; import org.netbeans.modules.csl.spi.GsfUtilities; import org.netbeans.modules.php.editor.CodeUtils; +import static org.netbeans.modules.php.editor.CodeUtils.PIPE_OPERATOR; import org.netbeans.modules.php.editor.indent.FormatToken.AssignmentAnchorToken; import org.netbeans.modules.php.editor.indent.TokenFormatter.DocumentOptions; import org.netbeans.modules.php.editor.lexer.LexUtilities; @@ -59,6 +60,7 @@ import org.netbeans.modules.php.editor.parser.astnodes.ClassDeclaration; import org.netbeans.modules.php.editor.parser.astnodes.ClassInstanceCreation; import org.netbeans.modules.php.editor.parser.astnodes.ClassInstanceCreationVariable; +import org.netbeans.modules.php.editor.parser.astnodes.CompositionExpression; import org.netbeans.modules.php.editor.parser.astnodes.ConditionalExpression; import org.netbeans.modules.php.editor.parser.astnodes.ConstantDeclaration; import org.netbeans.modules.php.editor.parser.astnodes.DeclareStatement; @@ -1085,6 +1087,22 @@ private void visitConditionalExpression(ConditionalExpression node, boolean putC } } + //PHP 8.5 pipe operator composition expression + @Override + public void visit(CompositionExpression node) { + scan(node.getLeft()); + while (ts.moveNext() + && !(ts.token().id() == PHPTokenId.PHP_OPERATOR && TokenUtilities.textEquals(PIPE_OPERATOR, ts.token().text())) // NOI18N + && lastIndex < ts.index()) { + addFormatToken(formatTokens); + } + + formatTokens.add(new FormatToken(FormatToken.Kind.WHITESPACE_AROUND_KEY_VALUE_OP, ts.offset() + ts.token().length())); + formatTokens.add(new FormatToken(FormatToken.Kind.TEXT, ts.offset(), ts.token().text().toString())); + //todo implement a minimum space arround pipe operator (|>trim()) + scan(node.getRight()); + } + @Override public void visit(ConstantDeclaration node) { if (path.size() > 1 && path.get(1) instanceof Block) { diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/indent/IndentationCounter.java b/php/php.editor/src/org/netbeans/modules/php/editor/indent/IndentationCounter.java index 70eeb6ca1fbb..ef54c12c8917 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/indent/IndentationCounter.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/indent/IndentationCounter.java @@ -29,6 +29,7 @@ import org.netbeans.editor.BaseDocument; import org.netbeans.editor.Utilities; import org.netbeans.modules.editor.indent.spi.Context; +import static org.netbeans.modules.php.editor.CodeUtils.PIPE_OPERATOR; import org.netbeans.modules.php.editor.lexer.LexUtilities; import org.netbeans.modules.php.editor.lexer.PHPTokenId; import org.openide.util.Exceptions; @@ -343,6 +344,13 @@ && isFirstCommaAfterDoubleArrow(startExpression, caretOffset, ts)) { newIndent = Utilities.getRowIndent(doc, startExpression) + continuationSize; break; } + } else if (ts.token().id() == PHPTokenId.PHP_OPERATOR && TokenUtilities.textEquals(PIPE_OPERATOR, ts.token().text())) { // NOI18N + //PHP 8.5 align pipe operator chain expressions + int startExpression = LexUtilities.findStartTokenOfExpression(ts); + if (startExpression != -1) { + newIndent = Utilities.getRowIndent(doc, startExpression); + break; + } } } previousTokenId = ts.token().id(); diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/lexer/LexUtilities.java b/php/php.editor/src/org/netbeans/modules/php/editor/lexer/LexUtilities.java index 2d0f69463789..5c45854760f4 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/lexer/LexUtilities.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/lexer/LexUtilities.java @@ -33,6 +33,7 @@ import org.netbeans.editor.BaseDocument; import org.netbeans.editor.Utilities; import org.netbeans.modules.csl.api.OffsetRange; +import static org.netbeans.modules.php.editor.CodeUtils.PIPE_OPERATOR; import org.openide.filesystems.FileUtil; import org.openide.loaders.DataObject; import org.openide.util.Exceptions; @@ -47,7 +48,7 @@ * @author Petr Pisl */ public final class LexUtilities { - + private LexUtilities() { } @@ -623,6 +624,10 @@ public static int findStartTokenOfExpression(TokenSequence ts) { } break; } + } else if (token.id() == PHPTokenId.PHP_OPERATOR && TokenUtilities.textEquals(token.text(), PIPE_OPERATOR)) { // NOI18N + //PHP 8.5 pipe operator + start = ts.offset(); + break; } else if (balance == 1 && token.id() == PHPTokenId.PHP_STRING) { // probably there is a function call insede the expression start = ts.offset(); diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/lexer/PHP5ColoringLexer.java b/php/php.editor/src/org/netbeans/modules/php/editor/lexer/PHP5ColoringLexer.java index e2ee7169c892..dd702ec29e88 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/lexer/PHP5ColoringLexer.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/lexer/PHP5ColoringLexer.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 2025/01/11 13:13 */ +/* The following code was generated by JFlex 1.4.1 on 12/23/25, 9:11 AM */ /* * Licensed to the Apache Software Foundation (ASF) under one @@ -32,9 +32,9 @@ /** * This class is a scanner generated by - * JFlex 1.4.3 - * on 2025/01/11 13:13 from the specification file - * /home/junichi11/NetBeansProjects/netbeans/php/php.editor/tools/Php5ColoringScanner.flex + * JFlex 1.4.1 + * on 12/23/25, 9:11 AM from the specification file + * /home/bhaidu/BHA/Netbeans/Projects/netbeans/php/php.editor/tools/Php5ColoringScanner.flex */ public class PHP5ColoringLexer { @@ -45,41 +45,29 @@ public class PHP5ColoringLexer { private static final int ZZ_BUFFERSIZE = 16384; /** lexical states */ - public static final int ST_PHP_END_NOWDOC = 22; - public static final int ST_PHP_NOWDOC = 18; - public static final int ST_PHP_END_HEREDOC = 16; - public static final int ST_PHP_COMMENT = 32; - public static final int ST_PHP_START_HEREDOC = 14; - public static final int ST_PHP_QUOTES_AFTER_VARIABLE = 8; - public static final int ST_PHP_IN_SCRIPTING = 2; - public static final int ST_PHP_LOOKING_FOR_CONSTANT_NAME = 28; - public static final int ST_PHP_LOOKING_FOR_STATIC_PROPERTY = 10; - public static final int ST_PHP_DOC_COMMENT = 34; - public static final int ST_PHP_LINE_COMMENT = 36; - public static final int ST_PHP_LOOKING_FOR_FUNCTION_NAME = 26; - public static final int ST_PHP_BACKQUOTE = 6; - public static final int ST_PHP_START_NOWDOC = 20; - public static final int ST_PHP_HEREDOC = 12; - public static final int ST_HALTED_COMPILER = 40; - public static final int ST_PHP_HIGHLIGHTING_ERROR = 38; - public static final int ST_PHP_LOOKING_FOR_PARAMETER_NAME = 44; - public static final int ST_PHP_LOOKING_FOR_TRUE_FALSE_NULL = 42; - public static final int ST_PHP_VAR_OFFSET = 30; + public static final int ST_PHP_END_NOWDOC = 11; + public static final int ST_PHP_NOWDOC = 9; + public static final int ST_PHP_END_HEREDOC = 8; + public static final int ST_PHP_COMMENT = 16; + public static final int ST_PHP_START_HEREDOC = 7; + public static final int ST_PHP_QUOTES_AFTER_VARIABLE = 4; + public static final int ST_PHP_IN_SCRIPTING = 1; + public static final int ST_PHP_LOOKING_FOR_CONSTANT_NAME = 14; + public static final int ST_PHP_LOOKING_FOR_STATIC_PROPERTY = 5; + public static final int ST_PHP_DOC_COMMENT = 17; + public static final int ST_PHP_LINE_COMMENT = 18; + public static final int ST_PHP_LOOKING_FOR_FUNCTION_NAME = 13; + public static final int ST_PHP_BACKQUOTE = 3; + public static final int ST_PHP_START_NOWDOC = 10; + public static final int ST_PHP_HEREDOC = 6; + public static final int ST_HALTED_COMPILER = 20; + public static final int ST_PHP_HIGHLIGHTING_ERROR = 19; + public static final int ST_PHP_LOOKING_FOR_PARAMETER_NAME = 22; + public static final int ST_PHP_LOOKING_FOR_TRUE_FALSE_NULL = 21; + public static final int ST_PHP_VAR_OFFSET = 15; public static final int YYINITIAL = 0; - public static final int ST_PHP_DOUBLE_QUOTES = 4; - public static final int ST_PHP_LOOKING_FOR_PROPERTY = 24; - - /** - * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l - * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l - * at the beginning of a line - * l is of the form l = 2*k, k a non negative integer - */ - private static final int ZZ_LEXSTATE[] = { - 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, - 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, - 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22 - }; + public static final int ST_PHP_DOUBLE_QUOTES = 2; + public static final int ST_PHP_LOOKING_FOR_PROPERTY = 12; /** * Translates characters to character classes @@ -104,64 +92,64 @@ public class PHP5ColoringLexer { "\2\15\7\0\2\15\12\20\3\15\2\0\1\15\20\0\1\15\1\0"+ "\36\15\35\0\131\15\13\0\1\15\16\0\12\20\41\15\11\0\2\15"+ "\4\0\1\15\5\0\26\15\4\0\1\15\11\0\1\15\3\0\1\15"+ - "\27\0\31\15\7\0\13\15\65\0\25\15\1\0\22\15\74\0\66\15"+ - "\3\0\1\15\22\0\1\15\7\0\12\15\4\0\12\20\1\0\20\15"+ - "\4\0\10\15\2\0\2\15\2\0\26\15\1\0\7\15\1\0\1\15"+ - "\3\0\4\15\3\0\1\15\20\0\1\15\15\0\2\15\1\0\3\15"+ - "\4\0\12\20\2\15\12\0\1\15\10\0\6\15\4\0\2\15\2\0"+ - "\26\15\1\0\7\15\1\0\2\15\1\0\2\15\1\0\2\15\37\0"+ - "\4\15\1\0\1\15\7\0\12\20\2\0\3\15\20\0\11\15\1\0"+ - "\3\15\1\0\26\15\1\0\7\15\1\0\2\15\1\0\5\15\3\0"+ - "\1\15\22\0\1\15\17\0\2\15\4\0\12\20\11\0\1\15\13\0"+ - "\10\15\2\0\2\15\2\0\26\15\1\0\7\15\1\0\2\15\1\0"+ - "\5\15\3\0\1\15\36\0\2\15\1\0\3\15\4\0\12\20\1\0"+ - "\1\15\21\0\1\15\1\0\6\15\3\0\3\15\1\0\4\15\3\0"+ - "\2\15\1\0\1\15\1\0\2\15\3\0\2\15\3\0\3\15\3\0"+ - "\14\15\26\0\1\15\25\0\12\20\25\0\10\15\1\0\3\15\1\0"+ - "\27\15\1\0\20\15\3\0\1\15\32\0\3\15\5\0\2\15\4\0"+ - "\12\20\20\0\1\15\4\0\10\15\1\0\3\15\1\0\27\15\1\0"+ - "\12\15\1\0\5\15\3\0\1\15\40\0\1\15\1\0\2\15\4\0"+ - "\12\20\1\0\2\15\21\0\11\15\1\0\3\15\1\0\51\15\2\0"+ - "\1\15\20\0\1\15\5\0\3\15\10\0\3\15\4\0\12\20\12\0"+ - "\6\15\5\0\22\15\3\0\30\15\1\0\11\15\1\0\1\15\2\0"+ - "\7\15\37\0\12\20\21\0\60\15\1\0\2\15\14\0\7\15\11\0"+ - "\12\20\47\0\2\15\1\0\1\15\1\0\5\15\1\0\30\15\1\0"+ - "\1\15\1\0\12\15\1\0\2\15\11\0\1\15\2\0\5\15\1\0"+ - "\1\15\11\0\12\20\2\0\4\15\40\0\1\15\37\0\12\20\26\0"+ - "\10\15\1\0\44\15\33\0\5\15\163\0\53\15\24\0\1\15\12\20"+ - "\6\0\6\15\4\0\4\15\3\0\1\15\3\0\2\15\7\0\3\15"+ - "\4\0\15\15\14\0\1\15\1\0\12\20\6\0\46\15\1\0\1\15"+ - "\5\0\1\15\2\0\53\15\1\0\u014d\15\1\0\4\15\2\0\7\15"+ - "\1\0\1\15\1\0\4\15\2\0\51\15\1\0\4\15\2\0\41\15"+ - "\1\0\4\15\2\0\7\15\1\0\1\15\1\0\4\15\2\0\17\15"+ - "\1\0\71\15\1\0\4\15\2\0\103\15\45\0\20\15\20\0\126\15"+ - "\2\0\6\15\3\0\u026c\15\2\0\21\15\1\0\32\15\5\0\113\15"+ - "\6\0\10\15\7\0\15\15\1\0\4\15\16\0\22\15\16\0\22\15"+ - "\16\0\15\15\1\0\3\15\17\0\64\15\43\0\1\15\4\0\1\15"+ - "\3\0\12\20\46\0\12\20\6\0\131\15\7\0\5\15\2\0\42\15"+ - "\1\0\1\15\5\0\106\15\12\0\37\15\47\0\12\20\36\15\2\0"+ - "\5\15\13\0\54\15\4\0\32\15\6\0\12\20\46\0\27\15\11\0"+ - "\65\15\53\0\12\20\6\0\12\20\15\0\1\15\135\0\57\15\21\0"+ - "\7\15\4\0\12\20\51\0\36\15\15\0\2\15\12\20\54\15\32\0"+ - "\44\15\34\0\12\20\3\0\3\15\12\20\44\15\2\0\11\15\7\0"+ - "\53\15\2\0\3\15\51\0\4\15\1\0\6\15\1\0\2\15\3\0"+ - "\1\15\5\0\300\15\100\0\u0116\15\2\0\6\15\2\0\46\15\2\0"+ - "\6\15\2\0\10\15\1\0\1\15\1\0\1\15\1\0\1\15\1\0"+ - "\37\15\2\0\65\15\1\0\7\15\1\0\1\15\3\0\3\15\1\0"+ - "\7\15\3\0\4\15\2\0\6\15\4\0\15\15\5\0\3\15\1\0"+ - "\7\15\164\0\1\15\15\0\1\15\20\0\15\15\145\0\1\15\4\0"+ - "\1\15\2\0\12\15\1\0\1\15\3\0\5\15\6\0\1\15\1\0"+ - "\1\15\1\0\1\15\1\0\4\15\1\0\13\15\2\0\4\15\5\0"+ - "\5\15\4\0\1\15\64\0\2\15\u0a7b\0\57\15\1\0\57\15\1\0"+ - "\205\15\6\0\4\15\3\0\2\15\14\0\46\15\1\0\1\15\5\0"+ - "\1\15\2\0\70\15\7\0\1\15\20\0\27\15\11\0\7\15\1\0"+ + "\27\0\31\15\7\0\13\15\5\0\30\15\1\0\6\15\21\0\52\15"+ + "\72\0\66\15\3\0\1\15\22\0\1\15\7\0\12\15\4\0\12\20"+ + "\1\0\20\15\4\0\10\15\2\0\2\15\2\0\26\15\1\0\7\15"+ + "\1\0\1\15\3\0\4\15\3\0\1\15\20\0\1\15\15\0\2\15"+ + "\1\0\3\15\4\0\12\20\2\15\12\0\1\15\10\0\6\15\4\0"+ + "\2\15\2\0\26\15\1\0\7\15\1\0\2\15\1\0\2\15\1\0"+ + "\2\15\37\0\4\15\1\0\1\15\7\0\12\20\2\0\3\15\20\0"+ + "\11\15\1\0\3\15\1\0\26\15\1\0\7\15\1\0\2\15\1\0"+ + "\5\15\3\0\1\15\22\0\1\15\17\0\2\15\4\0\12\20\11\0"+ + "\1\15\13\0\10\15\2\0\2\15\2\0\26\15\1\0\7\15\1\0"+ + "\2\15\1\0\5\15\3\0\1\15\36\0\2\15\1\0\3\15\4\0"+ + "\12\20\1\0\1\15\21\0\1\15\1\0\6\15\3\0\3\15\1\0"+ + "\4\15\3\0\2\15\1\0\1\15\1\0\2\15\3\0\2\15\3\0"+ + "\3\15\3\0\14\15\26\0\1\15\25\0\12\20\25\0\10\15\1\0"+ + "\3\15\1\0\27\15\1\0\20\15\3\0\1\15\32\0\3\15\2\0"+ + "\1\15\2\0\2\15\4\0\12\20\20\0\1\15\4\0\10\15\1\0"+ + "\3\15\1\0\27\15\1\0\12\15\1\0\5\15\3\0\1\15\37\0"+ + "\2\15\1\0\2\15\4\0\12\20\1\0\2\15\21\0\11\15\1\0"+ + "\3\15\1\0\51\15\2\0\1\15\20\0\1\15\5\0\3\15\10\0"+ + "\3\15\4\0\12\20\12\0\6\15\5\0\22\15\3\0\30\15\1\0"+ + "\11\15\1\0\1\15\2\0\7\15\37\0\12\20\21\0\60\15\1\0"+ + "\2\15\14\0\7\15\11\0\12\20\47\0\2\15\1\0\1\15\1\0"+ + "\5\15\1\0\30\15\1\0\1\15\1\0\12\15\1\0\2\15\11\0"+ + "\1\15\2\0\5\15\1\0\1\15\11\0\12\20\2\0\4\15\40\0"+ + "\1\15\37\0\12\20\26\0\10\15\1\0\44\15\33\0\5\15\163\0"+ + "\53\15\24\0\1\15\12\20\6\0\6\15\4\0\4\15\3\0\1\15"+ + "\3\0\2\15\7\0\3\15\4\0\15\15\14\0\1\15\1\0\12\20"+ + "\6\0\46\15\1\0\1\15\5\0\1\15\2\0\53\15\1\0\u014d\15"+ + "\1\0\4\15\2\0\7\15\1\0\1\15\1\0\4\15\2\0\51\15"+ + "\1\0\4\15\2\0\41\15\1\0\4\15\2\0\7\15\1\0\1\15"+ + "\1\0\4\15\2\0\17\15\1\0\71\15\1\0\4\15\2\0\103\15"+ + "\45\0\20\15\20\0\126\15\2\0\6\15\3\0\u026c\15\2\0\21\15"+ + "\1\0\32\15\5\0\113\15\6\0\10\15\7\0\22\15\15\0\23\15"+ + "\16\0\22\15\16\0\15\15\1\0\3\15\17\0\64\15\43\0\1\15"+ + "\4\0\1\15\3\0\12\20\46\0\12\20\6\0\131\15\7\0\5\15"+ + "\2\0\42\15\1\0\1\15\5\0\106\15\12\0\37\15\47\0\12\20"+ + "\36\15\2\0\5\15\13\0\54\15\4\0\32\15\6\0\12\20\46\0"+ + "\27\15\11\0\65\15\53\0\12\20\6\0\12\20\15\0\1\15\135\0"+ + "\57\15\21\0\10\15\3\0\12\20\51\0\36\15\15\0\2\15\12\20"+ + "\54\15\32\0\44\15\34\0\12\20\3\0\3\15\12\20\44\15\2\0"+ + "\11\15\7\0\53\15\2\0\3\15\51\0\4\15\1\0\6\15\1\0"+ + "\2\15\3\0\1\15\5\0\300\15\100\0\u0116\15\2\0\6\15\2\0"+ + "\46\15\2\0\6\15\2\0\10\15\1\0\1\15\1\0\1\15\1\0"+ + "\1\15\1\0\37\15\2\0\65\15\1\0\7\15\1\0\1\15\3\0"+ + "\3\15\1\0\7\15\3\0\4\15\2\0\6\15\4\0\15\15\5\0"+ + "\3\15\1\0\7\15\164\0\1\15\15\0\1\15\20\0\15\15\145\0"+ + "\1\15\4\0\1\15\2\0\12\15\1\0\1\15\3\0\5\15\6\0"+ + "\1\15\1\0\1\15\1\0\1\15\1\0\4\15\1\0\13\15\2\0"+ + "\4\15\5\0\5\15\4\0\1\15\64\0\2\15\u0a7b\0\345\15\6\0"+ + "\4\15\3\0\2\15\14\0\46\15\1\0\1\15\5\0\1\15\2\0"+ + "\70\15\7\0\1\15\20\0\27\15\11\0\7\15\1\0\7\15\1\0"+ "\7\15\1\0\7\15\1\0\7\15\1\0\7\15\1\0\7\15\1\0"+ - "\7\15\1\0\7\15\120\0\1\15\u01d5\0\2\15\52\0\5\15\5\0"+ - "\2\15\4\0\126\15\6\0\3\15\1\0\132\15\1\0\4\15\5\0"+ - "\53\15\1\0\136\15\21\0\40\15\60\0\20\15\u0200\0\u19c0\15\100\0"+ - "\u51fd\15\3\0\u048d\15\103\0\56\15\2\0\u010d\15\3\0\20\15\12\20"+ - "\2\15\24\0\57\15\20\0\37\15\2\0\106\15\61\0\11\15\2\0"+ - "\147\15\2\0\65\15\2\0\11\15\52\0\15\15\1\0\3\15\1\0"+ + "\7\15\120\0\1\15\u01d5\0\2\15\52\0\5\15\5\0\2\15\4\0"+ + "\126\15\6\0\3\15\1\0\132\15\1\0\4\15\5\0\53\15\1\0"+ + "\136\15\21\0\40\15\60\0\20\15\u0200\0\u19c0\15\100\0\u568d\15\103\0"+ + "\56\15\2\0\u010d\15\3\0\20\15\12\20\2\15\24\0\57\15\20\0"+ + "\37\15\2\0\106\15\61\0\11\15\2\0\147\15\2\0\100\15\5\0"+ + "\2\15\1\0\1\15\1\0\5\15\30\0\20\15\1\0\3\15\1\0"+ "\4\15\1\0\27\15\35\0\64\15\16\0\62\15\34\0\12\20\30\0"+ "\6\15\3\0\1\15\1\0\2\15\1\0\12\20\34\15\12\0\27\15"+ "\31\0\35\15\7\0\57\15\34\0\1\15\12\20\6\0\5\15\1\0"+ @@ -482,8 +470,8 @@ private static int zzUnpackRowMap(String packed, int offset, int [] result) { "\1\70\125\0\1\71\1\0\1\71\124\0\1\70\126\0"+ "\1\303\1\71\2\0\1\304\1\0\1\305\120\0\1\71"+ "\4\0\1\70\121\0\1\71\4\0\1\306\1\307\120\0"+ - "\1\71\1\310\125\0\1\71\7\0\1\71\116\0\1\71"+ - "\10\0\1\71\115\0\1\71\100\0\1\311\26\0\1\312"+ + "\1\71\1\310\125\0\1\71\7\0\1\71\116\0\2\71"+ + "\7\0\1\71\115\0\1\71\100\0\1\311\26\0\1\312"+ "\12\0\1\70\60\0\2\45\1\0\1\313\1\0\13\45"+ "\27\0\21\45\1\313\4\45\1\0\12\45\5\0\4\45"+ "\1\0\3\45\2\0\2\45\1\0\1\45\1\0\3\45"+ @@ -2113,7 +2101,7 @@ public PHPTokenId nextToken() throws java.io.IOException { //zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; int tokenLength = 0; - zzState = ZZ_LEXSTATE[zzLexicalState]; + zzState = zzLexicalState; zzForAction: { diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java index 5c89c04d42dd..4b1737e19994 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java @@ -19,7 +19,7 @@ //---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 -// Sun Jan 12 13:42:53 JST 2025 +// Tue Dec 23 09:12:17 EET 2025 //---------------------------------------------------- package org.netbeans.modules.php.editor.parser; @@ -30,7 +30,7 @@ import org.openide.util.Pair; /** CUP v0.11a beta 20060608 generated parser. - * @version Sun Jan 12 13:42:53 JST 2025 + * @version Tue Dec 23 09:12:17 EET 2025 */ @org.netbeans.api.annotations.common.SuppressWarnings({"EI_EXPOSE_REP", "MS_PKGPROTECT", "BC_BAD_CAST_TO_CONCRETE_COLLECTION"}) public class ASTPHP5Parser extends java_cup.runtime.lr_parser { @@ -47,7 +47,7 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { /** Production table. */ protected static final short _production_table[][] = unpackFromStrings(new String[] { - "\000\u033e\000\002\002\003\000\002\002\004\000\002\003" + + "\000\u0340\000\002\002\003\000\002\002\004\000\002\003" + "\003\000\002\003\003\000\002\003\003\000\002\006\003" + "\000\002\006\003\000\002\005\003\000\002\005\003\000" + "\002\004\003\000\002\004\003\000\002\004\003\000\002" + @@ -193,116 +193,117 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\002\067\004\000\002\067\005\000\002\067\005\000\002" + "\067\005\000\002\067\005\000\002\067\005\000\002\067" + "\005\000\002\067\005\000\002\067\005\000\002\067\005" + - "\000\002\067\005\000\002\067\003\000\002\067\007\000" + - "\002\067\006\000\002\067\005\000\002\067\003\000\002" + - "\067\004\000\002\067\004\000\002\067\004\000\002\067" + + "\000\002\067\005\000\002\067\005\000\002\067\003\000" + + "\002\067\007\000\002\067\006\000\002\067\005\000\002" + + "\067\003\000\002\067\004\000\002\067\004\000\002\067" + "\004\000\002\067\004\000\002\067\004\000\002\067\004" + - "\000\002\067\004\000\002\067\004\000\002\067\003\000" + - "\002\067\003\000\002\067\005\000\002\067\004\000\002" + - "\067\003\000\002\067\004\000\002\067\003\000\002\067" + - "\004\000\002\067\003\000\002\115\014\000\002\115\015" + - "\000\002\115\012\000\002\115\013\000\002\116\011\000" + - "\002\117\002\000\002\117\004\000\002\120\003\000\002" + - "\120\005\000\002\121\006\000\002\121\006\000\002\122" + - "\003\000\002\122\005\000\002\044\002\000\002\044\007" + - "\000\002\045\005\000\002\045\006\000\002\045\003\000" + - "\002\045\004\000\002\071\006\000\002\071\010\000\002" + - "\071\010\000\002\071\012\000\002\071\012\000\002\071" + - "\012\000\002\071\010\000\002\071\012\000\002\071\012" + - "\000\002\071\010\000\002\071\012\000\002\071\012\000" + - "\002\071\010\000\002\071\012\000\002\071\006\000\002" + - "\071\006\000\002\071\004\000\002\071\006\000\002\070" + - "\003\000\002\070\003\000\002\070\003\000\002\070\005" + - "\000\002\070\007\000\002\070\003\000\002\070\003\000" + - "\002\070\003\000\002\177\003\000\002\177\003\000\002" + - "\200\003\000\002\200\003\000\002\200\003\000\002\200" + - "\003\000\002\200\003\000\002\301\003\000\002\301\003" + - "\000\002\304\006\000\002\304\006\000\002\304\003\000" + - "\002\304\003\000\002\310\004\000\002\310\002\000\002" + - "\311\004\000\002\311\004\000\002\072\002\000\002\072" + - "\004\000\002\072\005\000\002\073\002\000\002\073\005" + - "\000\002\074\003\000\002\074\003\000\002\074\003\000" + + "\000\002\067\004\000\002\067\004\000\002\067\004\000" + + "\002\067\003\000\002\067\003\000\002\067\005\000\002" + + "\067\004\000\002\067\003\000\002\067\004\000\002\067" + + "\003\000\002\067\004\000\002\067\003\000\002\115\014" + + "\000\002\115\015\000\002\115\012\000\002\115\013\000" + + "\002\116\011\000\002\117\002\000\002\117\004\000\002" + + "\120\003\000\002\120\005\000\002\121\006\000\002\121" + + "\006\000\002\122\003\000\002\122\005\000\002\044\002" + + "\000\002\044\007\000\002\045\005\000\002\045\006\000" + + "\002\045\003\000\002\045\004\000\002\071\006\000\002" + + "\071\010\000\002\071\010\000\002\071\012\000\002\071" + + "\012\000\002\071\012\000\002\071\010\000\002\071\012" + + "\000\002\071\012\000\002\071\010\000\002\071\012\000" + + "\002\071\012\000\002\071\010\000\002\071\012\000\002" + + "\071\006\000\002\071\006\000\002\071\004\000\002\071" + + "\006\000\002\070\003\000\002\070\003\000\002\070\003" + + "\000\002\070\005\000\002\070\007\000\002\070\003\000" + + "\002\070\003\000\002\070\003\000\002\177\003\000\002" + + "\177\003\000\002\200\003\000\002\200\003\000\002\200" + + "\003\000\002\200\003\000\002\200\003\000\002\301\003" + + "\000\002\301\003\000\002\304\006\000\002\304\006\000" + + "\002\304\003\000\002\304\003\000\002\310\004\000\002" + + "\310\002\000\002\311\004\000\002\311\004\000\002\072" + + "\002\000\002\072\004\000\002\072\005\000\002\073\002" + + "\000\002\073\005\000\002\074\003\000\002\074\003\000" + "\002\074\003\000\002\074\003\000\002\074\003\000\002" + "\074\003\000\002\074\003\000\002\074\003\000\002\074" + - "\003\000\002\074\003\000\002\074\005\000\002\074\004" + - "\000\002\077\003\000\002\077\003\000\002\077\003\000" + - "\002\077\003\000\002\077\003\000\002\100\003\000\002" + - "\100\005\000\002\101\003\000\002\101\003\000\002\101" + - "\003\000\002\101\004\000\002\101\004\000\002\101\005" + + "\003\000\002\074\003\000\002\074\003\000\002\074\005" + + "\000\002\074\004\000\002\077\003\000\002\077\003\000" + + "\002\077\003\000\002\077\003\000\002\077\003\000\002" + + "\100\003\000\002\100\005\000\002\101\003\000\002\101" + + "\003\000\002\101\003\000\002\101\004\000\002\101\004" + "\000\002\101\005\000\002\101\005\000\002\101\005\000" + - "\002\101\005\000\002\101\005\000\002\101\004\000\002" + - "\101\004\000\002\101\005\000\002\101\005\000\002\101" + + "\002\101\005\000\002\101\005\000\002\101\005\000\002" + + "\101\004\000\002\101\004\000\002\101\005\000\002\101" + "\005\000\002\101\005\000\002\101\005\000\002\101\005" + "\000\002\101\005\000\002\101\005\000\002\101\005\000" + "\002\101\005\000\002\101\005\000\002\101\005\000\002" + "\101\005\000\002\101\005\000\002\101\005\000\002\101" + "\005\000\002\101\005\000\002\101\005\000\002\101\005" + - "\000\002\101\005\000\002\101\005\000\002\101\006\000" + - "\002\101\007\000\002\101\005\000\002\101\004\000\002" + - "\101\004\000\002\101\005\000\002\075\003\000\002\076" + - "\003\000\002\312\005\000\002\312\005\000\002\312\007" + - "\000\002\312\005\000\002\312\005\000\002\312\005\000" + - "\002\312\005\000\002\312\007\000\002\312\007\000\002" + - "\312\007\000\002\313\003\000\002\313\003\000\002\317" + - "\006\000\002\317\006\000\002\316\006\000\002\316\006" + - "\000\002\315\006\000\002\315\006\000\002\315\006\000" + - "\002\314\004\000\002\314\004\000\002\320\006\000\002" + - "\320\005\000\002\102\003\000\002\102\003\000\002\102" + - "\003\000\002\102\003\000\002\102\005\000\002\102\003" + - "\000\002\167\005\000\002\103\002\000\002\103\004\000" + - "\002\104\002\000\002\104\003\000\002\254\003\000\002" + - "\254\003\000\002\105\007\000\002\105\005\000\002\105" + - "\006\000\002\105\005\000\002\105\004\000\002\105\003" + - "\000\002\123\005\000\002\113\003\000\002\113\004\000" + - "\002\113\004\000\002\113\004\000\002\113\006\000\002" + - "\113\005\000\002\114\004\000\002\114\005\000\002\112" + - "\003\000\002\112\003\000\002\106\003\000\002\106\003" + - "\000\002\107\003\000\002\107\003\000\002\110\003\000" + - "\002\110\003\000\002\110\003\000\002\111\003\000\002" + - "\111\003\000\002\256\003\000\002\176\003\000\002\260" + - "\003\000\002\170\010\000\002\170\010\000\002\170\010" + + "\000\002\101\005\000\002\101\005\000\002\101\005\000" + + "\002\101\005\000\002\101\006\000\002\101\007\000\002" + + "\101\005\000\002\101\004\000\002\101\004\000\002\101" + + "\005\000\002\075\003\000\002\076\003\000\002\312\005" + + "\000\002\312\005\000\002\312\007\000\002\312\005\000" + + "\002\312\005\000\002\312\005\000\002\312\005\000\002" + + "\312\007\000\002\312\007\000\002\312\007\000\002\313" + + "\003\000\002\313\003\000\002\317\006\000\002\317\006" + + "\000\002\316\006\000\002\316\006\000\002\315\006\000" + + "\002\315\006\000\002\315\006\000\002\314\004\000\002" + + "\314\004\000\002\320\006\000\002\320\005\000\002\102" + + "\003\000\002\102\003\000\002\102\003\000\002\102\003" + + "\000\002\102\005\000\002\102\003\000\002\167\005\000" + + "\002\103\002\000\002\103\004\000\002\104\002\000\002" + + "\104\003\000\002\254\003\000\002\254\003\000\002\105" + + "\007\000\002\105\005\000\002\105\006\000\002\105\005" + + "\000\002\105\004\000\002\105\003\000\002\123\005\000" + + "\002\113\003\000\002\113\004\000\002\113\004\000\002" + + "\113\004\000\002\113\006\000\002\113\005\000\002\114" + + "\004\000\002\114\005\000\002\112\003\000\002\112\003" + + "\000\002\106\003\000\002\106\003\000\002\107\003\000" + + "\002\107\003\000\002\110\003\000\002\110\003\000\002" + + "\110\003\000\002\111\003\000\002\111\003\000\002\256" + + "\003\000\002\176\003\000\002\260\003\000\002\170\010" + "\000\002\170\010\000\002\170\010\000\002\170\010\000" + "\002\170\010\000\002\170\010\000\002\170\010\000\002" + - "\170\007\000\002\170\007\000\002\170\007\000\002\170" + - "\007\000\002\170\010\000\002\170\004\000\002\220\003" + - "\000\002\220\003\000\002\215\004\000\002\215\002\000" + - "\002\262\006\000\002\262\006\000\002\262\006\000\002" + - "\214\005\000\002\214\002\000\002\130\005\000\002\130" + - "\005\000\002\131\005\000\002\131\005\000\002\132\003" + - "\000\002\132\004\000\002\132\002\000\002\261\003\000" + - "\002\261\004\000\002\263\005\000\002\263\005\000\002" + - "\125\003\000\002\321\003\000\002\321\003\000\002\171" + - "\003\000\002\171\004\000\002\171\004\000\002\172\004" + - "\000\002\172\004\000\002\172\004\000\002\174\004\000" + - "\002\174\004\000\002\173\006\000\002\173\005\000\002" + - "\306\003\000\002\306\003\000\002\307\005\000\002\307" + - "\007\000\002\307\006\000\002\307\004\000\002\307\003" + - "\000\002\307\003\000\002\307\003\000\002\305\005\000" + - "\002\305\004\000\002\305\010\000\002\305\004\000\002" + - "\305\004\000\002\124\004\000\002\124\003\000\002\126" + - "\003\000\002\126\006\000\002\127\002\000\002\127\003" + - "\000\002\133\003\000\002\133\003\000\002\133\005\000" + - "\002\134\003\000\002\134\003\000\002\135\004\000\002" + - "\135\003\000\002\136\003\000\002\136\005\000\002\137" + - "\003\000\002\137\004\000\002\140\003\000\002\143\005" + - "\000\002\143\003\000\002\141\002\000\002\141\003\000" + - "\002\142\005\000\002\142\003\000\002\142\004\000\002" + - "\142\006\000\002\142\004\000\002\142\010\000\002\142" + - "\006\000\002\144\004\000\002\144\004\000\002\144\002" + - "\000\002\145\003\000\002\145\006\000\002\145\005\000" + - "\002\145\005\000\002\145\005\000\002\145\010\000\002" + - "\145\005\000\002\146\003\000\002\146\003\000\002\146" + - "\003\000\002\147\007\000\002\147\006\000\002\147\006" + - "\000\002\147\004\000\002\147\004\000\002\147\006\000" + - "\002\147\004\000\002\147\004\000\002\264\003\000\002" + - "\264\005\000\002\265\003\000\002\265\003\000\002\265" + - "\005\000\002\265\005\000\002\302\003\000\002\302\004" + - "\000\002\303\005\000\002\303\005\000\002\303\007\000" + - "\002\303\007\000\002\303\005\000\002\303\007\000\002" + - "\266\003\000\002\267\002\000\002\267\003\000\002\150" + - "\003\000\002\150\003\000\002\175\012\000\002\175\013" + - "\000\002\322\007\000\002\322\003\000\002\323\003\000" + - "\002\323\003\000\002\323\003" }); + "\170\010\000\002\170\010\000\002\170\007\000\002\170" + + "\007\000\002\170\007\000\002\170\007\000\002\170\010" + + "\000\002\170\004\000\002\220\003\000\002\220\003\000" + + "\002\215\004\000\002\215\002\000\002\262\006\000\002" + + "\262\006\000\002\262\006\000\002\214\005\000\002\214" + + "\002\000\002\130\005\000\002\130\005\000\002\131\005" + + "\000\002\131\005\000\002\132\003\000\002\132\004\000" + + "\002\132\002\000\002\261\003\000\002\261\004\000\002" + + "\263\005\000\002\263\005\000\002\125\003\000\002\321" + + "\003\000\002\321\003\000\002\171\003\000\002\171\004" + + "\000\002\171\004\000\002\172\004\000\002\172\004\000" + + "\002\172\004\000\002\174\004\000\002\174\004\000\002" + + "\173\006\000\002\173\005\000\002\306\003\000\002\306" + + "\003\000\002\307\005\000\002\307\007\000\002\307\006" + + "\000\002\307\004\000\002\307\003\000\002\307\003\000" + + "\002\307\003\000\002\305\005\000\002\305\004\000\002" + + "\305\010\000\002\305\004\000\002\305\004\000\002\124" + + "\004\000\002\124\003\000\002\126\003\000\002\126\006" + + "\000\002\127\002\000\002\127\003\000\002\133\003\000" + + "\002\133\003\000\002\133\005\000\002\134\003\000\002" + + "\134\003\000\002\135\004\000\002\135\003\000\002\136" + + "\003\000\002\136\005\000\002\137\003\000\002\137\004" + + "\000\002\140\003\000\002\143\005\000\002\143\003\000" + + "\002\141\002\000\002\141\003\000\002\142\005\000\002" + + "\142\003\000\002\142\004\000\002\142\006\000\002\142" + + "\004\000\002\142\010\000\002\142\006\000\002\144\004" + + "\000\002\144\004\000\002\144\002\000\002\145\003\000" + + "\002\145\006\000\002\145\005\000\002\145\005\000\002" + + "\145\005\000\002\145\010\000\002\145\005\000\002\146" + + "\003\000\002\146\003\000\002\146\003\000\002\147\007" + + "\000\002\147\006\000\002\147\006\000\002\147\004\000" + + "\002\147\004\000\002\147\006\000\002\147\004\000\002" + + "\147\004\000\002\264\003\000\002\264\005\000\002\265" + + "\003\000\002\265\003\000\002\265\005\000\002\265\005" + + "\000\002\302\003\000\002\302\004\000\002\303\005\000" + + "\002\303\005\000\002\303\007\000\002\303\007\000\002" + + "\303\005\000\002\303\007\000\002\266\003\000\002\267" + + "\002\000\002\267\003\000\002\150\003\000\002\150\003" + + "\000\002\175\012\000\002\175\013\000\002\322\007\000" + + "\002\322\003\000\002\323\003\000\002\323\003\000\002" + + "\323\003" }); /** Access to production table. */ public short[][] production_table() {return _production_table;} @@ -316,7 +317,7 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { /** reduce_goto table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { - "\000\u0660\000\006\002\003\014\004\001\001\000\002\001" + + "\000\u0664\000\006\002\003\014\004\001\001\000\002\001" + "\001\000\162\004\126\015\005\016\121\021\145\066\152" + "\067\134\070\013\071\065\074\043\102\133\106\111\110" + "\167\113\131\114\102\115\125\116\214\123\137\124\212" + @@ -325,249 +326,249 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\200\052\207\161\216\016\217\071\220\047\231\204\232" + "\077\233\041\234\010\235\176\256\106\260\164\261\021" + "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\220\334\201\001\001" + + "\075\321\166\322\036\330\136\331\220\334\200\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\004\235\u065f\001\001\000\002\001\001\000\122\004\126" + + "\004\235\u0663\001\001\000\002\001\001\000\122\004\126" + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u03cc\115\125\116\214\123\137\124\212\125\120\126\227" + + "\u03d0\115\125\116\214\123\137\124\212\125\120\126\227" + "\137\223\147\023\167\055\170\042\171\147\172\132\173" + "\101\174\061\175\067\177\173\200\052\220\047\256\106" + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\004\144\u065a\001\001\000" + - "\006\054\u064e\055\u0651\001\001\000\002\001\001\000\122" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + + "\001\001\000\002\001\001\000\004\144\u065e\001\001\000" + + "\006\054\u0652\055\u0655\001\001\000\002\001\001\000\122" + "\004\126\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\u03cb\115\125\116\214\123\137\124\212\125\120" + + "\133\106\u03cf\115\125\116\214\123\137\124\212\125\120" + "\126\227\137\223\147\023\167\055\170\042\171\147\172" + "\132\173\101\174\061\175\067\177\173\200\052\220\047" + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\012\177\u0645\200\345\332\u0644\333" + - "\u0646\001\001\000\002\001\001\000\006\061\u0638\254\u0225" + - "\001\001\000\002\001\001\000\004\056\u0630\001\001\000" + + "\331\u01b3\001\001\000\012\177\u0649\200\345\332\u0648\333" + + "\u064a\001\001\000\002\001\001\000\006\061\u063c\254\u0229" + + "\001\001\000\002\001\001\000\004\056\u0634\001\001\000" + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u0395\115\125\116\214\123\137\124\212\125" + + "\102\133\106\u0399\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + - "\000\004\130\u062e\001\001\000\004\130\u03fb\001\001\000" + + "\136\331\u01b3\001\001\000\002\001\001\000\002\001\001" + + "\000\004\130\u0632\001\001\000\004\130\u03ff\001\001\000" + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u062c\115\125\116\214\123\137\124\212\125" + + "\102\133\106\u0630\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\134\004\126" + - "\016\u061c\021\145\066\152\067\134\070\013\071\065\074" + + "\136\331\u01b3\001\001\000\002\001\001\000\134\004\126" + + "\016\u0620\021\145\066\152\067\134\070\013\071\065\074" + "\043\102\133\106\111\110\167\113\131\114\102\115\125" + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + - "\004\150\u0619\001\001\000\006\130\u03f8\323\u0611\001\001" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\004\150\u061d\001\001\000\006\130\u03fc\323\u0615\001\001" + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u060f\115\125\116\214\123\137\124\212" + + "\043\102\133\106\u0613\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\002\001" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\130\004\126\066\152\067\u01b9\070" + - "\013\071\065\074\043\102\133\106\u01b3\112\u01b5\113\u0606" + - "\114\u04a5\115\125\116\214\123\137\124\212\125\120\126" + + "\000\002\001\001\000\130\004\126\066\152\067\u01bb\070" + + "\013\071\065\074\043\102\133\106\u01b5\112\u01b7\113\u060a" + + "\114\u04a9\115\125\116\214\123\137\124\212\125\120\126" + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + - "\173\101\174\061\175\u01b6\177\173\200\052\220\u01b4\256" + - "\u01ba\260\164\261\021\263\160\266\044\302\222\303\217" + + "\173\101\174\061\175\u01b8\177\173\200\052\220\u01b6\256" + + "\u01bc\260\164\261\021\263\160\266\044\302\222\303\217" + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\002\001\001\000\002\001\001\000\014" + - "\006\u05ff\202\u01a2\203\u01a7\204\u0196\205\u05fd\001\001\000" + - "\002\001\001\000\062\070\013\071\065\123\u0281\124\212" + - "\125\120\126\227\137\223\170\042\173\u027d\174\061\175" + - "\u01ec\177\173\200\052\220\u0569\260\u05f8\261\021\263\160" + - "\266\044\303\u027e\305\031\306\076\307\075\321\166\322" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\014" + + "\006\u0603\202\u01a4\203\u01a9\204\u0198\205\u0601\001\001\000" + + "\002\001\001\000\062\070\013\071\065\123\u0285\124\212" + + "\125\120\126\227\137\223\170\042\173\u0281\174\061\175" + + "\u01f0\177\173\200\052\220\u056d\260\u05fc\261\021\263\160" + + "\266\044\303\u0282\305\031\306\076\307\075\321\166\322" + "\036\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\004\130" + - "\u05b3\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u05b2\115\125\116\214\123" + + "\u05b7\001\001\000\122\004\126\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\u05b6\115\125\116\214\123" + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u0369\115\125\116\214\123\137\124\212" + + "\043\102\133\106\u036d\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\004\130\u05ab\001\001\000" + + "\330\136\331\u01b3\001\001\000\004\130\u05af\001\001\000" + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u05a8\115\125\116\214\123\137\124\212\125" + + "\102\133\106\u05ac\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\004\130\u02fa" + - "\001\001\000\002\001\001\000\004\144\u05a6\001\001\000" + + "\136\331\u01b3\001\001\000\002\001\001\000\004\130\u02fe" + + "\001\001\000\002\001\001\000\004\144\u05aa\001\001\000" + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u05a5\115\125\116\214\123\137\124\212\125" + + "\102\133\106\u05a9\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\052\123\u01f0\124" + - "\u01ea\125\u01e7\126\227\137\u01f2\173\u01e9\174\061\175\u01ec" + - "\177\u01ed\200\345\263\160\266\044\301\u0367\304\u01e4\305" + - "\u01e5\306\u01f1\307\u01e6\322\u01e8\330\136\331\u01f6\001\001" + - "\000\004\130\u02f9\001\001\000\002\001\001\000\122\004" + + "\136\331\u01b3\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\052\123\u01f4\124" + + "\u01ef\125\u01eb\126\227\137\u01f6\173\u01ed\174\061\175\u01f0" + + "\177\u01f1\200\345\263\160\266\044\301\u036b\304\u01e8\305" + + "\u01e9\306\u01f5\307\u01ea\322\u01ec\330\136\331\u01fa\001\001" + + "\000\004\130\u02fd\001\001\000\002\001\001\000\122\004" + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u059f\115\125\116\214\123\137\124\212\125\120\126" + + "\106\u05a3\115\125\116\214\123\137\124\212\125\120\126" + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\002\001\001\000\122\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u0366\115" + + "\u01b3\001\001\000\002\001\001\000\122\004\126\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\u036a\115" + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\134\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u0326\115" + + "\067\134\070\013\071\065\074\043\102\133\106\u032a\115" + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\140\u056a\141\u0328\142\u032a\143\u0329\147\023\167\055\170" + + "\140\u056e\141\u032c\142\u032e\143\u032d\147\023\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\220\047\254\u0327\256\106\260\164\261\021\263" + + "\200\052\220\047\254\u032b\256\106\260\164\261\021\263" + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + - "\321\166\322\036\330\136\331\u01b1\001\001\000\002\001" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + "\001\000\122\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u0365\115\125\116\214\123\137\124" + + "\074\043\102\133\106\u0369\115\125\116\214\123\137\124" + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\002\001\001\000\062" + - "\070\013\071\065\123\u0281\124\212\125\120\126\227\137" + - "\223\170\042\173\u027d\174\061\175\u01ec\177\173\200\052" + - "\220\u0569\260\u0568\261\021\263\160\266\044\303\u027e\305" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\062" + + "\070\013\071\065\123\u0285\124\212\125\120\126\227\137" + + "\223\170\042\173\u0281\174\061\175\u01f0\177\173\200\052" + + "\220\u056d\260\u056c\261\021\263\160\266\044\303\u0282\305" + "\031\306\076\307\075\321\166\322\036\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\004\130\u02fb" + + "\001\000\002\001\001\000\002\001\001\000\004\130\u02ff" + "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u0566\115\125\116\214\123\137" + + "\065\074\043\102\133\106\u056a\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0348" + + "\322\036\330\136\331\u01b3\001\001\000\122\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u034c" + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + - "\001\000\002\001\001\000\004\130\u02d1\001\001\000\002" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\004\130\u02d5\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\004\130\u0284\001\001\000\004\144\u054c\001\001" + + "\001\000\004\130\u0288\001\001\000\004\144\u0550\001\001" + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u054b\115\125\116\214\123\137\124\212" + + "\043\102\133\106\u054f\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\124\004\126\063\u0547\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0546" + + "\330\136\331\u01b3\001\001\000\124\004\126\063\u054b\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u054a" + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0534" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u0538" + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + "\001\000\002\001\001\000\002\001\001\000\122\004\126" + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u0533\115\125\116\214\123\137\124\212\125\120\126\227" + + "\u0537\115\125\116\214\123\137\124\212\125\120\126\227" + "\137\223\147\023\167\055\170\042\171\147\172\132\173" + "\101\174\061\175\067\177\173\200\052\220\047\256\106" + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u0532\115\125\116\214\123\137" + + "\065\074\043\102\133\106\u0536\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + - "\004\017\u0530\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\014\003\u0449\005\u0509\012\u050b\013" + - "\u050d\024\u03ab\001\001\000\002\001\001\000\002\001\001" + + "\322\036\330\136\331\u01b3\001\001\000\002\001\001\000" + + "\004\017\u0534\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\014\003\u044d\005\u050d\012\u050f\013" + + "\u0511\024\u03af\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\126\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u04db\113" + - "\u04dc\114\u04dd\115\125\116\214\123\137\124\212\125\120" + + "\067\134\070\013\071\065\074\043\102\133\106\u04df\113" + + "\u04e0\114\u04e1\115\125\116\214\123\137\124\212\125\120" + "\126\227\137\223\147\023\167\055\170\042\171\147\172" + "\132\173\101\174\061\175\067\177\173\200\052\220\047" + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\002\001\001\000\002\001\001\000" + + "\331\u01b3\001\001\000\002\001\001\000\002\001\001\000" + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u04d9\115\125\116\214\123\137\124\212\125" + + "\102\133\106\u04dd\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + - "\000\004\072\u0321\001\001\000\002\001\001\000\002\001" + + "\136\331\u01b3\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\004\072\u0325\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u04aa\115\125\116\214\123\137\124\212" + + "\043\102\133\106\u04ae\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\002\001" + - "\001\000\124\004\126\066\u04a2\067\134\070\013\071\065" + - "\074\043\102\133\106\u01b3\114\u04a3\115\125\116\214\123" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + + "\001\000\124\004\126\066\u04a6\067\134\070\013\071\065" + + "\074\043\102\133\106\u01b5\114\u04a7\115\125\116\214\123" + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\u04a1\256\106\260\164\261\021\263\160" + + "\173\200\052\220\u04a5\256\106\260\164\261\021\263\160" + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\004\130\u0290" + + "\166\322\036\330\136\331\u01b3\001\001\000\004\130\u0296" + "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u049f\115\125\116\214\123\137" + + "\065\074\043\102\133\106\u04a3\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + + "\322\036\330\136\331\u01b3\001\001\000\002\001\001\000" + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u049e\115\125\116\214\123\137\124\212\125" + + "\102\133\106\u04a2\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\004\130\u0270\001\001\000\002" + - "\001\001\000\030\115\u03a7\151\060\216\016\217\071\231" + - "\204\232\077\233\041\234\010\235\176\330\u0268\334\u049c" + - "\001\001\000\006\061\u0224\254\u0225\001\001\000\004\130" + - "\u049b\001\001\000\010\124\u049a\126\227\266\044\001\001" + + "\136\331\u01b3\001\001\000\004\130\u0274\001\001\000\002" + + "\001\001\000\030\115\u03ab\151\060\216\016\217\071\231" + + "\204\232\077\233\041\234\010\235\176\330\u026c\334\u04a0" + + "\001\001\000\006\061\u0228\254\u0229\001\001\000\004\130" + + "\u049f\001\001\000\010\124\u049e\126\227\266\044\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\004\324\233\001\001" + - "\000\020\200\316\242\u0497\244\u024e\245\u024d\246\u0247\247" + - "\u024f\252\u024a\001\001\000\004\237\234\001\001\000\002" + + "\000\020\200\316\242\u049b\244\u0252\245\u0251\246\u024b\247" + + "\u0253\252\u024e\001\001\000\004\237\234\001\001\000\002" + "\001\001\000\006\200\242\240\241\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + @@ -576,18 +577,18 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\257\271\262\272\252\273\267\274\271\275\275\277\306" + "\300\272\325\261\330\136\331\265\336\251\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\004\206\u0479\001\001\000\002\001\001\000" + + "\001\001\000\004\206\u047d\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\036\211" + "\255\212\254\257\304\270\257\271\262\272\252\273\267" + - "\274\271\275\275\277\306\300\272\325\261\330\u0268\336" + - "\u0477\001\001\000\002\001\001\000\002\001\001\000\002" + + "\274\271\275\275\277\306\300\272\325\261\330\u026c\336" + + "\u047b\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\020\270\257\271\262\272" + - "\252\273\267\274\271\275\275\277\u0476\001\001\000\012" + - "\202\u01a2\203\u01a7\204\u0196\205\u0470\001\001\000\002\001" + + "\252\273\267\274\271\275\275\277\u047a\001\001\000\012" + + "\202\u01a4\203\u01a9\204\u0198\205\u0474\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\012\003\u0449\005\u0447\153\u0444\166\u0445\001\001\000\020" + + "\012\003\u044d\005\u044b\153\u0448\166\u0449\001\001\000\020" + "\200\316\241\314\243\317\245\321\250\311\251\310\253" + "\313\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + @@ -601,25 +602,29 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\001\001\000\002\001\001\000\002\001\001\000\032\004" + "\354\074\344\075\366\077\343\101\360\167\362\177\341" + "\200\345\312\352\314\342\315\347\320\364\001\001\000" + - "\002\001\001\000\002\001\001\000\004\131\u042a\001\001" + + "\002\001\001\000\002\001\001\000\004\131\u042e\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\030\004\354\074\344\077\u0429\101\360\167\362\177\341" + + "\030\004\354\074\344\077\u042d\101\360\167\362\177\341" + "\200\345\312\352\314\342\315\347\320\364\001\001\000" + "\002\001\001\000\002\001\001\000\030\004\354\074\344" + - "\077\u0422\101\360\167\362\177\341\200\345\312\352\314" + + "\077\u0426\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\002\001\001\000\030" + - "\004\354\074\344\077\u0156\101\360\167\362\177\341\200" + + "\004\354\074\344\077\u0158\101\360\167\362\177\341\200" + "\345\312\352\314\342\315\347\320\364\001\001\000\002" + - "\001\001\000\004\131\u0152\001\001\000\002\001\001\000" + - "\036\004\354\074\344\075\u0143\077\343\101\360\103\u0142" + - "\105\u0141\167\362\177\341\200\345\312\352\314\342\315" + + "\001\001\000\002\001\001\000\004\131\u0151\001\001\000" + + "\036\004\354\074\344\075\u0145\077\343\101\360\103\u0144" + + "\105\u0143\167\362\177\341\200\345\312\352\314\342\315" + "\347\320\364\001\001\000\002\001\001\000\030\004\354" + - "\074\344\077\u013f\101\360\167\362\177\341\200\345\312" + + "\074\344\077\u0141\101\360\167\362\177\341\200\345\312" + "\352\314\342\315\347\320\364\001\001\000\002\001\001" + - "\000\004\131\u013e\001\001\000\004\131\u0139\001\001\000" + + "\000\004\131\u0140\001\001\000\004\131\u013b\001\001\000" + "\030\004\354\074\344\077\367\101\360\167\362\177\341" + "\200\345\312\352\314\342\315\347\320\364\001\001\000" + "\002\001\001\000\002\001\001\000\030\004\354\074\344" + + "\077\u0138\101\360\167\362\177\341\200\345\312\352\314" + + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + + "\077\u0137\101\360\167\362\177\341\200\345\312\352\314" + + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + "\077\u0136\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + "\077\u0135\101\360\167\362\177\341\200\345\312\352\314" + @@ -630,11 +635,11 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\342\315\347\320\364\001\001\000\030\004\354\074\344" + "\077\u0132\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + - "\077\u0131\101\360\167\362\177\341\200\345\312\352\314" + + "\077\u012d\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + - "\077\u0130\101\360\167\362\177\341\200\345\312\352\314" + + "\077\u012c\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + - "\077\u012f\101\360\167\362\177\341\200\345\312\352\314" + + "\077\u012b\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + "\077\u012a\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + @@ -651,11 +656,11 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\077\u0124\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\030\004\354\074\344" + "\077\u0123\101\360\167\362\177\341\200\345\312\352\314" + - "\342\315\347\320\364\001\001\000\030\004\354\074\344" + - "\077\u0122\101\360\167\362\177\341\200\345\312\352\314" + - "\342\315\347\320\364\001\001\000\030\004\354\074\344" + - "\077\u0121\101\360\167\362\177\341\200\345\312\352\314" + "\342\315\347\320\364\001\001\000\002\001\001\000\030" + + "\004\354\074\344\077\u0122\101\360\167\362\177\341\200" + + "\345\312\352\314\342\315\347\320\364\001\001\000\030" + + "\004\354\074\344\077\u0121\101\360\167\362\177\341\200" + + "\345\312\352\314\342\315\347\320\364\001\001\000\030" + "\004\354\074\344\077\u0120\101\360\167\362\177\341\200" + "\345\312\352\314\342\315\347\320\364\001\001\000\030" + "\004\354\074\344\077\u011f\101\360\167\362\177\341\200" + @@ -675,8 +680,6 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\004\354\074\344\077\u0118\101\360\167\362\177\341\200" + "\345\312\352\314\342\315\347\320\364\001\001\000\030" + "\004\354\074\344\077\u0117\101\360\167\362\177\341\200" + - "\345\312\352\314\342\315\347\320\364\001\001\000\030" + - "\004\354\074\344\077\u0116\101\360\167\362\177\341\200" + "\345\312\352\314\342\315\347\320\364\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + @@ -684,42 +687,42 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\030\004\354\074\344\077\u012c\101" + - "\360\167\362\177\341\200\345\312\352\314\342\315\347" + - "\320\364\001\001\000\002\001\001\000\030\004\354\074" + - "\344\077\u012e\101\360\167\362\177\341\200\345\312\352" + - "\314\342\315\347\320\364\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\030\004\354\074\344\077\u013c" + - "\101\360\167\362\177\341\200\345\312\352\314\342\315" + - "\347\320\364\001\001\000\030\004\354\074\344\077\u013a" + - "\101\360\167\362\177\341\200\345\312\352\314\342\315" + - "\347\320\364\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\032\004\354\074\344" + - "\075\u014e\077\343\101\360\167\362\177\341\200\345\312" + - "\352\314\342\315\347\320\364\001\001\000\004\104\u0148" + - "\001\001\000\002\001\001\000\002\001\001\000\032\004" + - "\354\074\344\075\u0145\077\343\101\360\167\362\177\341" + + "\030\004\354\074\344\077\u012f\101\360\167\362\177\341" + "\200\345\312\352\314\342\315\347\320\364\001\001\000" + - "\002\001\001\000\002\001\001\000\032\004\354\074\344" + - "\075\u014a\077\343\101\360\167\362\177\341\200\345\312" + + "\002\001\001\000\030\004\354\074\344\077\u0131\101\360" + + "\167\362\177\341\200\345\312\352\314\342\315\347\320" + + "\364\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\030\004\354" + + "\074\344\077\u013e\101\360\167\362\177\341\200\345\312" + + "\352\314\342\315\347\320\364\001\001\000\030\004\354" + + "\074\344\077\u013c\101\360\167\362\177\341\200\345\312" + "\352\314\342\315\347\320\364\001\001\000\002\001\001" + - "\000\032\004\354\074\344\075\u014d\077\343\101\360\167" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\032" + + "\004\354\074\344\075\u0150\077\343\101\360\167\362\177" + + "\341\200\345\312\352\314\342\315\347\320\364\001\001" + + "\000\004\104\u014a\001\001\000\002\001\001\000\002\001" + + "\001\000\032\004\354\074\344\075\u0147\077\343\101\360" + + "\167\362\177\341\200\345\312\352\314\342\315\347\320" + + "\364\001\001\000\002\001\001\000\002\001\001\000\032" + + "\004\354\074\344\075\u014c\077\343\101\360\167\362\177" + + "\341\200\345\312\352\314\342\315\347\320\364\001\001" + + "\000\002\001\001\000\032\004\354\074\344\075\u014f\077" + + "\343\101\360\167\362\177\341\200\345\312\352\314\342" + + "\315\347\320\364\001\001\000\002\001\001\000\032\004" + + "\354\074\344\075\u014e\077\343\101\360\167\362\177\341" + + "\200\345\312\352\314\342\315\347\320\364\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\030\004\354\074\344\077\u0153\101\360\167" + "\362\177\341\200\345\312\352\314\342\315\347\320\364" + - "\001\001\000\002\001\001\000\032\004\354\074\344\075" + - "\u014c\077\343\101\360\167\362\177\341\200\345\312\352" + - "\314\342\315\347\320\364\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\030\004\354\074\344" + - "\077\u0150\101\360\167\362\177\341\200\345\312\352\314" + - "\342\315\347\320\364\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\030\004\354\074\344\077" + - "\u0154\101\360\167\362\177\341\200\345\312\352\314\342" + - "\315\347\320\364\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\012\202\u01a2\203\u01a7\204\u0196" + - "\205\u041f\001\001\000\002\001\001\000\012\202\u01a2\203" + - "\u01a7\204\u0196\205\u0185\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\030\004" + + "\354\074\344\077\u0156\101\360\167\362\177\341\200\345" + + "\312\352\314\342\315\347\320\364\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\012\202\u01a4" + + "\203\u01a9\204\u0198\205\u0423\001\001\000\002\001\001\000" + + "\012\202\u01a4\203\u01a9\204\u0198\205\u0187\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + @@ -730,13 +733,13 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\122\004\126\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\u01ad\115\125\116\214" + - "\123\137\124\212\125\120\126\227\137\223\147\023\167" + - "\055\170\042\171\147\172\132\173\101\174\061\175\067" + - "\177\173\200\052\220\047\256\106\260\164\261\021\263" + - "\160\266\044\302\222\303\217\305\031\306\076\307\075" + - "\321\166\322\036\330\136\331\u01b1\001\001\000\002\001" + + "\000\002\001\001\000\002\001\001\000\122\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u01af" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + @@ -751,1281 +754,1315 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\004\130\u0270\001\001" + - "\000\002\001\001\000\006\061\u03c2\254\u0225\001\001\000" + - "\006\115\u03a7\330\u0268\001\001\000\124\004\126\066\152" + - "\067\u01b9\070\013\071\065\074\043\102\133\106\u01b3\112" + - "\u01b5\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\u01b6\177\173\200\052\220\u01b4\256\u01ba" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\052\123\u01f0\124\u01ea\125\u01e7" + - "\126\227\137\u01f2\173\u01e9\174\061\175\u01ec\177\u01ed\200" + - "\345\263\160\266\044\301\u0414\304\u01e4\305\u01e5\306\u01f1" + - "\307\u01e6\322\u01e8\330\136\331\u01f6\001\001\000\122\004" + + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + + "\130\u0274\001\001\000\002\001\001\000\006\061\u03c6\254" + + "\u0229\001\001\000\006\115\u03ab\330\u026c\001\001\000\124" + + "\004\126\066\152\067\u01bb\070\013\071\065\074\043\102" + + "\133\106\u01b5\112\u01b7\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\u01b8\177\173\200\052" + + "\220\u01b6\256\u01bc\260\164\261\021\263\160\266\044\302" + + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\052\123\u01f4" + + "\124\u01ef\125\u01eb\126\227\137\u01f6\173\u01ed\174\061\175" + + "\u01f0\177\u01f1\200\345\263\160\266\044\301\u0418\304\u01e8" + + "\305\u01e9\306\u01f5\307\u01ea\322\u01ec\330\136\331\u01fa\001" + + "\001\000\122\004\126\066\152\067\134\070\013\071\065" + + "\074\043\102\133\106\u01bd\115\125\116\214\123\137\124" + + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\122\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u0417\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + + "\102\133\106\u0416\115\125\116\214\123\137\124\212\125" + + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + + "\136\331\u01b3\001\001\000\122\004\126\066\152\067\134" + + "\070\013\071\065\074\043\102\133\106\u0415\115\125\116" + + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + + "\067\177\173\200\052\220\047\256\106\260\164\261\021" + + "\263\160\266\044\302\222\303\217\305\031\306\076\307" + + "\075\321\166\322\036\330\136\331\u01b3\001\001\000\122" + + "\004\126\066\152\067\134\070\013\071\065\074\043\102" + + "\133\106\u0414\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\147\023\167\055\170\042\171\147\172" + + "\132\173\101\174\061\175\067\177\173\200\052\220\047" + + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + + "\331\u01b3\001\001\000\122\004\126\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\u0413\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + + "\177\173\200\052\220\047\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\122\004" + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u01bb\115\125\116\214\123\137\124\212\125\120\126" + + "\106\u0412\115\125\116\214\123\137\124\212\125\120\126" + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\002\001\001\000\002\001\001\000\002" + + "\u01b3\001\001\000\122\004\126\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\u0411\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u01b3\001\001\000\122\004\126" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\u040c\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\147\023\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\220\047\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u0413\115\125\116\214\123\137" + + "\065\074\043\102\133\106\u040b\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0412" + + "\322\036\330\136\331\u01b3\001\001\000\122\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u040a" + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + "\001\000\122\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u0411\115\125\116\214\123\137\124" + + "\074\043\102\133\106\u0409\115\125\116\214\123\137\124" + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\122\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u0410\115" + + "\036\330\136\331\u01b3\001\001\000\122\004\126\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\u0408\115" + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u040f\115\125\116\214\123\137\124\212" + + "\043\102\133\106\u0407\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\122\004\126\066\152\067" + - "\134\070\013\071\065\074\043\102\133\106\u040e\115\125" + + "\330\136\331\u01b3\001\001\000\122\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u0406\115\125" + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u040d\115\125\116\214\123\137\124\212\125" + + "\102\133\106\u0405\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\122\004\126\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\u0408\115\125\116" + + "\136\331\u01b3\001\001\000\122\004\126\066\152\067\134" + + "\070\013\071\065\074\043\102\133\106\u0404\115\125\116" + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + "\067\177\173\200\052\220\047\256\106\260\164\261\021" + "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\122" + + "\075\321\166\322\036\330\136\331\u01b3\001\001\000\122" + "\004\126\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\u0407\115\125\116\214\123\137\124\212\125\120" + + "\133\106\u0403\115\125\116\214\123\137\124\212\125\120" + "\126\227\137\223\147\023\167\055\170\042\171\147\172" + "\132\173\101\174\061\175\067\177\173\200\052\220\047" + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\122\004\126\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\u0406\115\125\116\214" + + "\331\u01b3\001\001\000\122\004\126\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\u0402\115\125\116\214" + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + "\177\173\200\052\220\047\256\106\260\164\261\021\263" + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + - "\321\166\322\036\330\136\331\u01b1\001\001\000\122\004" + - "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u0405\115\125\116\214\123\137\124\212\125\120\126" + - "\227\137\223\147\023\167\055\170\042\171\147\172\132" + - "\173\101\174\061\175\067\177\173\200\052\220\047\256" + - "\106\260\164\261\021\263\160\266\044\302\222\303\217" + - "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u0404\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\047\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\122\004\126" + - "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u0403\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u0402\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\220\047\256\106\260\164\261\021\263\160\266" + - "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0401" + - "\115\125\116\214\123\137\124\212\125\120\126\227\137" + - "\223\147\023\167\055\170\042\171\147\172\132\173\101" + - "\174\061\175\067\177\173\200\052\220\047\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + + "\001\000\122\004\126\066\152\067\134\070\013\071\065" + + "\074\043\102\133\106\u0401\115\125\116\214\123\137\124" + + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + + "\036\330\136\331\u01b3\001\001\000\122\004\126\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\u0400\115" + + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + + "\000\046\123\u01f4\124\u01ef\125\u01eb\126\227\137\u01f6\173" + + "\u01ed\174\061\175\u01f0\177\u01f1\200\345\263\160\266\044" + + "\301\u01f3\304\u01e8\305\u01e9\306\u01f5\307\u01ea\322\u01ec\001" + "\001\000\122\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u0400\115\125\116\214\123\137\124" + + "\074\043\102\133\106\u01e7\115\125\116\214\123\137\124" + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\122\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u03ff\115" + + "\036\330\136\331\u01b3\001\001\000\122\004\126\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\u01e6\115" + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u03fe\115\125\116\214\123\137\124\212" + + "\043\102\133\106\u01e5\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\122\004" + + "\330\136\331\u01b3\001\001\000\122\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u01e4\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + + "\102\133\106\u01e3\115\125\116\214\123\137\124\212\125" + + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + + "\136\331\u01b3\001\001\000\122\004\126\066\152\067\134" + + "\070\013\071\065\074\043\102\133\106\u01e2\115\125\116" + + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + + "\067\177\173\200\052\220\047\256\106\260\164\261\021" + + "\263\160\266\044\302\222\303\217\305\031\306\076\307" + + "\075\321\166\322\036\330\136\331\u01b3\001\001\000\122" + + "\004\126\066\152\067\134\070\013\071\065\074\043\102" + + "\133\106\u01e1\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\147\023\167\055\170\042\171\147\172" + + "\132\173\101\174\061\175\067\177\173\200\052\220\047" + + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + + "\331\u01b3\001\001\000\122\004\126\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\u01e0\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + + "\177\173\200\052\220\047\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\122\004" + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u03fd\115\125\116\214\123\137\124\212\125\120\126" + + "\106\u01df\115\125\116\214\123\137\124\212\125\120\126" + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u03fc\115\125\116\214\123" + + "\u01b3\001\001\000\122\004\126\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\u01de\115\125\116\214\123" + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\046\123\u01f0" + - "\124\u01ea\125\u01e7\126\227\137\u01f2\173\u01e9\174\061\175" + - "\u01ec\177\u01ed\200\345\263\160\266\044\301\u01ef\304\u01e4" + - "\305\u01e5\306\u01f1\307\u01e6\322\u01e8\001\001\000\122\004" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\004\130\u03ff\001\001\000\002\001\001\000\002" + + "\001\001\000\004\130\u03fc\001\001\000\004\130\u02fd\001" + + "\001\000\134\004\126\066\152\067\134\070\013\071\065" + + "\074\043\102\133\106\u032a\115\125\116\214\123\137\124" + + "\212\125\120\126\227\137\223\140\u03fa\141\u032c\142\u032e" + + "\143\u032d\147\023\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\220\047\254\u032b" + + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + + "\331\u01b3\001\001\000\004\130\u0296\001\001\000\002\001" + + "\001\000\002\001\001\000\052\123\u01f4\124\u01ef\125\u01eb" + + "\126\227\137\u01f6\173\u01ed\174\061\175\u01f0\177\u01f1\200" + + "\345\263\160\266\044\301\u03f4\304\u01e8\305\u01e9\306\u01f5" + + "\307\u01ea\322\u01ec\330\136\331\u01fa\001\001\000\002\001" + + "\001\000\004\130\u0288\001\001\000\002\001\001\000\010" + + "\124\u03e8\126\227\266\044\001\001\000\124\004\126\066" + + "\152\067\u01bb\070\013\071\065\074\043\102\133\106\u01b5" + + "\112\u01b7\115\125\116\214\123\137\124\212\125\120\126" + + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\u01f8\177\173\200\052\220\u01b6\256" + + "\u01bc\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\052\123\u01f4\124\u01ef" + + "\125\u01eb\126\227\137\u01f6\173\u01ed\174\061\175\u01f0\177" + + "\u01f1\200\345\263\160\266\044\301\u01fc\304\u01e8\305\u01e9" + + "\306\u01f5\307\u01ea\322\u01ec\330\136\331\u01fa\001\001\000" + + "\004\330\u026c\001\001\000\004\073\u03d8\001\001\000\004" + + "\073\u01fd\001\001\000\002\001\001\000\140\004\126\050" + + "\u021d\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070\013" + + "\071\065\074\043\102\133\106\u01b5\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\150\u020e" + + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + + "\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + + "\001\001\000\002\001\001\000\002\001\001\000\122\004" + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u01e3\115\125\116\214\123\137\124\212\125\120\126" + + "\106\u03d0\115\125\116\214\123\137\124\212\125\120\126" + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u01e2\115\125\116\214\123" + + "\u01b3\001\001\000\122\004\126\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\u03cf\115\125\116\214\123" + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\122\004\126" + - "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u01e1\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u01e0\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\220\047\256\106\260\164\261\021\263\160\266" + - "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u01df" + + "\166\322\036\330\136\331\u01b3\001\001\000\006\061\u03c6" + + "\254\u0229\001\001\000\002\001\001\000\122\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u0399" + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + - "\001\000\122\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u01de\115\125\116\214\123\137\124" + - "\212\125\120\126\227\137\223\147\023\167\055\170\042" + - "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\220\047\256\106\260\164\261\021\263\160\266\044" + - "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\122\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u01dd\115" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\062\070\013\071" + + "\065\123\u0285\124\212\125\120\126\227\137\223\170\042" + + "\173\u0281\174\061\175\u01f0\176\u0394\177\173\200\052\220" + + "\u033c\261\021\263\160\266\044\303\u0282\305\031\306\076" + + "\307\075\321\166\322\036\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\122\004\126\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\u036d\115" + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + - "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u01dc\115\125\116\214\123\137\124\212" + - "\125\120\126\227\137\223\147\023\167\055\170\042\171" + - "\147\172\132\173\101\174\061\175\067\177\173\200\052" + - "\220\047\256\106\260\164\261\021\263\160\266\044\302" + - "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\122\004\126\066\152\067" + - "\134\070\013\071\065\074\043\102\133\106\u01db\115\125" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + + "\000\002\001\001\000\124\004\126\053\u034b\066\u021e\067" + + "\134\070\013\071\065\074\043\102\133\106\u01b5\115\125" + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + - "\175\067\177\173\200\052\220\047\256\106\260\164\261" + + "\175\067\177\173\200\052\220\u020c\256\106\260\164\261" + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\004\130\u03fb\001\001\000\002\001\001\000\002\001" + - "\001\000\004\130\u03f8\001\001\000\004\130\u02f9\001\001" + - "\000\004\130\u0290\001\001\000\134\004\126\066\152\067" + - "\134\070\013\071\065\074\043\102\133\106\u0326\115\125" + - "\116\214\123\137\124\212\125\120\126\227\137\223\140" + - "\u03f6\141\u0328\142\u032a\143\u0329\147\023\167\055\170\042" + - "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\220\047\254\u0327\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + - "\000\002\001\001\000\052\123\u01f0\124\u01ea\125\u01e7\126" + - "\227\137\u01f2\173\u01e9\174\061\175\u01ec\177\u01ed\200\345" + - "\263\160\266\044\301\u03f0\304\u01e4\305\u01e5\306\u01f1\307" + - "\u01e6\322\u01e8\330\136\331\u01f6\001\001\000\002\001\001" + - "\000\004\130\u0284\001\001\000\002\001\001\000\010\124" + - "\u03e4\126\227\266\044\001\001\000\124\004\126\066\152" + - "\067\u01b9\070\013\071\065\074\043\102\133\106\u01b3\112" + - "\u01b5\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\u01f4\177\173\200\052\220\u01b4\256\u01ba" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\052\123\u01f0\124\u01ea\125" + - "\u01e7\126\227\137\u01f2\173\u01e9\174\061\175\u01ec\177\u01ed" + - "\200\345\263\160\266\044\301\u01f8\304\u01e4\305\u01e5\306" + - "\u01f1\307\u01e6\322\u01e8\330\136\331\u01f6\001\001\000\004" + - "\330\u0268\001\001\000\004\073\u03d4\001\001\000\004\073" + - "\u01f9\001\001\000\002\001\001\000\140\004\126\050\u0219" + - "\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013\071" + - "\065\074\043\102\133\106\u01b3\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\150\u020a\167" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\052\123\u01f4\124\u01ef\125\u01eb\126\227\137\u01f6\173\u01ed" + + "\174\061\175\u01f0\177\u01f1\200\345\263\160\266\044\301" + + "\u036b\304\u01e8\305\u01e9\306\u01f5\307\u01ea\322\u01ec\330\136" + + "\331\u01fa\001\001\000\122\004\126\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\u036a\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + - "\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + - "\001\000\002\001\001\000\002\001\001\000\122\004\126" + - "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u03cc\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u03cb\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\220\047\256\106\260\164\261\021\263\160\266" + - "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\006\061\u03c2\254" + - "\u0225\001\001\000\002\001\001\000\122\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u0395\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\220\047\256\106\260\164" + - "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\062\070\013\071\065" + - "\123\u0281\124\212\125\120\126\227\137\223\170\042\173" + - "\u027d\174\061\175\u01ec\176\u0390\177\173\200\052\220\u0338" + - "\261\021\263\160\266\044\303\u027e\305\031\306\076\307" + - "\075\321\166\322\036\001\001\000\002\001\001\000\002" + + "\177\173\200\052\220\047\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\122\004" + + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + + "\106\u0369\115\125\116\214\123\137\124\212\125\120\126" + + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\122\004\126\066\152\067" + - "\134\070\013\071\065\074\043\102\133\106\u0369\115\125" + + "\134\070\013\071\065\074\043\102\133\106\u034c\115\125" + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + - "\002\001\001\000\124\004\126\053\u0347\066\u021a\067\134" + - "\070\013\071\065\074\043\102\133\106\u01b3\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\220\u0208\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\052" + - "\123\u01f0\124\u01ea\125\u01e7\126\227\137\u01f2\173\u01e9\174" + - "\061\175\u01ec\177\u01ed\200\345\263\160\266\044\301\u0367" + - "\304\u01e4\305\u01e5\306\u01f1\307\u01e6\322\u01e8\330\136\331" + - "\u01f6\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u0366\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\047\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\122\004\126" + - "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u0365\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\002\001\001\000\002\001\001\000\004\104\u0348\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\004\072\u0325\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\004\130\u0274\001" + + "\001\000\006\061\u0228\254\u0229\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\026\043\u0232\046\u0230\047\u022d\210\u0234\272\u022c\274\u022f" + + "\275\u0231\330\136\331\u022e\340\u0233\001\001\000\006\274" + + "\u026f\275\u026e\001\001\000\002\001\001\000\016\047\u026d" + + "\210\u0234\272\u022c\274\u022f\275\u0231\330\u026c\001\001\000" + + "\006\272\u0269\275\u0268\001\001\000\004\104\u0266\001\001" + + "\000\006\272\u0261\274\u0262\001\001\000\002\001\001\000" + + "\002\001\001\000\020\200\316\241\u0235\243\317\245\321" + + "\250\311\251\310\253\313\001\001\000\006\061\u0236\254" + + "\u0229\001\001\000\004\062\u0238\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\034\004\354\074" + + "\344\076\u023e\077\u023b\100\u023c\101\360\167\362\177\341" + + "\200\345\312\352\314\342\315\347\320\364\001\001\000" + + "\002\001\001\000\002\001\001\000\046\123\u01f4\124\u01ef" + + "\125\u01eb\126\227\137\u01f6\173\u01ed\174\061\175\u01f0\177" + + "\u01f1\200\345\263\160\266\044\301\u023f\304\u01e8\305\u01e9" + + "\306\u01f5\307\u01ea\322\u01ec\001\001\000\002\001\001\000" + + "\004\073\u0240\001\001\000\002\001\001\000\140\004\126" + + "\050\u0242\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070" + + "\013\071\065\074\043\102\133\106\u01b5\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\150" + + "\u020e\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\004" + + "\255\u0246\001\001\000\020\200\316\242\u0250\244\u0252\245" + + "\u0251\246\u024b\247\u0253\252\u024e\001\001\000\002\001\001" + + "\000\132\004\126\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\111\110\u0249\111\u0248\113\131\114\102" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\010\200\316\244" + + "\u025e\245\u0251\001\001\000\002\001\001\000\012\200\316" + + "\244\u025a\245\u0251\252\u0259\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\012" + + "\200\316\244\u0256\245\u0251\247\u0255\001\001\000\002\001" + + "\001\000\002\001\001\000\010\200\316\244\u0258\245\u0251" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\122\004\126\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\u0348\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\220\047\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\002" + - "\001\001\000\002\001\001\000\004\104\u0344\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\004\072\u0321\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\004\130\u0270\001\001" + - "\000\006\061\u0224\254\u0225\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\026" + - "\043\u022e\046\u022c\047\u0229\210\u0230\272\u0228\274\u022b\275" + - "\u022d\330\136\331\u022a\340\u022f\001\001\000\006\274\u026b" + - "\275\u026a\001\001\000\002\001\001\000\016\047\u0269\210" + - "\u0230\272\u0228\274\u022b\275\u022d\330\u0268\001\001\000\006" + - "\272\u0265\275\u0264\001\001\000\004\104\u0262\001\001\000" + - "\006\272\u025d\274\u025e\001\001\000\002\001\001\000\002" + - "\001\001\000\020\200\316\241\u0231\243\317\245\321\250" + - "\311\251\310\253\313\001\001\000\006\061\u0232\254\u0225" + - "\001\001\000\004\062\u0234\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\034\004\354\074\344" + - "\076\u023a\077\u0237\100\u0238\101\360\167\362\177\341\200" + - "\345\312\352\314\342\315\347\320\364\001\001\000\002" + - "\001\001\000\002\001\001\000\046\123\u01f0\124\u01ea\125" + - "\u01e7\126\227\137\u01f2\173\u01e9\174\061\175\u01ec\177\u01ed" + - "\200\345\263\160\266\044\301\u023b\304\u01e4\305\u01e5\306" + - "\u01f1\307\u01e6\322\u01e8\001\001\000\002\001\001\000\004" + - "\073\u023c\001\001\000\002\001\001\000\140\004\126\050" + - "\u023e\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013" + - "\071\065\074\043\102\133\106\u01b3\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\150\u020a" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\002\001\001\000\004\255" + - "\u0242\001\001\000\020\200\316\242\u024c\244\u024e\245\u024d" + - "\246\u0247\247\u024f\252\u024a\001\001\000\002\001\001\000" + - "\132\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\111\110\u0245\111\u0244\113\131\114\102\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + + "\001\000\002\001\001\000\010\200\316\244\u025d\245\u0251" + + "\001\001\000\002\001\001\000\002\001\001\000\012\200" + + "\316\244\u0256\245\u0251\247\u0260\001\001\000\002\001\001" + + "\000\004\274\u0264\001\001\000\004\272\u0263\001\001\000" + + "\002\001\001\000\002\001\001\000\022\047\u022d\210\u0234" + + "\272\u022c\274\u022f\275\u0231\330\136\331\u022e\340\u0267\001" + + "\001\000\002\001\001\000\002\001\001\000\004\272\u026b" + + "\001\001\000\004\275\u026a\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + + "\274\u0271\001\001\000\004\275\u0270\001\001\000\002\001" + + "\001\000\002\001\001\000\124\004\126\066\152\067\134" + + "\070\013\071\065\074\043\102\133\106\u0275\115\125\116" + + "\214\123\137\124\212\125\120\126\227\127\u0278\137\223" + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\010\200\316\244\u025a" + - "\245\u024d\001\001\000\002\001\001\000\012\200\316\244" + - "\u0256\245\u024d\252\u0255\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\012\200" + - "\316\244\u0252\245\u024d\247\u0251\001\001\000\002\001\001" + - "\000\002\001\001\000\010\200\316\244\u0254\245\u024d\001" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + + "\000\124\004\126\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\u0275\115\125\116\214\123\137\124\212" + + "\125\120\126\227\127\u0276\137\223\147\023\167\055\170" + + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + + "\322\036\330\136\331\u01b3\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\072\004\u027e\070\013\071" + + "\065\123\u0285\124\212\125\u0283\126\227\137\223\170\042" + + "\171\u027c\172\132\173\u0281\174\061\175\u01f0\177\u027b\200" + + "\052\220\u0280\261\021\263\160\264\u0284\265\u027d\266\044" + + "\303\u0282\305\031\306\076\307\075\321\166\322\036\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\010\200\316\244\u0259\245\u024d\001" + - "\001\000\002\001\001\000\002\001\001\000\012\200\316" + - "\244\u0252\245\u024d\247\u025c\001\001\000\002\001\001\000" + - "\004\274\u0260\001\001\000\004\272\u025f\001\001\000\002" + - "\001\001\000\002\001\001\000\022\047\u0229\210\u0230\272" + - "\u0228\274\u022b\275\u022d\330\136\331\u022a\340\u0263\001\001" + - "\000\002\001\001\000\002\001\001\000\004\272\u0267\001" + - "\001\000\004\275\u0266\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\004\274" + - "\u026d\001\001\000\004\275\u026c\001\001\000\002\001\001" + - "\000\002\001\001\000\124\004\126\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\u0271\115\125\116\214" + - "\123\137\124\212\125\120\126\227\127\u0274\137\223\147" + - "\023\167\055\170\042\171\147\172\132\173\101\174\061" + - "\175\067\177\173\200\052\220\047\256\106\260\164\261" + - "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + - "\124\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u0271\115\125\116\214\123\137\124\212\125" + - "\120\126\227\127\u0272\137\223\147\023\167\055\170\042" + - "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\220\047\256\106\260\164\261\021\263\160\266\044" + - "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\072\004\u027a\070\013\071\065" + - "\123\u0281\124\212\125\u027f\126\227\137\223\170\042\171" + - "\u0278\172\132\173\u027d\174\061\175\u01ec\177\u0277\200\052" + - "\220\u027c\261\021\263\160\264\u0280\265\u0279\266\044\303" + - "\u027e\305\031\306\076\307\075\321\166\322\036\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\004\130\u02fb\001\001\000\004\130\u02fa\001\001\000\002" + - "\001\001\000\004\130\u02f9\001\001\000\002\001\001\000" + - "\002\001\001\000\004\104\u02c4\001\001\000\004\130\u0284" + - "\001\001\000\024\124\u028f\126\227\134\u02bf\135\u028a\136" + - "\u0287\137\u028b\150\u0286\261\u0288\266\044\001\001\000\032" + - "\124\u028f\126\227\133\u02bb\137\u028b\202\u01a2\203\u01a7\204" + - "\u0196\205\u02ac\261\u02a8\266\044\313\u02ad\317\u02aa\001\001" + - "\000\002\001\001\000\024\124\u028f\126\227\134\u0289\135" + - "\u028a\136\u0287\137\u028b\150\u0286\261\u0288\266\044\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\004\214\u0299\001\001\000\004\130\u0298\001\001\000\010" + - "\124\u0293\126\227\266\044\001\001\000\002\001\001\000" + - "\002\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u0291\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\047\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\004\130\u0290" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\004\130\u0290\001\001\000\002\001\001\000\122" + - "\004\126\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\u0296\115\125\116\214\123\137\124\212\125\120" + - "\126\227\137\223\147\023\167\055\170\042\171\147\172" + - "\132\173\101\174\061\175\067\177\173\200\052\220\047" + - "\256\106\260\164\261\021\263\160\266\044\302\222\303" + - "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\006\130\u029e\132\u029d\001\001\000\140" + - "\004\126\050\u029b\051\u0218\052\u0204\053\u020c\066\u021a\067" + - "\134\070\013\071\065\074\043\102\133\106\u01b3\115\125" + - "\116\214\123\137\124\212\125\120\126\227\137\223\147" + - "\023\150\u020a\167\055\170\042\171\147\172\132\173\101" + - "\174\061\175\067\177\173\200\052\202\u01a2\203\u0205\220" + - "\u0208\256\106\260\164\261\021\263\160\266\044\302\222" + + "\000\004\130\u02ff\001\001\000\004\130\u02fe\001\001\000" + + "\002\001\001\000\004\130\u02fd\001\001\000\002\001\001" + + "\000\002\001\001\000\004\104\u02c8\001\001\000\004\130" + + "\u0288\001\001\000\024\124\u0292\126\227\134\u02c3\135\u028e" + + "\136\u028b\137\u028f\150\u028a\261\u028c\266\044\001\001\000" + + "\032\124\u0292\126\227\133\u02bf\137\u028f\202\u01a4\203\u01a9" + + "\204\u0198\205\u02b0\261\u02ac\266\044\313\u02b1\317\u02ae\001" + + "\001\000\002\001\001\000\024\124\u0292\126\227\134\u028d" + + "\135\u028e\136\u028b\137\u028f\150\u028a\261\u028c\266\044\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\004\214\u029d\001\001\000\004\130\u029c\001\001\000" + + "\010\124\u0297\126\227\266\044\001\001\000\002\001\001" + + "\000\002\001\001\000\004\130\u0296\001\001\000\122\004" + + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + + "\106\u0294\115\125\116\214\123\137\124\212\125\120\126" + + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\004\130\u0296\001\001\000\002\001\001\000" + + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + + "\102\133\106\u029a\115\125\116\214\123\137\124\212\125" + + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + - "\000\006\130\u02a0\215\u029f\001\001\000\002\001\001\000" + - "\004\262\u02a3\001\001\000\002\001\001\000\024\124\u028f" + - "\126\227\134\u02b8\135\u028a\136\u0287\137\u028b\150\u0286\261" + - "\u0288\266\044\001\001\000\032\124\u028f\126\227\133\u02a9" + - "\137\u028b\202\u01a2\203\u01a7\204\u0196\205\u02ac\261\u02a8\266" + - "\044\313\u02ad\317\u02aa\001\001\000\002\001\001\000\024" + - "\124\u028f\126\227\134\u02a5\135\u028a\136\u0287\137\u028b\150" + - "\u0286\261\u0288\266\044\001\001\000\004\214\u02a6\001\001" + - "\000\006\130\u029e\132\u02a7\001\001\000\004\130\u02a0\001" + - "\001\000\002\001\001\000\004\214\u02b6\001\001\000\002" + - "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u02b1\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\220\047\256\106\260\164\261\021\263\160\266" + - "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + + "\136\331\u01b3\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\006\130\u02a2\132\u02a1\001\001\000" + + "\140\004\126\050\u029f\051\u021c\052\u0208\053\u0210\066\u021e" + + "\067\134\070\013\071\065\074\043\102\133\106\u01b5\115" + + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + + "\147\023\150\u020e\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\202\u01a4\203\u0209" + + "\220\u020c\256\106\260\164\261\021\263\160\266\044\302" + + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + + "\001\000\006\130\u02a4\215\u02a3\001\001\000\002\001\001" + + "\000\004\262\u02a7\001\001\000\002\001\001\000\024\124" + + "\u0292\126\227\134\u02bc\135\u028e\136\u028b\137\u028f\150\u028a" + + "\261\u028c\266\044\001\001\000\032\124\u0292\126\227\133" + + "\u02ad\137\u028f\202\u01a4\203\u01a9\204\u0198\205\u02b0\261\u02ac" + + "\266\044\313\u02b1\317\u02ae\001\001\000\002\001\001\000" + + "\024\124\u0292\126\227\134\u02a9\135\u028e\136\u028b\137\u028f" + + "\150\u028a\261\u028c\266\044\001\001\000\004\214\u02aa\001" + + "\001\000\006\130\u02a2\132\u02ab\001\001\000\004\130\u02a4" + + "\001\001\000\002\001\001\000\004\214\u02ba\001\001\000" + "\002\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u02af\115\125\116\214\123" + + "\071\065\074\043\102\133\106\u02b5\115\125\116\214\123" + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u02b4\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\220" + - "\047\256\106\260\164\261\021\263\160\266\044\302\222" + - "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + - "\000\006\130\u029e\132\u02b7\001\001\000\004\130\u02a0\001" + - "\001\000\004\214\u02b9\001\001\000\006\130\u029e\132\u02ba" + - "\001\001\000\004\130\u02a0\001\001\000\004\214\u02bc\001" + - "\001\000\006\130\u029e\132\u02bd\001\001\000\006\130\u02a0" + - "\215\u02be\001\001\000\004\262\u02a3\001\001\000\004\214" + - "\u02c0\001\001\000\006\130\u029e\132\u02c1\001\001\000\006" + - "\130\u02a0\215\u02c2\001\001\000\004\262\u02a3\001\001\000" + - "\070\004\u027a\070\013\071\065\123\u0281\124\212\125\u027f" + - "\126\227\137\223\170\042\171\u0278\172\132\173\u027d\174" + - "\061\175\u01ec\177\u0277\200\052\220\u027c\261\021\263\160" + - "\265\u02c6\266\044\303\u027e\305\031\306\076\307\075\321" + - "\166\322\036\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\030\004\u027a\124\u028f\126\227\137" + - "\u028b\172\u02cf\202\u01a2\203\u01a7\204\u0196\205\u02cd\261\u02c8" + - "\266\044\001\001\000\002\001\001\000\004\130\u0270\001" + - "\001\000\002\001\001\000\002\001\001\000\122\004\126" + - "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u02df\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\002\001\001\000\004\130" + - "\u02d1\001\001\000\002\001\001\000\002\001\001\000\012" + - "\202\u01a2\203\u01a7\204\u0196\205\u02db\001\001\000\140\004" + - "\126\050\u02d9\051\u0218\052\u0204\053\u020c\066\u021a\067\134" + - "\070\013\071\065\074\043\102\133\106\u01b3\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\150\u020a\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\202\u01a2\203\u0205\220\u0208" + - "\256\106\260\164\261\021\263\160\266\044\302\222\303" + - "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\012\202\u01a2\203\u01a7\204\u0196\205" + - "\u02d5\001\001\000\002\001\001\000\140\004\126\050\u02d7" + - "\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013\071" + - "\065\074\043\102\133\106\u01b3\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\150\u020a\167" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + + "\000\002\001\001\000\122\004\126\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\u02b3\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + - "\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + + "\177\173\200\052\220\047\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\140\004\126\050" + - "\u02dd\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013" + - "\071\065\074\043\102\133\106\u01b3\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\150\u020a" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\140\004\126\050\u02e2\051\u0218" + - "\052\u0204\053\u020c\066\u021a\067\134\070\013\071\065\074" + - "\043\102\133\106\u01b3\115\125\116\214\123\137\124\212" + - "\125\120\126\227\137\223\147\023\150\u020a\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\202\u01a2\203\u0205\220\u0208\256\106\260\164\261" + - "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + - "\002\001\001\000\002\001\001\000\140\004\126\050\u02e5" + - "\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013\071" + - "\065\074\043\102\133\106\u01b3\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\150\u020a\167" + - "\055\170\042\171\147\172\132\173\101\174\061\175\067" + - "\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + - "\001\000\002\001\001\000\002\001\001\000\012\202\u01a2" + - "\203\u01a7\204\u0196\205\u02e9\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u02f7" + - "\115\125\116\214\123\137\124\212\125\120\126\227\137" + - "\223\147\023\167\055\170\042\171\147\172\132\173\101" + - "\174\061\175\067\177\173\200\052\220\047\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + - "\001\000\002\001\001\000\012\202\u01a2\203\u01a7\204\u0196" + - "\205\u02f3\001\001\000\140\004\126\050\u02f1\051\u0218\052" + - "\u0204\053\u020c\066\u021a\067\134\070\013\071\065\074\043" + - "\102\133\106\u01b3\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\150\u020a\167\055\170\042" + - "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\202\u01a2\203\u0205\220\u0208\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\012" + - "\202\u01a2\203\u01a7\204\u0196\205\u02ed\001\001\000\002\001" + - "\001\000\140\004\126\050\u02ef\051\u0218\052\u0204\053\u020c" + - "\066\u021a\067\134\070\013\071\065\074\043\102\133\106" + - "\u01b3\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\150\u020a\167\055\170\042\171\147\172" + - "\132\173\101\174\061\175\067\177\173\200\052\202\u01a2" + - "\203\u0205\220\u0208\256\106\260\164\261\021\263\160\266" + - "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\140\004\126\050\u02f5\051\u0218\052\u0204\053" + - "\u020c\066\u021a\067\134\070\013\071\065\074\043\102\133" + - "\106\u01b3\115\125\116\214\123\137\124\212\125\120\126" + - "\227\137\223\147\023\150\u020a\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\202" + - "\u01a2\203\u0205\220\u0208\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\024" + - "\124\u028f\126\227\134\u031c\135\u028a\136\u0287\137\u028b\150" + - "\u0286\261\u0288\266\044\001\001\000\030\004\u027a\124\u028f" + - "\126\227\137\u028b\172\u0306\202\u01a2\203\u01a7\204\u0196\205" + - "\u0305\261\u0303\266\044\001\001\000\024\124\u028f\126\227" + - "\134\u02ff\135\u028a\136\u0287\137\u028b\150\u0286\261\u0288\266" + - "\044\001\001\000\004\214\u0300\001\001\000\006\130\u029e" + - "\132\u0301\001\001\000\006\130\u02a0\215\u0302\001\001\000" + - "\004\262\u02a3\001\001\000\002\001\001\000\122\004\126" + - "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u0314\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\004\130\u02d1\001\001\000" + - "\012\202\u01a2\203\u01a7\204\u0196\205\u0310\001\001\000\140" + - "\004\126\050\u030e\051\u0218\052\u0204\053\u020c\066\u021a\067" + - "\134\070\013\071\065\074\043\102\133\106\u01b3\115\125" + + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\u02b8\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + + "\001\000\006\130\u02a2\132\u02bb\001\001\000\004\130\u02a4" + + "\001\001\000\004\214\u02bd\001\001\000\006\130\u02a2\132" + + "\u02be\001\001\000\004\130\u02a4\001\001\000\004\214\u02c0" + + "\001\001\000\006\130\u02a2\132\u02c1\001\001\000\006\130" + + "\u02a4\215\u02c2\001\001\000\004\262\u02a7\001\001\000\004" + + "\214\u02c4\001\001\000\006\130\u02a2\132\u02c5\001\001\000" + + "\006\130\u02a4\215\u02c6\001\001\000\004\262\u02a7\001\001" + + "\000\070\004\u027e\070\013\071\065\123\u0285\124\212\125" + + "\u0283\126\227\137\223\170\042\171\u027c\172\132\173\u0281" + + "\174\061\175\u01f0\177\u027b\200\052\220\u0280\261\021\263" + + "\160\265\u02ca\266\044\303\u0282\305\031\306\076\307\075" + + "\321\166\322\036\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\030\004\u027e\124\u0292\126\227" + + "\137\u028f\172\u02d3\202\u01a4\203\u01a9\204\u0198\205\u02d1\261" + + "\u02cc\266\044\001\001\000\002\001\001\000\004\130\u0274" + + "\001\001\000\002\001\001\000\002\001\001\000\122\004" + + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + + "\106\u02e3\115\125\116\214\123\137\124\212\125\120\126" + + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\004" + + "\130\u02d5\001\001\000\002\001\001\000\002\001\001\000" + + "\012\202\u01a4\203\u01a9\204\u0198\205\u02df\001\001\000\140" + + "\004\126\050\u02dd\051\u021c\052\u0208\053\u0210\066\u021e\067" + + "\134\070\013\071\065\074\043\102\133\106\u01b5\115\125" + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + - "\023\150\u020a\167\055\170\042\171\147\172\132\173\101" + - "\174\061\175\067\177\173\200\052\202\u01a2\203\u0205\220" + - "\u0208\256\106\260\164\261\021\263\160\266\044\302\222" + + "\023\150\u020e\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\202\u01a4\203\u0209\220" + + "\u020c\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\012\202\u01a2\203\u01a7\204\u0196" + - "\205\u030a\001\001\000\002\001\001\000\140\004\126\050" + - "\u030c\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013" + - "\071\065\074\043\102\133\106\u01b3\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\150\u020a" + + "\136\331\u01b3\001\001\000\012\202\u01a4\203\u01a9\204\u0198" + + "\205\u02d9\001\001\000\002\001\001\000\140\004\126\050" + + "\u02db\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070\013" + + "\071\065\074\043\102\133\106\u01b5\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\150\u020e" + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106" + + "\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256\106" + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\140\004\126" + - "\050\u0312\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070" + - "\013\071\065\074\043\102\133\106\u01b3\115\125\116\214" + + "\050\u02e1\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070" + + "\013\071\065\074\043\102\133\106\u01b5\115\125\116\214" + "\123\137\124\212\125\120\126\227\137\223\147\023\150" + - "\u020a\167\055\170\042\171\147\172\132\173\101\174\061" + - "\175\067\177\173\200\052\202\u01a2\203\u0205\220\u0208\256" + + "\u020e\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256" + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\140\004\126\050\u0317\051" + - "\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013\071\065" + - "\074\043\102\133\106\u01b3\115\125\116\214\123\137\124" + - "\212\125\120\126\227\137\223\147\023\150\u020a\167\055" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\140\004\126\050\u02e6\051" + + "\u021c\052\u0208\053\u0210\066\u021e\067\134\070\013\071\065" + + "\074\043\102\133\106\u01b5\115\125\116\214\123\137\124" + + "\212\125\120\126\227\137\223\147\023\150\u020e\167\055" + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\202\u01a2\203\u0205\220\u0208\256\106\260\164" + + "\173\200\052\202\u01a4\203\u0209\220\u020c\256\106\260\164" + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + "\000\002\001\001\000\002\001\001\000\140\004\126\050" + - "\u031a\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013" + - "\071\065\074\043\102\133\106\u01b3\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\150\u020a" + + "\u02e9\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070\013" + + "\071\065\074\043\102\133\106\u01b5\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\150\u020e" + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106" + + "\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256\106" + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\002\001\001\000\004\214" + - "\u031d\001\001\000\006\130\u029e\132\u031e\001\001\000\006" + - "\130\u02a0\215\u031f\001\001\000\004\262\u02a3\001\001\000" + - "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u0322\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\220" + - "\047\256\106\260\164\261\021\263\160\266\044\302\222" + - "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\134\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0326" + - "\115\125\116\214\123\137\124\212\125\120\126\227\137" + - "\223\140\u032b\141\u0328\142\u032a\143\u0329\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\047\254\u0327\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\002" + - "\001\001\000\062\070\013\071\065\123\u0281\124\212\125" + - "\120\126\227\137\223\170\042\173\u027d\174\061\175\u01ec" + - "\176\u0339\177\173\200\052\220\u0338\261\021\263\160\266" + - "\044\303\u027e\305\031\306\076\307\075\321\166\322\036" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\122\004\126\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\u0333\115\125\116" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + + "\001\001\000\002\001\001\000\002\001\001\000\012\202" + + "\u01a4\203\u01a9\204\u0198\205\u02ed\001\001\000\122\004\126" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\u02fb\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\147\023\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\220\047\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + + "\001\001\000\002\001\001\000\012\202\u01a4\203\u01a9\204" + + "\u0198\205\u02f7\001\001\000\140\004\126\050\u02f5\051\u021c" + + "\052\u0208\053\u0210\066\u021e\067\134\070\013\071\065\074" + + "\043\102\133\106\u01b5\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\150\u020e\167\055\170" + + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + + "\200\052\202\u01a4\203\u0209\220\u020c\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\012\202\u01a4\203\u01a9\204\u0198\205\u02f1\001\001\000\002" + + "\001\001\000\140\004\126\050\u02f3\051\u021c\052\u0208\053" + + "\u0210\066\u021e\067\134\070\013\071\065\074\043\102\133" + + "\106\u01b5\115\125\116\214\123\137\124\212\125\120\126" + + "\227\137\223\147\023\150\u020e\167\055\170\042\171\147" + + "\172\132\173\101\174\061\175\067\177\173\200\052\202" + + "\u01a4\203\u0209\220\u020c\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\140\004\126\050\u02f9\051\u021c\052\u0208" + + "\053\u0210\066\u021e\067\134\070\013\071\065\074\043\102" + + "\133\106\u01b5\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\147\023\150\u020e\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + + "\202\u01a4\203\u0209\220\u020c\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\024\124\u0292\126\227\134\u0320\135\u028e\136\u028b\137\u028f" + + "\150\u028a\261\u028c\266\044\001\001\000\030\004\u027e\124" + + "\u0292\126\227\137\u028f\172\u030a\202\u01a4\203\u01a9\204\u0198" + + "\205\u0309\261\u0307\266\044\001\001\000\024\124\u0292\126" + + "\227\134\u0303\135\u028e\136\u028b\137\u028f\150\u028a\261\u028c" + + "\266\044\001\001\000\004\214\u0304\001\001\000\006\130" + + "\u02a2\132\u0305\001\001\000\006\130\u02a4\215\u0306\001\001" + + "\000\004\262\u02a7\001\001\000\002\001\001\000\122\004" + + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + + "\106\u0318\115\125\116\214\123\137\124\212\125\120\126" + + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\004\130\u02d5\001\001" + + "\000\012\202\u01a4\203\u01a9\204\u0198\205\u0314\001\001\000" + + "\140\004\126\050\u0312\051\u021c\052\u0208\053\u0210\066\u021e" + + "\067\134\070\013\071\065\074\043\102\133\106\u01b5\115" + + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + + "\147\023\150\u020e\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\202\u01a4\203\u0209" + + "\220\u020c\256\106\260\164\261\021\263\160\266\044\302" + + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + + "\330\136\331\u01b3\001\001\000\012\202\u01a4\203\u01a9\204" + + "\u0198\205\u030e\001\001\000\002\001\001\000\140\004\126" + + "\050\u0310\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070" + + "\013\071\065\074\043\102\133\106\u01b5\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\150" + + "\u020e\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\140\004" + + "\126\050\u0316\051\u021c\052\u0208\053\u0210\066\u021e\067\134" + + "\070\013\071\065\074\043\102\133\106\u01b5\115\125\116" + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\220\047\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\002" + - "\001\001\000\134\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u0326\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\140\u032f\141\u0328\142" + - "\u032a\143\u0329\147\023\167\055\170\042\171\147\172\132" + - "\173\101\174\061\175\067\177\173\200\052\220\047\254" + - "\u0327\256\106\260\164\261\021\263\160\266\044\302\222" + - "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + + "\150\u020e\167\055\170\042\171\147\172\132\173\101\174" + + "\061\175\067\177\173\200\052\202\u01a4\203\u0209\220\u020c" + + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + + "\331\u01b3\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\140\004\126\050\u031b" + + "\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070\013\071" + + "\065\074\043\102\133\106\u01b5\115\125\116\214\123\137" + + "\124\212\125\120\126\227\137\223\147\023\150\u020e\167" + + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + + "\177\173\200\052\202\u01a4\203\u0209\220\u020c\256\106\260" + + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\002\001\001\000\140\004\126" + + "\050\u031e\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070" + + "\013\071\065\074\043\102\133\106\u01b5\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\150" + + "\u020e\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\004" + + "\214\u0321\001\001\000\006\130\u02a2\132\u0322\001\001\000" + + "\006\130\u02a4\215\u0323\001\001\000\004\262\u02a7\001\001" + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u0332\115\125\116\214\123\137\124\212" + + "\043\102\133\106\u0326\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\130\004\126\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\u0326\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\141\u0336" + - "\142\u032a\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\254\u0327" + - "\256\106\260\164\261\021\263\160\266\044\302\222\303" + - "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\124\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u033b\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\220\047\254\u033c\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\062\070\013\071\065\123" + - "\u0281\124\212\125\120\126\227\137\223\170\042\173\u027d" + - "\174\061\175\u01ec\176\u0341\177\173\200\052\220\u0338\261" + - "\021\263\160\266\044\303\u027e\305\031\306\076\307\075" + - "\321\166\322\036\001\001\000\002\001\001\000\134\004" + - "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u0326\115\125\116\214\123\137\124\212\125\120\126" + - "\227\137\223\140\u033f\141\u0328\142\u032a\143\u0329\147\023" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\220\047\254\u0327\256\106\260\164" + - "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\134\004\126\052\u0345\053\u020c\066\u021a" + - "\067\134\070\013\071\065\074\043\102\133\106\u01b3\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\150\u020a\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\202\u01a2\203\u0205" + - "\220\u0208\256\106\260\164\261\021\263\160\266\044\302" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\134\004\126" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\u032a\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\140\u032f\141\u032c\142\u032e\143\u032d\147\023\167" + + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + + "\177\173\200\052\220\047\254\u032b\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\002\001\001\000\062\070\013\071\065\123\u0285\124\212" + + "\125\120\126\227\137\223\170\042\173\u0281\174\061\175" + + "\u01f0\176\u033d\177\173\200\052\220\u033c\261\021\263\160" + + "\266\044\303\u0282\305\031\306\076\307\075\321\166\322" + + "\036\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\122\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u0337\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\002\001\001\000\134\004\126\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\u032a\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\140\u0333\141\u032c" + + "\142\u032e\143\u032d\147\023\167\055\170\042\171\147\172" + + "\132\173\101\174\061\175\067\177\173\200\052\220\047" + + "\254\u032b\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\002\001" + - "\001\000\124\004\126\053\u0347\066\u021a\067\134\070\013" + - "\071\065\074\043\102\133\106\u01b3\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\u0208\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + - "\000\002\001\001\000\122\004\126\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\u034a\115\125\116\214" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + + "\001\000\122\004\126\066\152\067\134\070\013\071\065" + + "\074\043\102\133\106\u0336\115\125\116\214\123\137\124" + + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\130\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u032a\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\141" + + "\u033a\142\u032e\147\023\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\220\047\254" + + "\u032b\256\106\260\164\261\021\263\160\266\044\302\222" + + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + + "\136\331\u01b3\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\124\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u033f" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\220\047\254\u0340\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\062\070\013\071\065" + + "\123\u0285\124\212\125\120\126\227\137\223\170\042\173" + + "\u0281\174\061\175\u01f0\176\u0345\177\173\200\052\220\u033c" + + "\261\021\263\160\266\044\303\u0282\305\031\306\076\307" + + "\075\321\166\322\036\001\001\000\002\001\001\000\134" + + "\004\126\066\152\067\134\070\013\071\065\074\043\102" + + "\133\106\u032a\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\140\u0343\141\u032c\142\u032e\143\u032d\147" + + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\220\047\254\u032b\256\106\260" + + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\134\004\126\052\u0349\053\u0210\066" + + "\u021e\067\134\070\013\071\065\074\043\102\133\106\u01b5" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\150\u020e\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\202\u01a4\203" + + "\u0209\220\u020c\256\106\260\164\261\021\263\160\266\044" + + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\002" + + "\001\001\000\124\004\126\053\u034b\066\u021e\067\134\070" + + "\013\071\065\074\043\102\133\106\u01b5\115\125\116\214" + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + - "\177\173\200\052\220\047\256\106\260\164\261\021\263" + + "\177\173\200\052\220\u020c\256\106\260\164\261\021\263" + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + - "\321\166\322\036\330\136\331\u01b1\001\001\000\002\001" + - "\001\000\002\001\001\000\134\004\126\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\u034d\107\u0353\115" + - "\125\116\214\117\u034f\120\u0351\121\u0354\122\u034e\123\137" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + + "\001\000\002\001\001\000\122\004\126\066\152\067\134" + + "\070\013\071\065\074\043\102\133\106\u034e\115\125\116" + + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + + "\067\177\173\200\052\220\047\256\106\260\164\261\021" + + "\263\160\266\044\302\222\303\217\305\031\306\076\307" + + "\075\321\166\322\036\330\136\331\u01b3\001\001\000\002" + + "\001\001\000\002\001\001\000\134\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u0351\107\u0357" + + "\115\125\116\214\117\u0353\120\u0355\121\u0358\122\u0352\123" + + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + + "\000\004\104\u0362\001\001\000\002\001\001\000\004\104" + + "\u035d\001\001\000\004\104\u035a\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\130\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u0351" + + "\107\u0357\115\125\116\214\121\u035b\122\u0352\123\137\124" + + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\124\004" + + "\126\066\152\067\134\070\013\071\065\074\043\102\133" + + "\106\u0351\107\u035f\115\125\116\214\123\137\124\212\125" + + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + + "\136\331\u01b3\001\001\000\002\001\001\000\002\001\001" + + "\000\124\004\126\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\u0351\107\u0365\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + - "\004\104\u035e\001\001\000\002\001\001\000\004\104\u0359" + - "\001\001\000\004\104\u0356\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\130\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u034d\107" + - "\u0353\115\125\116\214\121\u0357\122\u034e\123\137\124\212" + - "\125\120\126\227\137\223\147\023\167\055\170\042\171" + - "\147\172\132\173\101\174\061\175\067\177\173\200\052" + - "\220\047\256\106\260\164\261\021\263\160\266\044\302" + - "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\124\004\126" + - "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\u034d\107\u035b\115\125\116\214\123\137\124\212\125\120" + - "\126\227\137\223\147\023\167\055\170\042\171\147\172" + - "\132\173\101\174\061\175\067\177\173\200\052\220\047" + - "\256\106\260\164\261\021\263\160\266\044\302\222\303" + - "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\002\001\001\000\002\001\001\000" + + "\322\036\330\136\331\u01b3\001\001\000\002\001\001\000" + "\124\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u034d\107\u0361\115\125\116\214\123\137\124" + + "\102\133\106\u0351\107\u0364\115\125\116\214\123\137\124" + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\002\001\001\000\124" + - "\004\126\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\u034d\107\u0360\115\125\116\214\123\137\124\212" + - "\125\120\126\227\137\223\147\023\167\055\170\042\171" + - "\147\172\132\173\101\174\061\175\067\177\173\200\052" + - "\220\047\256\106\260\164\261\021\263\160\266\044\302" + - "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\002\001" + - "\001\000\122\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u0363\115\125\116\214\123\137\124" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\002" + + "\001\001\000\122\004\126\066\152\067\134\070\013\071" + + "\065\074\043\102\133\106\u0367\115\125\116\214\123\137" + + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + + "\322\036\330\136\331\u01b3\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + + "\073\u036c\001\001\000\002\001\001\000\002\001\001\000" + + "\124\004\126\053\u036f\066\u021e\067\134\070\013\071\065" + + "\074\043\102\133\106\u01b5\115\125\116\214\123\137\124" + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\052\220\u020c\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\004\073" + - "\u0368\001\001\000\002\001\001\000\002\001\001\000\124" + - "\004\126\053\u036b\066\u021a\067\134\070\013\071\065\074" + - "\043\102\133\106\u01b3\115\125\116\214\123\137\124\212" + - "\125\120\126\227\137\223\147\023\167\055\170\042\171" + - "\147\172\132\173\101\174\061\175\067\177\173\200\052" + - "\220\u0208\256\106\260\164\261\021\263\160\266\044\302" + - "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\134\004" + - "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u0326\115\125\116\214\123\137\124\212\125\120\126" + - "\227\137\223\140\u036d\141\u0328\142\u032a\143\u0329\147\023" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\220\047\254\u0327\256\106\260\164" + - "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + - "\000\002\001\001\000\002\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u038f" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\134" + + "\004\126\066\152\067\134\070\013\071\065\074\043\102" + + "\133\106\u032a\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\140\u0371\141\u032c\142\u032e\143\u032d\147" + + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\220\047\254\u032b\256\106\260" + + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\002\001\001\000\122\004\126" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\u0393\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\147\023\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\220\047\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + + "\001\001\000\132\004\126\066\152\067\134\070\013\071" + + "\065\074\043\102\133\106\111\110\u038e\113\131\114\102" + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + - "\174\061\175\067\177\173\200\052\220\047\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + - "\001\000\132\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\111\110\u038a\113\131\114\102\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\220\047\254\u0389\256\106" + + "\174\061\175\067\177\173\200\052\220\047\254\u038d\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\122\004\126\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\u038c\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u01b3\001\001\000\122\004\126" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\u038b\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\147\023\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\220\047\256\106" + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u0388\115\125\116\214\123\137" + + "\065\074\043\102\133\106\u038a\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0387" + + "\322\036\330\136\331\u01b3\001\001\000\122\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u0389" + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + "\001\000\122\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u0386\115\125\116\214\123\137\124" + + "\074\043\102\133\106\u0388\115\125\116\214\123\137\124" + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\122\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u0385\115" + + "\036\330\136\331\u01b3\001\001\000\122\004\126\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\u0387\115" + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u0384\115\125\116\214\123\137\124\212" + + "\043\102\133\106\u0386\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\122\004\126\066\152\067" + - "\134\070\013\071\065\074\043\102\133\106\u0383\115\125" + + "\330\136\331\u01b3\001\001\000\122\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u0385\115\125" + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u0382\115\125\116\214\123\137\124\212\125" + + "\102\133\106\u0384\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\122\004\126\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\u0381\115\125\116" + + "\136\331\u01b3\001\001\000\122\004\126\066\152\067\134" + + "\070\013\071\065\074\043\102\133\106\u0383\115\125\116" + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + "\067\177\173\200\052\220\047\256\106\260\164\261\021" + "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\122" + + "\075\321\166\322\036\330\136\331\u01b3\001\001\000\122" + "\004\126\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\u0380\115\125\116\214\123\137\124\212\125\120" + + "\133\106\u0382\115\125\116\214\123\137\124\212\125\120" + "\126\227\137\223\147\023\167\055\170\042\171\147\172" + "\132\173\101\174\061\175\067\177\173\200\052\220\047" + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\122\004\126\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\u037f\115\125\116\214" + + "\331\u01b3\001\001\000\122\004\126\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\u0381\115\125\116\214" + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + "\177\173\200\052\220\047\256\106\260\164\261\021\263" + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + - "\321\166\322\036\330\136\331\u01b1\001\001\000\122\004" + - "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u037e\115\125\116\214\123\137\124\212\125\120\126" + - "\227\137\223\147\023\167\055\170\042\171\147\172\132" + - "\173\101\174\061\175\067\177\173\200\052\220\047\256" + - "\106\260\164\261\021\263\160\266\044\302\222\303\217" + - "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u037d\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\047\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\060\070\013\071\065\123\u0281" + - "\124\212\125\120\126\227\137\223\170\042\173\u027d\174" + - "\061\175\u01ec\177\173\200\052\220\u038c\261\021\263\160" + - "\266\044\303\u027e\305\031\306\076\307\075\321\166\322" + - "\036\001\001\000\002\001\001\000\052\123\u01f0\124\u01ea" + - "\125\u01e7\126\227\137\u01f2\173\u01e9\174\061\175\u01ec\177" + - "\u01ed\200\345\263\160\266\044\301\u038d\304\u01e4\305\u01e5" + - "\306\u01f1\307\u01e6\322\u01e8\330\136\331\u01f6\001\001\000" + - "\002\001\001\000\004\073\u038e\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\124\004\126\053" + - "\u0392\066\u021a\067\134\070\013\071\065\074\043\102\133" + - "\106\u01b3\115\125\116\214\123\137\124\212\125\120\126" + + "\001\001\000\002\001\001\000\060\070\013\071\065\123" + + "\u0285\124\212\125\120\126\227\137\223\170\042\173\u0281" + + "\174\061\175\u01f0\177\173\200\052\220\u0390\261\021\263" + + "\160\266\044\303\u0282\305\031\306\076\307\075\321\166" + + "\322\036\001\001\000\002\001\001\000\052\123\u01f4\124" + + "\u01ef\125\u01eb\126\227\137\u01f6\173\u01ed\174\061\175\u01f0" + + "\177\u01f1\200\345\263\160\266\044\301\u0391\304\u01e8\305" + + "\u01e9\306\u01f5\307\u01ea\322\u01ec\330\136\331\u01fa\001\001" + + "\000\002\001\001\000\004\073\u0392\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\124\004\126" + + "\053\u0396\066\u021e\067\134\070\013\071\065\074\043\102" + + "\133\106\u01b5\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\147\023\167\055\170\042\171\147\172" + + "\132\173\101\174\061\175\067\177\173\200\052\220\u020c" + + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + + "\331\u01b3\001\001\000\002\001\001\000\124\004\126\053" + + "\u0398\066\u021e\067\134\070\013\071\065\074\043\102\133" + + "\106\u01b5\115\125\116\214\123\137\124\212\125\120\126" + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + - "\173\101\174\061\175\067\177\173\200\052\220\u0208\256" + + "\173\101\174\061\175\067\177\173\200\052\220\u020c\256" + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\002\001\001\000\124\004\126\053\u0394" + - "\066\u021a\067\134\070\013\071\065\074\043\102\133\106" + - "\u01b3\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\u0208\256\106" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\006" + + "\061\u03bf\254\u0229\001\001\000\006\061\u039c\254\u0229\001" + + "\001\000\002\001\001\000\026\043\u039e\046\u0230\047\u022d" + + "\210\u0234\272\u022c\274\u022f\275\u0231\330\136\331\u022e\340" + + "\u0233\001\001\000\002\001\001\000\004\044\u03a1\001\001" + + "\000\002\001\001\000\004\255\u03a2\001\001\000\002\001" + + "\001\000\004\017\u03a4\001\001\000\160\004\126\016\u03a7" + + "\020\u03a5\021\145\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\111\110\167\113\131\114\102\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\151\060\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\216\016\217\071\220" + + "\047\231\204\232\077\233\041\234\010\235\176\256\106" + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\002\001\001\000\006\061" + - "\u03bb\254\u0225\001\001\000\006\061\u0398\254\u0225\001\001" + - "\000\002\001\001\000\026\043\u039a\046\u022c\047\u0229\210" + - "\u0230\272\u0228\274\u022b\275\u022d\330\136\331\u022a\340\u022f" + - "\001\001\000\002\001\001\000\004\044\u039d\001\001\000" + - "\002\001\001\000\004\255\u039e\001\001\000\002\001\001" + - "\000\004\017\u03a0\001\001\000\160\004\126\016\u03a3\020" + - "\u03a1\021\145\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\111\110\167\113\131\114\102\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\151\060\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\216\016\217\071\220\047" + - "\231\204\232\077\233\041\234\010\235\176\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u03a6\334" + - "\u03a5\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\004\024\u03ab\001\001\000\002\001\001\000" + - "\030\115\u03a7\151\060\216\016\217\071\231\204\232\077" + - "\233\041\234\010\235\176\330\u0268\334\u03a8\001\001\000" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u03aa" + + "\334\u03a9\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\004\024\u03af\001\001\000\002\001\001" + + "\000\030\115\u03ab\151\060\216\016\217\071\231\204\232" + + "\077\233\041\234\010\235\176\330\u026c\334\u03ac\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\006\045" + + "\u03b5\254\u03b6\001\001\000\004\104\u03ba\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\004\254" + + "\u03bd\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\006\045\u03b1" + - "\254\u03b3\001\001\000\004\104\u03b6\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\004\254\u03b8" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\026\043\u03bd\046\u022c\047\u0229\210\u0230\272\u0228\274" + - "\u022b\275\u022d\330\136\331\u022a\340\u022f\001\001\000\002" + - "\001\001\000\004\255\u03bf\001\001\000\002\001\001\000" + - "\132\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\111\110\u0245\111\u03c1\113\131\114\102\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\220\047\256\106\260\164" + - "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + - "\000\002\001\001\000\002\001\001\000\026\043\u03c4\046" + - "\u022c\047\u0229\210\u0230\272\u0228\274\u022b\275\u022d\330\136" + - "\331\u022a\340\u022f\001\001\000\002\001\001\000\004\044" + - "\u03c6\001\001\000\004\255\u03c7\001\001\000\002\001\001" + - "\000\004\017\u03c9\001\001\000\160\004\126\016\u03a3\020" + - "\u03a1\021\145\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\111\110\167\113\131\114\102\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\151\060\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\216\016\217\071\220\047" + - "\231\204\232\077\233\041\234\010\235\176\256\106\260" + + "\001\000\026\043\u03c1\046\u0230\047\u022d\210\u0234\272\u022c" + + "\274\u022f\275\u0231\330\136\331\u022e\340\u0233\001\001\000" + + "\002\001\001\000\004\255\u03c3\001\001\000\002\001\001" + + "\000\132\004\126\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\111\110\u0249\111\u03c5\113\131\114\102" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u03a6\334" + - "\u03a5\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\122\004\126\066\u03cf\067\134\070\013\071" + - "\065\074\043\102\133\106\u01b3\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\220\u03ce\256\106\260\164\261\021\263\160\266" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\002\001\001\000\026\043\u03c8" + + "\046\u0230\047\u022d\210\u0234\272\u022c\274\u022f\275\u0231\330" + + "\136\331\u022e\340\u0233\001\001\000\002\001\001\000\004" + + "\044\u03ca\001\001\000\004\255\u03cb\001\001\000\002\001" + + "\001\000\004\017\u03cd\001\001\000\160\004\126\016\u03a7" + + "\020\u03a5\021\145\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\111\110\167\113\131\114\102\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\151\060\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\216\016\217\071\220" + + "\047\231\204\232\077\233\041\234\010\235\176\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u03aa" + + "\334\u03a9\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\122\004\126\066\u03d3\067\134\070\013" + + "\071\065\074\043\102\133\106\u01b5\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + + "\173\200\052\220\u03d2\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\004\130\u03d7\001\001\000\002\001\001\000\004\236\u03da" + + "\001\001\000\004\200\u03df\001\001\000\004\237\u03db\001" + + "\001\000\002\001\001\000\004\057\u03dd\001\001\000\042" + + "\060\266\211\255\212\254\257\304\270\257\271\262\272" + + "\252\273\267\274\271\275\275\277\306\300\272\325\261" + + "\330\136\331\265\336\251\001\001\000\002\001\001\000" + + "\002\001\001\000\004\073\u03e1\001\001\000\004\236\u03e2" + + "\001\001\000\004\237\u03e3\001\001\000\002\001\001\000" + + "\004\057\u03e5\001\001\000\042\060\266\211\255\212\254" + + "\257\304\270\257\271\262\272\252\273\267\274\271\275" + + "\275\277\306\300\272\325\261\330\136\331\265\336\251" + + "\001\001\000\002\001\001\000\002\001\001\000\004\130" + + "\u0296\001\001\000\024\124\u0292\126\227\134\u03f2\135\u028e" + + "\136\u028b\137\u028f\150\u028a\261\u028c\266\044\001\001\000" + + "\024\124\u0292\126\227\134\u03eb\135\u028e\136\u028b\137\u028f" + + "\150\u028a\261\u028c\266\044\001\001\000\004\310\u03ec\001" + + "\001\000\004\311\u03ee\001\001\000\024\124\u0292\126\227" + + "\134\u03f1\135\u028e\136\u028b\137\u028f\150\u028a\261\u028c\266" + + "\044\001\001\000\002\001\001\000\024\124\u0292\126\227" + + "\134\u03f0\135\u028e\136\u028b\137\u028f\150\u028a\261\u028c\266" + + "\044\001\001\000\002\001\001\000\002\001\001\000\004" + + "\310\u03f3\001\001\000\004\311\u03ee\001\001\000\002\001" + + "\001\000\140\004\126\050\u03f6\051\u021c\052\u0208\053\u0210" + + "\066\u021e\067\134\070\013\071\065\074\043\102\133\106" + + "\u01b5\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\147\023\150\u020e\167\055\170\042\171\147\172" + + "\132\173\101\174\061\175\067\177\173\200\052\202\u01a4" + + "\203\u0209\220\u020c\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\004" + - "\130\u03d3\001\001\000\002\001\001\000\004\236\u03d6\001" + - "\001\000\004\200\u03db\001\001\000\004\237\u03d7\001\001" + - "\000\002\001\001\000\004\057\u03d9\001\001\000\042\060" + - "\266\211\255\212\254\257\304\270\257\271\262\272\252" + - "\273\267\274\271\275\275\277\306\300\272\325\261\330" + - "\136\331\265\336\251\001\001\000\002\001\001\000\002" + - "\001\001\000\004\073\u03dd\001\001\000\004\236\u03de\001" + - "\001\000\004\237\u03df\001\001\000\002\001\001\000\004" + - "\057\u03e1\001\001\000\042\060\266\211\255\212\254\257" + - "\304\270\257\271\262\272\252\273\267\274\271\275\275" + - "\277\306\300\272\325\261\330\136\331\265\336\251\001" + - "\001\000\002\001\001\000\002\001\001\000\004\130\u0290" + - "\001\001\000\024\124\u028f\126\227\134\u03ee\135\u028a\136" + - "\u0287\137\u028b\150\u0286\261\u0288\266\044\001\001\000\024" + - "\124\u028f\126\227\134\u03e7\135\u028a\136\u0287\137\u028b\150" + - "\u0286\261\u0288\266\044\001\001\000\004\310\u03e8\001\001" + - "\000\004\311\u03ea\001\001\000\024\124\u028f\126\227\134" + - "\u03ed\135\u028a\136\u0287\137\u028b\150\u0286\261\u0288\266\044" + - "\001\001\000\002\001\001\000\024\124\u028f\126\227\134" + - "\u03ec\135\u028a\136\u0287\137\u028b\150\u0286\261\u0288\266\044" + - "\001\001\000\002\001\001\000\002\001\001\000\004\310" + - "\u03ef\001\001\000\004\311\u03ea\001\001\000\002\001\001" + - "\000\140\004\126\050\u03f2\051\u0218\052\u0204\053\u020c\066" + - "\u021a\067\134\070\013\071\065\074\043\102\133\106\u01b3" + - "\115\125\116\214\123\137\124\212\125\120\126\227\137" + - "\223\147\023\150\u020a\167\055\170\042\171\147\172\132" + - "\173\101\174\061\175\067\177\173\200\052\202\u01a2\203" + - "\u0205\220\u0208\256\106\260\164\261\021\263\160\266\044" + - "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\002\001\001\000\002" + - "\001\001\000\014\124\u028f\126\227\137\u028b\261\u03f5\266" + - "\044\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\014\124\u028f\126\227\137" + - "\u028b\261\u03fa\266\044\001\001\000\002\001\001\000\002" + + "\322\036\330\136\331\u01b3\001\001\000\002\001\001\000" + + "\002\001\001\000\014\124\u0292\126\227\137\u028f\261\u03f9" + + "\266\044\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\014\124\u0292\126\227" + + "\137\u028f\261\u03fe\266\044\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u040a\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\220\047\256\106\260\164\261\021\263\160\266" + - "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + - "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u040c\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\220" + - "\047\256\106\260\164\261\021\263\160\266\044\302\222" + - "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\004" + - "\073\u0415\001\001\000\002\001\001\000\004\130\u03d3\001" + + "\002\001\001\000\122\004\126\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\u040e\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\u0410\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\122\004\126\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\u041c\115\125\116\214" + - "\123\137\124\212\125\120\126\227\137\223\147\023\167" + - "\055\170\042\171\147\172\132\173\101\174\061\175\067" + - "\177\173\200\052\220\047\256\106\260\164\261\021\263" + - "\160\266\044\302\222\303\217\305\031\306\076\307\075" + - "\321\166\322\036\330\136\331\u01b1\001\001\000\002\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\004\073\u0419\001\001\000\002\001\001\000\004\130\u03d7" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\122\004\126\066\152\067\134" + "\070\013\071\065\074\043\102\133\106\u0420\115\125\116" + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + "\067\177\173\200\052\220\047\256\106\260\164\261\021" + "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\002" + + "\075\321\166\322\036\330\136\331\u01b3\001\001\000\002" + + "\001\001\000\002\001\001\000\122\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u0424\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\036\004\354\074\344\075\u0145\077\343\101" + + "\360\103\u0428\105\u0143\167\362\177\341\200\345\312\352" + + "\314\342\315\347\320\364\001\001\000\002\001\001\000" + + "\002\001\001\000\030\004\354\074\344\077\u042b\101\360" + + "\167\362\177\341\200\345\312\352\314\342\315\347\320" + + "\364\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\012\202\u01a4\203\u01a9\204" + + "\u0198\205\u043e\001\001\000\014\202\u01a4\203\u01a9\204\u0198" + + "\205\u0435\316\u0433\001\001\000\012\202\u01a4\203\u01a9\204" + + "\u0198\205\u0432\001\001\000\002\001\001\000\002\001\001" + + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\u0439\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\030\004" + + "\354\074\344\077\u0437\101\360\167\362\177\341\200\345" + + "\312\352\314\342\315\347\320\364\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\030\004\354\074\344\077\u043c\101\360\167\362\177" + + "\341\200\345\312\352\314\342\315\347\320\364\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\032\004\354\074\344\075\u0440\077\343\101\360\167\362" + + "\177\341\200\345\312\352\314\342\315\347\320\364\001" + + "\001\000\002\001\001\000\010\200\316\245\u0443\251\u0442" + + "\001\001\000\002\001\001\000\002\001\001\000\010\200" + + "\316\245\u0443\251\u0445\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\004\154\u0450\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\010\003\u044d\005\u044b\166" + + "\u0473\001\001\000\004\155\u0452\001\001\000\002\001\001" + + "\000\002\001\001\000\016\150\u0454\156\u0455\157\u0453\160" + + "\u0458\177\u0456\200\345\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\036\004\354\074\344\075\u0143\077\343\101\360" + - "\103\u0424\105\u0141\167\362\177\341\200\345\312\352\314" + - "\342\315\347\320\364\001\001\000\002\001\001\000\002" + - "\001\001\000\030\004\354\074\344\077\u0427\101\360\167" + - "\362\177\341\200\345\312\352\314\342\315\347\320\364" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\004\150\u045c\001\001\000\002\001\001\000\010\177" + + "\u0467\200\345\327\u0468\001\001\000\006\150\u0462\161\u045f" + + "\001\001\000\004\150\u0465\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\012\202\u01a2\203\u01a7\204\u0196" + - "\205\u043a\001\001\000\014\202\u01a2\203\u01a7\204\u0196\205" + - "\u0431\316\u042f\001\001\000\012\202\u01a2\203\u01a7\204\u0196" + - "\205\u042e\001\001\000\002\001\001\000\002\001\001\000" + - "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u0435\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\220" + - "\047\256\106\260\164\261\021\263\160\266\044\302\222" + - "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\030\004\354" + - "\074\344\077\u0433\101\360\167\362\177\341\200\345\312" + - "\352\314\342\315\347\320\364\001\001\000\002\001\001" + + "\001\000\002\001\001\000\006\177\u046b\200\345\001\001" + + "\000\002\001\001\000\002\001\001\000\006\150\u046e\161" + + "\u046d\001\001\000\004\150\u0470\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\030\004\354\074\344\077\u0438\101\360\167\362\177\341" + - "\200\345\312\352\314\342\315\347\320\364\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\032" + - "\004\354\074\344\075\u043c\077\343\101\360\167\362\177" + - "\341\200\345\312\352\314\342\315\347\320\364\001\001" + - "\000\002\001\001\000\010\200\316\245\u043f\251\u043e\001" + - "\001\000\002\001\001\000\002\001\001\000\010\200\316" + - "\245\u043f\251\u0441\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\004\154\u044c\001\001\000\002" + + "\002\001\001\000\002\001\001\000\004\326\u0475\001\001" + + "\000\002\001\001\000\122\004\126\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\u0477\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + + "\177\173\200\052\220\047\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\026\200\316\202\u01a4\203\u01a9\204" + + "\u0488\242\u0489\244\u0252\245\u0251\246\u024b\247\u0253\252\u024e" + + "\001\001\000\002\001\001\000\010\202\u01a4\203\u01a9\204" + + "\u0480\001\001\000\002\001\001\000\002\001\001\000\030" + + "\004\354\074\344\077\u0482\101\360\167\362\177\341\200" + + "\345\312\352\314\342\315\347\320\364\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\010\003\u0449\005\u0447\166\u046f" + - "\001\001\000\004\155\u044e\001\001\000\002\001\001\000" + - "\002\001\001\000\016\150\u0450\156\u0451\157\u044f\160\u0454" + - "\177\u0452\200\345\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\004\150\u0458\001\001\000\002\001\001\000\010\177\u0463" + - "\200\345\327\u0464\001\001\000\006\150\u045e\161\u045b\001" + - "\001\000\004\150\u0461\001\001\000\002\001\001\000\002" + + "\000\010\202\u01a4\203\u01a9\204\u048a\001\001\000\002\001" + + "\001\000\030\004\354\074\344\077\u048c\101\360\167\362" + + "\177\341\200\345\312\352\314\342\315\347\320\364\001" + + "\001\000\002\001\001\000\030\004\354\074\344\077\u048e" + + "\101\360\167\362\177\341\200\345\312\352\314\342\315" + + "\347\320\364\001\001\000\002\001\001\000\006\061\u0490" + + "\254\u0229\001\001\000\012\202\u01a4\203\u01a9\204\u0198\205" + + "\u0491\001\001\000\002\001\001\000\026\043\u0493\046\u0230" + + "\047\u022d\210\u0234\272\u022c\274\u022f\275\u0231\330\136\331" + + "\u022e\340\u0233\001\001\000\002\001\001\000\004\255\u0495" + + "\001\001\000\004\213\u0496\001\001\000\002\001\001\000" + + "\004\017\u0499\001\001\000\002\001\001\000\160\004\126" + + "\016\u03a7\020\u03a5\021\145\066\152\067\134\070\013\071" + + "\065\074\043\102\133\106\111\110\167\113\131\114\102" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\151\060\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\216\016\217" + + "\071\220\047\231\204\232\077\233\041\234\010\235\176" + + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + + "\331\u03aa\334\u03a9\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\004\130\u0296" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\006\177\u0467\200\345\001\001\000" + - "\002\001\001\000\002\001\001\000\006\150\u046a\161\u0469" + - "\001\001\000\004\150\u046c\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\004\326\u0471\001\001\000" + - "\002\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u0473\115\125\116\214\123" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\126\004\126\066\152\067\u01bb\070\013\071\065\074\043" + + "\102\133\106\u01b5\112\u01b7\114\u04a9\115\125\116\214\123" + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\047\256\106\260\164\261\021\263\160" + + "\170\042\171\147\172\132\173\101\174\061\175\u01b8\177" + + "\173\200\052\220\u01b6\256\u01bc\260\164\261\021\263\160" + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\026\200\316\202\u01a2\203\u01a7\204\u0484" + - "\242\u0485\244\u024e\245\u024d\246\u0247\247\u024f\252\u024a\001" + - "\001\000\002\001\001\000\010\202\u01a2\203\u01a7\204\u047c" + - "\001\001\000\002\001\001\000\002\001\001\000\030\004" + - "\354\074\344\077\u047e\101\360\167\362\177\341\200\345" + - "\312\352\314\342\315\347\320\364\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\010\202\u01a2\203\u01a7\204\u0486\001\001\000\002\001\001" + - "\000\030\004\354\074\344\077\u0488\101\360\167\362\177" + - "\341\200\345\312\352\314\342\315\347\320\364\001\001" + - "\000\002\001\001\000\030\004\354\074\344\077\u048a\101" + - "\360\167\362\177\341\200\345\312\352\314\342\315\347" + - "\320\364\001\001\000\002\001\001\000\006\061\u048c\254" + - "\u0225\001\001\000\012\202\u01a2\203\u01a7\204\u0196\205\u048d" + - "\001\001\000\002\001\001\000\026\043\u048f\046\u022c\047" + - "\u0229\210\u0230\272\u0228\274\u022b\275\u022d\330\136\331\u022a" + - "\340\u022f\001\001\000\002\001\001\000\004\255\u0491\001" + - "\001\000\004\213\u0492\001\001\000\002\001\001\000\004" + - "\017\u0495\001\001\000\002\001\001\000\160\004\126\016" + - "\u03a3\020\u03a1\021\145\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\111\110\167\113\131\114\102\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\151\060\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\216\016\217\071" + - "\220\047\231\204\232\077\233\041\234\010\235\176\256" + - "\106\260\164\261\021\263\160\266\044\302\222\303\217" + - "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u03a6\334\u03a5\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\004\130\u0290\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\126" + - "\004\126\066\152\067\u01b9\070\013\071\065\074\043\102" + - "\133\106\u01b3\112\u01b5\114\u04a5\115\125\116\214\123\137" + + "\002\001\001\000\002\001\001\000\006\032\u04b0\150\u04b1" + + "\001\001\000\002\001\001\000\002\001\001\000\032\004" + + "\354\074\344\075\u04b3\077\343\101\360\167\362\177\341" + + "\200\345\312\352\314\342\315\347\320\364\001\001\000" + + "\002\001\001\000\136\004\126\016\u04bb\021\145\031\u04b9" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\111\110\167\113\131\114\102\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\u01b6\177\173" + - "\200\052\220\u01b4\256\u01ba\260\164\261\021\263\160\266" + + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\006\032\u04ac\150\u04ad\001" + - "\001\000\002\001\001\000\002\001\001\000\032\004\354" + - "\074\344\075\u04af\077\343\101\360\167\362\177\341\200" + - "\345\312\352\314\342\315\347\320\364\001\001\000\002" + - "\001\001\000\136\004\126\016\u04b7\021\145\031\u04b5\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\111" + - "\110\167\113\131\114\102\115\125\116\214\123\137\124" + - "\212\125\120\126\227\137\223\147\023\167\055\170\042" + - "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\322\036\330\136\331\u01b3\001\001\000\004\150\u04b6\001" + + "\001\000\002\001\001\000\032\004\354\074\344\075\u04b8" + + "\077\343\101\360\167\362\177\341\200\345\312\352\314" + + "\342\315\347\320\364\001\001\000\002\001\001\000\002" + + "\001\001\000\004\017\u04bc\001\001\000\002\001\001\000" + + "\160\004\126\016\u03a7\020\u03a5\021\145\066\152\067\134" + + "\070\013\071\065\074\043\102\133\106\111\110\167\113" + + "\131\114\102\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\147\023\151\060\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + + "\216\016\217\071\220\047\231\204\232\077\233\041\234" + + "\010\235\176\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\004\150\u04b2\001\001" + - "\000\002\001\001\000\032\004\354\074\344\075\u04b4\077" + - "\343\101\360\167\362\177\341\200\345\312\352\314\342" + - "\315\347\320\364\001\001\000\002\001\001\000\002\001" + - "\001\000\004\017\u04b8\001\001\000\002\001\001\000\160" + - "\004\126\016\u03a3\020\u03a1\021\145\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\111\110\167\113\131" + - "\114\102\115\125\116\214\123\137\124\212\125\120\126" + - "\227\137\223\147\023\151\060\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\216" + - "\016\217\071\220\047\231\204\232\077\233\041\234\010" + - "\235\176\256\106\260\164\261\021\263\160\266\044\302" + + "\036\330\136\331\u03aa\334\u03a9\001\001\000\002\001\001" + + "\000\002\001\001\000\122\004\126\066\u04c1\067\134\070" + + "\013\071\065\074\043\102\133\106\u01b5\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + + "\177\173\200\052\220\u04c0\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + + "\001\000\002\001\001\000\064\026\u04c5\070\013\071\065" + + "\123\u0285\124\212\125\120\126\227\137\223\170\042\173" + + "\u0281\174\061\175\u01f0\177\173\200\052\220\u04c7\254\u04c3" + + "\261\021\263\160\266\044\303\u0282\305\031\306\076\307" + + "\075\321\166\322\036\001\001\000\060\070\013\071\065" + + "\123\u0285\124\212\125\120\126\227\137\223\170\042\173" + + "\u0281\174\061\175\u01f0\177\173\200\052\220\u04d7\261\021" + + "\263\160\266\044\303\u0282\305\031\306\076\307\075\321" + + "\166\322\036\001\001\000\002\001\001\000\004\025\u04ca" + + "\001\001\000\134\004\126\066\152\067\134\070\013\071" + + "\065\074\043\102\133\106\u032a\115\125\116\214\123\137" + + "\124\212\125\120\126\227\137\223\140\u04c8\141\u032c\142" + + "\u032e\143\u032d\147\023\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\220\047\254" + + "\u032b\256\106\260\164\261\021\263\160\266\044\302\222" + + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + + "\136\331\u01b3\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\064\026\u04cc\070" + + "\013\071\065\123\u0285\124\212\125\120\126\227\137\223" + + "\170\042\173\u0281\174\061\175\u01f0\177\173\200\052\220" + + "\u04c7\254\u04c3\261\021\263\160\266\044\303\u0282\305\031" + + "\306\076\307\075\321\166\322\036\001\001\000\002\001" + + "\001\000\136\004\126\016\u04cf\021\145\030\u04d0\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\111\110" + + "\167\113\131\114\102\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u03a6\334\u03a5\001\001\000\002\001\001\000" + - "\002\001\001\000\122\004\126\066\u04bd\067\134\070\013" + - "\071\065\074\043\102\133\106\u01b3\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\u04bc\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + - "\000\002\001\001\000\064\026\u04c1\070\013\071\065\123" + - "\u0281\124\212\125\120\126\227\137\223\170\042\173\u027d" + - "\174\061\175\u01ec\177\173\200\052\220\u04c3\254\u04bf\261" + - "\021\263\160\266\044\303\u027e\305\031\306\076\307\075" + - "\321\166\322\036\001\001\000\060\070\013\071\065\123" + - "\u0281\124\212\125\120\126\227\137\223\170\042\173\u027d" + - "\174\061\175\u01ec\177\173\200\052\220\u04d3\261\021\263" + - "\160\266\044\303\u027e\305\031\306\076\307\075\321\166" + - "\322\036\001\001\000\002\001\001\000\004\025\u04c6\001" + - "\001\000\134\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u0326\115\125\116\214\123\137\124" + - "\212\125\120\126\227\137\223\140\u04c4\141\u0328\142\u032a" + - "\143\u0329\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\254\u0327" + - "\256\106\260\164\261\021\263\160\266\044\302\222\303" + - "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\064\026\u04c8\070\013" + - "\071\065\123\u0281\124\212\125\120\126\227\137\223\170" + - "\042\173\u027d\174\061\175\u01ec\177\173\200\052\220\u04c3" + - "\254\u04bf\261\021\263\160\266\044\303\u027e\305\031\306" + - "\076\307\075\321\166\322\036\001\001\000\002\001\001" + - "\000\136\004\126\016\u04cb\021\145\030\u04cc\066\152\067" + + "\330\136\331\u01b3\001\001\000\004\017\u04d1\001\001\000" + + "\002\001\001\000\002\001\001\000\160\004\126\016\u03a7" + + "\020\u03a5\021\145\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\111\110\167\113\131\114\102\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\151\060\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\216\016\217\071\220" + + "\047\231\204\232\077\233\041\234\010\235\176\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u03aa" + + "\334\u03a9\001\001\000\002\001\001\000\002\001\001\000" + + "\134\004\126\066\152\067\134\070\013\071\065\074\043" + + "\102\133\106\u032a\115\125\116\214\123\137\124\212\125" + + "\120\126\227\137\223\140\u04d5\141\u032c\142\u032e\143\u032d" + + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + + "\061\175\067\177\173\200\052\220\047\254\u032b\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\064\026\u04d9\070\013\071\065\123\u0285\124\212" + + "\125\120\126\227\137\223\170\042\173\u0281\174\061\175" + + "\u01f0\177\173\200\052\220\u04c7\254\u04c3\261\021\263\160" + + "\266\044\303\u0282\305\031\306\076\307\075\321\166\322" + + "\036\001\001\000\004\025\u04da\001\001\000\002\001\001" + + "\000\136\004\126\016\u04cf\021\145\030\u04dc\066\152\067" + "\134\070\013\071\065\074\043\102\133\106\111\110\167" + "\113\131\114\102\115\125\116\214\123\137\124\212\125" + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\004\017\u04cd\001\001\000\002" + - "\001\001\000\002\001\001\000\160\004\126\016\u03a3\020" + - "\u03a1\021\145\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\111\110\167\113\131\114\102\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\151\060\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\216\016\217\071\220\047" + - "\231\204\232\077\233\041\234\010\235\176\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u03a6\334" + - "\u03a5\001\001\000\002\001\001\000\002\001\001\000\134" + - "\004\126\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\u0326\115\125\116\214\123\137\124\212\125\120" + - "\126\227\137\223\140\u04d1\141\u0328\142\u032a\143\u0329\147" + - "\023\167\055\170\042\171\147\172\132\173\101\174\061" + - "\175\067\177\173\200\052\220\047\254\u0327\256\106\260" + + "\136\331\u01b3\001\001\000\002\001\001\000\002\001\001" + + "\000\024\124\u0292\126\227\137\u028f\202\u01a4\203\u01a9\204" + + "\u0198\205\u0309\261\u0307\266\044\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\122\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u04e3" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\064\026\u04d5\070\013\071\065\123\u0281\124\212\125" + - "\120\126\227\137\223\170\042\173\u027d\174\061\175\u01ec" + - "\177\173\200\052\220\u04c3\254\u04bf\261\021\263\160\266" + - "\044\303\u027e\305\031\306\076\307\075\321\166\322\036" + - "\001\001\000\004\025\u04d6\001\001\000\002\001\001\000" + - "\136\004\126\016\u04cb\021\145\030\u04d8\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\111\110\167\113" + - "\131\114\102\115\125\116\214\123\137\124\212\125\120" + - "\126\227\137\223\147\023\167\055\170\042\171\147\172" + - "\132\173\101\174\061\175\067\177\173\200\052\220\047" + - "\256\106\260\164\261\021\263\160\266\044\302\222\303" + - "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\002\001\001\000\002\001\001\000" + - "\024\124\u028f\126\227\137\u028b\202\u01a2\203\u01a7\204\u0196" + - "\205\u0305\261\u0303\266\044\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\122\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u04df\115" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\002\001\001\000\024\124\u0292" + + "\126\227\134\u04eb\135\u028e\136\u028b\137\u028f\150\u028a\261" + + "\u028c\266\044\001\001\000\024\124\u0292\126\227\134\u04e7" + + "\135\u028e\136\u028b\137\u028f\150\u028a\261\u028c\266\044\001" + + "\001\000\004\214\u04e8\001\001\000\006\130\u02a2\132\u04e9" + + "\001\001\000\006\130\u02a4\215\u04ea\001\001\000\004\262" + + "\u02a7\001\001\000\004\214\u04ec\001\001\000\006\130\u02a2" + + "\132\u04ed\001\001\000\006\130\u02a4\215\u04ee\001\001\000" + + "\004\262\u02a7\001\001\000\002\001\001\000\002\001\001" + + "\000\122\004\126\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\u04f2\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\134\004" + + "\126\016\u04f5\021\145\066\152\067\134\070\013\071\065" + + "\074\043\102\133\106\111\110\167\113\131\114\102\115" + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + - "\000\002\001\001\000\002\001\001\000\024\124\u028f\126" + - "\227\134\u04e7\135\u028a\136\u0287\137\u028b\150\u0286\261\u0288" + - "\266\044\001\001\000\024\124\u028f\126\227\134\u04e3\135" + - "\u028a\136\u0287\137\u028b\150\u0286\261\u0288\266\044\001\001" + - "\000\004\214\u04e4\001\001\000\006\130\u029e\132\u04e5\001" + - "\001\000\006\130\u02a0\215\u04e6\001\001\000\004\262\u02a3" + - "\001\001\000\004\214\u04e8\001\001\000\006\130\u029e\132" + - "\u04e9\001\001\000\006\130\u02a0\215\u04ea\001\001\000\004" + - "\262\u02a3\001\001\000\002\001\001\000\002\001\001\000" + - "\122\004\126\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u04ee\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\220" + - "\047\256\106\260\164\261\021\263\160\266\044\302\222" + - "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\134\004\126" + - "\016\u04f1\021\145\066\152\067\134\070\013\071\065\074" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + + "\000\004\017\u04ff\001\001\000\004\037\u04f6\001\001\000" + + "\004\041\u04f7\001\001\000\002\001\001\000\134\004\126" + + "\016\u04fe\021\145\066\152\067\134\070\013\071\065\074" + "\043\102\133\106\111\110\167\113\131\114\102\115\125" + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + - "\004\017\u04fb\001\001\000\004\037\u04f2\001\001\000\004" + - "\041\u04f3\001\001\000\002\001\001\000\134\004\126\016" + - "\u04fa\021\145\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\111\110\167\113\131\114\102\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\220\047\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\002" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\002\001\001\000\122\004\126\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\u04fb\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u01b3\001\001\000\002\001\001" + + "\000\134\004\126\016\u04fd\021\145\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\111\110\167\113\131" + + "\114\102\115\125\116\214\123\137\124\212\125\120\126" + + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\162" + + "\004\126\016\u03a7\020\u03a5\021\145\040\u0500\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\111\110\167" + + "\113\131\114\102\115\125\116\214\123\137\124\212\125" + + "\120\126\227\137\223\147\023\151\060\167\055\170\042" + + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + + "\052\216\016\217\071\220\047\231\204\232\077\233\041" + + "\234\010\235\176\256\106\260\164\261\021\263\160\266" + + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + + "\322\036\330\136\331\u03aa\334\u03a9\001\001\000\004\042" + + "\u0501\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\122\004\126\066\152\067\134\070\013\071" + - "\065\074\043\102\133\106\u04f7\115\125\116\214\123\137" + + "\065\074\043\102\133\106\u0505\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\002\001\001\000" + - "\134\004\126\016\u04f9\021\145\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\111\110\167\113\131\114" + - "\102\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\002\001\001\000\162\004" + - "\126\016\u03a3\020\u03a1\021\145\040\u04fc\066\152\067\134" + + "\322\036\330\136\331\u01b3\001\001\000\002\001\001\000" + + "\002\001\001\000\004\017\u0508\001\001\000\160\004\126" + + "\016\u03a7\020\u03a5\021\145\066\152\067\134\070\013\071" + + "\065\074\043\102\133\106\111\110\167\113\131\114\102" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\151\060\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\216\016\217" + + "\071\220\047\231\204\232\077\233\041\234\010\235\176" + + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + + "\331\u03aa\334\u03a9\001\001\000\004\017\u050a\001\001\000" + + "\160\004\126\016\u03a7\020\u03a5\021\145\066\152\067\134" + "\070\013\071\065\074\043\102\133\106\111\110\167\113" + "\131\114\102\115\125\116\214\123\137\124\212\125\120" + "\126\227\137\223\147\023\151\060\167\055\170\042\171" + @@ -2033,99 +2070,25 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\216\016\217\071\220\047\231\204\232\077\233\041\234" + "\010\235\176\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u03a6\334\u03a5\001\001\000\004\042\u04fd" + + "\036\330\136\331\u03aa\334\u03a9\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\012\003\u044d\005" + + "\u050d\012\u050f\013\u0517\001\001\000\002\001\001\000\012" + + "\003\u044d\005\u050d\012\u050f\013\u0515\001\001\000\002\001" + + "\001\000\010\003\u044d\005\u050d\012\u0514\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\122\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u0501\115\125\116\214\123\137\124" + - "\212\125\120\126\227\137\223\147\023\167\055\170\042" + - "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\220\047\256\106\260\164\261\021\263\160\266\044" + - "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\002\001\001\000\002" + - "\001\001\000\004\017\u0504\001\001\000\160\004\126\016" + - "\u03a3\020\u03a1\021\145\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\111\110\167\113\131\114\102\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\151\060\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\216\016\217\071" + - "\220\047\231\204\232\077\233\041\234\010\235\176\256" + - "\106\260\164\261\021\263\160\266\044\302\222\303\217" + - "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u03a6\334\u03a5\001\001\000\004\017\u0506\001\001\000\160" + - "\004\126\016\u03a3\020\u03a1\021\145\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\111\110\167\113\131" + - "\114\102\115\125\116\214\123\137\124\212\125\120\126" + - "\227\137\223\147\023\151\060\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\216" + - "\016\217\071\220\047\231\204\232\077\233\041\234\010" + - "\235\176\256\106\260\164\261\021\263\160\266\044\302" + - "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u03a6\334\u03a5\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\012\003\u0449\005\u0509" + - "\012\u050b\013\u0513\001\001\000\002\001\001\000\012\003" + - "\u0449\005\u0509\012\u050b\013\u0511\001\001\000\002\001\001" + - "\000\010\003\u0449\005\u0509\012\u0510\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\012\003\u051e\007" + + "\u0520\010\u0522\011\u051d\001\001\000\002\001\001\000\002" + + "\001\001\000\004\003\u052a\001\001\000\002\001\001\000" + + "\004\003\u0526\001\001\000\004\104\u0524\001\001\000\006" + + "\003\u051e\011\u0525\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\012\003\u051a\007\u051c" + - "\010\u051e\011\u0519\001\001\000\002\001\001\000\002\001" + - "\001\000\004\003\u0526\001\001\000\002\001\001\000\004" + - "\003\u0522\001\001\000\004\104\u0520\001\001\000\006\003" + - "\u051a\011\u0521\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\004\150" + - "\u052d\001\001\000\002\001\001\000\002\001\001\000\030" + - "\004\354\074\344\077\u052f\101\360\167\362\177\341\200" + - "\345\312\352\314\342\315\347\320\364\001\001\000\002" + - "\001\001\000\160\004\126\016\u03a3\020\u03a1\021\145\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\111" + - "\110\167\113\131\114\102\115\125\116\214\123\137\124" + - "\212\125\120\126\227\137\223\147\023\151\060\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\216\016\217\071\220\047\231\204\232\077" + - "\233\041\234\010\235\176\256\106\260\164\261\021\263" + - "\160\266\044\302\222\303\217\305\031\306\076\307\075" + - "\321\166\322\036\330\136\331\u03a6\334\u03a5\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\126\004\126\064\u0537\065\u0538\066\152\067" + - "\134\070\013\071\065\074\043\102\133\106\u0536\115\125" + - "\116\214\123\137\124\212\125\120\126\227\137\223\147" + - "\023\167\055\170\042\171\147\172\132\173\101\174\061" + - "\175\067\177\173\200\052\220\047\256\106\260\164\261" + - "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\122" + - "\004\126\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\u053a\115\125\116\214\123\137\124\212\125\120" + - "\126\227\137\223\147\023\167\055\170\042\171\147\172" + - "\132\173\101\174\061\175\067\177\173\200\052\220\047" + - "\256\106\260\164\261\021\263\160\266\044\302\222\303" + - "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\002\001\001\000\126\004\126\064" + - "\u053c\065\u0538\066\152\067\134\070\013\071\065\074\043" + - "\102\133\106\u0536\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\220" + - "\047\256\106\260\164\261\021\263\160\266\044\302\222" + - "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\126\004\126" + - "\064\u053e\065\u0538\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u0536\115\125\116\214\123\137\124\212" + - "\125\120\126\227\137\223\147\023\167\055\170\042\171" + - "\147\172\132\173\101\174\061\175\067\177\173\200\052" + - "\220\047\256\106\260\164\261\021\263\160\266\044\302" + - "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\136\004" + - "\126\016\u0542\021\145\027\u0540\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\111\110\167\113\131\114" + - "\102\115\125\116\214\123\137\124\212\125\120\126\227" + - "\137\223\147\023\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\220\047\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\004\017\u0543\001\001\000" + - "\002\001\001\000\160\004\126\016\u03a3\020\u03a1\021\145" + + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + + "\150\u0531\001\001\000\002\001\001\000\002\001\001\000" + + "\030\004\354\074\344\077\u0533\101\360\167\362\177\341" + + "\200\345\312\352\314\342\315\347\320\364\001\001\000" + + "\002\001\001\000\160\004\126\016\u03a7\020\u03a5\021\145" + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + "\111\110\167\113\131\114\102\115\125\116\214\123\137" + "\124\212\125\120\126\227\137\223\147\023\151\060\167" + @@ -2133,272 +2096,220 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\177\173\200\052\216\016\217\071\220\047\231\204\232" + "\077\233\041\234\010\235\176\256\106\260\164\261\021" + "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u03a6\334\u03a5\001\001" + + "\075\321\166\322\036\330\136\331\u03aa\334\u03a9\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\122\004\126\066\152\067\134\070\013" + - "\071\065\074\043\102\133\106\u054a\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\167\055" + - "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\220\047\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u01b1\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\006\145\u054e\266" + - "\u054d\001\001\000\002\001\001\000\002\001\001\000\060" + - "\070\013\071\065\123\u0281\124\212\125\120\126\227\137" + - "\223\170\042\173\u027d\174\061\175\u01ec\177\173\200\052" + - "\220\u055a\261\021\263\160\266\044\303\u027e\305\031\306" + - "\076\307\075\321\166\322\036\001\001\000\002\001\001" + - "\000\122\004\126\066\152\067\134\070\013\071\065\074" + - "\043\102\133\106\u0553\115\125\116\214\123\137\124\212" + + "\002\001\001\000\126\004\126\064\u053b\065\u053c\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\u053a\115" + + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + + "\102\133\106\u053e\115\125\116\214\123\137\124\212\125" + + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + + "\136\331\u01b3\001\001\000\002\001\001\000\126\004\126" + + "\064\u0540\065\u053c\066\152\067\134\070\013\071\065\074" + + "\043\102\133\106\u053a\115\125\116\214\123\137\124\212" + "\125\120\126\227\137\223\147\023\167\055\170\042\171" + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + "\220\047\256\106\260\164\261\021\263\160\266\044\302" + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\122\004\126\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\u0556\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\220\047\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\004\150\u0565" + - "\001\001\000\010\146\u0561\150\u0562\266\u0560\001\001\000" + - "\004\150\u055f\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\024" + - "\124\u028f\126\227\137\u028b\202\u01a2\203\u01a7\204\u0196\205" + - "\u02cd\261\u02c8\266\044\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\122\004" + - "\126\066\152\067\134\070\013\071\065\074\043\102\133" + - "\106\u056d\115\125\116\214\123\137\124\212\125\120\126" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\126\004" + + "\126\064\u0542\065\u053c\066\152\067\134\070\013\071\065" + + "\074\043\102\133\106\u053a\115\125\116\214\123\137\124" + + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\136" + + "\004\126\016\u0546\021\145\027\u0544\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\111\110\167\113\131" + + "\114\102\115\125\116\214\123\137\124\212\125\120\126" + "\227\137\223\147\023\167\055\170\042\171\147\172\132" + "\173\101\174\061\175\067\177\173\200\052\220\047\256" + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u01b1\001\001\000\002\001\001\000\122\004\126\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\u056f\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\167\055\170\042\171\147\172\132\173\101\174" + - "\061\175\067\177\173\200\052\220\047\256\106\260\164" + - "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u01b1\001\001" + - "\000\002\001\001\000\004\033\u0571\001\001\000\002\001" + - "\001\000\004\034\u0584\001\001\000\004\034\u0574\001\001" + - "\000\002\001\001\000\004\034\u0576\001\001\000\002\001" + - "\001\000\002\001\001\000\122\004\126\066\152\067\134" + - "\070\013\071\065\074\043\102\133\106\u057e\115\125\116" + - "\214\123\137\124\212\125\120\126\227\137\223\147\023" + + "\u01b3\001\001\000\002\001\001\000\004\017\u0547\001\001" + + "\000\002\001\001\000\160\004\126\016\u03a7\020\u03a5\021" + + "\145\066\152\067\134\070\013\071\065\074\043\102\133" + + "\106\111\110\167\113\131\114\102\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\151\060" + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\220\047\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\004" + - "\035\u057a\001\001\000\004\017\u057d\001\001\000\002\001" + - "\001\000\002\001\001\000\160\004\126\016\u03a3\020\u03a1" + - "\021\145\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\111\110\167\113\131\114\102\115\125\116\214" + - "\123\137\124\212\125\120\126\227\137\223\147\023\151" + - "\060\167\055\170\042\171\147\172\132\173\101\174\061" + - "\175\067\177\173\200\052\216\016\217\071\220\047\231" + - "\204\232\077\233\041\234\010\235\176\256\106\260\164" + - "\261\021\263\160\266\044\302\222\303\217\305\031\306" + - "\076\307\075\321\166\322\036\330\136\331\u03a6\334\u03a5" + - "\001\001\000\004\035\u057f\001\001\000\004\017\u0580\001" + - "\001\000\160\004\126\016\u03a3\020\u03a1\021\145\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\111\110" + - "\167\113\131\114\102\115\125\116\214\123\137\124\212" + - "\125\120\126\227\137\223\147\023\151\060\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\216\016\217\071\220\047\231\204\232\077\233" + - "\041\234\010\235\176\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u03a6\334\u03a5\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\004\034\u0586\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\064\022\u058a\023\u058c\070" + - "\013\071\065\123\u0281\124\212\125\120\126\227\137\223" + - "\170\042\173\u027d\174\061\175\u01ec\177\173\200\052\220" + - "\u058b\261\021\263\160\266\044\303\u027e\305\031\306\076" + - "\307\075\321\166\322\036\001\001\000\004\104\u058e\001" + - "\001\000\002\001\001\000\002\001\001\000\062\023\u0591" + - "\070\013\071\065\123\u0281\124\212\125\120\126\227\137" + - "\223\170\042\173\u027d\174\061\175\u01ec\177\173\200\052" + - "\220\u058b\261\021\263\160\266\044\303\u027e\305\031\306" + - "\076\307\075\321\166\322\036\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\004\162\u0594\001\001\000\044\163\u0598" + - "\211\255\212\254\257\304\270\257\271\262\272\252\273" + - "\267\274\271\275\275\277\306\300\272\325\261\330\136" + - "\331\u0597\336\u0595\337\u0596\001\001\000\002\001\001\000" + - "\002\001\001\000\040\211\255\212\254\257\304\270\257" + - "\271\262\272\252\273\267\274\271\275\275\277\306\300" + - "\272\325\261\330\u0268\336\u0595\337\u059e\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\012\003" + - "\u0449\005\u0447\153\u059c\166\u0445\001\001\000\004\154\u059d" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\032\124\u028f\126\227\133\u05a1\137\u028b\202\u01a2" + - "\203\u01a7\204\u0196\205\u02ac\261\u02a8\266\044\313\u02ad\317" + - "\u02aa\001\001\000\004\214\u05a2\001\001\000\006\130\u029e" + - "\132\u05a3\001\001\000\006\130\u02a0\215\u05a4\001\001\000" + - "\004\262\u02a3\001\001\000\002\001\001\000\006\145\u054e" + - "\266\u054d\001\001\000\002\001\001\000\002\001\001\000" + - "\140\004\126\050\u05b0\051\u0218\052\u0204\053\u020c\066\u021a" + - "\067\134\070\013\071\065\074\043\102\133\106\u01b3\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\150\u020a\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\202\u01a2\203\u0205" + - "\220\u0208\256\106\260\164\261\021\263\160\266\044\302" + - "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u01b1\001\001\000\032\124\u028f\126\227\133" + - "\u05ac\137\u028b\202\u01a2\203\u01a7\204\u0196\205\u02ac\261\u02a8" + - "\266\044\313\u02ad\317\u02aa\001\001\000\002\001\001\000" + - "\004\214\u05ad\001\001\000\006\130\u029e\132\u05ae\001\001" + - "\000\006\130\u02a0\215\u05af\001\001\000\004\262\u02a3\001" + + "\067\177\173\200\052\216\016\217\071\220\047\231\204" + + "\232\077\233\041\234\010\235\176\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u03aa\334\u03a9\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\004\152\u05b5\001\001\000\002\001" + - "\001\000\006\200\242\240\u05b7\001\001\000\002\001\001" + - "\000\004\164\u05b9\001\001\000\036\165\u05bc\211\u05bb\212" + - "\u05ba\270\257\271\262\272\252\273\267\274\271\275\275" + - "\277\306\300\u05be\330\136\331\u05bd\335\u05c1\001\001\000" + - "\002\001\001\000\004\206\u05c3\001\001\000\002\001\001" + - "\000\032\211\u05bb\212\u05ba\270\257\271\262\272\252\273" + - "\267\274\271\275\275\277\306\300\u05be\330\u0268\335\u05c2" + - "\001\001\000\020\270\257\271\262\272\252\273\267\274" + - "\271\275\275\277\u0476\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\006\061\u05c6\254\u0225\001\001" + - "\000\012\202\u01a2\203\u01a7\204\u0196\205\u05c7\001\001\000" + - "\002\001\001\000\026\043\u05c9\046\u022c\047\u0229\210\u0230" + - "\272\u0228\274\u022b\275\u022d\330\136\331\u022a\340\u022f\001" + - "\001\000\002\001\001\000\004\255\u05cb\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\004\017\u05d1\001\001\000\160" + - "\004\126\016\u03a3\020\u03a1\021\145\066\152\067\134\070" + - "\013\071\065\074\043\102\133\106\111\110\167\113\131" + - "\114\102\115\125\116\214\123\137\124\212\125\120\126" + - "\227\137\223\147\023\151\060\167\055\170\042\171\147" + - "\172\132\173\101\174\061\175\067\177\173\200\052\216" + - "\016\217\071\220\047\231\204\232\077\233\041\234\010" + - "\235\176\256\106\260\164\261\021\263\160\266\044\302" + - "\222\303\217\305\031\306\076\307\075\321\166\322\036" + - "\330\136\331\u03a6\334\u03a5\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\004\017\u05d6\001\001" + - "\000\160\004\126\016\u03a3\020\u03a1\021\145\066\152\067" + - "\134\070\013\071\065\074\043\102\133\106\111\110\167" + - "\113\131\114\102\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\151\060\167\055\170\042" + + "\000\002\001\001\000\122\004\126\066\152\067\134\070" + + "\013\071\065\074\043\102\133\106\u054e\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\167" + + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + + "\177\173\200\052\220\047\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u01b3\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\006\145\u0552" + + "\266\u0551\001\001\000\002\001\001\000\002\001\001\000" + + "\060\070\013\071\065\123\u0285\124\212\125\120\126\227" + + "\137\223\170\042\173\u0281\174\061\175\u01f0\177\173\200" + + "\052\220\u055e\261\021\263\160\266\044\303\u0282\305\031" + + "\306\076\307\075\321\166\322\036\001\001\000\002\001" + + "\001\000\122\004\126\066\152\067\134\070\013\071\065" + + "\074\043\102\133\106\u0557\115\125\116\214\123\137\124" + + "\212\125\120\126\227\137\223\147\023\167\055\170\042" + "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\216\016\217\071\220\047\231\204\232\077\233\041" + - "\234\010\235\176\256\106\260\164\261\021\263\160\266" + - "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u03a6\334\u03a5\001\001\000\002\001" + - "\001\000\006\200\u05da\224\u05d9\001\001\000\006\266\u05e1" + - "\267\u05e2\001\001\000\010\225\u05db\226\u05de\227\u05dd\001" + - "\001\000\002\001\001\000\004\200\u05e0\001\001\000\002" + - "\001\001\000\004\227\u05df\001\001\000\002\001\001\000" + + "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + + "\036\330\136\331\u01b3\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\122\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u055a\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\004\017\u05e5\001\001\000\160\004\126\016" + - "\u03a3\020\u03a1\021\145\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\111\110\167\113\131\114\102\115" + - "\125\116\214\123\137\124\212\125\120\126\227\137\223" + - "\147\023\151\060\167\055\170\042\171\147\172\132\173" + - "\101\174\061\175\067\177\173\200\052\216\016\217\071" + - "\220\047\231\204\232\077\233\041\234\010\235\176\256" + - "\106\260\164\261\021\263\160\266\044\302\222\303\217" + - "\305\031\306\076\307\075\321\166\322\036\330\136\331" + - "\u03a6\334\u03a5\001\001\000\010\221\u05e8\222\u05ea\223\u05e9" + - "\001\001\000\002\001\001\000\004\230\u05ed\001\001\000" + - "\002\001\001\000\004\223\u05eb\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\004\017\u05ef\001" + - "\001\000\160\004\126\016\u03a3\020\u03a1\021\145\066\152" + - "\067\134\070\013\071\065\074\043\102\133\106\111\110" + - "\167\113\131\114\102\115\125\116\214\123\137\124\212" + - "\125\120\126\227\137\223\147\023\151\060\167\055\170" + - "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\216\016\217\071\220\047\231\204\232\077\233" + - "\041\234\010\235\176\256\106\260\164\261\021\263\160" + - "\266\044\302\222\303\217\305\031\306\076\307\075\321" + - "\166\322\036\330\136\331\u03a6\334\u03a5\001\001\000\002" + - "\001\001\000\006\200\u05da\224\u05f2\001\001\000\006\266" + - "\u05e1\267\u05f3\001\001\000\002\001\001\000\002\001\001" + - "\000\004\017\u05f6\001\001\000\160\004\126\016\u03a3\020" + - "\u03a1\021\145\066\152\067\134\070\013\071\065\074\043" + + "\001\001\000\002\001\001\000\002\001\001\000\004\150" + + "\u0569\001\001\000\010\146\u0565\150\u0566\266\u0564\001\001" + + "\000\004\150\u0563\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\024\124\u0292\126\227\137\u028f\202\u01a4\203\u01a9\204\u0198" + + "\205\u02d1\261\u02cc\266\044\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\122" + + "\004\126\066\152\067\134\070\013\071\065\074\043\102" + + "\133\106\u0571\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\147\023\167\055\170\042\171\147\172" + + "\132\173\101\174\061\175\067\177\173\200\052\220\047" + + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + + "\331\u01b3\001\001\000\002\001\001\000\122\004\126\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\u0573" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\167\055\170\042\171\147\172\132\173\101" + + "\174\061\175\067\177\173\200\052\220\047\256\106\260" + + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + + "\306\076\307\075\321\166\322\036\330\136\331\u01b3\001" + + "\001\000\002\001\001\000\004\033\u0575\001\001\000\002" + + "\001\001\000\004\034\u0588\001\001\000\004\034\u0578\001" + + "\001\000\002\001\001\000\004\034\u057a\001\001\000\002" + + "\001\001\000\002\001\001\000\122\004\126\066\152\067" + + "\134\070\013\071\065\074\043\102\133\106\u0582\115\125" + + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + + "\023\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\220\047\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\004\035\u057e\001\001\000\004\017\u0581\001\001\000\002" + + "\001\001\000\002\001\001\000\160\004\126\016\u03a7\020" + + "\u03a5\021\145\066\152\067\134\070\013\071\065\074\043" + "\102\133\106\111\110\167\113\131\114\102\115\125\116" + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + "\151\060\167\055\170\042\171\147\172\132\173\101\174" + "\061\175\067\177\173\200\052\216\016\217\071\220\047" + "\231\204\232\077\233\041\234\010\235\176\256\106\260" + "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u03a6\334" + - "\u03a5\001\001\000\002\001\001\000\002\001\001\000\140" + - "\004\126\050\u05fa\051\u0218\052\u0204\053\u020c\066\u021a\067" + - "\134\070\013\071\065\074\043\102\133\106\u01b3\115\125" + - "\116\214\123\137\124\212\125\120\126\227\137\223\147" + - "\023\150\u020a\167\055\170\042\171\147\172\132\173\101" + - "\174\061\175\067\177\173\200\052\202\u01a2\203\u0205\220" + - "\u0208\256\106\260\164\261\021\263\160\266\044\302\222" + - "\303\217\305\031\306\076\307\075\321\166\322\036\330" + - "\136\331\u01b1\001\001\000\002\001\001\000\002\001\001" + - "\000\004\014\u0604\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\004\014\u0602\001\001\000\002" + - "\001\001\000\162\004\126\015\005\016\121\021\145\066" + + "\306\076\307\075\321\166\322\036\330\136\331\u03aa\334" + + "\u03a9\001\001\000\004\035\u0583\001\001\000\004\017\u0584" + + "\001\001\000\160\004\126\016\u03a7\020\u03a5\021\145\066" + "\152\067\134\070\013\071\065\074\043\102\133\106\111" + "\110\167\113\131\114\102\115\125\116\214\123\137\124" + "\212\125\120\126\227\137\223\147\023\151\060\167\055" + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + - "\173\200\052\207\161\216\016\217\071\220\047\231\204" + - "\232\077\233\041\234\010\235\176\256\106\260\164\261" + - "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\220\334\201\001" + - "\001\000\002\001\001\000\162\004\126\015\005\016\121" + - "\021\145\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\111\110\167\113\131\114\102\115\125\116\214" + - "\123\137\124\212\125\120\126\227\137\223\147\023\151" + - "\060\167\055\170\042\171\147\172\132\173\101\174\061" + - "\175\067\177\173\200\052\207\161\216\016\217\071\220" + - "\047\231\204\232\077\233\041\234\010\235\176\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\220" + - "\334\201\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\004\236\u0609\001\001\000\004\237\u060a" + - "\001\001\000\002\001\001\000\004\057\u060c\001\001\000" + - "\042\060\266\211\255\212\254\257\304\270\257\271\262" + - "\272\252\273\267\274\271\275\275\277\306\300\272\325" + - "\261\330\136\331\265\336\251\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\024\124\u028f\126\227\134\u0615\135\u028a\136\u0287\137\u028b" + - "\150\u0286\261\u0288\266\044\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\004\214\u0616\001\001" + - "\000\006\130\u029e\132\u0617\001\001\000\006\130\u02a0\215" + - "\u0618\001\001\000\004\262\u02a3\001\001\000\002\001\001" + - "\000\032\004\354\074\344\077\u0237\100\u061b\101\360\167" + - "\362\177\341\200\345\312\352\314\342\315\347\320\364" + + "\173\200\052\216\016\217\071\220\047\231\204\232\077" + + "\233\041\234\010\235\176\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u03aa\334\u03a9\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\004\034\u058a\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\064\022\u058e\023\u0590" + + "\070\013\071\065\123\u0285\124\212\125\120\126\227\137" + + "\223\170\042\173\u0281\174\061\175\u01f0\177\173\200\052" + + "\220\u058f\261\021\263\160\266\044\303\u0282\305\031\306" + + "\076\307\075\321\166\322\036\001\001\000\004\104\u0592" + + "\001\001\000\002\001\001\000\002\001\001\000\062\023" + + "\u0595\070\013\071\065\123\u0285\124\212\125\120\126\227" + + "\137\223\170\042\173\u0281\174\061\175\u01f0\177\173\200" + + "\052\220\u058f\261\021\263\160\266\044\303\u0282\305\031" + + "\306\076\307\075\321\166\322\036\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\004\162\u0598\001\001\000\044\163" + + "\u059c\211\255\212\254\257\304\270\257\271\262\272\252" + + "\273\267\274\271\275\275\277\306\300\272\325\261\330" + + "\136\331\u059b\336\u0599\337\u059a\001\001\000\002\001\001" + + "\000\002\001\001\000\040\211\255\212\254\257\304\270" + + "\257\271\262\272\252\273\267\274\271\275\275\277\306" + + "\300\272\325\261\330\u026c\336\u0599\337\u05a2\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\012" + + "\003\u044d\005\u044b\153\u05a0\166\u0449\001\001\000\004\154" + + "\u05a1\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\032\124\u0292\126\227\133\u05a5\137\u028f\202" + + "\u01a4\203\u01a9\204\u0198\205\u02b0\261\u02ac\266\044\313\u02b1" + + "\317\u02ae\001\001\000\004\214\u05a6\001\001\000\006\130" + + "\u02a2\132\u05a7\001\001\000\006\130\u02a4\215\u05a8\001\001" + + "\000\004\262\u02a7\001\001\000\002\001\001\000\006\145" + + "\u0552\266\u0551\001\001\000\002\001\001\000\002\001\001" + + "\000\140\004\126\050\u05b4\051\u021c\052\u0208\053\u0210\066" + + "\u021e\067\134\070\013\071\065\074\043\102\133\106\u01b5" + + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + + "\223\147\023\150\u020e\167\055\170\042\171\147\172\132" + + "\173\101\174\061\175\067\177\173\200\052\202\u01a4\203" + + "\u0209\220\u020c\256\106\260\164\261\021\263\160\266\044" + + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + + "\036\330\136\331\u01b3\001\001\000\032\124\u0292\126\227" + + "\133\u05b0\137\u028f\202\u01a4\203\u01a9\204\u0198\205\u02b0\261" + + "\u02ac\266\044\313\u02b1\317\u02ae\001\001\000\002\001\001" + + "\000\004\214\u05b1\001\001\000\006\130\u02a2\132\u05b2\001" + + "\001\000\006\130\u02a4\215\u05b3\001\001\000\004\262\u02a7" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\122\004\126\066\152\067\134\070\013\071\065" + - "\074\043\102\133\106\u061f\115\125\116\214\123\137\124" + - "\212\125\120\126\227\137\223\147\023\167\055\170\042" + - "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\220\047\256\106\260\164\261\021\263\160\266\044" + + "\001\000\002\001\001\000\004\152\u05b9\001\001\000\002" + + "\001\001\000\006\200\242\240\u05bb\001\001\000\002\001" + + "\001\000\004\164\u05bd\001\001\000\036\165\u05c0\211\u05bf" + + "\212\u05be\270\257\271\262\272\252\273\267\274\271\275" + + "\275\277\306\300\u05c2\330\136\331\u05c1\335\u05c5\001\001" + + "\000\002\001\001\000\004\206\u05c7\001\001\000\002\001" + + "\001\000\032\211\u05bf\212\u05be\270\257\271\262\272\252" + + "\273\267\274\271\275\275\277\306\300\u05c2\330\u026c\335" + + "\u05c6\001\001\000\020\270\257\271\262\272\252\273\267" + + "\274\271\275\275\277\u047a\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\006\061\u05ca\254\u0229\001" + + "\001\000\012\202\u01a4\203\u01a9\204\u0198\205\u05cb\001\001" + + "\000\002\001\001\000\026\043\u05cd\046\u0230\047\u022d\210" + + "\u0234\272\u022c\274\u022f\275\u0231\330\136\331\u022e\340\u0233" + + "\001\001\000\002\001\001\000\004\255\u05cf\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\004\017\u05d5\001\001\000" + + "\160\004\126\016\u03a7\020\u03a5\021\145\066\152\067\134" + + "\070\013\071\065\074\043\102\133\106\111\110\167\113" + + "\131\114\102\115\125\116\214\123\137\124\212\125\120" + + "\126\227\137\223\147\023\151\060\167\055\170\042\171" + + "\147\172\132\173\101\174\061\175\067\177\173\200\052" + + "\216\016\217\071\220\047\231\204\232\077\233\041\234" + + "\010\235\176\256\106\260\164\261\021\263\160\266\044" + "\302\222\303\217\305\031\306\076\307\075\321\166\322" + - "\036\330\136\331\u01b1\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\122\004\126\066\152\067" + - "\134\070\013\071\065\074\043\102\133\106\u0623\115\125" + - "\116\214\123\137\124\212\125\120\126\227\137\223\147" + - "\023\167\055\170\042\171\147\172\132\173\101\174\061" + - "\175\067\177\173\200\052\220\047\256\106\260\164\261" + - "\021\263\160\266\044\302\222\303\217\305\031\306\076" + - "\307\075\321\166\322\036\330\136\331\u01b1\001\001\000" + - "\002\001\001\000\136\004\126\016\u0627\021\145\036\u0626" + - "\066\152\067\134\070\013\071\065\074\043\102\133\106" + - "\111\110\167\113\131\114\102\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\167\055\170" + + "\036\330\136\331\u03aa\334\u03a9\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\004\017\u05da\001" + + "\001\000\160\004\126\016\u03a7\020\u03a5\021\145\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\111\110" + + "\167\113\131\114\102\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\151\060\167\055\170" + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + - "\200\052\220\047\256\106\260\164\261\021\263\160\266" + - "\044\302\222\303\217\305\031\306\076\307\075\321\166" + - "\322\036\330\136\331\u01b1\001\001\000\004\017\u0628\001" + - "\001\000\002\001\001\000\002\001\001\000\160\004\126" + - "\016\u03a3\020\u03a1\021\145\066\152\067\134\070\013\071" + + "\200\052\216\016\217\071\220\047\231\204\232\077\233" + + "\041\234\010\235\176\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u03aa\334\u03a9\001\001\000\002" + + "\001\001\000\006\200\u05de\224\u05dd\001\001\000\006\266" + + "\u05e5\267\u05e6\001\001\000\010\225\u05df\226\u05e2\227\u05e1" + + "\001\001\000\002\001\001\000\004\200\u05e4\001\001\000" + + "\002\001\001\000\004\227\u05e3\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\004\017\u05e9\001\001\000\160\004\126" + + "\016\u03a7\020\u03a5\021\145\066\152\067\134\070\013\071" + "\065\074\043\102\133\106\111\110\167\113\131\114\102" + "\115\125\116\214\123\137\124\212\125\120\126\227\137" + "\223\147\023\151\060\167\055\170\042\171\147\172\132" + @@ -2406,80 +2317,179 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\071\220\047\231\204\232\077\233\041\234\010\235\176" + "\256\106\260\164\261\021\263\160\266\044\302\222\303" + "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u03a6\334\u03a5\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\122" + - "\004\126\066\152\067\134\070\013\071\065\074\043\102" + - "\133\106\u0635\115\125\116\214\123\137\124\212\125\120" + - "\126\227\137\223\147\023\167\055\170\042\171\147\172" + - "\132\173\101\174\061\175\067\177\173\200\052\220\047" + - "\256\106\260\164\261\021\263\160\266\044\302\222\303" + - "\217\305\031\306\076\307\075\321\166\322\036\330\136" + - "\331\u01b1\001\001\000\002\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0637" + - "\115\125\116\214\123\137\124\212\125\120\126\227\137" + - "\223\147\023\167\055\170\042\171\147\172\132\173\101" + - "\174\061\175\067\177\173\200\052\220\047\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + - "\001\000\002\001\001\000\004\150\u0639\001\001\000\002" + - "\001\001\000\026\043\u063b\046\u022c\047\u0229\210\u0230\272" + - "\u0228\274\u022b\275\u022d\330\136\331\u022a\340\u022f\001\001" + - "\000\002\001\001\000\004\255\u063d\001\001\000\002\001" + - "\001\000\004\017\u063f\001\001\000\160\004\126\016\u03a3" + - "\020\u03a1\021\145\066\152\067\134\070\013\071\065\074" + + "\331\u03aa\334\u03a9\001\001\000\010\221\u05ec\222\u05ee\223" + + "\u05ed\001\001\000\002\001\001\000\004\230\u05f1\001\001" + + "\000\002\001\001\000\004\223\u05ef\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\004\017\u05f3" + + "\001\001\000\160\004\126\016\u03a7\020\u03a5\021\145\066" + + "\152\067\134\070\013\071\065\074\043\102\133\106\111" + + "\110\167\113\131\114\102\115\125\116\214\123\137\124" + + "\212\125\120\126\227\137\223\147\023\151\060\167\055" + + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + + "\173\200\052\216\016\217\071\220\047\231\204\232\077" + + "\233\041\234\010\235\176\256\106\260\164\261\021\263" + + "\160\266\044\302\222\303\217\305\031\306\076\307\075" + + "\321\166\322\036\330\136\331\u03aa\334\u03a9\001\001\000" + + "\002\001\001\000\006\200\u05de\224\u05f6\001\001\000\006" + + "\266\u05e5\267\u05f7\001\001\000\002\001\001\000\002\001" + + "\001\000\004\017\u05fa\001\001\000\160\004\126\016\u03a7" + + "\020\u03a5\021\145\066\152\067\134\070\013\071\065\074" + "\043\102\133\106\111\110\167\113\131\114\102\115\125" + "\116\214\123\137\124\212\125\120\126\227\137\223\147" + "\023\151\060\167\055\170\042\171\147\172\132\173\101" + "\174\061\175\067\177\173\200\052\216\016\217\071\220" + "\047\231\204\232\077\233\041\234\010\235\176\256\106" + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u03a6" + - "\334\u03a5\001\001\000\002\001\001\000\140\004\126\050" + - "\u0642\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013" + - "\071\065\074\043\102\133\106\u01b3\115\125\116\214\123" + - "\137\124\212\125\120\126\227\137\223\147\023\150\u020a" + - "\167\055\170\042\171\147\172\132\173\101\174\061\175" + - "\067\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106" + - "\260\164\261\021\263\160\266\044\302\222\303\217\305" + - "\031\306\076\307\075\321\166\322\036\330\136\331\u01b1" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\004\104\u0648\001\001\000\010" + - "\177\u0645\200\345\332\u064a\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\140\004\126\050\u064c" + - "\051\u0218\052\u0204\053\u020c\066\u021a\067\134\070\013\071" + - "\065\074\043\102\133\106\u01b3\115\125\116\214\123\137" + - "\124\212\125\120\126\227\137\223\147\023\150\u020a\167" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u03aa" + + "\334\u03a9\001\001\000\002\001\001\000\002\001\001\000" + + "\140\004\126\050\u05fe\051\u021c\052\u0208\053\u0210\066\u021e" + + "\067\134\070\013\071\065\074\043\102\133\106\u01b5\115" + + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + + "\147\023\150\u020e\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\202\u01a4\203\u0209" + + "\220\u020c\256\106\260\164\261\021\263\160\266\044\302" + + "\222\303\217\305\031\306\076\307\075\321\166\322\036" + + "\330\136\331\u01b3\001\001\000\002\001\001\000\002\001" + + "\001\000\004\014\u0608\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\004\014\u0606\001\001\000" + + "\002\001\001\000\162\004\126\015\005\016\121\021\145" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\111\110\167\113\131\114\102\115\125\116\214\123\137" + + "\124\212\125\120\126\227\137\223\147\023\151\060\167" + "\055\170\042\171\147\172\132\173\101\174\061\175\067" + - "\177\173\200\052\202\u01a2\203\u0205\220\u0208\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + + "\177\173\200\052\207\161\216\016\217\071\220\047\231" + + "\204\232\077\233\041\234\010\235\176\256\106\260\164" + + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + + "\076\307\075\321\166\322\036\330\136\331\220\334\200" + + "\001\001\000\002\001\001\000\162\004\126\015\005\016" + + "\121\021\145\066\152\067\134\070\013\071\065\074\043" + + "\102\133\106\111\110\167\113\131\114\102\115\125\116" + + "\214\123\137\124\212\125\120\126\227\137\223\147\023" + + "\151\060\167\055\170\042\171\147\172\132\173\101\174" + + "\061\175\067\177\173\200\052\207\161\216\016\217\071" + + "\220\047\231\204\232\077\233\041\234\010\235\176\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\220\334\200\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\004\236\u060d\001\001\000\004\237" + + "\u060e\001\001\000\002\001\001\000\004\057\u0610\001\001" + + "\000\042\060\266\211\255\212\254\257\304\270\257\271" + + "\262\272\252\273\267\274\271\275\275\277\306\300\272" + + "\325\261\330\136\331\265\336\251\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\062\070\013\071\065\123\u0281\124" + - "\212\125\120\126\227\137\223\170\042\173\u027d\174\061" + - "\175\u01ec\177\173\200\052\220\u0653\256\u0654\261\021\263" + - "\160\266\044\303\u027e\305\031\306\076\307\075\321\166" + - "\322\036\001\001\000\002\001\001\000\122\004\126\066" + - "\152\067\134\070\013\071\065\074\043\102\133\106\u0655" + - "\115\125\116\214\123\137\124\212\125\120\126\227\137" + - "\223\147\023\167\055\170\042\171\147\172\132\173\101" + - "\174\061\175\067\177\173\200\052\220\047\256\106\260" + - "\164\261\021\263\160\266\044\302\222\303\217\305\031" + - "\306\076\307\075\321\166\322\036\330\136\331\u01b1\001" + + "\000\024\124\u0292\126\227\134\u0619\135\u028e\136\u028b\137" + + "\u028f\150\u028a\261\u028c\266\044\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\004\214\u061a\001" + + "\001\000\006\130\u02a2\132\u061b\001\001\000\006\130\u02a4" + + "\215\u061c\001\001\000\004\262\u02a7\001\001\000\002\001" + + "\001\000\032\004\354\074\344\077\u023b\100\u061f\101\360" + + "\167\362\177\341\200\345\312\352\314\342\315\347\320" + + "\364\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\122\004\126\066\152\067\134\070\013\071" + + "\065\074\043\102\133\106\u0623\115\125\116\214\123\137" + + "\124\212\125\120\126\227\137\223\147\023\167\055\170" + + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + + "\200\052\220\047\256\106\260\164\261\021\263\160\266" + + "\044\302\222\303\217\305\031\306\076\307\075\321\166" + + "\322\036\330\136\331\u01b3\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\122\004\126\066\152" + + "\067\134\070\013\071\065\074\043\102\133\106\u0627\115" + + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + + "\147\023\167\055\170\042\171\147\172\132\173\101\174" + + "\061\175\067\177\173\200\052\220\047\256\106\260\164" + + "\261\021\263\160\266\044\302\222\303\217\305\031\306" + + "\076\307\075\321\166\322\036\330\136\331\u01b3\001\001" + + "\000\002\001\001\000\136\004\126\016\u062b\021\145\036" + + "\u062a\066\152\067\134\070\013\071\065\074\043\102\133" + + "\106\111\110\167\113\131\114\102\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\167\055" + + "\170\042\171\147\172\132\173\101\174\061\175\067\177" + + "\173\200\052\220\047\256\106\260\164\261\021\263\160" + + "\266\044\302\222\303\217\305\031\306\076\307\075\321" + + "\166\322\036\330\136\331\u01b3\001\001\000\004\017\u062c" + + "\001\001\000\002\001\001\000\002\001\001\000\160\004" + + "\126\016\u03a7\020\u03a5\021\145\066\152\067\134\070\013" + + "\071\065\074\043\102\133\106\111\110\167\113\131\114" + + "\102\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\147\023\151\060\167\055\170\042\171\147\172" + + "\132\173\101\174\061\175\067\177\173\200\052\216\016" + + "\217\071\220\047\231\204\232\077\233\041\234\010\235" + + "\176\256\106\260\164\261\021\263\160\266\044\302\222" + + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + + "\136\331\u03aa\334\u03a9\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\004\055\u0659\001\001\000\002\001" + - "\001\000\002\001\001\000\006\145\u054e\266\u054d\001\001" + - "\000\002\001\001\000\140\004\126\050\u065d\051\u0218\052" + - "\u0204\053\u020c\066\u021a\067\134\070\013\071\065\074\043" + - "\102\133\106\u01b3\115\125\116\214\123\137\124\212\125" + - "\120\126\227\137\223\147\023\150\u020a\167\055\170\042" + - "\171\147\172\132\173\101\174\061\175\067\177\173\200" + - "\052\202\u01a2\203\u0205\220\u0208\256\106\260\164\261\021" + - "\263\160\266\044\302\222\303\217\305\031\306\076\307" + - "\075\321\166\322\036\330\136\331\u01b1\001\001\000\002" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\122\004\126\066\152\067\134\070\013\071\065\074\043" + + "\102\133\106\u0639\115\125\116\214\123\137\124\212\125" + + "\120\126\227\137\223\147\023\167\055\170\042\171\147" + + "\172\132\173\101\174\061\175\067\177\173\200\052\220" + + "\047\256\106\260\164\261\021\263\160\266\044\302\222" + + "\303\217\305\031\306\076\307\075\321\166\322\036\330" + + "\136\331\u01b3\001\001\000\002\001\001\000\122\004\126" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\u063b\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\147\023\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\220\047\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + + "\001\001\000\002\001\001\000\004\150\u063d\001\001\000" + + "\002\001\001\000\026\043\u063f\046\u0230\047\u022d\210\u0234" + + "\272\u022c\274\u022f\275\u0231\330\136\331\u022e\340\u0233\001" + + "\001\000\002\001\001\000\004\255\u0641\001\001\000\002" + + "\001\001\000\004\017\u0643\001\001\000\160\004\126\016" + + "\u03a7\020\u03a5\021\145\066\152\067\134\070\013\071\065" + + "\074\043\102\133\106\111\110\167\113\131\114\102\115" + + "\125\116\214\123\137\124\212\125\120\126\227\137\223" + + "\147\023\151\060\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\216\016\217\071" + + "\220\047\231\204\232\077\233\041\234\010\235\176\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u03aa\334\u03a9\001\001\000\002\001\001\000\140\004\126" + + "\050\u0646\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070" + + "\013\071\065\074\043\102\133\106\u01b5\115\125\116\214" + + "\123\137\124\212\125\120\126\227\137\223\147\023\150" + + "\u020e\167\055\170\042\171\147\172\132\173\101\174\061" + + "\175\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256" + + "\106\260\164\261\021\263\160\266\044\302\222\303\217" + + "\305\031\306\076\307\075\321\166\322\036\330\136\331" + + "\u01b3\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\004\104\u064c\001\001\000" + + "\010\177\u0649\200\345\332\u064e\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\140\004\126\050" + + "\u0650\051\u021c\052\u0208\053\u0210\066\u021e\067\134\070\013" + + "\071\065\074\043\102\133\106\u01b5\115\125\116\214\123" + + "\137\124\212\125\120\126\227\137\223\147\023\150\u020e" + + "\167\055\170\042\171\147\172\132\173\101\174\061\175" + + "\067\177\173\200\052\202\u01a4\203\u0209\220\u020c\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\062\070\013\071\065\123\u0285" + + "\124\212\125\120\126\227\137\223\170\042\173\u0281\174" + + "\061\175\u01f0\177\173\200\052\220\u0657\256\u0658\261\021" + + "\263\160\266\044\303\u0282\305\031\306\076\307\075\321" + + "\166\322\036\001\001\000\002\001\001\000\122\004\126" + + "\066\152\067\134\070\013\071\065\074\043\102\133\106" + + "\u0659\115\125\116\214\123\137\124\212\125\120\126\227" + + "\137\223\147\023\167\055\170\042\171\147\172\132\173" + + "\101\174\061\175\067\177\173\200\052\220\047\256\106" + + "\260\164\261\021\263\160\266\044\302\222\303\217\305" + + "\031\306\076\307\075\321\166\322\036\330\136\331\u01b3" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001" }); + "\001\000\002\001\001\000\004\055\u065d\001\001\000\002" + + "\001\001\000\002\001\001\000\006\145\u0552\266\u0551\001" + + "\001\000\002\001\001\000\140\004\126\050\u0661\051\u021c" + + "\052\u0208\053\u0210\066\u021e\067\134\070\013\071\065\074" + + "\043\102\133\106\u01b5\115\125\116\214\123\137\124\212" + + "\125\120\126\227\137\223\147\023\150\u020e\167\055\170" + + "\042\171\147\172\132\173\101\174\061\175\067\177\173" + + "\200\052\202\u01a4\203\u0209\220\u020c\256\106\260\164\261" + + "\021\263\160\266\044\302\222\303\217\305\031\306\076" + + "\307\075\321\166\322\036\330\136\331\u01b3\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001" }); /** Access to reduce_goto table. */ public short[][] reduce_table() {return _reduce_table;} @@ -10949,7 +10959,24 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 469: // expr_without_variable_and_class_instance ::= expr T_RGREATER expr + case 469: // expr_without_variable_and_class_instance ::= expr T_PIPE expr + { + Expression RESULT =null; + int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; + int expr1right = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).right; + Expression expr1 = (Expression)((java_cup.runtime.Symbol) CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).value; + int expr2left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; + int expr2right = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).right; + Expression expr2 = (Expression)((java_cup.runtime.Symbol) CUP$ASTPHP5Parser$stack.peek()).value; + + RESULT = new CompositionExpression(expr1left, expr2right, expr1 , CompositionExpression.OperatorType.PIPE, expr2); + + CUP$ASTPHP5Parser$result = parser.getSymbolFactory().newSymbol("expr_without_variable_and_class_instance",53, ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)), ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()), RESULT); + } + return CUP$ASTPHP5Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 470: // expr_without_variable_and_class_instance ::= expr T_RGREATER expr { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -10966,7 +10993,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 470: // expr_without_variable_and_class_instance ::= expr T_IS_SMALLER_OR_EQUAL expr + case 471: // expr_without_variable_and_class_instance ::= expr T_IS_SMALLER_OR_EQUAL expr { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -10983,7 +11010,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 471: // expr_without_variable_and_class_instance ::= expr T_LGREATER expr + case 472: // expr_without_variable_and_class_instance ::= expr T_LGREATER expr { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11000,7 +11027,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 472: // expr_without_variable_and_class_instance ::= expr T_IS_GREATER_OR_EQUAL expr + case 473: // expr_without_variable_and_class_instance ::= expr T_IS_GREATER_OR_EQUAL expr { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11017,7 +11044,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 473: // expr_without_variable_and_class_instance ::= expr T_SPACESHIP expr + case 474: // expr_without_variable_and_class_instance ::= expr T_SPACESHIP expr { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11034,7 +11061,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 474: // expr_without_variable_and_class_instance ::= expr T_INSTANCEOF class_name_reference + case 475: // expr_without_variable_and_class_instance ::= expr T_INSTANCEOF class_name_reference { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11051,7 +11078,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 475: // expr_without_variable_and_class_instance ::= parenthesis_expr + case 476: // expr_without_variable_and_class_instance ::= parenthesis_expr { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11065,7 +11092,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 476: // expr_without_variable_and_class_instance ::= expr T_QUESTION_MARK expr T_NEKUDOTAIM expr + case 477: // expr_without_variable_and_class_instance ::= expr T_QUESTION_MARK expr T_NEKUDOTAIM expr { Expression RESULT =null; int conditionleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -11085,7 +11112,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 477: // expr_without_variable_and_class_instance ::= expr T_QUESTION_MARK T_NEKUDOTAIM expr + case 478: // expr_without_variable_and_class_instance ::= expr T_QUESTION_MARK T_NEKUDOTAIM expr { Expression RESULT =null; int condleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -11102,7 +11129,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 478: // expr_without_variable_and_class_instance ::= expr T_COALESCE expr + case 479: // expr_without_variable_and_class_instance ::= expr T_COALESCE expr { Expression RESULT =null; int condleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11119,7 +11146,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 479: // expr_without_variable_and_class_instance ::= internal_functions_in_yacc + case 480: // expr_without_variable_and_class_instance ::= internal_functions_in_yacc { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11133,7 +11160,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 480: // expr_without_variable_and_class_instance ::= T_INT_CAST expr + case 481: // expr_without_variable_and_class_instance ::= T_INT_CAST expr { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11150,7 +11177,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 481: // expr_without_variable_and_class_instance ::= T_DOUBLE_CAST expr + case 482: // expr_without_variable_and_class_instance ::= T_DOUBLE_CAST expr { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11167,7 +11194,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 482: // expr_without_variable_and_class_instance ::= T_STRING_CAST expr + case 483: // expr_without_variable_and_class_instance ::= T_STRING_CAST expr { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11184,7 +11211,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 483: // expr_without_variable_and_class_instance ::= T_ARRAY_CAST expr + case 484: // expr_without_variable_and_class_instance ::= T_ARRAY_CAST expr { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11201,7 +11228,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 484: // expr_without_variable_and_class_instance ::= T_OBJECT_CAST expr + case 485: // expr_without_variable_and_class_instance ::= T_OBJECT_CAST expr { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11218,7 +11245,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 485: // expr_without_variable_and_class_instance ::= T_BOOL_CAST expr + case 486: // expr_without_variable_and_class_instance ::= T_BOOL_CAST expr { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11235,7 +11262,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 486: // expr_without_variable_and_class_instance ::= T_UNSET_CAST expr + case 487: // expr_without_variable_and_class_instance ::= T_UNSET_CAST expr { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11252,7 +11279,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 487: // expr_without_variable_and_class_instance ::= T_EXIT exit_expr + case 488: // expr_without_variable_and_class_instance ::= T_EXIT exit_expr { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11276,7 +11303,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 488: // expr_without_variable_and_class_instance ::= T_AT expr + case 489: // expr_without_variable_and_class_instance ::= T_AT expr { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11294,7 +11321,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 489: // expr_without_variable_and_class_instance ::= scalar + case 490: // expr_without_variable_and_class_instance ::= scalar { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11308,7 +11335,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 490: // expr_without_variable_and_class_instance ::= array_creation + case 491: // expr_without_variable_and_class_instance ::= array_creation { Expression RESULT =null; int arrayleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11322,7 +11349,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 491: // expr_without_variable_and_class_instance ::= T_BACKQUATE encaps_list T_BACKQUATE + case 492: // expr_without_variable_and_class_instance ::= T_BACKQUATE encaps_list T_BACKQUATE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11343,7 +11370,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 492: // expr_without_variable_and_class_instance ::= T_PRINT expr + case 493: // expr_without_variable_and_class_instance ::= T_PRINT expr { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11367,7 +11394,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 493: // expr_without_variable_and_class_instance ::= inline_function + case 494: // expr_without_variable_and_class_instance ::= inline_function { Expression RESULT =null; int inlineleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11381,7 +11408,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 494: // expr_without_variable_and_class_instance ::= attributes inline_function + case 495: // expr_without_variable_and_class_instance ::= attributes inline_function { Expression RESULT =null; int attributesleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11406,7 +11433,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 495: // expr_without_variable_and_class_instance ::= expression_array_access + case 496: // expr_without_variable_and_class_instance ::= expression_array_access { Expression RESULT =null; int eaaleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11420,7 +11447,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 496: // expr_without_variable_and_class_instance ::= T_THROW expr + case 497: // expr_without_variable_and_class_instance ::= T_THROW expr { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11438,7 +11465,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 497: // expr_without_variable_and_class_instance ::= match + case 498: // expr_without_variable_and_class_instance ::= match { Expression RESULT =null; int matchleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11453,7 +11480,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 498: // inline_function ::= T_FUNCTION is_reference T_OPEN_PARENTHESE parameter_list T_CLOSE_PARENTHESE lexical_vars optional_return_type T_CURLY_OPEN inner_statement_list T_CURLY_CLOSE + case 499: // inline_function ::= T_FUNCTION is_reference T_OPEN_PARENTHESE parameter_list T_CLOSE_PARENTHESE lexical_vars optional_return_type T_CURLY_OPEN inner_statement_list T_CURLY_CLOSE { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-9)).left; @@ -11489,7 +11516,20 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 499: // inline_function ::= T_STATIC T_FUNCTION is_reference T_OPEN_PARENTHESE parameter_list T_CLOSE_PARENTHESE lexical_vars optional_return_type T_CURLY_OPEN inner_statement_list T_CURLY_CLOSE +default: +throw new Exception("Invalid action number found in internal parse table"); +} +} +public final java_cup.runtime.Symbol fakeMethod500to599( +int CUP$ASTPHP5Parser$act_num, +java_cup.runtime.lr_parser CUP$ASTPHP5Parser$parser, +java.util.Stack CUP$ASTPHP5Parser$stack, +int CUP$ASTPHP5Parser$top) +throws java.lang.Exception +{ +java_cup.runtime.Symbol CUP$ASTPHP5Parser$result; +switch (CUP$ASTPHP5Parser$act_num) { + case 500: // inline_function ::= T_STATIC T_FUNCTION is_reference T_OPEN_PARENTHESE parameter_list T_CLOSE_PARENTHESE lexical_vars optional_return_type T_CURLY_OPEN inner_statement_list T_CURLY_CLOSE { Expression RESULT =null; int stleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-10)).left; @@ -11528,20 +11568,7 @@ public final java_cup.runtime.Symbol fakeMethod400to499( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ -default: -throw new Exception("Invalid action number found in internal parse table"); -} -} -public final java_cup.runtime.Symbol fakeMethod500to599( -int CUP$ASTPHP5Parser$act_num, -java_cup.runtime.lr_parser CUP$ASTPHP5Parser$parser, -java.util.Stack CUP$ASTPHP5Parser$stack, -int CUP$ASTPHP5Parser$top) -throws java.lang.Exception -{ -java_cup.runtime.Symbol CUP$ASTPHP5Parser$result; -switch (CUP$ASTPHP5Parser$act_num) { - case 500: // inline_function ::= T_FN is_reference T_OPEN_PARENTHESE parameter_list T_CLOSE_PARENTHESE optional_return_type T_DOUBLE_ARROW expr_with_yields_and_error + case 501: // inline_function ::= T_FN is_reference T_OPEN_PARENTHESE parameter_list T_CLOSE_PARENTHESE optional_return_type T_DOUBLE_ARROW expr_with_yields_and_error { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -11568,7 +11595,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 501: // inline_function ::= T_STATIC T_FN is_reference T_OPEN_PARENTHESE parameter_list T_CLOSE_PARENTHESE optional_return_type T_DOUBLE_ARROW expr_with_yields_and_error + case 502: // inline_function ::= T_STATIC T_FN is_reference T_OPEN_PARENTHESE parameter_list T_CLOSE_PARENTHESE optional_return_type T_DOUBLE_ARROW expr_with_yields_and_error { Expression RESULT =null; int stleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-8)).left; @@ -11598,7 +11625,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 502: // match ::= T_MATCH T_OPEN_PARENTHESE expr T_CLOSE_PARENTHESE T_CURLY_OPEN match_arm_list T_CURLY_CLOSE + case 503: // match ::= T_MATCH T_OPEN_PARENTHESE expr T_CLOSE_PARENTHESE T_CURLY_OPEN match_arm_list T_CURLY_CLOSE { MatchExpression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-6)).left; @@ -11624,7 +11651,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 503: // match_arm_list ::= + case 504: // match_arm_list ::= { List RESULT =null; @@ -11635,7 +11662,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 504: // match_arm_list ::= non_empty_match_arm_list possible_comma + case 505: // match_arm_list ::= non_empty_match_arm_list possible_comma { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11649,7 +11676,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 505: // non_empty_match_arm_list ::= match_arm + case 506: // non_empty_match_arm_list ::= match_arm { List RESULT =null; int armleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11665,7 +11692,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 506: // non_empty_match_arm_list ::= non_empty_match_arm_list T_COMMA match_arm + case 507: // non_empty_match_arm_list ::= non_empty_match_arm_list T_COMMA match_arm { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11683,7 +11710,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 507: // match_arm ::= match_arm_condition_list possible_comma T_DOUBLE_ARROW expr_with_error + case 508: // match_arm ::= match_arm_condition_list possible_comma T_DOUBLE_ARROW expr_with_error { MatchArm RESULT =null; int conditionsleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -11700,7 +11727,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 508: // match_arm ::= T_DEFAULT possible_comma T_DOUBLE_ARROW expr_with_error + case 509: // match_arm ::= T_DEFAULT possible_comma T_DOUBLE_ARROW expr_with_error { MatchArm RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -11719,7 +11746,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 509: // match_arm_condition_list ::= expr_with_error + case 510: // match_arm_condition_list ::= expr_with_error { List RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11735,7 +11762,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 510: // match_arm_condition_list ::= match_arm_condition_list T_COMMA expr_with_error + case 511: // match_arm_condition_list ::= match_arm_condition_list T_COMMA expr_with_error { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11753,7 +11780,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 511: // lexical_vars ::= + case 512: // lexical_vars ::= { List RESULT =null; @@ -11764,7 +11791,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 512: // lexical_vars ::= T_USE T_OPEN_PARENTHESE lexical_var_list possible_comma T_CLOSE_PARENTHESE + case 513: // lexical_vars ::= T_USE T_OPEN_PARENTHESE lexical_var_list possible_comma T_CLOSE_PARENTHESE { List RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -11784,7 +11811,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 513: // lexical_var_list ::= lexical_var_list T_COMMA T_VARIABLE + case 514: // lexical_var_list ::= lexical_var_list T_COMMA T_VARIABLE { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -11803,7 +11830,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 514: // lexical_var_list ::= lexical_var_list T_COMMA ampersand T_VARIABLE + case 515: // lexical_var_list ::= lexical_var_list T_COMMA ampersand T_VARIABLE { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -11824,7 +11851,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 515: // lexical_var_list ::= T_VARIABLE + case 516: // lexical_var_list ::= T_VARIABLE { List RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -11840,7 +11867,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 516: // lexical_var_list ::= ampersand T_VARIABLE + case 517: // lexical_var_list ::= ampersand T_VARIABLE { List RESULT =null; int refleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -11859,7 +11886,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 517: // function_call ::= fully_qualified_class_name T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 518: // function_call ::= fully_qualified_class_name T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -11880,7 +11907,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 518: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 519: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -11905,7 +11932,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 519: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 520: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -11930,7 +11957,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 520: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 521: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -11962,7 +11989,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 521: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 522: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -11991,7 +12018,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 522: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 523: // function_call ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -12020,7 +12047,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 523: // function_call ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 524: // function_call ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int enumConstleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -12046,7 +12073,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 524: // function_call ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 525: // function_call ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int enumConstleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -12075,7 +12102,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 525: // function_call ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 526: // function_call ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int enumConstleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -12104,7 +12131,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 526: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 527: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -12129,7 +12156,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 527: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 528: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -12158,7 +12185,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 528: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 529: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -12187,7 +12214,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 529: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 530: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -12212,7 +12239,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 530: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 531: // function_call ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -12244,7 +12271,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 531: // function_call ::= variable_without_objects T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 532: // function_call ::= variable_without_objects T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int reflectionNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -12265,7 +12292,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 532: // function_call ::= callable_expr T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 533: // function_call ::= callable_expr T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -12286,7 +12313,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 533: // function_call ::= function_call array_dimension + case 534: // function_call ::= function_call array_dimension { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -12303,7 +12330,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 534: // function_call ::= function_call T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 535: // function_call ::= function_call T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { VariableBase RESULT =null; int callleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -12324,7 +12351,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 535: // callable_expr ::= parenthesis_expr + case 536: // callable_expr ::= parenthesis_expr { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12338,7 +12365,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 536: // callable_expr ::= dereferencable_variable + case 537: // callable_expr ::= dereferencable_variable { Expression RESULT =null; int dereferencableVariableleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12352,7 +12379,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 537: // callable_expr ::= field_or_method_access + case 538: // callable_expr ::= field_or_method_access { Expression RESULT =null; int fmaleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12366,7 +12393,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 538: // callable_expr ::= T_OPEN_PARENTHESE anonymous_class T_CLOSE_PARENTHESE + case 539: // callable_expr ::= T_OPEN_PARENTHESE anonymous_class T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -12387,7 +12414,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 539: // callable_expr ::= T_OPEN_PARENTHESE T_NEW class_name_reference ctor_arguments T_CLOSE_PARENTHESE + case 540: // callable_expr ::= T_OPEN_PARENTHESE T_NEW class_name_reference ctor_arguments T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -12415,7 +12442,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 540: // callable_expr ::= new_expr + case 541: // callable_expr ::= new_expr { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12431,7 +12458,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 541: // callable_expr ::= T_CONSTANT_ENCAPSED_STRING + case 542: // callable_expr ::= T_CONSTANT_ENCAPSED_STRING { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12445,7 +12472,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 542: // callable_expr ::= array_creation + case 543: // callable_expr ::= array_creation { Expression RESULT =null; int arrayleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12459,7 +12486,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 543: // class_name ::= T_STATIC + case 544: // class_name ::= T_STATIC { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12473,7 +12500,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 544: // class_name ::= fully_qualified_class_name + case 545: // class_name ::= fully_qualified_class_name { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12487,7 +12514,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 545: // fully_qualified_class_name ::= T_STRING + case 546: // fully_qualified_class_name ::= T_STRING { NamespaceName RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12501,7 +12528,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 546: // fully_qualified_class_name ::= T_DEFINE + case 547: // fully_qualified_class_name ::= T_DEFINE { NamespaceName RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12515,7 +12542,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 547: // fully_qualified_class_name ::= T_NAME_QUALIFIED + case 548: // fully_qualified_class_name ::= T_NAME_QUALIFIED { NamespaceName RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12529,7 +12556,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 548: // fully_qualified_class_name ::= T_NAME_FULLY_QUALIFIED + case 549: // fully_qualified_class_name ::= T_NAME_FULLY_QUALIFIED { NamespaceName RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12543,7 +12570,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 549: // fully_qualified_class_name ::= T_NAME_RELATIVE + case 550: // fully_qualified_class_name ::= T_NAME_RELATIVE { NamespaceName RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12557,7 +12584,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 550: // class_name_reference ::= class_name + case 551: // class_name_reference ::= class_name { ClassName RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12571,7 +12598,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 551: // class_name_reference ::= dynamic_class_name_reference + case 552: // class_name_reference ::= dynamic_class_name_reference { ClassName RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12585,7 +12612,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 552: // dynamic_class_name_reference ::= base_variable T_OBJECT_OPERATOR object_property dynamic_class_name_variable_properties + case 553: // dynamic_class_name_reference ::= base_variable T_OBJECT_OPERATOR object_property dynamic_class_name_variable_properties { ClassName RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -12606,7 +12633,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 553: // dynamic_class_name_reference ::= base_variable T_NULLSAFE_OBJECT_OPERATOR object_property dynamic_class_name_variable_properties + case 554: // dynamic_class_name_reference ::= base_variable T_NULLSAFE_OBJECT_OPERATOR object_property dynamic_class_name_variable_properties { ClassName RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -12627,7 +12654,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 554: // dynamic_class_name_reference ::= base_variable + case 555: // dynamic_class_name_reference ::= base_variable { ClassName RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12642,7 +12669,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 555: // dynamic_class_name_reference ::= parenthesis_expr + case 556: // dynamic_class_name_reference ::= parenthesis_expr { ClassName RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12657,7 +12684,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 556: // dynamic_class_name_variable_properties ::= dynamic_class_name_variable_properties dynamic_class_name_variable_property + case 557: // dynamic_class_name_variable_properties ::= dynamic_class_name_variable_properties dynamic_class_name_variable_property { List RESULT =null; int variablesleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -12675,7 +12702,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 557: // dynamic_class_name_variable_properties ::= + case 558: // dynamic_class_name_variable_properties ::= { List RESULT =null; @@ -12686,7 +12713,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 558: // dynamic_class_name_variable_property ::= T_OBJECT_OPERATOR object_property + case 559: // dynamic_class_name_variable_property ::= T_OBJECT_OPERATOR object_property { Pair RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12700,7 +12727,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 559: // dynamic_class_name_variable_property ::= T_NULLSAFE_OBJECT_OPERATOR object_property + case 560: // dynamic_class_name_variable_property ::= T_NULLSAFE_OBJECT_OPERATOR object_property { Pair RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12714,7 +12741,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 560: // exit_expr ::= + case 561: // exit_expr ::= { Expression RESULT =null; @@ -12725,7 +12752,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 561: // exit_expr ::= T_OPEN_PARENTHESE T_CLOSE_PARENTHESE + case 562: // exit_expr ::= T_OPEN_PARENTHESE T_CLOSE_PARENTHESE { Expression RESULT =null; @@ -12736,7 +12763,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 562: // exit_expr ::= T_OPEN_PARENTHESE expr T_CLOSE_PARENTHESE + case 563: // exit_expr ::= T_OPEN_PARENTHESE expr T_CLOSE_PARENTHESE { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -12750,7 +12777,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 563: // ctor_arguments ::= + case 564: // ctor_arguments ::= { List RESULT =null; @@ -12761,7 +12788,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 564: // ctor_arguments ::= T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 565: // ctor_arguments ::= T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { List RESULT =null; int paramsListleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -12775,7 +12802,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 565: // common_scalar ::= T_LNUMBER + case 566: // common_scalar ::= T_LNUMBER { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12790,7 +12817,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 566: // common_scalar ::= T_DNUMBER + case 567: // common_scalar ::= T_DNUMBER { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12805,7 +12832,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 567: // common_scalar ::= T_CONSTANT_ENCAPSED_STRING + case 568: // common_scalar ::= T_CONSTANT_ENCAPSED_STRING { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12820,7 +12847,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 568: // common_scalar ::= T_LINE + case 569: // common_scalar ::= T_LINE { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12835,7 +12862,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 569: // common_scalar ::= T_FILE + case 570: // common_scalar ::= T_FILE { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12850,7 +12877,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 570: // common_scalar ::= T_DIR + case 571: // common_scalar ::= T_DIR { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12864,7 +12891,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 571: // common_scalar ::= T_CLASS_C + case 572: // common_scalar ::= T_CLASS_C { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12879,7 +12906,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 572: // common_scalar ::= T_TRAIT_C + case 573: // common_scalar ::= T_TRAIT_C { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12894,7 +12921,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 573: // common_scalar ::= T_METHOD_C + case 574: // common_scalar ::= T_METHOD_C { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12909,7 +12936,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 574: // common_scalar ::= T_FUNC_C + case 575: // common_scalar ::= T_FUNC_C { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12924,7 +12951,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 575: // common_scalar ::= T_NS_C + case 576: // common_scalar ::= T_NS_C { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12938,7 +12965,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 576: // common_scalar ::= T_START_NOWDOC T_ENCAPSED_AND_WHITESPACE T_END_NOWDOC + case 577: // common_scalar ::= T_START_NOWDOC T_ENCAPSED_AND_WHITESPACE T_END_NOWDOC { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -12959,7 +12986,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 577: // common_scalar ::= T_START_NOWDOC T_END_NOWDOC + case 578: // common_scalar ::= T_START_NOWDOC T_END_NOWDOC { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -12977,7 +13004,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 578: // static_scalar_value ::= common_scalar + case 579: // static_scalar_value ::= common_scalar { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -12991,7 +13018,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 579: // static_scalar_value ::= namespace_name_access + case 580: // static_scalar_value ::= namespace_name_access { Expression RESULT =null; int nsnleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13016,7 +13043,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 580: // static_scalar_value ::= static_class_constant + case 581: // static_scalar_value ::= static_class_constant { Expression RESULT =null; int classConstantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13030,7 +13057,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 581: // static_scalar_value ::= heredoc + case 582: // static_scalar_value ::= heredoc { Expression RESULT =null; int docleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13044,7 +13071,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 582: // static_scalar_value ::= static_operation + case 583: // static_scalar_value ::= static_operation { Expression RESULT =null; int operationleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13058,7 +13085,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 583: // static_scalar_value_with_class_instance ::= static_scalar_value + case 584: // static_scalar_value_with_class_instance ::= static_scalar_value { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13072,7 +13099,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 584: // static_scalar_value_with_class_instance ::= T_NEW class_name_reference ctor_arguments + case 585: // static_scalar_value_with_class_instance ::= T_NEW class_name_reference ctor_arguments { Expression RESULT =null; int nleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13092,7 +13119,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 585: // static_operation ::= static_array_creation + case 586: // static_operation ::= static_array_creation { Expression RESULT =null; int arrayCreationleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13106,7 +13133,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 586: // static_operation ::= static_array_creation_with_access + case 587: // static_operation ::= static_array_creation_with_access { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13120,7 +13147,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 587: // static_operation ::= static_constant_array_access + case 588: // static_operation ::= static_constant_array_access { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13134,7 +13161,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 588: // static_operation ::= T_ENCAPSED_AND_WHITESPACE array_dimension_with_static_scalar_value + case 589: // static_operation ::= T_ENCAPSED_AND_WHITESPACE array_dimension_with_static_scalar_value { Expression RESULT =null; int strleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -13151,7 +13178,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 589: // static_operation ::= T_CONSTANT_ENCAPSED_STRING array_dimension_with_static_scalar_value + case 590: // static_operation ::= T_CONSTANT_ENCAPSED_STRING array_dimension_with_static_scalar_value { Expression RESULT =null; int strleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -13168,7 +13195,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 590: // static_operation ::= static_scalar_value T_PLUS static_scalar_value + case 591: // static_operation ::= static_scalar_value T_PLUS static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13185,7 +13212,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 591: // static_operation ::= static_scalar_value T_MINUS static_scalar_value + case 592: // static_operation ::= static_scalar_value T_MINUS static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13202,7 +13229,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 592: // static_operation ::= static_scalar_value T_TIMES static_scalar_value + case 593: // static_operation ::= static_scalar_value T_TIMES static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13219,7 +13246,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 593: // static_operation ::= static_scalar_value T_POW static_scalar_value + case 594: // static_operation ::= static_scalar_value T_POW static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13236,7 +13263,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 594: // static_operation ::= static_scalar_value T_DIV static_scalar_value + case 595: // static_operation ::= static_scalar_value T_DIV static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13253,7 +13280,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 595: // static_operation ::= static_scalar_value T_PRECENT static_scalar_value + case 596: // static_operation ::= static_scalar_value T_PRECENT static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13270,7 +13297,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 596: // static_operation ::= T_NOT static_scalar_value + case 597: // static_operation ::= T_NOT static_scalar_value { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -13287,7 +13314,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 597: // static_operation ::= T_TILDA static_scalar_value + case 598: // static_operation ::= T_TILDA static_scalar_value { Expression RESULT =null; int tokenleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -13304,7 +13331,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 598: // static_operation ::= static_scalar_value T_OR static_scalar_value + case 599: // static_operation ::= static_scalar_value T_OR static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13321,7 +13348,20 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 599: // static_operation ::= static_scalar_value T_REFERENCE static_scalar_value +default: +throw new Exception("Invalid action number found in internal parse table"); +} +} +public final java_cup.runtime.Symbol fakeMethod600to699( +int CUP$ASTPHP5Parser$act_num, +java_cup.runtime.lr_parser CUP$ASTPHP5Parser$parser, +java.util.Stack CUP$ASTPHP5Parser$stack, +int CUP$ASTPHP5Parser$top) +throws java.lang.Exception +{ +java_cup.runtime.Symbol CUP$ASTPHP5Parser$result; +switch (CUP$ASTPHP5Parser$act_num) { + case 600: // static_operation ::= static_scalar_value T_REFERENCE static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13338,20 +13378,7 @@ public final java_cup.runtime.Symbol fakeMethod500to599( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ -default: -throw new Exception("Invalid action number found in internal parse table"); -} -} -public final java_cup.runtime.Symbol fakeMethod600to699( -int CUP$ASTPHP5Parser$act_num, -java_cup.runtime.lr_parser CUP$ASTPHP5Parser$parser, -java.util.Stack CUP$ASTPHP5Parser$stack, -int CUP$ASTPHP5Parser$top) -throws java.lang.Exception -{ -java_cup.runtime.Symbol CUP$ASTPHP5Parser$result; -switch (CUP$ASTPHP5Parser$act_num) { - case 600: // static_operation ::= static_scalar_value T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG static_scalar_value + case 601: // static_operation ::= static_scalar_value T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13368,7 +13395,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 601: // static_operation ::= static_scalar_value T_KOVA static_scalar_value + case 602: // static_operation ::= static_scalar_value T_KOVA static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13385,7 +13412,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 602: // static_operation ::= static_scalar_value T_SL static_scalar_value + case 603: // static_operation ::= static_scalar_value T_SL static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13402,7 +13429,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 603: // static_operation ::= static_scalar_value T_SR static_scalar_value + case 604: // static_operation ::= static_scalar_value T_SR static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13419,7 +13446,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 604: // static_operation ::= static_scalar_value T_NEKUDA static_scalar_value + case 605: // static_operation ::= static_scalar_value T_NEKUDA static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13436,7 +13463,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 605: // static_operation ::= static_scalar_value T_LOGICAL_XOR static_scalar_value + case 606: // static_operation ::= static_scalar_value T_LOGICAL_XOR static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13453,7 +13480,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 606: // static_operation ::= static_scalar_value T_LOGICAL_AND static_scalar_value + case 607: // static_operation ::= static_scalar_value T_LOGICAL_AND static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13470,7 +13497,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 607: // static_operation ::= static_scalar_value T_LOGICAL_OR static_scalar_value + case 608: // static_operation ::= static_scalar_value T_LOGICAL_OR static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13487,7 +13514,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 608: // static_operation ::= static_scalar_value T_BOOLEAN_AND static_scalar_value + case 609: // static_operation ::= static_scalar_value T_BOOLEAN_AND static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13504,7 +13531,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 609: // static_operation ::= static_scalar_value T_BOOLEAN_OR static_scalar_value + case 610: // static_operation ::= static_scalar_value T_BOOLEAN_OR static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13521,7 +13548,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 610: // static_operation ::= static_scalar_value T_IS_IDENTICAL static_scalar_value + case 611: // static_operation ::= static_scalar_value T_IS_IDENTICAL static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13538,7 +13565,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 611: // static_operation ::= static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value + case 612: // static_operation ::= static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13555,7 +13582,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 612: // static_operation ::= static_scalar_value T_IS_EQUAL static_scalar_value + case 613: // static_operation ::= static_scalar_value T_IS_EQUAL static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13572,7 +13599,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 613: // static_operation ::= static_scalar_value T_IS_NOT_EQUAL static_scalar_value + case 614: // static_operation ::= static_scalar_value T_IS_NOT_EQUAL static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13589,7 +13616,24 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 614: // static_operation ::= static_scalar_value T_RGREATER static_scalar_value + case 615: // static_operation ::= static_scalar_value T_PIPE static_scalar_value + { + Expression RESULT =null; + int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; + int expr1right = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).right; + Expression expr1 = (Expression)((java_cup.runtime.Symbol) CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).value; + int expr2left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; + int expr2right = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).right; + Expression expr2 = (Expression)((java_cup.runtime.Symbol) CUP$ASTPHP5Parser$stack.peek()).value; + + RESULT = new CompositionExpression(expr1left, expr2right, expr1 , CompositionExpression.OperatorType.PIPE, expr2); + + CUP$ASTPHP5Parser$result = parser.getSymbolFactory().newSymbol("static_operation",63, ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)), ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()), RESULT); + } + return CUP$ASTPHP5Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 616: // static_operation ::= static_scalar_value T_RGREATER static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13606,7 +13650,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 615: // static_operation ::= static_scalar_value T_LGREATER static_scalar_value + case 617: // static_operation ::= static_scalar_value T_LGREATER static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13623,7 +13667,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 616: // static_operation ::= static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value + case 618: // static_operation ::= static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13640,7 +13684,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 617: // static_operation ::= static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value + case 619: // static_operation ::= static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13657,7 +13701,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 618: // static_operation ::= static_scalar_value T_SPACESHIP static_scalar_value + case 620: // static_operation ::= static_scalar_value T_SPACESHIP static_scalar_value { Expression RESULT =null; int expr1left = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13674,7 +13718,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 619: // static_operation ::= static_scalar_value T_QUESTION_MARK T_NEKUDOTAIM static_scalar_value + case 621: // static_operation ::= static_scalar_value T_QUESTION_MARK T_NEKUDOTAIM static_scalar_value { Expression RESULT =null; int condleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -13691,7 +13735,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 620: // static_operation ::= static_scalar_value T_QUESTION_MARK static_scalar_value T_NEKUDOTAIM static_scalar_value + case 622: // static_operation ::= static_scalar_value T_QUESTION_MARK static_scalar_value T_NEKUDOTAIM static_scalar_value { Expression RESULT =null; int conditionleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -13711,7 +13755,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 621: // static_operation ::= static_scalar_value T_COALESCE static_scalar_value + case 623: // static_operation ::= static_scalar_value T_COALESCE static_scalar_value { Expression RESULT =null; int condleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13728,7 +13772,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 622: // static_operation ::= T_PLUS static_scalar_value + case 624: // static_operation ::= T_PLUS static_scalar_value { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -13746,7 +13790,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 623: // static_operation ::= T_MINUS static_scalar_value + case 625: // static_operation ::= T_MINUS static_scalar_value { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -13764,7 +13808,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 624: // static_operation ::= T_OPEN_PARENTHESE static_scalar_value T_CLOSE_PARENTHESE + case 626: // static_operation ::= T_OPEN_PARENTHESE static_scalar_value T_CLOSE_PARENTHESE { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -13778,7 +13822,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 625: // static_scalar ::= static_scalar_value + case 627: // static_scalar ::= static_scalar_value { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13792,7 +13836,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 626: // static_scalar_with_class_instance ::= static_scalar_value_with_class_instance + case 628: // static_scalar_with_class_instance ::= static_scalar_value_with_class_instance { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -13806,7 +13850,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 627: // static_class_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM static_class_constant_array_access + case 629: // static_class_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM static_class_constant_array_access { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13823,7 +13867,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 628: // static_class_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier + case 630: // static_class_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13840,7 +13884,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 629: // static_class_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE + case 631: // static_class_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -13864,7 +13908,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 630: // static_class_constant ::= class_name T_OBJECT_OPERATOR identifier + case 632: // static_class_constant ::= class_name T_OBJECT_OPERATOR identifier { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13881,7 +13925,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 631: // static_class_constant ::= class_name T_NULLSAFE_OBJECT_OPERATOR identifier + case 633: // static_class_constant ::= class_name T_NULLSAFE_OBJECT_OPERATOR identifier { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13898,7 +13942,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 632: // static_class_constant ::= static_class_constant T_OBJECT_OPERATOR identifier + case 634: // static_class_constant ::= static_class_constant T_OBJECT_OPERATOR identifier { VariableBase RESULT =null; int constantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13916,7 +13960,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 633: // static_class_constant ::= static_class_constant T_NULLSAFE_OBJECT_OPERATOR identifier + case 635: // static_class_constant ::= static_class_constant T_NULLSAFE_OBJECT_OPERATOR identifier { VariableBase RESULT =null; int constantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -13934,7 +13978,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 634: // static_class_constant ::= static_class_constant T_OBJECT_OPERATOR T_CURLY_OPEN expr T_CURLY_CLOSE + case 636: // static_class_constant ::= static_class_constant T_OBJECT_OPERATOR T_CURLY_OPEN expr T_CURLY_CLOSE { VariableBase RESULT =null; int constantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -13958,7 +14002,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 635: // static_class_constant ::= static_class_constant T_NULLSAFE_OBJECT_OPERATOR T_CURLY_OPEN expr T_CURLY_CLOSE + case 637: // static_class_constant ::= static_class_constant T_NULLSAFE_OBJECT_OPERATOR T_CURLY_OPEN expr T_CURLY_CLOSE { VariableBase RESULT =null; int constantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -13982,7 +14026,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 636: // static_class_constant ::= static_class_constant T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE + case 638: // static_class_constant ::= static_class_constant T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE { VariableBase RESULT =null; int constantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -14006,7 +14050,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 637: // static_reference_constant ::= class_constant_array_access + case 639: // static_reference_constant ::= class_constant_array_access { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14020,7 +14064,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 638: // static_reference_constant ::= identifier + case 640: // static_reference_constant ::= identifier { Expression RESULT =null; int constantNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14034,7 +14078,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 639: // class_constant_array_access ::= class_constant_array_access T_OPEN_RECT expr T_CLOSE_RECT + case 641: // class_constant_array_access ::= class_constant_array_access T_OPEN_RECT expr T_CLOSE_RECT { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14057,7 +14101,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 640: // class_constant_array_access ::= identifier T_OPEN_RECT expr T_CLOSE_RECT + case 642: // class_constant_array_access ::= identifier T_OPEN_RECT expr T_CLOSE_RECT { Expression RESULT =null; int constantNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14080,7 +14124,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 641: // static_class_constant_array_access ::= static_class_constant_array_access T_OPEN_RECT static_scalar_value T_CLOSE_RECT + case 643: // static_class_constant_array_access ::= static_class_constant_array_access T_OPEN_RECT static_scalar_value T_CLOSE_RECT { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14103,7 +14147,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 642: // static_class_constant_array_access ::= identifier T_OPEN_RECT static_scalar_value T_CLOSE_RECT + case 644: // static_class_constant_array_access ::= identifier T_OPEN_RECT static_scalar_value T_CLOSE_RECT { Expression RESULT =null; int constantNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14126,7 +14170,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 643: // static_constant_array_access ::= static_constant_array_access T_OPEN_RECT static_scalar_value T_CLOSE_RECT + case 645: // static_constant_array_access ::= static_constant_array_access T_OPEN_RECT static_scalar_value T_CLOSE_RECT { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14149,7 +14193,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 644: // static_constant_array_access ::= T_STRING T_OPEN_RECT static_scalar_value T_CLOSE_RECT + case 646: // static_constant_array_access ::= T_STRING T_OPEN_RECT static_scalar_value T_CLOSE_RECT { Expression RESULT =null; int constantNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14172,7 +14216,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 645: // static_constant_array_access ::= namespace_name_access T_OPEN_RECT static_scalar_value T_CLOSE_RECT + case 647: // static_constant_array_access ::= namespace_name_access T_OPEN_RECT static_scalar_value T_CLOSE_RECT { Expression RESULT =null; int namespaceleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14195,7 +14239,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 646: // static_array_creation_with_access ::= static_array_creation array_dimension_with_static_scalar_value + case 648: // static_array_creation_with_access ::= static_array_creation array_dimension_with_static_scalar_value { Expression RESULT =null; int arrleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -14212,7 +14256,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 647: // static_array_creation_with_access ::= static_array_creation_with_access array_dimension_with_static_scalar_value + case 649: // static_array_creation_with_access ::= static_array_creation_with_access array_dimension_with_static_scalar_value { Expression RESULT =null; int accleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -14229,7 +14273,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 648: // static_array_creation ::= T_ARRAY T_OPEN_PARENTHESE static_array_pair_list T_CLOSE_PARENTHESE + case 650: // static_array_creation ::= T_ARRAY T_OPEN_PARENTHESE static_array_pair_list T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14253,7 +14297,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 649: // static_array_creation ::= T_OPEN_RECT static_array_pair_list T_CLOSE_RECT + case 651: // static_array_creation ::= T_OPEN_RECT static_array_pair_list T_CLOSE_RECT { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -14274,7 +14318,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 650: // scalar ::= T_STRING_VARNAME + case 652: // scalar ::= T_STRING_VARNAME { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14288,7 +14332,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 651: // scalar ::= class_constant + case 653: // scalar ::= class_constant { Expression RESULT =null; int classConstantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14302,7 +14346,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 652: // scalar ::= namespace_name_access + case 654: // scalar ::= namespace_name_access { Expression RESULT =null; int nsnleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14327,7 +14371,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 653: // scalar ::= common_scalar + case 655: // scalar ::= common_scalar { Expression RESULT =null; int scalarleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14341,7 +14385,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 654: // scalar ::= T_QUATE encaps_list T_QUATE + case 656: // scalar ::= T_QUATE encaps_list T_QUATE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -14362,7 +14406,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 655: // scalar ::= heredoc + case 657: // scalar ::= heredoc { Expression RESULT =null; int docleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14376,7 +14420,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 656: // heredoc ::= T_START_HEREDOC encaps_list T_END_HEREDOC + case 658: // heredoc ::= T_START_HEREDOC encaps_list T_END_HEREDOC { Quote RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -14397,7 +14441,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 657: // static_array_pair_list ::= + case 659: // static_array_pair_list ::= { List RESULT =null; @@ -14409,7 +14453,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 658: // static_array_pair_list ::= non_empty_static_array_pair_list possible_comma + case 660: // static_array_pair_list ::= non_empty_static_array_pair_list possible_comma { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -14423,7 +14467,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 659: // possible_comma ::= + case 661: // possible_comma ::= { Object RESULT =null; @@ -14432,7 +14476,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 660: // possible_comma ::= T_COMMA + case 662: // possible_comma ::= T_COMMA { Object RESULT =null; @@ -14441,7 +14485,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 661: // ampersand ::= T_REFERENCE + case 663: // ampersand ::= T_REFERENCE { Object RESULT =null; @@ -14450,7 +14494,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 662: // ampersand ::= T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG + case 664: // ampersand ::= T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG { Object RESULT =null; @@ -14459,7 +14503,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 663: // non_empty_static_array_pair_list ::= non_empty_static_array_pair_list T_COMMA static_scalar T_DOUBLE_ARROW static_scalar + case 665: // non_empty_static_array_pair_list ::= non_empty_static_array_pair_list T_COMMA static_scalar T_DOUBLE_ARROW static_scalar { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -14481,7 +14525,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 664: // non_empty_static_array_pair_list ::= non_empty_static_array_pair_list T_COMMA static_scalar + case 666: // non_empty_static_array_pair_list ::= non_empty_static_array_pair_list T_COMMA static_scalar { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -14500,7 +14544,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 665: // non_empty_static_array_pair_list ::= non_empty_static_array_pair_list T_COMMA T_ELLIPSIS static_scalar + case 667: // non_empty_static_array_pair_list ::= non_empty_static_array_pair_list T_COMMA T_ELLIPSIS static_scalar { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14523,7 +14567,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 666: // non_empty_static_array_pair_list ::= static_scalar T_DOUBLE_ARROW static_scalar + case 668: // non_empty_static_array_pair_list ::= static_scalar T_DOUBLE_ARROW static_scalar { List RESULT =null; int keyleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -14543,7 +14587,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 667: // non_empty_static_array_pair_list ::= T_ELLIPSIS static_scalar + case 669: // non_empty_static_array_pair_list ::= T_ELLIPSIS static_scalar { List RESULT =null; int ellleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -14564,7 +14608,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 668: // non_empty_static_array_pair_list ::= static_scalar + case 670: // non_empty_static_array_pair_list ::= static_scalar { List RESULT =null; int valueleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14581,7 +14625,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 669: // parenthesis_expr ::= T_OPEN_PARENTHESE expr_without_class_instance T_CLOSE_PARENTHESE + case 671: // parenthesis_expr ::= T_OPEN_PARENTHESE expr_without_class_instance T_CLOSE_PARENTHESE { ParenthesisExpression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -14602,7 +14646,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 670: // yield_expr ::= T_YIELD + case 672: // yield_expr ::= T_YIELD { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14616,7 +14660,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 671: // yield_expr ::= T_YIELD yield_expr + case 673: // yield_expr ::= T_YIELD yield_expr { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -14633,7 +14677,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 672: // yield_expr ::= T_YIELD yield_from_expr + case 674: // yield_expr ::= T_YIELD yield_from_expr { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -14650,7 +14694,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 673: // yield_expr ::= T_YIELD expr + case 675: // yield_expr ::= T_YIELD expr { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -14667,7 +14711,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 674: // yield_expr ::= T_YIELD expr T_DOUBLE_ARROW expr + case 676: // yield_expr ::= T_YIELD expr T_DOUBLE_ARROW expr { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -14687,7 +14731,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 675: // yield_expr ::= T_OPEN_PARENTHESE yield_expr T_CLOSE_PARENTHESE + case 677: // yield_expr ::= T_OPEN_PARENTHESE yield_expr T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -14708,7 +14752,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 676: // yield_from_expr ::= T_YIELD_FROM expr + case 678: // yield_from_expr ::= T_YIELD_FROM expr { Expression RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -14725,7 +14769,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 677: // yield_from_expr ::= T_OPEN_PARENTHESE yield_from_expr T_CLOSE_PARENTHESE + case 679: // yield_from_expr ::= T_OPEN_PARENTHESE yield_from_expr T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -14746,7 +14790,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 678: // expr_without_class_instance ::= r_variable + case 680: // expr_without_class_instance ::= r_variable { Expression RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14758,7 +14802,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 679: // expr_without_class_instance ::= expr_without_variable_and_class_instance + case 681: // expr_without_class_instance ::= expr_without_variable_and_class_instance { Expression RESULT =null; int ewvleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14770,7 +14814,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 680: // expr ::= r_variable + case 682: // expr ::= r_variable { Expression RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14782,7 +14826,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 681: // expr ::= expr_without_variable + case 683: // expr ::= expr_without_variable { Expression RESULT =null; int ewvleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14794,7 +14838,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 682: // expr_with_error ::= expr + case 684: // expr_with_error ::= expr { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14808,7 +14852,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 683: // expr_with_error ::= error + case 685: // expr_with_error ::= error { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14822,7 +14866,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 684: // expr_with_yields ::= expr + case 686: // expr_with_yields ::= expr { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14836,7 +14880,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 685: // expr_with_yields ::= yield_expr + case 687: // expr_with_yields ::= yield_expr { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14850,7 +14894,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 686: // expr_with_yields ::= yield_from_expr + case 688: // expr_with_yields ::= yield_from_expr { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14864,7 +14908,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 687: // expr_with_yields_and_error ::= expr_with_yields + case 689: // expr_with_yields_and_error ::= expr_with_yields { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14878,7 +14922,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 688: // expr_with_yields_and_error ::= error + case 690: // expr_with_yields_and_error ::= error { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14892,7 +14936,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 689: // r_variable ::= variable + case 691: // r_variable ::= variable { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14904,7 +14948,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 690: // w_variable ::= variable + case 692: // w_variable ::= variable { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14916,7 +14960,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 691: // rw_variable ::= variable + case 693: // rw_variable ::= variable { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -14928,7 +14972,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 692: // field_or_method_access ::= base_variable_with_function_calls T_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties + case 694: // field_or_method_access ::= base_variable_with_function_calls T_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -14954,7 +14998,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 693: // field_or_method_access ::= base_variable_with_function_calls T_NULLSAFE_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties + case 695: // field_or_method_access ::= base_variable_with_function_calls T_NULLSAFE_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -14980,7 +15024,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 694: // field_or_method_access ::= class_name T_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties + case 696: // field_or_method_access ::= class_name T_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -15006,7 +15050,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 695: // field_or_method_access ::= class_name T_NULLSAFE_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties + case 697: // field_or_method_access ::= class_name T_NULLSAFE_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -15032,7 +15076,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 696: // field_or_method_access ::= function_call T_PAAMAYIM_NEKUDOTAYIM static_property method_or_not array_access_or_not variable_properties + case 698: // field_or_method_access ::= function_call T_PAAMAYIM_NEKUDOTAYIM static_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -15058,7 +15102,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 697: // field_or_method_access ::= base_variable_without_reference_variable T_PAAMAYIM_NEKUDOTAYIM static_property method_or_not array_access_or_not variable_properties + case 699: // field_or_method_access ::= base_variable_without_reference_variable T_PAAMAYIM_NEKUDOTAYIM static_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -15084,7 +15128,20 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 698: // field_or_method_access ::= parenthesis_expr T_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties +default: +throw new Exception("Invalid action number found in internal parse table"); +} +} +public final java_cup.runtime.Symbol fakeMethod700to799( +int CUP$ASTPHP5Parser$act_num, +java_cup.runtime.lr_parser CUP$ASTPHP5Parser$parser, +java.util.Stack CUP$ASTPHP5Parser$stack, +int CUP$ASTPHP5Parser$top) +throws java.lang.Exception +{ +java_cup.runtime.Symbol CUP$ASTPHP5Parser$result; +switch (CUP$ASTPHP5Parser$act_num) { + case 700: // field_or_method_access ::= parenthesis_expr T_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int peleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -15112,7 +15169,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 699: // field_or_method_access ::= parenthesis_expr T_NULLSAFE_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties + case 701: // field_or_method_access ::= parenthesis_expr T_NULLSAFE_OBJECT_OPERATOR object_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int peleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -15140,20 +15197,7 @@ public final java_cup.runtime.Symbol fakeMethod600to699( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ -default: -throw new Exception("Invalid action number found in internal parse table"); -} -} -public final java_cup.runtime.Symbol fakeMethod700to799( -int CUP$ASTPHP5Parser$act_num, -java_cup.runtime.lr_parser CUP$ASTPHP5Parser$parser, -java.util.Stack CUP$ASTPHP5Parser$stack, -int CUP$ASTPHP5Parser$top) -throws java.lang.Exception -{ -java_cup.runtime.Symbol CUP$ASTPHP5Parser$result; -switch (CUP$ASTPHP5Parser$act_num) { - case 700: // field_or_method_access ::= parenthesis_expr T_PAAMAYIM_NEKUDOTAYIM static_property method_or_not array_access_or_not variable_properties + case 702: // field_or_method_access ::= parenthesis_expr T_PAAMAYIM_NEKUDOTAYIM static_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int peleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -15181,7 +15225,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 701: // field_or_method_access ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier + case 703: // field_or_method_access ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -15202,7 +15246,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 702: // field_or_method_access ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier + case 704: // field_or_method_access ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_OBJECT_OPERATOR identifier { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -15223,7 +15267,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 703: // field_or_method_access ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier + case 705: // field_or_method_access ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -15244,7 +15288,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 704: // field_or_method_access ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier + case 706: // field_or_method_access ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier T_NULLSAFE_OBJECT_OPERATOR identifier { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -15265,7 +15309,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 705: // field_or_method_access ::= new_expr access_operator object_property method_or_not array_access_or_not variable_properties + case 707: // field_or_method_access ::= new_expr access_operator object_property method_or_not array_access_or_not variable_properties { VariableBase RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -15304,7 +15348,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 706: // field_or_method_access ::= new_expr access_operator + case 708: // field_or_method_access ::= new_expr access_operator { VariableBase RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15326,7 +15370,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 707: // variable ::= field_or_method_access + case 709: // variable ::= field_or_method_access { VariableBase RESULT =null; int accleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15340,7 +15384,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 708: // variable ::= base_variable_with_function_calls + case 710: // variable ::= base_variable_with_function_calls { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15354,7 +15398,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 709: // variable_properties ::= variable_properties variable_property + case 711: // variable_properties ::= variable_properties variable_property { List RESULT =null; int variablesleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15372,7 +15416,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 710: // variable_properties ::= + case 712: // variable_properties ::= { List RESULT =null; @@ -15383,7 +15427,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 711: // variable_property ::= T_OBJECT_OPERATOR object_property method_or_not array_access_or_not + case 713: // variable_property ::= T_OBJECT_OPERATOR object_property method_or_not array_access_or_not { Pair RESULT =null; int memberPropertyleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15403,7 +15447,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 712: // variable_property ::= T_NULLSAFE_OBJECT_OPERATOR object_property method_or_not array_access_or_not + case 714: // variable_property ::= T_NULLSAFE_OBJECT_OPERATOR object_property method_or_not array_access_or_not { Pair RESULT =null; int memberPropertyleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15423,7 +15467,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 713: // variable_property ::= T_PAAMAYIM_NEKUDOTAYIM static_property method_or_not array_access_or_not + case 715: // variable_property ::= T_PAAMAYIM_NEKUDOTAYIM static_property method_or_not array_access_or_not { Pair RESULT =null; int memberPropertyleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15443,7 +15487,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 714: // method_or_not ::= T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 716: // method_or_not ::= T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { List RESULT =null; int paramsListleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15457,7 +15501,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 715: // method_or_not ::= + case 717: // method_or_not ::= { List RESULT =null; @@ -15468,7 +15512,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 716: // array_dimension ::= T_OPEN_RECT dim_offset T_CLOSE_RECT + case 718: // array_dimension ::= T_OPEN_RECT dim_offset T_CLOSE_RECT { ArrayDimension RESULT =null; int oleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15488,7 +15532,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 717: // array_dimension ::= T_CURLY_OPEN dim_offset T_CURLY_CLOSE + case 719: // array_dimension ::= T_CURLY_OPEN dim_offset T_CURLY_CLOSE { ArrayDimension RESULT =null; int oleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15508,7 +15552,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 718: // array_dimension_with_static_scalar_value ::= T_OPEN_RECT static_scalar_value T_CLOSE_RECT + case 720: // array_dimension_with_static_scalar_value ::= T_OPEN_RECT static_scalar_value T_CLOSE_RECT { ArrayDimension RESULT =null; int oleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15528,7 +15572,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 719: // array_dimension_with_static_scalar_value ::= T_CURLY_OPEN static_scalar_value T_CURLY_CLOSE + case 721: // array_dimension_with_static_scalar_value ::= T_CURLY_OPEN static_scalar_value T_CURLY_CLOSE { ArrayDimension RESULT =null; int oleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15548,7 +15592,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 720: // array_access_or_not ::= array_dimension + case 722: // array_access_or_not ::= array_dimension { List RESULT =null; int adleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15564,7 +15608,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 721: // array_access_or_not ::= array_access_or_not array_dimension + case 723: // array_access_or_not ::= array_access_or_not array_dimension { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15582,7 +15626,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 722: // array_access_or_not ::= + case 724: // array_access_or_not ::= { List RESULT =null; @@ -15593,7 +15637,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 723: // variable_without_objects ::= reference_variable + case 725: // variable_without_objects ::= reference_variable { Variable RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15607,7 +15651,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 724: // variable_without_objects ::= simple_indirect_reference reference_variable + case 726: // variable_without_objects ::= simple_indirect_reference reference_variable { Variable RESULT =null; int ref_countleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15630,7 +15674,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 725: // static_member ::= class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects + case 727: // static_member ::= class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15647,7 +15691,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 726: // static_member ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects + case 728: // static_member ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { VariableBase RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15664,7 +15708,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 727: // variable_class_name ::= reference_variable + case 729: // variable_class_name ::= reference_variable { Variable RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15678,7 +15722,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 728: // base_variable_with_function_calls ::= base_variable + case 730: // base_variable_with_function_calls ::= base_variable { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15690,7 +15734,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 729: // base_variable_with_function_calls ::= function_call + case 731: // base_variable_with_function_calls ::= function_call { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15702,7 +15746,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 730: // expression_array_access ::= constant_array_access + case 732: // expression_array_access ::= constant_array_access { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15716,7 +15760,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 731: // expression_array_access ::= T_ENCAPSED_AND_WHITESPACE array_dimension + case 733: // expression_array_access ::= T_ENCAPSED_AND_WHITESPACE array_dimension { Expression RESULT =null; int strleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15733,7 +15777,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 732: // expression_array_access ::= T_CONSTANT_ENCAPSED_STRING array_dimension + case 734: // expression_array_access ::= T_CONSTANT_ENCAPSED_STRING array_dimension { Expression RESULT =null; int strleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15750,7 +15794,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 733: // constant_array_access ::= constant_array_access array_dimension + case 735: // constant_array_access ::= constant_array_access array_dimension { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15767,7 +15811,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 734: // constant_array_access ::= T_STRING array_dimension + case 736: // constant_array_access ::= T_STRING array_dimension { Expression RESULT =null; int constantNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15784,7 +15828,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 735: // constant_array_access ::= namespace_name_access array_dimension + case 737: // constant_array_access ::= namespace_name_access array_dimension { Expression RESULT =null; int namespaceleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15801,7 +15845,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 736: // array_creation_with_access ::= array_creation array_dimension + case 738: // array_creation_with_access ::= array_creation array_dimension { VariableBase RESULT =null; int arrleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15818,7 +15862,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 737: // array_creation_with_access ::= array_creation_with_access array_dimension + case 739: // array_creation_with_access ::= array_creation_with_access array_dimension { VariableBase RESULT =null; int accleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15835,7 +15879,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 738: // array_creation ::= T_ARRAY T_OPEN_PARENTHESE array_pair_list T_CLOSE_PARENTHESE + case 740: // array_creation ::= T_ARRAY T_OPEN_PARENTHESE array_pair_list T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -15856,7 +15900,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 739: // array_creation ::= T_OPEN_RECT array_pair_list T_CLOSE_RECT + case 741: // array_creation ::= T_OPEN_RECT array_pair_list T_CLOSE_RECT { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15877,7 +15921,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 740: // base_variable ::= reference_variable + case 742: // base_variable ::= reference_variable { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15891,7 +15935,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 741: // base_variable ::= base_variable_without_reference_variable + case 743: // base_variable ::= base_variable_without_reference_variable { VariableBase RESULT =null; int variableleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -15905,7 +15949,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 742: // base_variable_without_reference_variable ::= T_OPEN_PARENTHESE anonymous_class T_CLOSE_PARENTHESE + case 744: // base_variable_without_reference_variable ::= T_OPEN_PARENTHESE anonymous_class T_CLOSE_PARENTHESE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -15925,7 +15969,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 743: // base_variable_without_reference_variable ::= T_OPEN_PARENTHESE T_NEW class_name_reference ctor_arguments T_CLOSE_PARENTHESE + case 745: // base_variable_without_reference_variable ::= T_OPEN_PARENTHESE T_NEW class_name_reference ctor_arguments T_CLOSE_PARENTHESE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -15952,7 +15996,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 744: // base_variable_without_reference_variable ::= T_OPEN_PARENTHESE T_CLONE expr T_CLOSE_PARENTHESE + case 746: // base_variable_without_reference_variable ::= T_OPEN_PARENTHESE T_CLONE expr T_CLOSE_PARENTHESE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -15976,7 +16020,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 745: // base_variable_without_reference_variable ::= simple_indirect_reference reference_variable + case 747: // base_variable_without_reference_variable ::= simple_indirect_reference reference_variable { VariableBase RESULT =null; int ref_countleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -15999,7 +16043,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 746: // base_variable_without_reference_variable ::= static_member + case 748: // base_variable_without_reference_variable ::= static_member { VariableBase RESULT =null; int staticFieldAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16013,7 +16057,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 747: // base_variable_without_reference_variable ::= array_creation_with_access + case 749: // base_variable_without_reference_variable ::= array_creation_with_access { VariableBase RESULT =null; int arrayCreationWithAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16027,7 +16071,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 748: // base_variable_without_reference_variable ::= dereferencable_variable + case 750: // base_variable_without_reference_variable ::= dereferencable_variable { VariableBase RESULT =null; int dereferencableVariableleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16041,7 +16085,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 749: // dereferencable_variable ::= T_OPEN_PARENTHESE variable T_CLOSE_PARENTHESE + case 751: // dereferencable_variable ::= T_OPEN_PARENTHESE variable T_CLOSE_PARENTHESE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16061,7 +16105,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 750: // dereferencable_variable ::= parenthesis_expr array_dimension + case 752: // dereferencable_variable ::= parenthesis_expr array_dimension { VariableBase RESULT =null; int peleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16080,7 +16124,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 751: // dereferencable_variable ::= T_OPEN_PARENTHESE T_NEW class_name_reference ctor_arguments T_CLOSE_PARENTHESE array_dimension + case 753: // dereferencable_variable ::= T_OPEN_PARENTHESE T_NEW class_name_reference ctor_arguments T_CLOSE_PARENTHESE array_dimension { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -16111,7 +16155,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 752: // dereferencable_variable ::= new_expr array_dimension + case 754: // dereferencable_variable ::= new_expr array_dimension { VariableBase RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16130,7 +16174,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 753: // dereferencable_variable ::= dereferencable_variable array_dimension + case 755: // dereferencable_variable ::= dereferencable_variable array_dimension { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16147,7 +16191,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 754: // reference_variable ::= reference_variable array_dimension + case 756: // reference_variable ::= reference_variable array_dimension { Variable RESULT =null; int varNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16165,7 +16209,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 755: // reference_variable ::= compound_variable + case 757: // reference_variable ::= compound_variable { Variable RESULT =null; int comp_varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16177,7 +16221,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 756: // compound_variable ::= tracked_variable + case 758: // compound_variable ::= tracked_variable { Variable RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16189,7 +16233,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 757: // compound_variable ::= T_DOLLAR T_CURLY_OPEN expr T_CURLY_CLOSE + case 759: // compound_variable ::= T_DOLLAR T_CURLY_OPEN expr T_CURLY_CLOSE { Variable RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -16210,7 +16254,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 758: // dim_offset ::= + case 760: // dim_offset ::= { Expression RESULT =null; @@ -16221,7 +16265,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 759: // dim_offset ::= expr + case 761: // dim_offset ::= expr { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16235,7 +16279,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 760: // static_property ::= variable_without_objects + case 762: // static_property ::= variable_without_objects { Expression RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16249,7 +16293,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 761: // static_property ::= static_reference_constant + case 763: // static_property ::= static_reference_constant { Expression RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16263,7 +16307,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 762: // static_property ::= T_CURLY_OPEN expr T_CURLY_CLOSE + case 764: // static_property ::= T_CURLY_OPEN expr T_CURLY_CLOSE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16284,7 +16328,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 763: // object_property ::= object_dim_list + case 765: // object_property ::= object_dim_list { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16298,7 +16342,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 764: // object_property ::= variable_without_objects + case 766: // object_property ::= variable_without_objects { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16312,7 +16356,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 765: // object_dim_list ::= object_dim_list array_dimension + case 767: // object_dim_list ::= object_dim_list array_dimension { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16330,7 +16374,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 766: // object_dim_list ::= variable_name + case 768: // object_dim_list ::= variable_name { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16342,7 +16386,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 767: // variable_name ::= string_st + case 769: // variable_name ::= string_st { VariableBase RESULT =null; int varNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16356,7 +16400,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 768: // variable_name ::= T_CURLY_OPEN expr T_CURLY_CLOSE + case 770: // variable_name ::= T_CURLY_OPEN expr T_CURLY_CLOSE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16376,7 +16420,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 769: // simple_indirect_reference ::= T_DOLLAR + case 771: // simple_indirect_reference ::= T_DOLLAR { Integer RESULT =null; @@ -16387,7 +16431,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 770: // simple_indirect_reference ::= simple_indirect_reference T_DOLLAR + case 772: // simple_indirect_reference ::= simple_indirect_reference T_DOLLAR { Integer RESULT =null; int refleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16401,7 +16445,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 771: // array_pair_list ::= non_empty_array_pair_list + case 773: // array_pair_list ::= non_empty_array_pair_list { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16415,7 +16459,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 772: // non_empty_array_pair_list ::= non_empty_array_pair_list T_COMMA possible_array_pair + case 774: // non_empty_array_pair_list ::= non_empty_array_pair_list T_COMMA possible_array_pair { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16435,7 +16479,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 773: // non_empty_array_pair_list ::= possible_array_pair + case 775: // non_empty_array_pair_list ::= possible_array_pair { List RESULT =null; int pairleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16453,7 +16497,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 774: // possible_array_pair ::= + case 776: // possible_array_pair ::= { ArrayElement RESULT =null; @@ -16464,7 +16508,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 775: // possible_array_pair ::= array_pair + case 777: // possible_array_pair ::= array_pair { ArrayElement RESULT =null; int pairleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16478,7 +16522,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 776: // array_pair ::= expr T_DOUBLE_ARROW expr + case 778: // array_pair ::= expr T_DOUBLE_ARROW expr { ArrayElement RESULT =null; int keyleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16496,7 +16540,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 777: // array_pair ::= expr + case 779: // array_pair ::= expr { ArrayElement RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16511,7 +16555,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 778: // array_pair ::= T_ELLIPSIS expr + case 780: // array_pair ::= T_ELLIPSIS expr { ArrayElement RESULT =null; int ellleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16531,7 +16575,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 779: // array_pair ::= expr T_DOUBLE_ARROW ampersand w_variable + case 781: // array_pair ::= expr T_DOUBLE_ARROW ampersand w_variable { ArrayElement RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -16553,7 +16597,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 780: // array_pair ::= ampersand w_variable + case 782: // array_pair ::= ampersand w_variable { ArrayElement RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16572,7 +16616,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 781: // array_pair ::= expr T_DOUBLE_ARROW T_LIST T_OPEN_PARENTHESE array_pair_list T_CLOSE_PARENTHESE + case 783: // array_pair ::= expr T_DOUBLE_ARROW T_LIST T_OPEN_PARENTHESE array_pair_list T_CLOSE_PARENTHESE { ArrayElement RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -16597,7 +16641,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 782: // array_pair ::= T_LIST T_OPEN_PARENTHESE array_pair_list T_CLOSE_PARENTHESE + case 784: // array_pair ::= T_LIST T_OPEN_PARENTHESE array_pair_list T_CLOSE_PARENTHESE { ArrayElement RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -16619,7 +16663,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 783: // encaps_list ::= encaps_list encaps_var + case 785: // encaps_list ::= encaps_list encaps_var { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16637,7 +16681,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 784: // encaps_list ::= encaps_list T_ENCAPSED_AND_WHITESPACE + case 786: // encaps_list ::= encaps_list T_ENCAPSED_AND_WHITESPACE { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16656,7 +16700,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 785: // encaps_list ::= + case 787: // encaps_list ::= { List RESULT =null; @@ -16667,7 +16711,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 786: // encaps_var ::= tracked_variable + case 788: // encaps_var ::= tracked_variable { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16681,7 +16725,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 787: // encaps_var ::= tracked_variable T_OPEN_RECT encaps_var_offset T_CLOSE_RECT + case 789: // encaps_var ::= tracked_variable T_OPEN_RECT encaps_var_offset T_CLOSE_RECT { VariableBase RESULT =null; int varNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -16705,7 +16749,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 788: // encaps_var ::= tracked_variable T_OBJECT_OPERATOR string_st + case 790: // encaps_var ::= tracked_variable T_OBJECT_OPERATOR string_st { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16724,7 +16768,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 789: // encaps_var ::= tracked_variable T_NULLSAFE_OBJECT_OPERATOR string_st + case 791: // encaps_var ::= tracked_variable T_NULLSAFE_OBJECT_OPERATOR string_st { VariableBase RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16743,7 +16787,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 790: // encaps_var ::= T_DOLLAR_OPEN_CURLY_BRACES expr T_CURLY_CLOSE + case 792: // encaps_var ::= T_DOLLAR_OPEN_CURLY_BRACES expr T_CURLY_CLOSE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16764,7 +16808,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 791: // encaps_var ::= T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME T_OPEN_RECT expr T_CLOSE_RECT T_CURLY_CLOSE + case 793: // encaps_var ::= T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME T_OPEN_RECT expr T_CLOSE_RECT T_CURLY_CLOSE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-5)).left; @@ -16795,7 +16839,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 792: // encaps_var ::= T_CURLY_OPEN_WITH_DOLAR variable T_CURLY_CLOSE + case 794: // encaps_var ::= T_CURLY_OPEN_WITH_DOLAR variable T_CURLY_CLOSE { VariableBase RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -16816,7 +16860,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 793: // encaps_var_offset ::= string_st + case 795: // encaps_var_offset ::= string_st { Expression RESULT =null; int stringleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16831,7 +16875,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 794: // encaps_var_offset ::= T_NUM_STRING + case 796: // encaps_var_offset ::= T_NUM_STRING { Expression RESULT =null; int numleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16846,7 +16890,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 795: // encaps_var_offset ::= tracked_variable + case 797: // encaps_var_offset ::= tracked_variable { Expression RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -16860,7 +16904,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 796: // internal_functions_in_yacc ::= T_ISSET T_OPEN_PARENTHESE isset_variables possible_comma T_CLOSE_PARENTHESE + case 798: // internal_functions_in_yacc ::= T_ISSET T_OPEN_PARENTHESE isset_variables possible_comma T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -16883,7 +16927,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 797: // internal_functions_in_yacc ::= T_EMPTY T_OPEN_PARENTHESE variable T_CLOSE_PARENTHESE + case 799: // internal_functions_in_yacc ::= T_EMPTY T_OPEN_PARENTHESE variable T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -16908,7 +16952,20 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 798: // internal_functions_in_yacc ::= T_EMPTY T_OPEN_PARENTHESE expr_without_variable T_CLOSE_PARENTHESE +default: +throw new Exception("Invalid action number found in internal parse table"); +} +} +public final java_cup.runtime.Symbol fakeMethod800to899( +int CUP$ASTPHP5Parser$act_num, +java_cup.runtime.lr_parser CUP$ASTPHP5Parser$parser, +java.util.Stack CUP$ASTPHP5Parser$stack, +int CUP$ASTPHP5Parser$top) +throws java.lang.Exception +{ +java_cup.runtime.Symbol CUP$ASTPHP5Parser$result; +switch (CUP$ASTPHP5Parser$act_num) { + case 800: // internal_functions_in_yacc ::= T_EMPTY T_OPEN_PARENTHESE expr_without_variable T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -16933,7 +16990,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 799: // internal_functions_in_yacc ::= T_INCLUDE expr + case 801: // internal_functions_in_yacc ::= T_INCLUDE expr { Expression RESULT =null; int includeleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16951,20 +17008,7 @@ public final java_cup.runtime.Symbol fakeMethod700to799( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ -default: -throw new Exception("Invalid action number found in internal parse table"); -} -} -public final java_cup.runtime.Symbol fakeMethod800to899( -int CUP$ASTPHP5Parser$act_num, -java_cup.runtime.lr_parser CUP$ASTPHP5Parser$parser, -java.util.Stack CUP$ASTPHP5Parser$stack, -int CUP$ASTPHP5Parser$top) -throws java.lang.Exception -{ -java_cup.runtime.Symbol CUP$ASTPHP5Parser$result; -switch (CUP$ASTPHP5Parser$act_num) { - case 800: // internal_functions_in_yacc ::= T_INCLUDE_ONCE expr + case 802: // internal_functions_in_yacc ::= T_INCLUDE_ONCE expr { Expression RESULT =null; int includeleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -16982,7 +17026,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 801: // internal_functions_in_yacc ::= T_EVAL T_OPEN_PARENTHESE expr T_CLOSE_PARENTHESE + case 803: // internal_functions_in_yacc ::= T_EVAL T_OPEN_PARENTHESE expr T_CLOSE_PARENTHESE { Expression RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-3)).left; @@ -17007,7 +17051,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 802: // internal_functions_in_yacc ::= T_REQUIRE expr + case 804: // internal_functions_in_yacc ::= T_REQUIRE expr { Expression RESULT =null; int includeleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -17025,7 +17069,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 803: // internal_functions_in_yacc ::= T_REQUIRE_ONCE expr + case 805: // internal_functions_in_yacc ::= T_REQUIRE_ONCE expr { Expression RESULT =null; int includeleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -17043,7 +17087,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 804: // isset_variables ::= isset_variable + case 806: // isset_variables ::= isset_variable { List RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17059,7 +17103,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 805: // isset_variables ::= isset_variables T_COMMA isset_variable + case 807: // isset_variables ::= isset_variables T_COMMA isset_variable { List RESULT =null; int varListleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -17077,7 +17121,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 806: // isset_variable ::= variable + case 808: // isset_variable ::= variable { Expression RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17091,7 +17135,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 807: // isset_variable ::= expression_array_access + case 809: // isset_variable ::= expression_array_access { Expression RESULT =null; int arrayAccessleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17105,7 +17149,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 808: // isset_variable ::= class_name T_PAAMAYIM_NEKUDOTAYIM constant_array_access + case 810: // isset_variable ::= class_name T_PAAMAYIM_NEKUDOTAYIM constant_array_access { Expression RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -17122,7 +17166,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 809: // isset_variable ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM constant_array_access + case 811: // isset_variable ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM constant_array_access { Expression RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -17139,7 +17183,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 810: // class_constant ::= enum_constant + case 812: // class_constant ::= enum_constant { StaticConstantAccess RESULT =null; int constantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17153,7 +17197,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 811: // class_constant ::= class_constant array_dimension + case 813: // class_constant ::= class_constant array_dimension { StaticConstantAccess RESULT =null; int constantleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left; @@ -17173,7 +17217,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 812: // enum_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier + case 814: // enum_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM identifier { StaticConstantAccess RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -17190,7 +17234,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 813: // enum_constant ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier + case 815: // enum_constant ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier { StaticConstantAccess RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -17207,7 +17251,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 814: // enum_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE + case 816: // enum_constant ::= class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE { StaticConstantAccess RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -17231,7 +17275,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 815: // enum_constant ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE + case 817: // enum_constant ::= variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE { StaticConstantAccess RESULT =null; int classNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -17255,7 +17299,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 816: // enum_constant ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM identifier + case 818: // enum_constant ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM identifier { StaticConstantAccess RESULT =null; int enumConstleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; @@ -17273,7 +17317,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 817: // enum_constant ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE + case 819: // enum_constant ::= enum_constant T_PAAMAYIM_NEKUDOTAYIM T_CURLY_OPEN expr T_CURLY_CLOSE { StaticConstantAccess RESULT =null; int enumConstleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -17297,7 +17341,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 818: // tracked_variable ::= T_VARIABLE + case 820: // tracked_variable ::= T_VARIABLE { Variable RESULT =null; int varNameleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17311,7 +17355,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 819: // optional_tracked_variable ::= + case 821: // optional_tracked_variable ::= { Variable RESULT =null; @@ -17322,7 +17366,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 820: // optional_tracked_variable ::= tracked_variable + case 822: // optional_tracked_variable ::= tracked_variable { Variable RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17336,7 +17380,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 821: // string_st ::= T_STRING + case 823: // string_st ::= T_STRING { String RESULT =null; int valueleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17348,7 +17392,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 822: // string_st ::= T_DEFINE + case 824: // string_st ::= T_DEFINE { String RESULT =null; int valueleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17360,7 +17404,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 823: // anonymous_class ::= T_NEW T_CLASS ctor_arguments extends_from implements_list T_CURLY_OPEN class_statement_list T_CURLY_CLOSE + case 825: // anonymous_class ::= T_NEW T_CLASS ctor_arguments extends_from implements_list T_CURLY_OPEN class_statement_list T_CURLY_CLOSE { ClassInstanceCreation RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-7)).left; @@ -17398,7 +17442,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 824: // anonymous_class ::= T_NEW attributes T_CLASS ctor_arguments extends_from implements_list T_CURLY_OPEN class_statement_list T_CURLY_CLOSE + case 826: // anonymous_class ::= T_NEW attributes T_CLASS ctor_arguments extends_from implements_list T_CURLY_OPEN class_statement_list T_CURLY_CLOSE { ClassInstanceCreation RESULT =null; int startleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-8)).left; @@ -17439,7 +17483,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 825: // new_expr ::= T_NEW class_name_reference T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE + case 827: // new_expr ::= T_NEW class_name_reference T_OPEN_PARENTHESE function_call_parameter_list T_CLOSE_PARENTHESE { Expression RESULT =null; int nleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -17462,7 +17506,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 826: // new_expr ::= anonymous_class + case 828: // new_expr ::= anonymous_class { Expression RESULT =null; int anonleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left; @@ -17476,7 +17520,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 827: // access_operator ::= T_OBJECT_OPERATOR + case 829: // access_operator ::= T_OBJECT_OPERATOR { ASTPHP5Parser.Access RESULT =null; @@ -17487,7 +17531,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 828: // access_operator ::= T_NULLSAFE_OBJECT_OPERATOR + case 830: // access_operator ::= T_NULLSAFE_OBJECT_OPERATOR { ASTPHP5Parser.Access RESULT =null; @@ -17498,7 +17542,7 @@ public final java_cup.runtime.Symbol fakeMethod800to899( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 829: // access_operator ::= T_PAAMAYIM_NEKUDOTAYIM + case 831: // access_operator ::= T_PAAMAYIM_NEKUDOTAYIM { ASTPHP5Parser.Access RESULT =null; diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java index ae959431b161..f6156232a013 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 2025/01/12 8:53 */ +/* The following code was generated by JFlex 1.4.1 on 12/23/25, 9:12 AM */ /* * Licensed to the Apache Software Foundation (ASF) under one @@ -34,9 +34,9 @@ /** * This class is a scanner generated by - * JFlex 1.4.3 - * on 2025/01/12 8:53 from the specification file - * /home/junichi11/NetBeansProjects/netbeans/php/php.editor/tools/ASTPHP5Scanner.flex + * JFlex 1.4.1 + * on 12/23/25, 9:12 AM from the specification file + * /home/bhaidu/BHA/Netbeans/Projects/netbeans/php/php.editor/tools/ASTPHP5Scanner.flex */ public class ASTPHP5Scanner implements Scanner { @@ -47,36 +47,24 @@ public class ASTPHP5Scanner implements Scanner { private static final int ZZ_BUFFERSIZE = 16384; /** lexical states */ - public static final int ST_DOCBLOCK = 28; - public static final int ST_END_HEREDOC = 12; - public static final int ST_DOUBLE_QUOTES = 4; - public static final int ST_LOOKING_FOR_VARNAME = 22; - public static final int ST_LOOKING_FOR_PROPERTY = 20; - public static final int ST_IN_SHORT_ECHO = 32; - public static final int ST_END_NOWDOC = 18; - public static final int ST_COMMENT = 26; - public static final int ST_ONE_LINE_COMMENT = 30; - public static final int ST_HALTED_COMPILER = 34; - public static final int ST_START_NOWDOC = 16; - public static final int ST_VAR_OFFSET = 24; - public static final int ST_IN_SCRIPTING = 2; - public static final int ST_HEREDOC = 8; + public static final int ST_DOCBLOCK = 14; + public static final int ST_END_HEREDOC = 6; + public static final int ST_DOUBLE_QUOTES = 2; + public static final int ST_LOOKING_FOR_VARNAME = 11; + public static final int ST_LOOKING_FOR_PROPERTY = 10; + public static final int ST_IN_SHORT_ECHO = 16; + public static final int ST_END_NOWDOC = 9; + public static final int ST_COMMENT = 13; + public static final int ST_ONE_LINE_COMMENT = 15; + public static final int ST_HALTED_COMPILER = 17; + public static final int ST_START_NOWDOC = 8; + public static final int ST_VAR_OFFSET = 12; + public static final int ST_IN_SCRIPTING = 1; + public static final int ST_HEREDOC = 4; public static final int YYINITIAL = 0; - public static final int ST_NOWDOC = 14; - public static final int ST_START_HEREDOC = 10; - public static final int ST_BACKQUOTE = 6; - - /** - * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l - * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l - * at the beginning of a line - * l is of the form l = 2*k, k a non negative integer - */ - private static final int ZZ_LEXSTATE[] = { - 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, - 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, - 16, 16, 17, 17 - }; + public static final int ST_NOWDOC = 7; + public static final int ST_START_HEREDOC = 5; + public static final int ST_BACKQUOTE = 3; /** * Translates characters to character classes @@ -101,64 +89,64 @@ public class ASTPHP5Scanner implements Scanner { "\2\15\7\0\2\15\12\20\3\15\2\0\1\15\20\0\1\15\1\0"+ "\36\15\35\0\131\15\13\0\1\15\16\0\12\20\41\15\11\0\2\15"+ "\4\0\1\15\5\0\26\15\4\0\1\15\11\0\1\15\3\0\1\15"+ - "\27\0\31\15\7\0\13\15\65\0\25\15\1\0\22\15\74\0\66\15"+ - "\3\0\1\15\22\0\1\15\7\0\12\15\4\0\12\20\1\0\20\15"+ - "\4\0\10\15\2\0\2\15\2\0\26\15\1\0\7\15\1\0\1\15"+ - "\3\0\4\15\3\0\1\15\20\0\1\15\15\0\2\15\1\0\3\15"+ - "\4\0\12\20\2\15\12\0\1\15\10\0\6\15\4\0\2\15\2\0"+ - "\26\15\1\0\7\15\1\0\2\15\1\0\2\15\1\0\2\15\37\0"+ - "\4\15\1\0\1\15\7\0\12\20\2\0\3\15\20\0\11\15\1\0"+ - "\3\15\1\0\26\15\1\0\7\15\1\0\2\15\1\0\5\15\3\0"+ - "\1\15\22\0\1\15\17\0\2\15\4\0\12\20\11\0\1\15\13\0"+ - "\10\15\2\0\2\15\2\0\26\15\1\0\7\15\1\0\2\15\1\0"+ - "\5\15\3\0\1\15\36\0\2\15\1\0\3\15\4\0\12\20\1\0"+ - "\1\15\21\0\1\15\1\0\6\15\3\0\3\15\1\0\4\15\3\0"+ - "\2\15\1\0\1\15\1\0\2\15\3\0\2\15\3\0\3\15\3\0"+ - "\14\15\26\0\1\15\25\0\12\20\25\0\10\15\1\0\3\15\1\0"+ - "\27\15\1\0\20\15\3\0\1\15\32\0\3\15\5\0\2\15\4\0"+ - "\12\20\20\0\1\15\4\0\10\15\1\0\3\15\1\0\27\15\1\0"+ - "\12\15\1\0\5\15\3\0\1\15\40\0\1\15\1\0\2\15\4\0"+ - "\12\20\1\0\2\15\21\0\11\15\1\0\3\15\1\0\51\15\2\0"+ - "\1\15\20\0\1\15\5\0\3\15\10\0\3\15\4\0\12\20\12\0"+ - "\6\15\5\0\22\15\3\0\30\15\1\0\11\15\1\0\1\15\2\0"+ - "\7\15\37\0\12\20\21\0\60\15\1\0\2\15\14\0\7\15\11\0"+ - "\12\20\47\0\2\15\1\0\1\15\1\0\5\15\1\0\30\15\1\0"+ - "\1\15\1\0\12\15\1\0\2\15\11\0\1\15\2\0\5\15\1\0"+ - "\1\15\11\0\12\20\2\0\4\15\40\0\1\15\37\0\12\20\26\0"+ - "\10\15\1\0\44\15\33\0\5\15\163\0\53\15\24\0\1\15\12\20"+ - "\6\0\6\15\4\0\4\15\3\0\1\15\3\0\2\15\7\0\3\15"+ - "\4\0\15\15\14\0\1\15\1\0\12\20\6\0\46\15\1\0\1\15"+ - "\5\0\1\15\2\0\53\15\1\0\u014d\15\1\0\4\15\2\0\7\15"+ - "\1\0\1\15\1\0\4\15\2\0\51\15\1\0\4\15\2\0\41\15"+ - "\1\0\4\15\2\0\7\15\1\0\1\15\1\0\4\15\2\0\17\15"+ - "\1\0\71\15\1\0\4\15\2\0\103\15\45\0\20\15\20\0\126\15"+ - "\2\0\6\15\3\0\u026c\15\2\0\21\15\1\0\32\15\5\0\113\15"+ - "\6\0\10\15\7\0\15\15\1\0\4\15\16\0\22\15\16\0\22\15"+ - "\16\0\15\15\1\0\3\15\17\0\64\15\43\0\1\15\4\0\1\15"+ - "\3\0\12\20\46\0\12\20\6\0\131\15\7\0\5\15\2\0\42\15"+ - "\1\0\1\15\5\0\106\15\12\0\37\15\47\0\12\20\36\15\2\0"+ - "\5\15\13\0\54\15\4\0\32\15\6\0\12\20\46\0\27\15\11\0"+ - "\65\15\53\0\12\20\6\0\12\20\15\0\1\15\135\0\57\15\21\0"+ - "\7\15\4\0\12\20\51\0\36\15\15\0\2\15\12\20\54\15\32\0"+ - "\44\15\34\0\12\20\3\0\3\15\12\20\44\15\2\0\11\15\7\0"+ - "\53\15\2\0\3\15\51\0\4\15\1\0\6\15\1\0\2\15\3\0"+ - "\1\15\5\0\300\15\100\0\u0116\15\2\0\6\15\2\0\46\15\2\0"+ - "\6\15\2\0\10\15\1\0\1\15\1\0\1\15\1\0\1\15\1\0"+ - "\37\15\2\0\65\15\1\0\7\15\1\0\1\15\3\0\3\15\1\0"+ - "\7\15\3\0\4\15\2\0\6\15\4\0\15\15\5\0\3\15\1\0"+ - "\7\15\164\0\1\15\15\0\1\15\20\0\15\15\145\0\1\15\4\0"+ - "\1\15\2\0\12\15\1\0\1\15\3\0\5\15\6\0\1\15\1\0"+ - "\1\15\1\0\1\15\1\0\4\15\1\0\13\15\2\0\4\15\5\0"+ - "\5\15\4\0\1\15\64\0\2\15\u0a7b\0\57\15\1\0\57\15\1\0"+ - "\205\15\6\0\4\15\3\0\2\15\14\0\46\15\1\0\1\15\5\0"+ - "\1\15\2\0\70\15\7\0\1\15\20\0\27\15\11\0\7\15\1\0"+ + "\27\0\31\15\7\0\13\15\5\0\30\15\1\0\6\15\21\0\52\15"+ + "\72\0\66\15\3\0\1\15\22\0\1\15\7\0\12\15\4\0\12\20"+ + "\1\0\20\15\4\0\10\15\2\0\2\15\2\0\26\15\1\0\7\15"+ + "\1\0\1\15\3\0\4\15\3\0\1\15\20\0\1\15\15\0\2\15"+ + "\1\0\3\15\4\0\12\20\2\15\12\0\1\15\10\0\6\15\4\0"+ + "\2\15\2\0\26\15\1\0\7\15\1\0\2\15\1\0\2\15\1\0"+ + "\2\15\37\0\4\15\1\0\1\15\7\0\12\20\2\0\3\15\20\0"+ + "\11\15\1\0\3\15\1\0\26\15\1\0\7\15\1\0\2\15\1\0"+ + "\5\15\3\0\1\15\22\0\1\15\17\0\2\15\4\0\12\20\11\0"+ + "\1\15\13\0\10\15\2\0\2\15\2\0\26\15\1\0\7\15\1\0"+ + "\2\15\1\0\5\15\3\0\1\15\36\0\2\15\1\0\3\15\4\0"+ + "\12\20\1\0\1\15\21\0\1\15\1\0\6\15\3\0\3\15\1\0"+ + "\4\15\3\0\2\15\1\0\1\15\1\0\2\15\3\0\2\15\3\0"+ + "\3\15\3\0\14\15\26\0\1\15\25\0\12\20\25\0\10\15\1\0"+ + "\3\15\1\0\27\15\1\0\20\15\3\0\1\15\32\0\3\15\2\0"+ + "\1\15\2\0\2\15\4\0\12\20\20\0\1\15\4\0\10\15\1\0"+ + "\3\15\1\0\27\15\1\0\12\15\1\0\5\15\3\0\1\15\37\0"+ + "\2\15\1\0\2\15\4\0\12\20\1\0\2\15\21\0\11\15\1\0"+ + "\3\15\1\0\51\15\2\0\1\15\20\0\1\15\5\0\3\15\10\0"+ + "\3\15\4\0\12\20\12\0\6\15\5\0\22\15\3\0\30\15\1\0"+ + "\11\15\1\0\1\15\2\0\7\15\37\0\12\20\21\0\60\15\1\0"+ + "\2\15\14\0\7\15\11\0\12\20\47\0\2\15\1\0\1\15\1\0"+ + "\5\15\1\0\30\15\1\0\1\15\1\0\12\15\1\0\2\15\11\0"+ + "\1\15\2\0\5\15\1\0\1\15\11\0\12\20\2\0\4\15\40\0"+ + "\1\15\37\0\12\20\26\0\10\15\1\0\44\15\33\0\5\15\163\0"+ + "\53\15\24\0\1\15\12\20\6\0\6\15\4\0\4\15\3\0\1\15"+ + "\3\0\2\15\7\0\3\15\4\0\15\15\14\0\1\15\1\0\12\20"+ + "\6\0\46\15\1\0\1\15\5\0\1\15\2\0\53\15\1\0\u014d\15"+ + "\1\0\4\15\2\0\7\15\1\0\1\15\1\0\4\15\2\0\51\15"+ + "\1\0\4\15\2\0\41\15\1\0\4\15\2\0\7\15\1\0\1\15"+ + "\1\0\4\15\2\0\17\15\1\0\71\15\1\0\4\15\2\0\103\15"+ + "\45\0\20\15\20\0\126\15\2\0\6\15\3\0\u026c\15\2\0\21\15"+ + "\1\0\32\15\5\0\113\15\6\0\10\15\7\0\22\15\15\0\23\15"+ + "\16\0\22\15\16\0\15\15\1\0\3\15\17\0\64\15\43\0\1\15"+ + "\4\0\1\15\3\0\12\20\46\0\12\20\6\0\131\15\7\0\5\15"+ + "\2\0\42\15\1\0\1\15\5\0\106\15\12\0\37\15\47\0\12\20"+ + "\36\15\2\0\5\15\13\0\54\15\4\0\32\15\6\0\12\20\46\0"+ + "\27\15\11\0\65\15\53\0\12\20\6\0\12\20\15\0\1\15\135\0"+ + "\57\15\21\0\10\15\3\0\12\20\51\0\36\15\15\0\2\15\12\20"+ + "\54\15\32\0\44\15\34\0\12\20\3\0\3\15\12\20\44\15\2\0"+ + "\11\15\7\0\53\15\2\0\3\15\51\0\4\15\1\0\6\15\1\0"+ + "\2\15\3\0\1\15\5\0\300\15\100\0\u0116\15\2\0\6\15\2\0"+ + "\46\15\2\0\6\15\2\0\10\15\1\0\1\15\1\0\1\15\1\0"+ + "\1\15\1\0\37\15\2\0\65\15\1\0\7\15\1\0\1\15\3\0"+ + "\3\15\1\0\7\15\3\0\4\15\2\0\6\15\4\0\15\15\5\0"+ + "\3\15\1\0\7\15\164\0\1\15\15\0\1\15\20\0\15\15\145\0"+ + "\1\15\4\0\1\15\2\0\12\15\1\0\1\15\3\0\5\15\6\0"+ + "\1\15\1\0\1\15\1\0\1\15\1\0\4\15\1\0\13\15\2\0"+ + "\4\15\5\0\5\15\4\0\1\15\64\0\2\15\u0a7b\0\345\15\6\0"+ + "\4\15\3\0\2\15\14\0\46\15\1\0\1\15\5\0\1\15\2\0"+ + "\70\15\7\0\1\15\20\0\27\15\11\0\7\15\1\0\7\15\1\0"+ "\7\15\1\0\7\15\1\0\7\15\1\0\7\15\1\0\7\15\1\0"+ - "\7\15\1\0\7\15\120\0\1\15\u01d5\0\2\15\52\0\5\15\5\0"+ - "\2\15\4\0\126\15\6\0\3\15\1\0\132\15\1\0\4\15\5\0"+ - "\53\15\1\0\136\15\21\0\40\15\60\0\20\15\u0200\0\u19c0\15\100\0"+ - "\u51fd\15\3\0\u048d\15\103\0\56\15\2\0\u010d\15\3\0\20\15\12\20"+ - "\2\15\24\0\57\15\20\0\37\15\2\0\106\15\61\0\11\15\2\0"+ - "\147\15\2\0\65\15\2\0\11\15\52\0\15\15\1\0\3\15\1\0"+ + "\7\15\120\0\1\15\u01d5\0\2\15\52\0\5\15\5\0\2\15\4\0"+ + "\126\15\6\0\3\15\1\0\132\15\1\0\4\15\5\0\53\15\1\0"+ + "\136\15\21\0\40\15\60\0\20\15\u0200\0\u19c0\15\100\0\u568d\15\103\0"+ + "\56\15\2\0\u010d\15\3\0\20\15\12\20\2\15\24\0\57\15\20\0"+ + "\37\15\2\0\106\15\61\0\11\15\2\0\147\15\2\0\100\15\5\0"+ + "\2\15\1\0\1\15\1\0\5\15\30\0\20\15\1\0\3\15\1\0"+ "\4\15\1\0\27\15\35\0\64\15\16\0\62\15\34\0\12\20\30\0"+ "\6\15\3\0\1\15\1\0\2\15\1\0\12\20\34\15\12\0\27\15"+ "\31\0\35\15\7\0\57\15\34\0\1\15\12\20\6\0\5\15\1\0"+ @@ -205,44 +193,45 @@ public class ASTPHP5Scanner implements Scanner { "\10\4\1\120\1\121\1\122\1\123\1\124\1\0\1\125"+ "\1\126\1\127\1\4\12\0\1\130\1\131\1\130\1\132"+ "\1\0\1\133\1\134\1\135\1\136\1\17\1\137\1\140"+ - "\2\0\1\141\1\142\1\143\1\144\1\145\1\146\4\0"+ - "\2\110\2\147\1\150\1\151\1\147\3\0\1\110\3\152"+ - "\3\0\1\153\1\0\2\154\1\0\1\53\3\0\1\155"+ - "\1\0\1\54\2\156\1\0\1\56\1\0\1\157\2\0"+ - "\1\160\2\0\1\161\2\0\1\162\1\163\1\164\2\0"+ - "\1\101\1\0\10\4\1\165\1\0\1\166\10\4\2\101"+ - "\1\167\1\170\1\4\1\171\2\4\2\0\1\172\6\4"+ - "\1\173\3\4\1\174\1\175\2\4\1\176\2\4\1\177"+ - "\24\4\1\200\1\201\2\125\1\202\1\203\12\0\1\204"+ - "\1\205\1\206\2\0\1\207\1\0\1\210\1\0\2\140"+ - "\1\0\1\211\1\0\1\211\1\44\1\211\1\46\1\212"+ - "\1\0\1\213\1\0\1\153\1\155\1\214\2\160\1\215"+ - "\2\0\20\4\1\216\1\217\1\4\1\220\23\4\1\221"+ - "\13\4\1\222\2\4\1\223\5\4\17\0\1\224\3\0"+ - "\1\44\1\46\1\212\2\0\12\4\1\225\4\4\1\0"+ - "\1\4\1\226\1\4\1\227\1\230\4\4\1\231\1\4"+ - "\1\232\1\233\4\4\1\234\2\4\1\235\1\236\2\4"+ - "\1\237\1\240\1\241\5\4\1\242\1\243\1\244\3\4"+ - "\1\245\1\4\6\0\1\246\5\0\2\247\5\0\3\250"+ - "\2\251\1\0\13\4\1\252\2\4\3\253\1\254\7\4"+ - "\1\255\7\4\1\256\1\257\1\4\1\260\1\4\1\0"+ - "\1\261\1\262\2\4\3\0\1\263\6\0\1\264\6\0"+ - "\1\4\1\265\7\4\1\266\4\4\2\0\2\4\1\267"+ - "\3\4\1\270\1\271\1\272\1\273\5\4\1\274\2\0"+ - "\1\4\1\275\1\276\4\0\1\277\2\300\4\0\1\4"+ - "\1\301\3\4\1\302\5\4\1\303\2\0\1\304\5\4"+ - "\1\305\1\4\1\306\1\307\1\310\1\4\2\0\1\4"+ - "\1\0\1\311\1\312\5\0\1\313\2\4\1\314\4\4"+ - "\1\315\2\0\1\316\1\4\1\317\2\4\1\320\1\4"+ - "\2\0\1\321\10\0\2\4\1\322\1\4\1\323\1\324"+ - "\2\0\1\4\1\325\1\326\1\0\1\4\1\327\15\0"+ - "\3\4\2\0\1\4\1\330\1\4\1\331\14\0\1\332"+ - "\2\4\1\333\1\0\1\334\1\335\1\0\1\336\4\0"+ - "\1\337\4\0\1\340\1\4\12\0\1\4\1\341\2\0"+ - "\1\342\2\0\1\4\7\0\1\343\7\0\1\77\1\0"; + "\2\0\1\141\1\142\1\143\1\144\1\145\1\146\1\147"+ + "\4\0\2\110\2\150\1\151\1\152\1\150\3\0\1\110"+ + "\3\153\3\0\1\154\1\0\2\155\1\0\1\53\3\0"+ + "\1\156\1\0\1\54\2\157\1\0\1\56\1\0\1\160"+ + "\2\0\1\161\2\0\1\162\2\0\1\163\1\164\1\165"+ + "\2\0\1\101\1\0\10\4\1\166\1\0\1\167\10\4"+ + "\2\101\1\170\1\171\1\4\1\172\2\4\2\0\1\173"+ + "\6\4\1\174\3\4\1\175\1\176\2\4\1\177\2\4"+ + "\1\200\24\4\1\201\1\202\2\125\1\203\1\204\12\0"+ + "\1\205\1\206\1\207\2\0\1\210\1\0\1\211\1\0"+ + "\2\140\1\0\1\212\1\0\1\212\1\44\1\212\1\46"+ + "\1\213\1\0\1\214\1\0\1\154\1\156\1\215\2\161"+ + "\1\216\2\0\20\4\1\217\1\220\1\4\1\221\23\4"+ + "\1\222\13\4\1\223\2\4\1\224\5\4\17\0\1\225"+ + "\3\0\1\44\1\46\1\213\2\0\12\4\1\226\4\4"+ + "\1\0\1\4\1\227\1\4\1\230\1\231\4\4\1\232"+ + "\1\4\1\233\1\234\4\4\1\235\2\4\1\236\1\237"+ + "\2\4\1\240\1\241\1\242\5\4\1\243\1\244\1\245"+ + "\3\4\1\246\1\4\6\0\1\247\5\0\2\250\5\0"+ + "\3\251\2\252\1\0\13\4\1\253\2\4\3\254\1\255"+ + "\7\4\1\256\7\4\1\257\1\260\1\4\1\261\1\4"+ + "\1\0\1\262\1\263\2\4\3\0\1\264\6\0\1\265"+ + "\6\0\1\4\1\266\7\4\1\267\4\4\2\0\2\4"+ + "\1\270\3\4\1\271\1\272\1\273\1\274\5\4\1\275"+ + "\2\0\1\4\1\276\1\277\4\0\1\300\2\301\4\0"+ + "\1\4\1\302\3\4\1\303\5\4\1\304\2\0\1\305"+ + "\5\4\1\306\1\4\1\307\1\310\1\311\1\4\2\0"+ + "\1\4\1\0\1\312\1\313\5\0\1\314\2\4\1\315"+ + "\4\4\1\316\2\0\1\317\1\4\1\320\2\4\1\321"+ + "\1\4\2\0\1\322\10\0\2\4\1\323\1\4\1\324"+ + "\1\325\2\0\1\4\1\326\1\327\1\0\1\4\1\330"+ + "\15\0\3\4\2\0\1\4\1\331\1\4\1\332\14\0"+ + "\1\333\2\4\1\334\1\0\1\335\1\336\1\0\1\337"+ + "\4\0\1\340\4\0\1\341\1\4\12\0\1\4\1\342"+ + "\2\0\1\343\2\0\1\4\7\0\1\344\7\0\1\77"+ + "\1\0"; private static int [] zzUnpackAction() { - int [] result = new int[873]; + int [] result = new int[874]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; @@ -299,87 +288,87 @@ private static int zzUnpackAction(String packed, int offset, int [] result) { "\0\u2f08\0\u2f4e\0\u2f94\0\u2fda\0\u0fdc\0\u3020\0\u3066\0\u30ac"+ "\0\u30f2\0\u3138\0\u317e\0\u31c4\0\u320a\0\u0578\0\u3250\0\u3296"+ "\0\u0578\0\u32dc\0\u0578\0\u3322\0\u0578\0\u0578\0\u3368\0\u33ae"+ - "\0\u33f4\0\u0578\0\u0578\0\u0578\0\u0578\0\u0578\0\u0578\0\u343a"+ - "\0\u12de\0\u3480\0\u34c6\0\u350c\0\u3552\0\u3480\0\u0578\0\u0578"+ - "\0\u0578\0\u34c6\0\u13f6\0\u3598\0\u35de\0\u3624\0\u3598\0\u0578"+ - "\0\u35de\0\u366a\0\u36b0\0\u36f6\0\u373c\0\u3782\0\u166c\0\u0578"+ - "\0\u16b2\0\u0578\0\u173e\0\u17ca\0\u1784\0\u37c8\0\u1810\0\u380e"+ - "\0\u189c\0\u0578\0\u18e2\0\u0578\0\u196e\0\u0578\0\u3854\0\u389a"+ - "\0\u38e0\0\u3926\0\u396c\0\u0578\0\u1c2a\0\u39b2\0\u0578\0\u0578"+ - "\0\u0578\0\u39f8\0\u3a3e\0\u3a84\0\u3aca\0\u3b10\0\u3b56\0\u3b9c"+ - "\0\u3be2\0\u3c28\0\u3c6e\0\u3cb4\0\u3cfa\0\u3d40\0\u3d86\0\u0578"+ - "\0\u3dcc\0\u3e12\0\u3e58\0\u3e9e\0\u3ee4\0\u3f2a\0\u3f70\0\u3fb6"+ - "\0\u3ffc\0\u4042\0\u4088\0\u087a\0\u40ce\0\u087a\0\u4114\0\u415a"+ - "\0\u41a0\0\u08c0\0\u0578\0\u41e6\0\u422c\0\u4272\0\u42b8\0\u42fe"+ - "\0\u4344\0\u087a\0\u438a\0\u43d0\0\u4416\0\u087a\0\u445c\0\u44a2"+ - "\0\u44e8\0\u087a\0\u452e\0\u4574\0\u087a\0\u45ba\0\u4600\0\u4646"+ - "\0\u468c\0\u46d2\0\u4718\0\u475e\0\u47a4\0\u47ea\0\u4830\0\u4876"+ - "\0\u48bc\0\u4902\0\u4948\0\u498e\0\u49d4\0\u4a1a\0\u4a60\0\u4aa6"+ - "\0\u4aec\0\u0578\0\u0578\0\u0578\0\u4b32\0\u0578\0\u087a\0\u4b78"+ - "\0\u4bbe\0\u4c04\0\u4c4a\0\u4c90\0\u4cd6\0\u4d1c\0\u4d62\0\u4da8"+ - "\0\u4dee\0\u0578\0\u0578\0\u0578\0\u4e34\0\u4e7a\0\u0578\0\u4ec0"+ - "\0\u4f06\0\u4f4c\0\u0578\0\u4f92\0\u4fd8\0\u0578\0\u501e\0\u1298"+ - "\0\u5064\0\u13b0\0\u50aa\0\u50f0\0\u5136\0\u0578\0\u517c\0\u0578"+ - "\0\u0578\0\u0578\0\u51c2\0\u5208\0\u0578\0\u524e\0\u5294\0\u52da"+ - "\0\u5320\0\u5366\0\u53ac\0\u53f2\0\u5438\0\u547e\0\u54c4\0\u550a"+ - "\0\u5550\0\u5596\0\u55dc\0\u5622\0\u5668\0\u56ae\0\u56f4\0\u087a"+ - "\0\u573a\0\u5780\0\u087a\0\u57c6\0\u580c\0\u5852\0\u5898\0\u58de"+ - "\0\u5924\0\u596a\0\u59b0\0\u59f6\0\u5a3c\0\u5a82\0\u5ac8\0\u5b0e"+ - "\0\u5b54\0\u5b9a\0\u5be0\0\u5c26\0\u5c6c\0\u5cb2\0\u087a\0\u5cf8"+ - "\0\u5d3e\0\u5d84\0\u5dca\0\u5e10\0\u5e56\0\u5e9c\0\u5ee2\0\u5f28"+ - "\0\u5f6e\0\u5fb4\0\u087a\0\u5ffa\0\u6040\0\u087a\0\u6086\0\u60cc"+ - "\0\u6112\0\u6158\0\u619e\0\u61e4\0\u622a\0\u6270\0\u62b6\0\u62fc"+ - "\0\u6342\0\u6388\0\u63ce\0\u6414\0\u645a\0\u64a0\0\u64e6\0\u652c"+ - "\0\u6572\0\u65b8\0\u0578\0\u65fe\0\u6644\0\u668a\0\u66d0\0\u6716"+ - "\0\u0578\0\u675c\0\u67a2\0\u67e8\0\u682e\0\u6874\0\u68ba\0\u6900"+ - "\0\u6946\0\u698c\0\u69d2\0\u6a18\0\u6a5e\0\u087a\0\u6aa4\0\u6aea"+ - "\0\u6b30\0\u6b76\0\u6bbc\0\u6c02\0\u087a\0\u6c48\0\u087a\0\u087a"+ - "\0\u6c8e\0\u6cd4\0\u6d1a\0\u6d60\0\u087a\0\u6da6\0\u087a\0\u087a"+ - "\0\u6dec\0\u6e32\0\u6e78\0\u6ebe\0\u6f04\0\u6f4a\0\u6f90\0\u087a"+ - "\0\u087a\0\u6fd6\0\u701c\0\u087a\0\u087a\0\u087a\0\u7062\0\u70a8"+ - "\0\u70ee\0\u7134\0\u717a\0\u71c0\0\u087a\0\u087a\0\u7206\0\u724c"+ - "\0\u7292\0\u087a\0\u72d8\0\u731e\0\u7364\0\u73aa\0\u73f0\0\u7436"+ - "\0\u747c\0\u0578\0\u74c2\0\u7508\0\u754e\0\u7594\0\u75da\0\u0578"+ - "\0\u7620\0\u7666\0\u76ac\0\u76f2\0\u7738\0\u777e\0\u0578\0\u1298"+ - "\0\u13b0\0\u0578\0\u77c4\0\u780a\0\u7850\0\u7896\0\u78dc\0\u7922"+ - "\0\u7968\0\u79ae\0\u79f4\0\u7a3a\0\u7a80\0\u7ac6\0\u7b0c\0\u7b52"+ - "\0\u7b98\0\u7bde\0\u0578\0\u7c24\0\u7c6a\0\u087a\0\u7cb0\0\u7cf6"+ - "\0\u7d3c\0\u7d82\0\u7dc8\0\u7e0e\0\u7e54\0\u087a\0\u7e9a\0\u7ee0"+ - "\0\u7f26\0\u7f6c\0\u7fb2\0\u7ff8\0\u803e\0\u087a\0\u087a\0\u8084"+ - "\0\u087a\0\u80ca\0\u8110\0\u087a\0\u8156\0\u819c\0\u81e2\0\u8228"+ - "\0\u826e\0\u82b4\0\u0578\0\u82fa\0\u8340\0\u8386\0\u83cc\0\u8412"+ - "\0\u8458\0\u0578\0\u849e\0\u84e4\0\u852a\0\u8570\0\u85b6\0\u85fc"+ - "\0\u8642\0\u087a\0\u8688\0\u86ce\0\u8714\0\u875a\0\u87a0\0\u87e6"+ - "\0\u882c\0\u087a\0\u8872\0\u88b8\0\u88fe\0\u8944\0\u898a\0\u89d0"+ - "\0\u8a16\0\u8a5c\0\u8aa2\0\u8ae8\0\u8b2e\0\u8b74\0\u087a\0\u087a"+ - "\0\u087a\0\u087a\0\u8bba\0\u8c00\0\u8c46\0\u8c8c\0\u8cd2\0\u8d18"+ - "\0\u8d5e\0\u8da4\0\u8dea\0\u8e30\0\u0578\0\u8e76\0\u8ebc\0\u8f02"+ - "\0\u8f48\0\u0578\0\u0578\0\u8f8e\0\u8fd4\0\u901a\0\u9060\0\u90a6"+ - "\0\u90ec\0\u087a\0\u9132\0\u9178\0\u91be\0\u087a\0\u9204\0\u924a"+ - "\0\u9290\0\u92d6\0\u931c\0\u087a\0\u9362\0\u93a8\0\u087a\0\u93ee"+ - "\0\u9434\0\u947a\0\u94c0\0\u9506\0\u087a\0\u954c\0\u087a\0\u087a"+ - "\0\u087a\0\u9592\0\u95d8\0\u961e\0\u9664\0\u96aa\0\u0578\0\u0578"+ - "\0\u96f0\0\u9736\0\u977c\0\u97c2\0\u9808\0\u087a\0\u984e\0\u9894"+ - "\0\u087a\0\u98da\0\u9920\0\u9966\0\u99ac\0\u087a\0\u99f2\0\u9a38"+ - "\0\u087a\0\u9a7e\0\u087a\0\u9ac4\0\u9b0a\0\u9b50\0\u9b96\0\u9bdc"+ - "\0\u9c22\0\u9c68\0\u9cae\0\u9cf4\0\u9d3a\0\u9d80\0\u9dc6\0\u9e0c"+ - "\0\u9e52\0\u9e98\0\u9ede\0\u9f24\0\u087a\0\u9f6a\0\u087a\0\u087a"+ - "\0\u9fb0\0\u9ff6\0\ua03c\0\u087a\0\u087a\0\ua082\0\ua0c8\0\u0578"+ - "\0\ua10e\0\ua154\0\ua19a\0\ua1e0\0\ua226\0\ua26c\0\ua2b2\0\ua2f8"+ - "\0\ua33e\0\ua384\0\ua3ca\0\ua410\0\ua456\0\ua49c\0\ua4e2\0\ua528"+ - "\0\ua56e\0\ua5b4\0\ua5fa\0\ua640\0\ua686\0\u0578\0\ua6cc\0\ua712"+ - "\0\ua758\0\ua79e\0\ua7e4\0\ua82a\0\ua870\0\ua8b6\0\ua8fc\0\ua942"+ - "\0\ua988\0\ua9ce\0\u087a\0\uaa14\0\uaa5a\0\u0578\0\uaaa0\0\u087a"+ - "\0\u087a\0\uaae6\0\u0578\0\uab2c\0\uab72\0\uabb8\0\uabfe\0\u0578"+ - "\0\uac44\0\uac8a\0\uacd0\0\uad16\0\u087a\0\uad5c\0\uada2\0\uade8"+ - "\0\uae2e\0\uae74\0\uaeba\0\uaf00\0\uaf46\0\uaf8c\0\uafd2\0\ub018"+ - "\0\ub05e\0\u0578\0\ub0a4\0\ub0ea\0\uae2e\0\ub130\0\ub176\0\ub1bc"+ - "\0\ub202\0\ub248\0\ub28e\0\ub2d4\0\ub31a\0\ub360\0\ub3a6\0\u0578"+ - "\0\ub3ec\0\ub432\0\ub478\0\ub4be\0\ub504\0\ub54a\0\ub590\0\u0578"+ - "\0\ub5d6"; + "\0\u33f4\0\u0578\0\u0578\0\u0578\0\u0578\0\u0578\0\u0578\0\u0578"+ + "\0\u343a\0\u12de\0\u3480\0\u34c6\0\u350c\0\u3552\0\u3480\0\u0578"+ + "\0\u0578\0\u0578\0\u34c6\0\u13f6\0\u3598\0\u35de\0\u3624\0\u3598"+ + "\0\u0578\0\u35de\0\u366a\0\u36b0\0\u36f6\0\u373c\0\u3782\0\u166c"+ + "\0\u0578\0\u16b2\0\u0578\0\u173e\0\u17ca\0\u1784\0\u37c8\0\u1810"+ + "\0\u380e\0\u189c\0\u0578\0\u18e2\0\u0578\0\u196e\0\u0578\0\u3854"+ + "\0\u389a\0\u38e0\0\u3926\0\u396c\0\u0578\0\u1c2a\0\u39b2\0\u0578"+ + "\0\u0578\0\u0578\0\u39f8\0\u3a3e\0\u3a84\0\u3aca\0\u3b10\0\u3b56"+ + "\0\u3b9c\0\u3be2\0\u3c28\0\u3c6e\0\u3cb4\0\u3cfa\0\u3d40\0\u3d86"+ + "\0\u0578\0\u3dcc\0\u3e12\0\u3e58\0\u3e9e\0\u3ee4\0\u3f2a\0\u3f70"+ + "\0\u3fb6\0\u3ffc\0\u4042\0\u4088\0\u087a\0\u40ce\0\u087a\0\u4114"+ + "\0\u415a\0\u41a0\0\u08c0\0\u0578\0\u41e6\0\u422c\0\u4272\0\u42b8"+ + "\0\u42fe\0\u4344\0\u087a\0\u438a\0\u43d0\0\u4416\0\u087a\0\u445c"+ + "\0\u44a2\0\u44e8\0\u087a\0\u452e\0\u4574\0\u087a\0\u45ba\0\u4600"+ + "\0\u4646\0\u468c\0\u46d2\0\u4718\0\u475e\0\u47a4\0\u47ea\0\u4830"+ + "\0\u4876\0\u48bc\0\u4902\0\u4948\0\u498e\0\u49d4\0\u4a1a\0\u4a60"+ + "\0\u4aa6\0\u4aec\0\u0578\0\u0578\0\u0578\0\u4b32\0\u0578\0\u087a"+ + "\0\u4b78\0\u4bbe\0\u4c04\0\u4c4a\0\u4c90\0\u4cd6\0\u4d1c\0\u4d62"+ + "\0\u4da8\0\u4dee\0\u0578\0\u0578\0\u0578\0\u4e34\0\u4e7a\0\u0578"+ + "\0\u4ec0\0\u4f06\0\u4f4c\0\u0578\0\u4f92\0\u4fd8\0\u0578\0\u501e"+ + "\0\u1298\0\u5064\0\u13b0\0\u50aa\0\u50f0\0\u5136\0\u0578\0\u517c"+ + "\0\u0578\0\u0578\0\u0578\0\u51c2\0\u5208\0\u0578\0\u524e\0\u5294"+ + "\0\u52da\0\u5320\0\u5366\0\u53ac\0\u53f2\0\u5438\0\u547e\0\u54c4"+ + "\0\u550a\0\u5550\0\u5596\0\u55dc\0\u5622\0\u5668\0\u56ae\0\u56f4"+ + "\0\u087a\0\u573a\0\u5780\0\u087a\0\u57c6\0\u580c\0\u5852\0\u5898"+ + "\0\u58de\0\u5924\0\u596a\0\u59b0\0\u59f6\0\u5a3c\0\u5a82\0\u5ac8"+ + "\0\u5b0e\0\u5b54\0\u5b9a\0\u5be0\0\u5c26\0\u5c6c\0\u5cb2\0\u087a"+ + "\0\u5cf8\0\u5d3e\0\u5d84\0\u5dca\0\u5e10\0\u5e56\0\u5e9c\0\u5ee2"+ + "\0\u5f28\0\u5f6e\0\u5fb4\0\u087a\0\u5ffa\0\u6040\0\u087a\0\u6086"+ + "\0\u60cc\0\u6112\0\u6158\0\u619e\0\u61e4\0\u622a\0\u6270\0\u62b6"+ + "\0\u62fc\0\u6342\0\u6388\0\u63ce\0\u6414\0\u645a\0\u64a0\0\u64e6"+ + "\0\u652c\0\u6572\0\u65b8\0\u0578\0\u65fe\0\u6644\0\u668a\0\u66d0"+ + "\0\u6716\0\u0578\0\u675c\0\u67a2\0\u67e8\0\u682e\0\u6874\0\u68ba"+ + "\0\u6900\0\u6946\0\u698c\0\u69d2\0\u6a18\0\u6a5e\0\u087a\0\u6aa4"+ + "\0\u6aea\0\u6b30\0\u6b76\0\u6bbc\0\u6c02\0\u087a\0\u6c48\0\u087a"+ + "\0\u087a\0\u6c8e\0\u6cd4\0\u6d1a\0\u6d60\0\u087a\0\u6da6\0\u087a"+ + "\0\u087a\0\u6dec\0\u6e32\0\u6e78\0\u6ebe\0\u6f04\0\u6f4a\0\u6f90"+ + "\0\u087a\0\u087a\0\u6fd6\0\u701c\0\u087a\0\u087a\0\u087a\0\u7062"+ + "\0\u70a8\0\u70ee\0\u7134\0\u717a\0\u71c0\0\u087a\0\u087a\0\u7206"+ + "\0\u724c\0\u7292\0\u087a\0\u72d8\0\u731e\0\u7364\0\u73aa\0\u73f0"+ + "\0\u7436\0\u747c\0\u0578\0\u74c2\0\u7508\0\u754e\0\u7594\0\u75da"+ + "\0\u0578\0\u7620\0\u7666\0\u76ac\0\u76f2\0\u7738\0\u777e\0\u0578"+ + "\0\u1298\0\u13b0\0\u0578\0\u77c4\0\u780a\0\u7850\0\u7896\0\u78dc"+ + "\0\u7922\0\u7968\0\u79ae\0\u79f4\0\u7a3a\0\u7a80\0\u7ac6\0\u7b0c"+ + "\0\u7b52\0\u7b98\0\u7bde\0\u0578\0\u7c24\0\u7c6a\0\u087a\0\u7cb0"+ + "\0\u7cf6\0\u7d3c\0\u7d82\0\u7dc8\0\u7e0e\0\u7e54\0\u087a\0\u7e9a"+ + "\0\u7ee0\0\u7f26\0\u7f6c\0\u7fb2\0\u7ff8\0\u803e\0\u087a\0\u087a"+ + "\0\u8084\0\u087a\0\u80ca\0\u8110\0\u087a\0\u8156\0\u819c\0\u81e2"+ + "\0\u8228\0\u826e\0\u82b4\0\u0578\0\u82fa\0\u8340\0\u8386\0\u83cc"+ + "\0\u8412\0\u8458\0\u0578\0\u849e\0\u84e4\0\u852a\0\u8570\0\u85b6"+ + "\0\u85fc\0\u8642\0\u087a\0\u8688\0\u86ce\0\u8714\0\u875a\0\u87a0"+ + "\0\u87e6\0\u882c\0\u087a\0\u8872\0\u88b8\0\u88fe\0\u8944\0\u898a"+ + "\0\u89d0\0\u8a16\0\u8a5c\0\u8aa2\0\u8ae8\0\u8b2e\0\u8b74\0\u087a"+ + "\0\u087a\0\u087a\0\u087a\0\u8bba\0\u8c00\0\u8c46\0\u8c8c\0\u8cd2"+ + "\0\u8d18\0\u8d5e\0\u8da4\0\u8dea\0\u8e30\0\u0578\0\u8e76\0\u8ebc"+ + "\0\u8f02\0\u8f48\0\u0578\0\u0578\0\u8f8e\0\u8fd4\0\u901a\0\u9060"+ + "\0\u90a6\0\u90ec\0\u087a\0\u9132\0\u9178\0\u91be\0\u087a\0\u9204"+ + "\0\u924a\0\u9290\0\u92d6\0\u931c\0\u087a\0\u9362\0\u93a8\0\u087a"+ + "\0\u93ee\0\u9434\0\u947a\0\u94c0\0\u9506\0\u087a\0\u954c\0\u087a"+ + "\0\u087a\0\u087a\0\u9592\0\u95d8\0\u961e\0\u9664\0\u96aa\0\u0578"+ + "\0\u0578\0\u96f0\0\u9736\0\u977c\0\u97c2\0\u9808\0\u087a\0\u984e"+ + "\0\u9894\0\u087a\0\u98da\0\u9920\0\u9966\0\u99ac\0\u087a\0\u99f2"+ + "\0\u9a38\0\u087a\0\u9a7e\0\u087a\0\u9ac4\0\u9b0a\0\u9b50\0\u9b96"+ + "\0\u9bdc\0\u9c22\0\u9c68\0\u9cae\0\u9cf4\0\u9d3a\0\u9d80\0\u9dc6"+ + "\0\u9e0c\0\u9e52\0\u9e98\0\u9ede\0\u9f24\0\u087a\0\u9f6a\0\u087a"+ + "\0\u087a\0\u9fb0\0\u9ff6\0\ua03c\0\u087a\0\u087a\0\ua082\0\ua0c8"+ + "\0\u0578\0\ua10e\0\ua154\0\ua19a\0\ua1e0\0\ua226\0\ua26c\0\ua2b2"+ + "\0\ua2f8\0\ua33e\0\ua384\0\ua3ca\0\ua410\0\ua456\0\ua49c\0\ua4e2"+ + "\0\ua528\0\ua56e\0\ua5b4\0\ua5fa\0\ua640\0\ua686\0\u0578\0\ua6cc"+ + "\0\ua712\0\ua758\0\ua79e\0\ua7e4\0\ua82a\0\ua870\0\ua8b6\0\ua8fc"+ + "\0\ua942\0\ua988\0\ua9ce\0\u087a\0\uaa14\0\uaa5a\0\u0578\0\uaaa0"+ + "\0\u087a\0\u087a\0\uaae6\0\u0578\0\uab2c\0\uab72\0\uabb8\0\uabfe"+ + "\0\u0578\0\uac44\0\uac8a\0\uacd0\0\uad16\0\u087a\0\uad5c\0\uada2"+ + "\0\uade8\0\uae2e\0\uae74\0\uaeba\0\uaf00\0\uaf46\0\uaf8c\0\uafd2"+ + "\0\ub018\0\ub05e\0\u0578\0\ub0a4\0\ub0ea\0\uae2e\0\ub130\0\ub176"+ + "\0\ub1bc\0\ub202\0\ub248\0\ub28e\0\ub2d4\0\ub31a\0\ub360\0\ub3a6"+ + "\0\u0578\0\ub3ec\0\ub432\0\ub478\0\ub4be\0\ub504\0\ub54a\0\ub590"+ + "\0\u0578\0\ub5d6"; private static int [] zzUnpackRowMap() { - int [] result = new int[873]; + int [] result = new int[874]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; @@ -522,995 +511,995 @@ private static int zzUnpackRowMap(String packed, int offset, int [] result) { "\24\0\1\366\10\0\1\367\1\0\1\370\45\0\1\371"+ "\36\0\1\372\46\0\1\373\36\0\1\374\1\375\45\0"+ "\1\376\24\0\1\377\31\0\1\u0100\17\0\1\u0101\1\0"+ - "\1\u0102\4\0\1\u0103\41\0\1\u0104\43\0\1\u0105\42\0"+ - "\1\u0106\42\0\1\u0107\53\0\21\265\1\u0108\63\265\1\274"+ - "\21\117\1\u0109\3\117\1\u010a\1\0\1\117\1\u010b\165\117"+ - "\1\u010c\1\117\1\u010c\2\117\3\u010c\1\117\1\u010c\1\117"+ - "\1\u010d\2\u010c\1\117\1\u0109\3\117\1\u010e\1\u010f\1\117"+ - "\1\u0110\2\117\11\u010c\2\117\10\u010c\4\117\1\u010c\2\117"+ - "\2\u010c\15\117\1\u010c\22\117\1\u0109\3\117\1\u0111\1\u010f"+ - "\1\117\1\u0112\55\117\21\124\1\u0113\3\124\1\u0114\1\124"+ - "\1\0\1\u0115\165\124\1\u010c\1\124\1\u010c\2\124\3\u010c"+ - "\1\124\1\u010c\1\124\1\u0116\2\u010c\1\124\1\u0113\3\124"+ - "\1\u0117\1\124\1\u0118\1\u0110\2\124\11\u010c\2\124\10\u010c"+ - "\4\124\1\u010c\2\124\2\u010c\15\124\1\u010c\22\124\1\u0113"+ - "\3\124\1\u0111\1\124\1\u0118\1\u0119\55\124\21\131\1\u011a"+ - "\1\0\1\131\1\0\1\u011b\2\131\1\u011c\165\131\1\u011d"+ - "\1\131\1\u011d\2\131\3\u011d\1\131\1\u011d\1\131\3\u011d"+ - "\1\131\1\u011a\1\0\1\133\1\0\1\u011b\2\131\1\u011c"+ - "\2\131\11\u011d\2\131\10\u011d\4\131\1\u011d\2\131\2\u011d"+ - "\15\131\1\u011d\3\131\1\u011d\1\131\1\u011d\2\131\3\u011d"+ - "\1\131\1\u011d\1\131\3\u011d\1\131\1\u011a\1\u011e\1\133"+ - "\1\0\1\u011b\2\131\1\u011c\2\131\11\u011d\2\131\10\u011d"+ - "\4\131\1\u011d\2\131\2\u011d\15\131\1\u011d\1\131\2\0"+ - "\1\u010c\1\0\1\u010c\2\0\3\u010c\1\0\1\u010c\1\0"+ - "\3\u010c\10\0\1\u0110\2\0\11\u010c\2\0\10\u010c\4\0"+ - "\1\u010c\2\0\2\u010c\15\0\1\u010c\26\0\1\u0111\60\0"+ - "\22\u011f\1\u0120\1\u011f\1\u0120\61\u011f\2\0\1\u011f\1\0"+ - "\1\u011f\2\0\3\u011f\1\0\1\u011f\1\0\3\u011f\3\0"+ - "\1\u0121\7\0\11\u011f\2\0\10\u011f\4\0\1\u011f\2\0"+ - "\2\u011f\15\0\1\u011f\2\0\2\142\1\0\1\142\1\0"+ - "\13\142\10\0\1\u0122\1\0\11\142\2\0\10\142\4\0"+ - "\1\142\2\0\2\142\15\0\1\142\3\0\1\142\1\0"+ - "\1\142\2\0\3\142\1\0\1\142\1\0\3\142\3\0"+ - "\1\u0123\7\0\11\142\2\0\10\142\4\0\1\142\2\0"+ - "\2\142\15\0\1\142\1\0\22\144\1\0\1\144\1\0"+ - "\62\144\2\u0124\1\144\1\u0124\1\144\7\u0124\1\144\2\u0124"+ - "\2\144\1\0\1\144\1\0\4\144\1\u0125\1\144\11\u0124"+ - "\2\144\10\u0124\4\144\1\u0124\2\144\2\u0124\15\144\1\u0124"+ - "\3\144\1\u0126\1\144\1\u0126\2\144\3\u0126\1\144\1\u0126"+ - "\1\144\3\u0126\2\144\1\u0127\1\u0128\1\u0127\6\144\11\u0126"+ - "\2\144\10\u0126\4\144\1\u0126\2\144\2\u0126\15\144\1\u0126"+ - "\3\144\1\u0126\1\144\1\u0126\2\144\3\u0126\1\144\1\u0126"+ - "\1\144\3\u0126\2\144\1\146\1\u0128\1\u0127\6\144\11\u0126"+ - "\2\144\10\u0126\4\144\1\u0126\2\144\2\u0126\15\144\1\u0126"+ - "\1\144\22\u0129\1\u012a\1\u0129\1\u012a\61\u0129\2\0\1\u0129"+ - "\1\0\1\u0129\2\0\3\u0129\1\0\1\u0129\1\0\3\u0129"+ - "\3\0\1\u012b\7\0\11\u0129\2\0\10\u0129\4\0\1\u0129"+ - "\2\0\2\u0129\15\0\1\u0129\2\0\2\153\1\0\1\153"+ - "\1\0\13\153\10\0\1\u012c\1\0\11\153\2\0\10\153"+ - "\4\0\1\153\2\0\2\153\15\0\1\153\3\0\1\153"+ - "\1\0\1\153\2\0\3\153\1\0\1\153\1\0\3\153"+ - "\3\0\1\u012d\7\0\11\153\2\0\10\153\4\0\1\153"+ - "\2\0\2\153\15\0\1\153\2\0\2\156\1\0\1\156"+ - "\1\0\13\156\12\0\11\156\2\0\10\156\4\0\1\156"+ - "\2\0\2\156\15\0\1\156\60\0\1\u012e\104\0\1\u012f"+ - "\30\0\2\162\1\0\1\162\1\0\13\162\12\0\11\162"+ - "\2\0\10\162\4\0\1\162\2\0\2\162\15\0\1\162"+ - "\2\0\1\163\1\u0130\3\0\1\163\3\0\1\163\1\0"+ - "\1\163\72\0\2\164\1\0\1\164\1\0\13\164\12\0"+ - "\11\164\2\0\10\164\4\0\1\164\2\0\2\164\15\0"+ - "\1\164\2\0\1\u0131\1\u0130\3\0\1\u0131\1\u0132\1\0"+ - "\1\u0133\1\u0131\1\0\1\u0131\71\0\71\214\1\0\14\214"+ - "\72\0\1\u0134\13\0\71\u0135\1\u0136\105\u0135\1\u0136\1\u0137"+ - "\13\u0135\22\220\1\221\1\220\1\222\32\220\2\221\12\220"+ - "\1\221\12\220\22\0\1\221\142\0\1\u0138\26\0\60\23"+ - "\1\0\7\23\1\0\2\23\1\0\10\23\1\0\1\23"+ - "\32\0\1\u0139\22\0\1\u013a\62\0\1\u0139\114\0\1\u013b"+ - "\45\0\1\26\4\0\1\26\3\0\1\26\1\0\1\26"+ - "\72\0\1\240\2\0\1\235\1\0\1\240\3\0\1\240"+ - "\1\0\1\240\72\0\1\u013c\3\0\1\u013d\1\u013c\3\0"+ - "\1\u013c\1\0\1\u013c\41\0\1\u013d\30\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\1\40\1\u013e\1\u013f"+ - "\1\u0140\1\u0141\1\40\1\u0142\2\40\2\0\1\40\1\u0143"+ - "\1\u0144\1\u0145\4\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\3\0\1\u0146\1\0\1\u0146\2\0\3\u0146\1\0"+ - "\1\u0146\1\0\3\u0146\13\0\11\u0146\2\0\10\u0146\4\0"+ - "\1\u0146\2\0\2\u0146\15\0\1\u0146\2\0\1\240\1\u0147"+ - "\1\0\1\235\1\0\1\240\3\0\1\240\1\0\1\240"+ - "\74\0\1\u0148\103\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\u0149\1\u014a\7\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\2\40\1\u014b\2\40"+ - "\1\u014c\3\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\3\40\1\u014d\4\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\7\40\1\u014e\1\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\u014e"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\7\40\1\u014f\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\2\40"+ - "\1\u0150\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\1\u0151\2\0"+ - "\1\u0151\1\0\1\u0151\1\0\3\u0151\1\0\1\u0151\20\0"+ - "\2\u0151\2\0\1\u0151\52\0\1\u0152\3\0\1\u0152\101\0"+ - "\1\u0153\3\0\1\u0153\1\0\1\u0153\72\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\10\40\1\u0154\2\0"+ + "\1\u0102\4\0\1\u0103\41\0\1\u0104\43\0\1\u0105\24\0"+ + "\1\u0106\15\0\1\u0107\42\0\1\u0108\53\0\21\265\1\u0109"+ + "\63\265\1\274\21\117\1\u010a\3\117\1\u010b\1\0\1\117"+ + "\1\u010c\165\117\1\u010d\1\117\1\u010d\2\117\3\u010d\1\117"+ + "\1\u010d\1\117\1\u010e\2\u010d\1\117\1\u010a\3\117\1\u010f"+ + "\1\u0110\1\117\1\u0111\2\117\11\u010d\2\117\10\u010d\4\117"+ + "\1\u010d\2\117\2\u010d\15\117\1\u010d\22\117\1\u010a\3\117"+ + "\1\u0112\1\u0110\1\117\1\u0113\55\117\21\124\1\u0114\3\124"+ + "\1\u0115\1\124\1\0\1\u0116\165\124\1\u010d\1\124\1\u010d"+ + "\2\124\3\u010d\1\124\1\u010d\1\124\1\u0117\2\u010d\1\124"+ + "\1\u0114\3\124\1\u0118\1\124\1\u0119\1\u0111\2\124\11\u010d"+ + "\2\124\10\u010d\4\124\1\u010d\2\124\2\u010d\15\124\1\u010d"+ + "\22\124\1\u0114\3\124\1\u0112\1\124\1\u0119\1\u011a\55\124"+ + "\21\131\1\u011b\1\0\1\131\1\0\1\u011c\2\131\1\u011d"+ + "\165\131\1\u011e\1\131\1\u011e\2\131\3\u011e\1\131\1\u011e"+ + "\1\131\3\u011e\1\131\1\u011b\1\0\1\133\1\0\1\u011c"+ + "\2\131\1\u011d\2\131\11\u011e\2\131\10\u011e\4\131\1\u011e"+ + "\2\131\2\u011e\15\131\1\u011e\3\131\1\u011e\1\131\1\u011e"+ + "\2\131\3\u011e\1\131\1\u011e\1\131\3\u011e\1\131\1\u011b"+ + "\1\u011f\1\133\1\0\1\u011c\2\131\1\u011d\2\131\11\u011e"+ + "\2\131\10\u011e\4\131\1\u011e\2\131\2\u011e\15\131\1\u011e"+ + "\1\131\2\0\1\u010d\1\0\1\u010d\2\0\3\u010d\1\0"+ + "\1\u010d\1\0\3\u010d\10\0\1\u0111\2\0\11\u010d\2\0"+ + "\10\u010d\4\0\1\u010d\2\0\2\u010d\15\0\1\u010d\26\0"+ + "\1\u0112\60\0\22\u0120\1\u0121\1\u0120\1\u0121\61\u0120\2\0"+ + "\1\u0120\1\0\1\u0120\2\0\3\u0120\1\0\1\u0120\1\0"+ + "\3\u0120\3\0\1\u0122\7\0\11\u0120\2\0\10\u0120\4\0"+ + "\1\u0120\2\0\2\u0120\15\0\1\u0120\2\0\2\142\1\0"+ + "\1\142\1\0\13\142\10\0\1\u0123\1\0\11\142\2\0"+ + "\10\142\4\0\1\142\2\0\2\142\15\0\1\142\3\0"+ + "\1\142\1\0\1\142\2\0\3\142\1\0\1\142\1\0"+ + "\3\142\3\0\1\u0124\7\0\11\142\2\0\10\142\4\0"+ + "\1\142\2\0\2\142\15\0\1\142\1\0\22\144\1\0"+ + "\1\144\1\0\62\144\2\u0125\1\144\1\u0125\1\144\7\u0125"+ + "\1\144\2\u0125\2\144\1\0\1\144\1\0\4\144\1\u0126"+ + "\1\144\11\u0125\2\144\10\u0125\4\144\1\u0125\2\144\2\u0125"+ + "\15\144\1\u0125\3\144\1\u0127\1\144\1\u0127\2\144\3\u0127"+ + "\1\144\1\u0127\1\144\3\u0127\2\144\1\u0128\1\u0129\1\u0128"+ + "\6\144\11\u0127\2\144\10\u0127\4\144\1\u0127\2\144\2\u0127"+ + "\15\144\1\u0127\3\144\1\u0127\1\144\1\u0127\2\144\3\u0127"+ + "\1\144\1\u0127\1\144\3\u0127\2\144\1\146\1\u0129\1\u0128"+ + "\6\144\11\u0127\2\144\10\u0127\4\144\1\u0127\2\144\2\u0127"+ + "\15\144\1\u0127\1\144\22\u012a\1\u012b\1\u012a\1\u012b\61\u012a"+ + "\2\0\1\u012a\1\0\1\u012a\2\0\3\u012a\1\0\1\u012a"+ + "\1\0\3\u012a\3\0\1\u012c\7\0\11\u012a\2\0\10\u012a"+ + "\4\0\1\u012a\2\0\2\u012a\15\0\1\u012a\2\0\2\153"+ + "\1\0\1\153\1\0\13\153\10\0\1\u012d\1\0\11\153"+ + "\2\0\10\153\4\0\1\153\2\0\2\153\15\0\1\153"+ + "\3\0\1\153\1\0\1\153\2\0\3\153\1\0\1\153"+ + "\1\0\3\153\3\0\1\u012e\7\0\11\153\2\0\10\153"+ + "\4\0\1\153\2\0\2\153\15\0\1\153\2\0\2\156"+ + "\1\0\1\156\1\0\13\156\12\0\11\156\2\0\10\156"+ + "\4\0\1\156\2\0\2\156\15\0\1\156\60\0\1\u012f"+ + "\104\0\1\u0130\30\0\2\162\1\0\1\162\1\0\13\162"+ + "\12\0\11\162\2\0\10\162\4\0\1\162\2\0\2\162"+ + "\15\0\1\162\2\0\1\163\1\u0131\3\0\1\163\3\0"+ + "\1\163\1\0\1\163\72\0\2\164\1\0\1\164\1\0"+ + "\13\164\12\0\11\164\2\0\10\164\4\0\1\164\2\0"+ + "\2\164\15\0\1\164\2\0\1\u0132\1\u0131\3\0\1\u0132"+ + "\1\u0133\1\0\1\u0134\1\u0132\1\0\1\u0132\71\0\71\214"+ + "\1\0\14\214\72\0\1\u0135\13\0\71\u0136\1\u0137\105\u0136"+ + "\1\u0137\1\u0138\13\u0136\22\220\1\221\1\220\1\222\32\220"+ + "\2\221\12\220\1\221\12\220\22\0\1\221\142\0\1\u0139"+ + "\26\0\60\23\1\0\7\23\1\0\2\23\1\0\10\23"+ + "\1\0\1\23\32\0\1\u013a\22\0\1\u013b\62\0\1\u013a"+ + "\114\0\1\u013c\45\0\1\26\4\0\1\26\3\0\1\26"+ + "\1\0\1\26\72\0\1\240\2\0\1\235\1\0\1\240"+ + "\3\0\1\240\1\0\1\240\72\0\1\u013d\3\0\1\u013e"+ + "\1\u013d\3\0\1\u013d\1\0\1\u013d\41\0\1\u013e\30\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\1\40"+ + "\1\u013f\1\u0140\1\u0141\1\u0142\1\40\1\u0143\2\40\2\0"+ + "\1\40\1\u0144\1\u0145\1\u0146\4\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\3\0\1\u0147\1\0\1\u0147\2\0"+ + "\3\u0147\1\0\1\u0147\1\0\3\u0147\13\0\11\u0147\2\0"+ + "\10\u0147\4\0\1\u0147\2\0\2\u0147\15\0\1\u0147\2\0"+ + "\1\240\1\u0148\1\0\1\235\1\0\1\240\3\0\1\240"+ + "\1\0\1\240\74\0\1\u0149\103\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\1\u014a\1\u014b\7\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\2\40"+ + "\1\u014c\2\40\1\u014d\3\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\3\40\1\u014e"+ + "\4\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\7\40"+ - "\1\u0155\1\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\u0155\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\2\40\1\u0156\6\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\10\40\1\u0157\2\0"+ + "\1\u014f\1\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\u014f\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\11\40\2\0\7\40\1\u0150\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\2\40\1\u0151\10\40\1\237\11\0\11\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\u0158\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\71\0\1\u0159\16\0\2\267\1\0\1\267\1\0\13\267"+ - "\1\u015a\11\0\11\267\2\0\10\267\4\0\1\267\2\0"+ - "\2\267\15\0\1\267\2\0\2\270\1\0\1\270\1\0"+ - "\13\270\12\0\11\270\2\0\10\270\4\0\1\270\2\0"+ - "\2\270\15\0\1\270\1\0\110\271\1\0\1\271\1\0"+ - "\2\271\3\0\1\271\1\0\2\271\2\0\1\271\1\272"+ - "\3\271\1\273\1\274\1\271\1\0\2\271\11\0\2\271"+ - "\10\0\4\271\1\0\2\271\2\0\15\271\1\0\22\271"+ - "\1\272\3\271\1\0\1\274\1\271\1\275\55\271\32\0"+ - "\1\u015b\54\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\1\40\1\u015c\4\40\1\u015d\1\u015e\1\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\u015e\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\7\40"+ - "\1\u015f\1\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\u015f\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\7\40\1\u0160\4\0\1\40"+ + "\1\u0152\2\0\1\u0152\1\0\1\u0152\1\0\3\u0152\1\0"+ + "\1\u0152\20\0\2\u0152\2\0\1\u0152\52\0\1\u0153\3\0"+ + "\1\u0153\101\0\1\u0154\3\0\1\u0154\1\0\1\u0154\72\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\10\40"+ + "\1\u0155\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\7\40\1\u0156\1\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\u0156\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\2\40\1\u0157\6\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\10\40"+ + "\1\u0158\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\u0159\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\71\0\1\u015a\16\0\2\267\1\0\1\267"+ + "\1\0\13\267\1\u015b\11\0\11\267\2\0\10\267\4\0"+ + "\1\267\2\0\2\267\15\0\1\267\2\0\2\270\1\0"+ + "\1\270\1\0\13\270\12\0\11\270\2\0\10\270\4\0"+ + "\1\270\2\0\2\270\15\0\1\270\1\0\110\271\1\0"+ + "\1\271\1\0\2\271\3\0\1\271\1\0\2\271\2\0"+ + "\1\271\1\272\3\271\1\273\1\274\1\271\1\0\2\271"+ + "\11\0\2\271\10\0\4\271\1\0\2\271\2\0\15\271"+ + "\1\0\22\271\1\272\3\271\1\0\1\274\1\271\1\275"+ + "\55\271\32\0\1\u015c\54\0\2\40\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\1\40\1\u015d\4\40\1\u015e\1\u015f"+ + "\1\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\u015f\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\7\40\1\u0160\1\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\u0160\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\7\40\1\u0161"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\2\40\1\u0162\10\40\1\237\11\0"+ + "\11\40\2\0\1\u0163\7\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\10\40\1\u0164\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\2\40\1\u0161\10\40\1\237\11\0\11\40\2\0"+ - "\1\u0162\7\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\10\40\1\u0163\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\1\0\13\40\1\237\11\0\3\40\1\u0165\2\40\1\u0166"+ + "\2\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\u0167\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\3\40\1\u0164\2\40\1\u0165\2\40\2\0"+ + "\1\237\11\0\10\40\1\u0168\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\4\40\1\u0169\4\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\u0166\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\10\40\1\u0167\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\4\40"+ + "\1\u016a\4\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\4\40\1\u0168\4\40\2\0\10\40\4\0"+ + "\1\237\11\0\11\40\2\0\4\40\1\u016b\3\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\4\40\1\u0169\4\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\2\40"+ + "\1\u016c\5\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\4\40\1\u016a\3\40\4\0\1\40\2\0"+ + "\7\40\1\u016d\1\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\u016d\2\0\2\40\1\0\1\u016e\1\0"+ + "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\1\40\1\u016f\5\40\1\u0170"+ + "\1\40\2\0\1\40\1\u0171\6\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\u0170\2\0\2\40\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\4\40\1\u0172\4\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\2\40\1\u0173\2\40\1\u0174\5\40"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\2\40\1\u016b\5\40"+ + "\2\40\1\u0175\10\40\1\237\11\0\11\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\7\40\1\u016c"+ - "\1\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\u016c\2\0\2\40\1\0\1\u016d\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\40\1\u016e\5\40\1\u016f\1\40\2\0"+ - "\1\40\1\u0170\6\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\u016f\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\4\40\1\u0171\4\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\2\40\1\u0172\2\40\1\u0173\5\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\2\40\1\u0174"+ - "\10\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\1\u0176\10\40"+ + "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\40\1\0\2\40\1\u0177\10\40"+ + "\1\237\11\0\1\40\1\u0178\7\40\2\0\10\40\4\0"+ + "\1\40\2\0\1\40\1\u0179\15\0\1\40\2\0\2\40"+ + "\1\0\1\u017a\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\7\40"+ + "\1\u017b\1\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\u017b\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\1\40\1\u017c\7\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\1\u017d\10\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\1\40"+ + "\1\u017e\7\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\5\40"+ + "\1\u017f\5\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\40\1\0\3\40\1\u0180\7\40\1\237\11\0\11\40"+ + "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\40\1\0\5\40\1\u0181\5\40"+ + "\1\237\11\0\1\u0182\10\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\33\0\1\u0183\132\0\1\u0184"+ + "\50\0\1\u0185\1\0\1\u0186\113\0\1\u0187\54\0\2\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\10\40\1\u0188"+ + "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\44\0\1\u0189\55\0\1\u018a\17\0\1\u018b\63\0\1\u018c"+ + "\133\0\1\u018d\61\0\1\u018e\141\0\1\u018f\75\0\1\u0190"+ + "\102\0\1\u0191\55\0\1\u0192\133\0\1\u0193\132\0\1\u0194"+ + "\60\0\1\u0195\35\0\1\u0196\57\0\1\u0197\41\0\1\u0197"+ + "\33\0\1\u0198\75\0\3\u0199\44\0\1\u019a\10\0\1\u019b"+ + "\25\0\1\u019c\1\0\1\u019d\64\0\1\u019e\105\0\1\u0100"+ + "\17\0\1\u0101\1\0\1\u0102\60\0\106\265\2\117\1\0"+ + "\1\117\1\0\2\117\3\0\1\117\1\0\2\117\2\0"+ + "\1\117\1\u010a\3\117\1\u010f\1\u0110\1\117\1\0\2\117"+ + "\11\0\2\117\10\0\4\117\1\0\2\117\2\0\15\117"+ + "\1\0\22\117\1\u010a\3\117\1\0\1\u0110\1\117\1\u0113"+ + "\55\117\1\0\2\u010d\1\0\1\u010d\1\0\13\u010d\12\0"+ + "\11\u010d\1\0\1\u019f\10\u010d\1\u01a0\3\0\1\u010d\2\0"+ + "\2\u010d\15\0\1\u010d\1\0\1\117\2\u010e\1\117\1\u010e"+ + "\1\117\13\u010e\1\u010a\3\117\1\u010b\1\0\1\117\1\u010c"+ + "\2\117\11\u010e\1\117\1\u01a1\10\u010e\1\u01a2\3\117\1\u010e"+ + "\2\117\2\u010e\15\117\1\u010e\1\117\2\124\1\0\1\124"+ + "\1\0\2\124\3\0\1\124\1\0\2\124\2\0\1\124"+ + "\1\u0114\3\124\1\u0118\1\124\1\u0119\1\0\2\124\11\0"+ + "\2\124\10\0\4\124\1\0\2\124\2\0\15\124\1\0"+ + "\22\124\1\u0114\3\124\1\0\1\124\1\u0119\1\u011a\56\124"+ + "\2\u0117\1\124\1\u0117\1\124\13\u0117\1\u0114\3\124\1\u0115"+ + "\1\124\1\0\1\u0116\2\124\11\u0117\1\124\1\u01a3\10\u0117"+ + "\1\u01a4\3\124\1\u0117\2\124\2\u0117\15\124\1\u0117\1\124"+ + "\22\131\1\0\1\131\1\0\63\131\1\u01a5\1\131\1\u01a5"+ + "\2\131\3\u01a5\1\131\1\u01a5\2\131\2\u01a5\1\131\1\u011b"+ + "\1\0\1\131\1\0\1\u01a6\2\131\1\u01a7\2\131\11\u01a5"+ + "\2\131\10\u01a5\4\131\1\u01a5\2\131\2\u01a5\15\131\1\u01a5"+ + "\22\131\1\u011b\1\0\1\131\1\0\1\u01a7\2\131\1\u01a8"+ + "\55\131\22\u011e\1\u01a9\1\u011e\1\u01a9\61\u011e\2\0\1\u011e"+ + "\1\0\1\u011e\2\0\3\u011e\1\0\1\u011e\1\0\3\u011e"+ + "\3\0\1\u011f\7\0\11\u011e\2\0\10\u011e\4\0\1\u011e"+ + "\2\0\2\u011e\15\0\1\u011e\1\0\22\u0127\1\u01aa\1\u0127"+ + "\1\u01aa\61\u0127\2\144\1\u0127\1\144\1\u0127\2\144\3\u0127"+ + "\1\144\1\u0127\1\144\3\u0127\2\144\1\0\1\u0129\1\0"+ + "\6\144\11\u0127\2\144\10\u0127\4\144\1\u0127\2\144\2\u0127"+ + "\15\144\1\u0127\1\144\57\0\1\u01ab\27\0\1\u0132\4\0"+ + "\1\u0132\3\0\1\u0132\1\0\1\u0132\72\0\1\u0132\1\u0131"+ + "\3\0\1\u0132\3\0\1\u0132\1\0\1\u0132\72\0\1\u01ac"+ + "\2\0\1\u01ac\1\0\1\u01ac\1\0\3\u01ac\1\0\1\u01ac"+ + "\20\0\2\u01ac\2\0\1\u01ac\52\0\1\u01ad\3\0\1\u01ad"+ + "\73\0\71\u0136\1\u0137\1\u01ae\13\u0136\51\0\1\u01af\77\0"+ + "\1\u01b0\43\0\1\u013d\1\u013e\3\0\1\u013d\3\0\1\u013d"+ + "\1\0\1\u013d\72\0\1\u013d\4\0\1\u013d\3\0\1\u013d"+ + "\1\0\1\u013d\72\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\10\40\1\u01b1\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\1\u0175\10\40\2\0\10\40"+ + "\1\0\13\40\1\237\11\0\1\u01b2\10\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\2\40\1\u0176\10\40\1\237\11\0"+ - "\1\40\1\u0177\7\40\2\0\10\40\4\0\1\40\2\0"+ - "\1\40\1\u0178\15\0\1\40\2\0\2\40\1\0\1\u0179"+ - "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\1\u01b3\4\40"+ + "\1\u01b4\3\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\2\40"+ + "\1\u01b5\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\7\40\1\u017a\1\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\u017a"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\1\40"+ + "\1\u01b6\6\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\1\40\1\u017b\7\40\2\0\10\40\4\0\1\40\2\0"+ + "\1\u01b7\10\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\u01b8\1\0\13\40"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\u017c\10\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\1\40\1\u017d\7\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\5\40\1\u017e\5\40"+ + "\2\40\1\u01b9\10\40\1\237\11\0\11\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\u0147"+ + "\1\0\1\u0147\1\0\13\u0147\1\237\11\0\11\u0147\2\0"+ + "\10\u0147\4\0\1\u0147\2\0\2\u0147\15\0\1\u0147\2\0"+ + "\1\240\4\0\1\240\3\0\1\240\1\0\1\240\72\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\1\40"+ + "\1\u0167\7\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\u01ba\1\0\13\40"+ "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\3\40\1\u017f\7\40\1\237\11\0\11\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\5\40\1\u0180\5\40\1\237\11\0"+ - "\1\u0181\10\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\33\0\1\u0182\132\0\1\u0183\50\0\1\u0184"+ - "\1\0\1\u0185\113\0\1\u0186\54\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\10\40\1\u0187\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\44\0\1\u0188"+ - "\55\0\1\u0189\17\0\1\u018a\63\0\1\u018b\133\0\1\u018c"+ - "\61\0\1\u018d\141\0\1\u018e\75\0\1\u018f\102\0\1\u0190"+ - "\55\0\1\u0191\133\0\1\u0192\132\0\1\u0193\60\0\1\u0194"+ - "\35\0\1\u0195\57\0\1\u0196\41\0\1\u0196\33\0\1\u0197"+ - "\75\0\3\u0198\44\0\1\u0199\10\0\1\u019a\25\0\1\u019b"+ - "\1\0\1\u019c\64\0\1\u019d\105\0\1\u0100\17\0\1\u0101"+ - "\1\0\1\u0102\60\0\106\265\2\117\1\0\1\117\1\0"+ - "\2\117\3\0\1\117\1\0\2\117\2\0\1\117\1\u0109"+ - "\3\117\1\u010e\1\u010f\1\117\1\0\2\117\11\0\2\117"+ - "\10\0\4\117\1\0\2\117\2\0\15\117\1\0\22\117"+ - "\1\u0109\3\117\1\0\1\u010f\1\117\1\u0112\55\117\1\0"+ - "\2\u010c\1\0\1\u010c\1\0\13\u010c\12\0\11\u010c\1\0"+ - "\1\u019e\10\u010c\1\u019f\3\0\1\u010c\2\0\2\u010c\15\0"+ - "\1\u010c\1\0\1\117\2\u010d\1\117\1\u010d\1\117\13\u010d"+ - "\1\u0109\3\117\1\u010a\1\0\1\117\1\u010b\2\117\11\u010d"+ - "\1\117\1\u01a0\10\u010d\1\u01a1\3\117\1\u010d\2\117\2\u010d"+ - "\15\117\1\u010d\1\117\2\124\1\0\1\124\1\0\2\124"+ - "\3\0\1\124\1\0\2\124\2\0\1\124\1\u0113\3\124"+ - "\1\u0117\1\124\1\u0118\1\0\2\124\11\0\2\124\10\0"+ - "\4\124\1\0\2\124\2\0\15\124\1\0\22\124\1\u0113"+ - "\3\124\1\0\1\124\1\u0118\1\u0119\56\124\2\u0116\1\124"+ - "\1\u0116\1\124\13\u0116\1\u0113\3\124\1\u0114\1\124\1\0"+ - "\1\u0115\2\124\11\u0116\1\124\1\u01a2\10\u0116\1\u01a3\3\124"+ - "\1\u0116\2\124\2\u0116\15\124\1\u0116\1\124\22\131\1\0"+ - "\1\131\1\0\63\131\1\u01a4\1\131\1\u01a4\2\131\3\u01a4"+ - "\1\131\1\u01a4\2\131\2\u01a4\1\131\1\u011a\1\0\1\131"+ - "\1\0\1\u01a5\2\131\1\u01a6\2\131\11\u01a4\2\131\10\u01a4"+ - "\4\131\1\u01a4\2\131\2\u01a4\15\131\1\u01a4\22\131\1\u011a"+ - "\1\0\1\131\1\0\1\u01a6\2\131\1\u01a7\55\131\22\u011d"+ - "\1\u01a8\1\u011d\1\u01a8\61\u011d\2\0\1\u011d\1\0\1\u011d"+ - "\2\0\3\u011d\1\0\1\u011d\1\0\3\u011d\3\0\1\u011e"+ - "\7\0\11\u011d\2\0\10\u011d\4\0\1\u011d\2\0\2\u011d"+ - "\15\0\1\u011d\1\0\22\u0126\1\u01a9\1\u0126\1\u01a9\61\u0126"+ - "\2\144\1\u0126\1\144\1\u0126\2\144\3\u0126\1\144\1\u0126"+ - "\1\144\3\u0126\2\144\1\0\1\u0128\1\0\6\144\11\u0126"+ - "\2\144\10\u0126\4\144\1\u0126\2\144\2\u0126\15\144\1\u0126"+ - "\1\144\57\0\1\u01aa\27\0\1\u0131\4\0\1\u0131\3\0"+ - "\1\u0131\1\0\1\u0131\72\0\1\u0131\1\u0130\3\0\1\u0131"+ - "\3\0\1\u0131\1\0\1\u0131\72\0\1\u01ab\2\0\1\u01ab"+ - "\1\0\1\u01ab\1\0\3\u01ab\1\0\1\u01ab\20\0\2\u01ab"+ - "\2\0\1\u01ab\52\0\1\u01ac\3\0\1\u01ac\73\0\71\u0135"+ - "\1\u0136\1\u01ad\13\u0135\51\0\1\u01ae\77\0\1\u01af\43\0"+ - "\1\u013c\1\u013d\3\0\1\u013c\3\0\1\u013c\1\0\1\u013c"+ - "\72\0\1\u013c\4\0\1\u013c\3\0\1\u013c\1\0\1\u013c"+ - "\72\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\10\40\1\u01b0\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\u01b1\10\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\1\u01b2\4\40\1\u01b3\3\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\2\40\1\u01b4\10\40"+ + "\13\40\1\237\11\0\1\u01bb\1\40\1\u01bc\1\u01bd\3\40"+ + "\1\u01be\1\40\2\0\4\40\1\u01bf\3\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\u01be\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\2\40\1\u01c0"+ + "\5\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\5\40\1\u01c1\5\40\1\237"+ + "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\u01c2\1\0\13\40"+ "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\1\40\1\u01b5\6\40"+ + "\13\40\1\237\11\0\1\40\1\u01c3\7\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\1\u01b6\10\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\u01b7\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\2\40\1\u01b8"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\1\40\1\u01c4\6\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\1\u0152\1\253\1\0\1\u0152\1\0\1\u0152"+ + "\1\0\3\u0152\1\0\1\u0152\20\0\2\u0152\2\0\1\u0152"+ + "\46\0\1\254\3\0\1\u0153\3\0\1\u0153\75\0\1\255"+ + "\3\0\1\u0154\3\0\1\u0154\1\0\1\u0154\72\0\2\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\1\40\1\u01c5"+ + "\7\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\2\40\1\u01c6"+ "\10\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\u0146\1\0\1\u0146"+ - "\1\0\13\u0146\1\237\11\0\11\u0146\2\0\10\u0146\4\0"+ - "\1\u0146\2\0\2\u0146\15\0\1\u0146\2\0\1\240\4\0"+ - "\1\240\3\0\1\240\1\0\1\240\72\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\1\40\1\u0166\7\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\2\40\1\u01c7\10\40\1\237\11\0\11\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\71\0"+ + "\1\u0196\16\0\2\40\1\0\1\u01c8\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\11\40\2\0\1\40\1\u01c9\6\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\1\40\1\u01ca\7\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\u01b9\1\0\13\40\1\237\11\0"+ + "\2\0\2\40\1\0\1\u01cb\1\0\13\40\1\237\11\0"+ "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\1\u01ba\1\40\1\u01bb\1\u01bc\3\40\1\u01bd\1\40"+ - "\2\0\4\40\1\u01be\3\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\u01bd\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\2\40\1\u01bf\5\40\4\0"+ + "\11\0\11\40\2\0\1\40\1\u01cc\6\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\1\u01cd\10\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\5\40\1\u01ce\5\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\2\40\1\u01cf"+ + "\10\40\1\237\11\0\1\u01d0\10\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\5\40\1\u01c0\5\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\u01c1\1\0\13\40\1\237\11\0"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\1\40"+ + "\1\u01d1\6\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\u01d2\1\0\13\40\1\237\11\0"+ "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\1\40\1\u01c2\7\40\2\0\10\40\4\0\1\40"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\2\40\1\u01d3"+ + "\10\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\11\40\2\0\1\40\1\u01c3"+ - "\6\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\1\u0151\1\253\1\0\1\u0151\1\0\1\u0151\1\0\3\u0151"+ - "\1\0\1\u0151\20\0\2\u0151\2\0\1\u0151\46\0\1\254"+ - "\3\0\1\u0152\3\0\1\u0152\75\0\1\255\3\0\1\u0153"+ - "\3\0\1\u0153\1\0\1\u0153\72\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\1\40\1\u01c4\7\40\2\0"+ + "\1\0\13\40\1\237\11\0\6\40\1\u01d4\2\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\2\40\1\u01c5\10\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\2\40"+ - "\1\u01c6\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\71\0\1\u0195\16\0"+ - "\2\40\1\0\1\u01c7\1\0\13\40\1\237\11\0\11\40"+ + "\2\40\1\0\1\u01d5\1\0\13\40\1\237\11\0\11\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\u01d6\1\0\13\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\6\40\1\u01d7\2\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\u01d8"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\1\40"+ + "\1\u01d9\6\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\1\40\1\u01da\5\40\1\u01db\1\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\u01db\2\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\7\40\1\u01dc\1\40"+ + "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\u01dc"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\1\40\1\u01c8\6\40\4\0\1\40\2\0"+ + "\4\40\1\u01dd\4\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\40\1\u01c9\7\40\2\0\10\40"+ + "\13\40\1\237\11\0\1\40\1\u01de\7\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\u01ca\1\0\13\40\1\237\11\0\11\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\1\40\1\u01cb\6\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\u01cc\10\40\2\0\10\40\4\0\1\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\1\40\1\u01df"+ + "\7\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\2\40\1\u01e0\6\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\5\40\1\u01cd\5\40\1\237\11\0\11\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\2\40\1\u01ce\10\40\1\237"+ - "\11\0\1\u01cf\10\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\1\40\1\u01d0\6\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\u01d1\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\1\0\13\40\1\237\11\0\5\40\1\u01e1\3\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\2\40\1\u01d2\10\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\5\40"+ + "\1\u01e2\3\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\6\40\1\u01d3\2\40\2\0\10\40\4\0"+ + "\1\237\11\0\11\40\2\0\1\40\1\u01e3\6\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\u01d4\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ + "\1\40\1\0\13\40\1\237\11\0\1\40\1\u01e4\7\40"+ + "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\6\40\1\u01e5\2\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\11\40\2\0\1\40\1\u01e6\6\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\u01d5\1\0\13\40\1\237\11\0\11\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\6\40"+ - "\1\u01d6\2\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\u01d7\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ + "\1\0\1\40\1\0\5\40\1\u01e7\5\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\3\40\1\u01e8"+ + "\7\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\1\40\1\u01e9"+ + "\6\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\1\40"+ + "\1\u01ea\7\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\4\40\1\u01eb\4\40\2\0\10\40\4\0"+ + "\1\u01ec\2\0\2\40\15\0\1\40\23\0\1\u0185\126\0"+ + "\1\u01ed\55\0\1\u01ee\131\0\1\u01ef\133\0\1\u01f0\54\0"+ + "\1\u01f1\111\0\1\u01f2\60\0\1\u01f3\134\0\1\u01f4\41\0"+ + "\1\u01f4\44\0\1\u01f5\52\0\1\u01f6\77\0\1\u01f7\1\0"+ + "\1\u01f7\2\0\3\u01f7\1\0\1\u01f7\1\0\3\u01f7\3\0"+ + "\1\u0196\2\0\1\u01f8\4\0\11\u01f7\2\0\10\u01f7\4\0"+ + "\1\u01f7\2\0\2\u01f7\15\0\1\u01f7\1\u01f9\41\0\1\u01fa"+ + "\66\0\3\u0199\55\0\1\u019b\25\0\3\u01fb\45\0\1\u01fc"+ + "\7\0\1\u01fd\65\0\1\u01fe\45\0\1\u019c\66\0\1\u0102"+ + "\161\0\1\u01ff\26\0\21\117\1\u010a\3\117\1\u010b\1\0"+ + "\1\117\1\u010c\26\117\1\u0200\26\117\21\124\1\u0114\3\124"+ + "\1\u0115\1\124\1\0\1\u0116\26\124\1\u0201\26\124\1\0"+ + "\2\u01a5\1\0\1\u01a5\1\0\13\u01a5\12\0\11\u01a5\1\0"+ + "\1\u0202\10\u01a5\4\0\1\u01a5\2\0\2\u01a5\15\0\1\u01a5"+ + "\1\0\2\131\1\0\1\131\1\0\2\131\3\0\1\131"+ + "\1\0\2\131\2\0\1\131\1\u011b\1\0\1\131\1\0"+ + "\1\u01a6\2\131\1\0\2\131\11\0\2\131\10\0\4\131"+ + "\1\0\2\131\2\0\15\131\1\0\22\131\1\u011b\1\0"+ + "\1\131\2\0\2\131\1\u01a8\55\131\1\0\1\u01ac\1\u0133"+ + "\1\0\1\u01ac\1\0\1\u01ac\1\0\3\u01ac\1\0\1\u01ac"+ + "\20\0\2\u01ac\2\0\1\u01ac\46\0\1\u0134\3\0\1\u01ad"+ + "\3\0\1\u01ad\150\0\1\u0203\63\0\1\u0204\53\0\2\40"+ + "\1\0\1\40\1\0\2\40\1\u0205\10\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\10\40\1\u0206\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\1\40\1\u01d8\6\40"+ + "\13\40\1\237\11\0\11\40\2\0\1\40\1\u0207\6\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\1\40\1\u01d9"+ - "\5\40\1\u01da\1\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\u01da\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\7\40\1\u01db\1\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\u01db\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\4\40\1\u01dc"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\4\40\1\u0208"+ "\4\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\1\40\1\u01dd\7\40\2\0\10\40\4\0\1\40"+ + "\11\0\11\40\2\0\2\40\1\u0209\5\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\1\40\1\u01de\7\40\2\0"+ + "\1\0\2\40\1\u020a\10\40\1\237\11\0\11\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\2\40"+ - "\1\u01df\6\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\4\40"+ + "\1\u020b\4\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\5\40\1\u01e0\3\40\2\0\10\40\4\0"+ + "\1\237\11\0\1\40\1\u020c\7\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\5\40\1\u01e1\3\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\1\40"+ + "\1\u020d\6\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\1\40\1\u01e2\6\40\4\0\1\40\2\0"+ + "\4\40\1\u020e\4\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\40\1\u01e3\7\40\2\0\10\40"+ + "\13\40\1\237\11\0\3\40\1\u020f\5\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\6\40\1\u01e4"+ - "\2\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\1\40\1\u01e5\6\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\5\40\1\u01e6\5\40\1\237\11\0\11\40\2\0"+ + "\1\0\1\u0210\1\0\13\40\1\237\11\0\11\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\3\40\1\u01e7\7\40\1\237"+ + "\2\40\1\0\1\40\1\0\5\40\1\u0211\5\40\1\237"+ "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\1\40\1\u01e8\6\40\4\0"+ + "\1\237\11\0\11\40\2\0\4\40\1\u0212\3\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\1\40\1\u01e9\7\40"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\3\40"+ + "\1\u0213\4\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\3\u0214"+ + "\6\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\1\u0215\10\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\1\u0216\7\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\10\40\1\u0217"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\4\40\1\u01ea\4\40\2\0\10\40\4\0\1\u01eb\2\0"+ - "\2\40\15\0\1\40\23\0\1\u0184\126\0\1\u01ec\55\0"+ - "\1\u01ed\131\0\1\u01ee\133\0\1\u01ef\54\0\1\u01f0\111\0"+ - "\1\u01f1\60\0\1\u01f2\134\0\1\u01f3\41\0\1\u01f3\44\0"+ - "\1\u01f4\52\0\1\u01f5\77\0\1\u01f6\1\0\1\u01f6\2\0"+ - "\3\u01f6\1\0\1\u01f6\1\0\3\u01f6\3\0\1\u0195\2\0"+ - "\1\u01f7\4\0\11\u01f6\2\0\10\u01f6\4\0\1\u01f6\2\0"+ - "\2\u01f6\15\0\1\u01f6\1\u01f8\41\0\1\u01f9\66\0\3\u0198"+ - "\55\0\1\u019a\25\0\3\u01fa\45\0\1\u01fb\7\0\1\u01fc"+ - "\65\0\1\u01fd\45\0\1\u019b\66\0\1\u0102\161\0\1\u01fe"+ - "\26\0\21\117\1\u0109\3\117\1\u010a\1\0\1\117\1\u010b"+ - "\26\117\1\u01ff\26\117\21\124\1\u0113\3\124\1\u0114\1\124"+ - "\1\0\1\u0115\26\124\1\u0200\26\124\1\0\2\u01a4\1\0"+ - "\1\u01a4\1\0\13\u01a4\12\0\11\u01a4\1\0\1\u0201\10\u01a4"+ - "\4\0\1\u01a4\2\0\2\u01a4\15\0\1\u01a4\1\0\2\131"+ - "\1\0\1\131\1\0\2\131\3\0\1\131\1\0\2\131"+ - "\2\0\1\131\1\u011a\1\0\1\131\1\0\1\u01a5\2\131"+ - "\1\0\2\131\11\0\2\131\10\0\4\131\1\0\2\131"+ - "\2\0\15\131\1\0\22\131\1\u011a\1\0\1\131\2\0"+ - "\2\131\1\u01a7\55\131\1\0\1\u01ab\1\u0132\1\0\1\u01ab"+ - "\1\0\1\u01ab\1\0\3\u01ab\1\0\1\u01ab\20\0\2\u01ab"+ - "\2\0\1\u01ab\46\0\1\u0133\3\0\1\u01ac\3\0\1\u01ac"+ - "\150\0\1\u0202\63\0\1\u0203\53\0\2\40\1\0\1\40"+ - "\1\0\2\40\1\u0204\10\40\1\237\11\0\11\40\2\0"+ + "\11\40\2\0\1\u0218\7\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\11\40\2\0\5\40\1\u0219\2\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\10\40\1\u021a\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\10\40"+ - "\1\u0205\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\5\40"+ + "\1\u021b\3\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\u021c\1\0\2\40"+ + "\1\u021d\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\1\40\1\u021e\7\40"+ + "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\u021f\1\0\13\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\1\40\1\u0206\6\40\4\0\1\40"+ + "\11\0\1\40\1\u0220\7\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\4\40\1\u0207\4\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\2\40\1\u0208\5\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\2\40"+ - "\1\u0209\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\4\40\1\u0221"+ + "\3\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\5\40"+ + "\1\u0222\3\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\4\40\1\u0223\4\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\4\40\1\u020a\4\40"+ + "\1\40\1\0\2\40\1\u0224\10\40\1\237\11\0\11\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\1\40\1\u020b\7\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\0\2\40\1\0\1\40\1\0\2\40\1\u0225\10\40"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\1\40\1\u020c\6\40"+ + "\13\40\1\237\11\0\11\40\2\0\1\40\1\u0226\6\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\4\40\1\u020d"+ - "\4\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\1\40\1\u0227"+ + "\7\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\3\40\1\u020e\5\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\u020f"+ - "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\11\0\7\40\1\u0228\1\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\u0228\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\1\40\1\u0229\7\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ + "\2\0\3\40\1\u022a\4\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\2\40"+ + "\1\u022b\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\5\40\1\u0210\5\40\1\237\11\0\11\40"+ + "\1\40\1\0\13\40\1\237\11\0\1\u022c\10\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\1\40"+ + "\1\u022d\7\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\7\40\1\u022e\1\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\u022e\2\0\2\40\1\0"+ + "\1\u022f\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\1\u0230\10\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\4\40\1\u0211\3\40\4\0\1\40\2\0"+ + "\6\40\1\u0231\2\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\3\40\1\u0212\4\40"+ + "\5\40\1\u0232\5\40\1\237\11\0\11\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\3\u0213\6\0\11\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\10\40\1\u0233"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\1\u0214\10\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\1\u0234\10\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\1\u0215\7\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\10\40\1\u0216\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ - "\1\u0217\7\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\5\40\1\u0218\2\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\10\40\1\u0219\2\0\10\40\4\0"+ + "\1\237\11\0\2\40\1\u0235\6\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\5\40\1\u021a\3\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\u021b\1\0\2\40\1\u021c\10\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\40\1\u021d\7\40\2\0\10\40"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\3\40"+ + "\1\u0236\4\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\u0237\1\0\13\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\2\40\1\u0238"+ + "\10\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\1\u0239\10\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\u021e\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\1\0\1\u023a\1\0\13\40\1\237\11\0\11\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\1\40"+ - "\1\u021f\7\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\1\u023b\7\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\2\40"+ + "\1\u023c\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\11\0\1\u023d\144\0"+ + "\1\u023e\46\0\1\u023f\101\0\1\u0240\105\0\1\u0241\16\0"+ + "\1\u0242\40\0\1\u0243\32\0\1\u0244\104\0\1\u0245\101\0"+ + "\1\u0246\134\0\1\u0247\121\0\1\u0248\37\0\2\u01f7\1\0"+ + "\1\u01f7\1\0\13\u01f7\1\0\1\u0249\1\0\1\u024a\6\0"+ + "\11\u01f7\2\0\10\u01f7\4\0\1\u01f7\2\0\2\u01f7\15\0"+ + "\1\u01f7\3\0\1\u024b\1\0\1\u024b\2\0\3\u024b\1\0"+ + "\1\u024b\1\0\3\u024b\13\0\11\u024b\2\0\10\u024b\4\0"+ + "\1\u024b\2\0\2\u024b\15\0\1\u024b\3\0\1\u024c\1\0"+ + "\1\u024c\2\0\3\u024c\1\0\1\u024c\1\0\3\u024c\13\0"+ + "\11\u024c\2\0\10\u024c\4\0\1\u024c\2\0\2\u024c\15\0"+ + "\1\u024c\44\0\1\u024d\64\0\3\u01fb\55\0\1\u01fd\65\0"+ + "\1\u024e\33\0\1\u024f\77\0\1\u0250\1\0\1\u0250\2\0"+ + "\3\u0250\1\0\1\u0250\2\0\2\u0250\13\0\11\u0250\2\0"+ + "\10\u0250\4\0\1\u0250\2\0\2\u0250\15\0\1\u0250\1\0"+ + "\2\117\1\u0251\1\117\1\u0251\2\117\3\u0251\1\117\1\u0251"+ + "\2\117\2\u0251\1\117\1\u010a\3\117\1\u010b\1\0\1\117"+ + "\1\u010c\2\117\11\u0251\2\117\10\u0251\4\117\1\u0251\2\117"+ + "\2\u0251\15\117\1\u0251\1\117\2\124\1\u0252\1\124\1\u0252"+ + "\2\124\3\u0252\1\124\1\u0252\2\124\2\u0252\1\124\1\u0114"+ + "\3\124\1\u0115\1\124\1\0\1\u0116\2\124\11\u0252\2\124"+ + "\10\u0252\4\124\1\u0252\2\124\2\u0252\15\124\1\u0252\1\124"+ + "\22\0\2\u0253\1\u0254\136\0\1\u0255\31\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\1\u0256\10\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\1\40\1\u0257\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\u0258\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\6\40\1\u0259\2\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\u025a\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\7\40\1\u025b"+ + "\1\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\u025b\2\0\2\40\1\0\1\u025c\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\4\40\1\u0220\3\40\4\0"+ + "\1\237\11\0\11\40\2\0\3\40\1\u025d\4\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\5\40\1\u0221\3\40"+ + "\1\40\1\0\13\40\1\237\11\0\1\40\1\u025e\7\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\4\40\1\u0222\4\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\1\u025f\6\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\2\40\1\u0223\10\40\1\237\11\0\11\40\2\0\10\40"+ + "\13\40\1\237\11\0\6\40\1\u0260\2\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\10\40\1\u0261"+ + "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\1\u0262\10\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\1\u0263\10\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\3\0\1\u0264\1\0\1\u0265"+ + "\2\0\3\u0264\1\0\1\u0264\3\0\1\u0264\2\0\3\u0214"+ + "\6\0\1\u0266\10\u0264\2\0\10\u0264\4\0\1\u0264\2\0"+ + "\2\u0264\15\0\1\u0264\2\0\2\40\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\3\40\1\u0267\5\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\2\40\1\u0224\10\40\1\237\11\0"+ + "\1\0\1\40\1\0\2\40\1\u0268\10\40\1\237\11\0"+ "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\1\40\1\u0225\6\40\4\0\1\40"+ + "\11\0\3\40\1\u0269\5\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\1\40\1\u0226\7\40\2\0"+ + "\1\0\13\40\1\237\11\0\2\40\1\u026a\6\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\7\40"+ - "\1\u0227\1\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\u0227\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\40\1\u0228\7\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\3\40"+ - "\1\u0229\4\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\2\40\1\u022a\10\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\u022b\10\40\2\0\10\40\4\0"+ + "\2\40\1\0\1\40\1\0\2\40\1\u026b\10\40\1\237"+ + "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\4\40\1\u026c\4\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\1\40\1\u022c\7\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\2\40"+ + "\1\u026d\5\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\7\40\1\u022d\1\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\u022d\2\0\2\40\1\0\1\u022e\1\0"+ + "\11\40\2\0\1\40\1\u026e\6\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\2\0\2\40\1\0\1\u026f\1\0"+ "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\1\u022f\10\40\2\0\10\40"+ + "\1\0\13\40\1\237\11\0\10\40\1\u0270\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\6\40\1\u0230"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\6\40\1\u0271"+ "\2\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\5\40\1\u0231"+ - "\5\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\1\40\1\u0272\6\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\10\40\1\u0232\2\0\10\40"+ + "\1\0\13\40\1\237\11\0\1\u0273\10\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\1\u0233\10\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\2\40\1\u0234\6\40\2\0\10\40\4\0\1\40\2\0"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\7\40\1\u0274\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\40\1\0\3\40\1\u0275\7\40"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\3\40\1\u0235\4\40"+ + "\13\40\1\237\11\0\4\40\1\u0276\4\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\u0236\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\6\40\1\u0277"+ + "\2\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\3\40\1\u0278\4\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\4\40\1\u0279\4\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\2\40\1\u0237\10\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\4\40"+ + "\1\u027a\4\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\u0238\10\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\u0239"+ - "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\1\40\1\u023a\7\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\2\40\1\u023b\10\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\11\0\1\u023c\144\0\1\u023d\46\0"+ - "\1\u023e\101\0\1\u023f\105\0\1\u0240\16\0\1\u0241\40\0"+ - "\1\u0242\32\0\1\u0243\104\0\1\u0244\101\0\1\u0245\134\0"+ - "\1\u0246\121\0\1\u0247\37\0\2\u01f6\1\0\1\u01f6\1\0"+ - "\13\u01f6\1\0\1\u0248\1\0\1\u0249\6\0\11\u01f6\2\0"+ - "\10\u01f6\4\0\1\u01f6\2\0\2\u01f6\15\0\1\u01f6\3\0"+ - "\1\u024a\1\0\1\u024a\2\0\3\u024a\1\0\1\u024a\1\0"+ - "\3\u024a\13\0\11\u024a\2\0\10\u024a\4\0\1\u024a\2\0"+ - "\2\u024a\15\0\1\u024a\3\0\1\u024b\1\0\1\u024b\2\0"+ - "\3\u024b\1\0\1\u024b\1\0\3\u024b\13\0\11\u024b\2\0"+ - "\10\u024b\4\0\1\u024b\2\0\2\u024b\15\0\1\u024b\44\0"+ - "\1\u024c\64\0\3\u01fa\55\0\1\u01fc\65\0\1\u024d\33\0"+ - "\1\u024e\77\0\1\u024f\1\0\1\u024f\2\0\3\u024f\1\0"+ - "\1\u024f\2\0\2\u024f\13\0\11\u024f\2\0\10\u024f\4\0"+ - "\1\u024f\2\0\2\u024f\15\0\1\u024f\1\0\2\117\1\u0250"+ - "\1\117\1\u0250\2\117\3\u0250\1\117\1\u0250\2\117\2\u0250"+ - "\1\117\1\u0109\3\117\1\u010a\1\0\1\117\1\u010b\2\117"+ - "\11\u0250\2\117\10\u0250\4\117\1\u0250\2\117\2\u0250\15\117"+ - "\1\u0250\1\117\2\124\1\u0251\1\124\1\u0251\2\124\3\u0251"+ - "\1\124\1\u0251\2\124\2\u0251\1\124\1\u0113\3\124\1\u0114"+ - "\1\124\1\0\1\u0115\2\124\11\u0251\2\124\10\u0251\4\124"+ - "\1\u0251\2\124\2\u0251\15\124\1\u0251\1\124\22\0\2\u0252"+ - "\1\u0253\136\0\1\u0254\31\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\u0255\10\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\1\40\1\u0256"+ + "\1\237\11\0\10\40\1\u027b\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\3\u027c\6\0\11\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\1\40\1\u027d\6\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\6\40\1\u027e\2\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\6\40\1\u027f\2\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\u0257\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\6\40\1\u0258\2\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\u0259\1\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\1\40"+ + "\1\u0280\7\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\47\0\1\u0281\43\0\1\u0282\16\0\1\u0283"+ + "\40\0\1\u0284\64\0\1\u0285\103\0\1\u0286\120\0\1\u0287"+ + "\54\0\1\u0242\40\0\1\u0243\70\0\1\u0288\72\0\1\u0248"+ + "\105\0\1\u0289\110\0\1\u028a\71\0\1\u0248\40\0\1\u028b"+ + "\43\0\1\u0249\64\0\2\u024b\1\0\1\u024b\1\0\13\u024b"+ + "\5\0\1\u028c\4\0\11\u024b\2\0\10\u024b\4\0\1\u024b"+ + "\2\0\2\u024b\15\0\1\u024b\2\0\2\u024c\1\0\1\u024c"+ + "\1\0\13\u024c\12\0\11\u024c\2\0\10\u024c\4\0\1\u024c"+ + "\2\0\2\u024c\15\0\1\u024c\1\u028d\33\0\1\u028e\62\0"+ + "\1\u028f\140\0\1\u0290\64\0\1\u0253\117\0\1\u0291\52\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\1\40"+ + "\1\u0292\7\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\1\40\1\u0293\1\0\1\40\1\0"+ "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\7\40\1\u025a\1\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\u025a\2\0"+ - "\2\40\1\0\1\u025b\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\3\40\1\u025c\4\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\40\1\u025d\7\40\2\0\10\40"+ + "\2\0\2\40\15\0\1\40\2\0\1\40\1\u0294\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\2\40\1\u025e"+ - "\6\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\1\40\1\u0295"+ + "\7\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\6\40\1\u025f\2\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\10\40\1\u0260\2\0\10\40"+ + "\11\0\7\40\1\u0296\1\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\u0296\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\7\40\1\u0297\1\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\u0297\2\0"+ + "\1\40\1\u0298\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\5\40\1\u0299"+ + "\5\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\1\40\1\u029a\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\1\u0261\10\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\1\u0262\10\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\3\0\1\u0263\1\0\1\u0264\2\0\3\u0263"+ - "\1\0\1\u0263\3\0\1\u0263\2\0\3\u0213\6\0\1\u0265"+ - "\10\u0263\2\0\10\u0263\4\0\1\u0263\2\0\2\u0263\15\0"+ - "\1\u0263\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\3\40\1\u0266\5\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\2\40\1\u0267\10\40\1\237\11\0\11\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\3\40"+ - "\1\u0268\5\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\2\40\1\u0269\6\40\2\0\10\40\4\0"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\7\40\1\u029b"+ + "\1\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\u029b\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\1\40\1\u029c\6\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\u029d"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\2\40\1\u026a\10\40\1\237\11\0\11\40"+ + "\1\40\1\0\13\40\1\237\11\0\1\40\1\u029e\7\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\4\40\1\u026b\4\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\2\40\1\u026c\5\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ - "\1\40\1\u026d\6\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\u026e\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\10\40\1\u026f\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\6\40\1\u0270\2\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\1\40\1\u0271\6\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\u0272\10\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\11\40\2\0\7\40\1\u0273"+ + "\11\40\2\0\1\40\1\u029f\6\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\10\0\1\u02a0\146\0\1\u02a1\36\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\6\40"+ + "\1\u02a2\2\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\2\40"+ + "\1\u02a3\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\u02a4\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\3\40\1\u0274\7\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\2\40\1\u02a5"+ + "\6\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\4\40\1\u0275\4\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\6\40\1\u0276\2\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\3\40\1\u0277\4\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\4\40\1\u0278\4\40\2\0\10\40\4\0"+ + "\11\0\6\40\1\u02a6\2\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\u02a7"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\4\40\1\u0279\4\40"+ + "\1\40\1\0\13\40\1\237\11\0\1\40\1\u02a8\7\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\10\40\1\u027a\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\3\u027b\6\0\11\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\1\0\1\u02a9\1\0\13\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\11\40\2\0\3\40\1\u02aa\4\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\1\u02ab\7\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\5\40\1\u02ac\5\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\2\40\1\0\1\40\1\0\2\40\1\u02ad"+ + "\10\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\11\40\2\0\1\40\1\u027c"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\1\40\1\u02ae"+ "\6\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\6\40"+ - "\1\u027d\2\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\5\40"+ + "\1\u02af\3\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\6\40\1\u027e\2\40\2\0\10\40\4\0"+ + "\1\237\11\0\11\40\2\0\1\40\1\u02b0\6\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\1\40\1\u027f\7\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\47\0\1\u0280\43\0\1\u0281\16\0\1\u0282\40\0\1\u0283"+ - "\64\0\1\u0284\103\0\1\u0285\120\0\1\u0286\54\0\1\u0241"+ - "\40\0\1\u0242\70\0\1\u0287\72\0\1\u0247\105\0\1\u0288"+ - "\110\0\1\u0289\71\0\1\u0247\40\0\1\u028a\43\0\1\u0248"+ - "\64\0\2\u024a\1\0\1\u024a\1\0\13\u024a\5\0\1\u028b"+ - "\4\0\11\u024a\2\0\10\u024a\4\0\1\u024a\2\0\2\u024a"+ - "\15\0\1\u024a\2\0\2\u024b\1\0\1\u024b\1\0\13\u024b"+ - "\12\0\11\u024b\2\0\10\u024b\4\0\1\u024b\2\0\2\u024b"+ - "\15\0\1\u024b\1\u028c\33\0\1\u028d\62\0\1\u028e\140\0"+ - "\1\u028f\64\0\1\u0252\117\0\1\u0290\52\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\1\40\1\u0291\7\40"+ + "\1\u02b1\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\23\0\3\u027c"+ + "\11\0\1\u02b2\50\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\1\u02b3"+ + "\1\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\1\40\1\u02b4\7\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\u02b5\1\0\13\40\1\237\11\0\11\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\1\40\1\u0292\1\0\1\40\1\0\13\40\1\237"+ + "\24\0\1\u0281\40\0\1\u02b6\31\0\1\u02b7\120\0\1\u0283"+ + "\40\0\1\u0284\67\0\1\u02b8\73\0\1\u02b9\55\0\1\u02ba"+ + "\105\0\1\u0248\124\0\1\u0289\40\0\1\u02bb\75\0\1\u02b8"+ + "\53\0\1\u0249\1\0\1\u024a\103\0\1\u02bc\1\0\1\u02bd"+ + "\136\0\1\u02be\73\0\1\u02bf\64\0\3\u02c0\103\0\3\u02c1"+ + "\62\0\1\40\1\u02c2\1\0\1\40\1\0\13\40\1\237"+ "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\1\40\1\u0293\1\0\1\40\1\0"+ + "\15\0\1\40\2\0\1\40\1\u02c3\1\0\1\40\1\0"+ "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\1\40\1\u0294\7\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\7\40"+ - "\1\u0295\1\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\u0295\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\7\40\1\u0296\1\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\u0296\2\0\1\40\1\u0297"+ + "\1\0\13\40\1\237\11\0\1\u02c4\10\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\5\40\1\u0298\5\40\1\237"+ + "\7\40\1\u02c5\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\1\40\1\u02c6\1\0\1\40\1\0\13\40\1\237"+ "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\1\40\1\u0299\1\0\1\40\1\0"+ + "\15\0\1\40\2\0\1\40\1\u02c7\1\0\1\40\1\0"+ "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\7\40\1\u029a\1\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\u029a\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\1\40\1\u029b\6\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\u029c\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\40\1\u029d\7\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ - "\1\40\1\u029e\6\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\10\0\1\u029f\146\0\1\u02a0\36\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\6\40\1\u02a1\2\40"+ + "\1\0\13\40\1\237\11\0\2\40\1\u02c8\6\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\6\40"+ + "\1\u02c9\2\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\2\40"+ + "\1\u02ca\10\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\40\1\0\2\40\1\u02cb\10\40\1\237\11\0\11\40"+ + "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\6\40\1\u02cc\2\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\2\0\2\40\1\0\1\u02cd\1\0"+ + "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\35\0\1\u02ce\126\0\1\u02cf"+ + "\31\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\1\40\1\u02d0\7\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\6\40\1\u02d1\2\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\1\40"+ + "\1\u02d2\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\2\40\1\u02a2\10\40"+ + "\2\0\2\40\1\0\1\40\1\0\5\40\1\u02d3\5\40"+ "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\u02a3\1\0"+ + "\2\40\15\0\1\40\2\0\2\40\1\0\1\u02d4\1\0"+ "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\2\40\1\u02a4\6\40\2\0"+ + "\1\0\13\40\1\237\11\0\4\40\1\u02d5\4\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\6\40"+ - "\1\u02a5\2\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\u02a6\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\1\40\1\u02a7\7\40\2\0\10\40"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\4\40"+ + "\1\u02d6\4\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\6\40\1\u02d7\2\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\u02d8\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\u02a8\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\1\0\1\u02d9\1\0\13\40\1\237\11\0\11\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\3\40\1\u02a9\4\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\1\u02aa\7\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\5\40\1\u02ab\5\40\1\237\11\0\11\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\40\1\0\2\40\1\u02ac\10\40\1\237"+ + "\2\0\1\u02da\7\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\1\40\1\u02db\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\44\0\1\u02dc\104\0\1\u02dd\41\0"+ + "\1\u02dd\2\0\2\40\1\0\1\u02de\1\0\13\40\1\237"+ "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\1\40\1\u02ad\6\40\4\0"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\1\u02df"+ + "\1\0\2\40\15\0\1\40\40\0\1\u0283\71\0\1\u02b8"+ + "\40\0\1\u02e0\44\0\1\u02b9\40\0\1\u02e1\64\0\1\u0242"+ + "\64\0\1\u02bc\117\0\1\u02e2\73\0\3\u02e3\63\0\1\u02e4"+ + "\1\0\1\u02e4\2\0\3\u02e4\1\0\1\u02e4\1\0\3\u02e4"+ + "\2\0\3\u02c0\1\u02e5\5\0\11\u02e4\2\0\10\u02e4\4\0"+ + "\1\u02e4\2\0\2\u02e4\15\0\1\u02e4\23\0\3\u02c1\22\0"+ + "\1\u02e6\37\0\1\40\1\u02e7\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ + "\5\40\1\u02e8\5\40\1\237\11\0\11\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ + "\1\0\1\40\1\0\2\40\1\u02e9\10\40\1\237\11\0"+ + "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ + "\1\40\2\0\1\40\1\u02ea\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\40\2\0\1\40\1\u02eb\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\5\40\1\u02ae\3\40"+ + "\1\40\1\0\5\40\1\u02ec\5\40\1\237\11\0\11\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\1\40\1\u02af\6\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\u02b0\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\23\0\3\u027b\11\0\1\u02b1"+ - "\50\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\1\u02b2\1\0\2\40"+ + "\10\40\1\u02ed\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\40\1\u02b3\7\40\2\0\10\40\4\0"+ + "\1\237\11\0\6\40\1\u02ee\2\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\u02b4\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\24\0\1\u0280"+ - "\40\0\1\u02b5\31\0\1\u02b6\120\0\1\u0282\40\0\1\u0283"+ - "\67\0\1\u02b7\73\0\1\u02b8\55\0\1\u02b9\105\0\1\u0247"+ - "\124\0\1\u0288\40\0\1\u02ba\75\0\1\u02b7\53\0\1\u0248"+ - "\1\0\1\u0249\103\0\1\u02bb\1\0\1\u02bc\136\0\1\u02bd"+ - "\73\0\1\u02be\64\0\3\u02bf\103\0\3\u02c0\62\0\1\40"+ - "\1\u02c1\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\1\40\1\u02c2\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\1\u02c3\10\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\11\40\2\0\7\40\1\u02c4"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\1\40"+ - "\1\u02c5\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\1\40\1\u02c6\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\2\40\1\u02c7\6\40\2\0\10\40\4\0"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\3\40"+ + "\1\u02ef\4\40\4\0\1\40\2\0\2\40\15\0\1\40"+ + "\5\0\1\u02f0\150\0\1\u02f1\37\0\2\40\1\0\1\u02f2"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\6\40\1\u02c8\2\40"+ + "\1\40\1\0\5\40\1\u02f3\5\40\1\237\11\0\11\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\2\40\1\u02c9\10\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\3\40\1\u02f4\5\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\2\40\1\u02ca\10\40\1\237\11\0\11\40\2\0\10\40"+ + "\5\40\1\u02f5\5\40\1\237\11\0\11\40\2\0\10\40"+ "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\6\40\1\u02cb"+ - "\2\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\u02cc\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\35\0\1\u02cd\126\0\1\u02ce\31\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\1\40\1\u02cf"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\1\40\1\u02f6"+ "\7\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\6\40\1\u02d0\2\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\1\40\1\u02d1\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\5\40\1\u02d2\5\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\u02d3\1\0\13\40\1\237"+ + "\1\40\2\0\2\40\1\0\1\u02f7\1\0\13\40\1\237"+ "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\5\40"+ + "\1\u02f8\5\40\1\237\11\0\11\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\14\0\1\u02f9\76\0"+ + "\1\u02fa\102\0\2\40\1\0\1\40\1\0\13\40\1\237"+ + "\11\0\2\40\1\u02fb\6\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\43\0\1\u02fc\41\0\1\u02fc"+ + "\23\0\3\u02e2\32\0\1\346\30\0\1\u02fd\1\0\1\u02fd"+ + "\2\0\3\u02fd\1\0\1\u02fd\1\0\3\u02fd\1\0\1\u02fe"+ + "\3\u02e3\6\0\11\u02fd\2\0\10\u02fd\2\0\1\u02ff\1\0"+ + "\1\u02fd\1\u0300\1\0\2\u02fd\15\0\1\u02fd\2\0\2\u02e4"+ + "\1\0\1\u02e4\1\0\13\u02e4\1\0\3\u0301\6\0\11\u02e4"+ + "\1\0\1\u0302\10\u02e4\4\0\1\u02e4\2\0\2\u02e4\15\0"+ + "\1\u02e4\3\0\1\u02e4\1\0\1\u02e4\2\0\3\u02e4\1\0"+ + "\1\u02e4\1\0\3\u02e4\13\0\11\u02e4\2\0\10\u02e4\4\0"+ + "\1\u02e4\2\0\2\u02e4\15\0\1\u02e4\11\0\1\u0303\76\0"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\4\40"+ + "\1\u0304\4\40\2\0\10\40\4\0\1\40\2\0\2\40"+ "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\4\40\1\u02d4\4\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\4\40\1\u02d5\4\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\6\40\1\u02d6\2\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\u02d7\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\u02d8"+ - "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\1\u02d9"+ - "\7\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\1\40\1\u02da\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\44\0\1\u02db\104\0\1\u02dc\41\0\1\u02dc\2\0"+ - "\2\40\1\0\1\u02dd\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\1\u02de\1\0\2\40"+ - "\15\0\1\40\40\0\1\u0282\71\0\1\u02b7\40\0\1\u02df"+ - "\44\0\1\u02b8\40\0\1\u02e0\64\0\1\u0241\64\0\1\u02bb"+ - "\117\0\1\u02e1\73\0\3\u02e2\63\0\1\u02e3\1\0\1\u02e3"+ - "\2\0\3\u02e3\1\0\1\u02e3\1\0\3\u02e3\2\0\3\u02bf"+ - "\1\u02e4\5\0\11\u02e3\2\0\10\u02e3\4\0\1\u02e3\2\0"+ - "\2\u02e3\15\0\1\u02e3\23\0\3\u02c0\22\0\1\u02e5\37\0"+ - "\1\40\1\u02e6\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\5\40\1\u02e7"+ - "\5\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\2\40\1\u02e8\10\40\1\237\11\0\11\40\2\0"+ + "\1\237\11\0\6\40\1\u0305\2\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\1\40\1\u0306"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\1\40\1\u02e9\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\1\40\1\u02ea\1\0\1\40\1\0\13\40"+ + "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ + "\2\0\2\40\1\u0307\5\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\2\0\2\40\1\0\1\u0308\1\0\13\40"+ "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\5\40\1\u02eb\5\40\1\237\11\0\11\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\10\40\1\u02ec"+ + "\13\40\1\237\11\0\11\40\2\0\3\40\1\u0309\4\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\40\0\1\u030a"+ + "\52\0\1\u030b\102\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\4\40\1\u030c\4\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\3\40\1\u030d\5\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\6\40\1\u02ed\2\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\3\40\1\u02ee\4\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\5\0\1\u02ef"+ - "\150\0\1\u02f0\37\0\2\40\1\0\1\u02f1\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\5\40\1\u02f2\5\40\1\237\11\0\11\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\3\40\1\u02f3"+ - "\5\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\5\40\1\u02f4"+ - "\5\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\7\40\1\u030e\1\40\2\0\10\40\4\0\1\40\2\0"+ + "\2\40\15\0\1\u030e\2\0\2\40\1\0\1\40\1\0"+ + "\13\40\1\u030f\11\0\11\40\2\0\10\40\4\0\1\40"+ "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ - "\1\0\13\40\1\237\11\0\1\40\1\u02f5\7\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\40\1\0\1\u02f6\1\0\13\40\1\237\11\0\11\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\5\40\1\u02f7\5\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\14\0\1\u02f8\76\0\1\u02f9\102\0"+ - "\2\40\1\0\1\40\1\0\13\40\1\237\11\0\2\40"+ - "\1\u02fa\6\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\43\0\1\u02fb\41\0\1\u02fb\23\0\3\u02e1"+ - "\32\0\1\346\30\0\1\u02fc\1\0\1\u02fc\2\0\3\u02fc"+ - "\1\0\1\u02fc\1\0\3\u02fc\1\0\1\u02fd\3\u02e2\6\0"+ - "\11\u02fc\2\0\10\u02fc\2\0\1\u02fe\1\0\1\u02fc\1\u02ff"+ - "\1\0\2\u02fc\15\0\1\u02fc\2\0\2\u02e3\1\0\1\u02e3"+ - "\1\0\13\u02e3\1\0\3\u0300\6\0\11\u02e3\1\0\1\u0301"+ - "\10\u02e3\4\0\1\u02e3\2\0\2\u02e3\15\0\1\u02e3\3\0"+ - "\1\u02e3\1\0\1\u02e3\2\0\3\u02e3\1\0\1\u02e3\1\0"+ - "\3\u02e3\13\0\11\u02e3\2\0\10\u02e3\4\0\1\u02e3\2\0"+ - "\2\u02e3\15\0\1\u02e3\11\0\1\u0302\76\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\4\40\1\u0303\4\40"+ - "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\6\40\1\u0304\2\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\1\40\1\u0305\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\4\40\1\u0310\4\40\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\51\0"+ + "\1\u0311\71\0\1\u0312\52\0\2\40\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\1\u0313\1\0\2\40\15\0\1\40\5\0\1\u0314\102\0"+ + "\2\u02fd\1\0\1\u02fd\1\0\13\u02fd\1\u02fe\3\u0315\6\0"+ + "\11\u02fd\1\0\1\u0316\10\u02fd\4\0\1\u02fd\2\0\2\u02fd"+ + "\5\0\2\u0317\6\0\1\u02fd\3\0\1\u02fd\1\0\1\u02fd"+ + "\2\0\3\u02fd\1\0\1\u02fd\1\0\3\u02fd\13\0\11\u02fd"+ + "\2\0\10\u02fd\4\0\1\u02fd\2\0\2\u02fd\15\0\1\u02fd"+ + "\3\0\1\u02fd\1\0\1\u02fd\2\0\3\u02fd\1\0\1\u02fd"+ + "\1\0\3\u02fd\1\0\1\u02fe\11\0\11\u02fd\2\0\10\u02fd"+ + "\4\0\1\u02fd\1\u0300\1\0\2\u02fd\15\0\1\u02fd\3\0"+ + "\1\u02fd\1\0\1\u02fd\2\0\3\u02fd\1\0\1\u02fd\1\0"+ + "\3\u02fd\1\0\1\u02fe\11\0\11\u02fd\2\0\10\u02fd\4\0"+ + "\1\u02fd\2\0\2\u02fd\15\0\1\u02fd\3\0\1\u0318\1\0"+ + "\1\u0318\2\0\3\u0318\1\0\1\u0318\1\0\3\u0318\1\0"+ + "\1\u0319\3\u0301\6\0\11\u0318\2\0\10\u0318\2\0\1\u031a"+ + "\1\0\1\u0318\1\u031b\1\0\2\u0318\15\0\1\u0318\3\0"+ + "\1\u031c\1\0\1\u031c\2\0\3\u031c\1\0\1\u031c\1\0"+ + "\3\u031c\6\0\1\u0302\4\0\11\u031c\2\0\10\u031c\4\0"+ + "\1\u031c\2\0\2\u031c\11\0\1\u031d\3\0\1\u031c\1\u0302"+ + "\37\0\1\u031e\47\0\1\40\1\u031f\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\u0320"+ "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ "\1\40\2\0\2\40\15\0\1\40\2\0\2\40\1\0"+ - "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\2\40"+ - "\1\u0306\5\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\2\0\2\40\1\0\1\u0307\1\0\13\40\1\237\11\0"+ - "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\2\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\3\40\1\u0308\4\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\40\0\1\u0309\52\0\1\u030a"+ - "\102\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\4\40\1\u030b\4\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\3\40\1\u030c\5\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\7\40\1\u030d"+ - "\1\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\u030d\2\0\2\40\1\0\1\40\1\0\13\40\1\u030e"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\4\40\1\u030f\4\40\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\51\0\1\u0310\71\0"+ - "\1\u0311\52\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\1\u0312\1\0"+ - "\2\40\15\0\1\40\5\0\1\u0313\102\0\2\u02fc\1\0"+ - "\1\u02fc\1\0\13\u02fc\1\u02fd\3\u0314\6\0\11\u02fc\1\0"+ - "\1\u0315\10\u02fc\4\0\1\u02fc\2\0\2\u02fc\5\0\2\u0316"+ - "\6\0\1\u02fc\3\0\1\u02fc\1\0\1\u02fc\2\0\3\u02fc"+ - "\1\0\1\u02fc\1\0\3\u02fc\13\0\11\u02fc\2\0\10\u02fc"+ - "\4\0\1\u02fc\2\0\2\u02fc\15\0\1\u02fc\3\0\1\u02fc"+ - "\1\0\1\u02fc\2\0\3\u02fc\1\0\1\u02fc\1\0\3\u02fc"+ - "\1\0\1\u02fd\11\0\11\u02fc\2\0\10\u02fc\4\0\1\u02fc"+ - "\1\u02ff\1\0\2\u02fc\15\0\1\u02fc\3\0\1\u02fc\1\0"+ - "\1\u02fc\2\0\3\u02fc\1\0\1\u02fc\1\0\3\u02fc\1\0"+ - "\1\u02fd\11\0\11\u02fc\2\0\10\u02fc\4\0\1\u02fc\2\0"+ - "\2\u02fc\15\0\1\u02fc\3\0\1\u0317\1\0\1\u0317\2\0"+ - "\3\u0317\1\0\1\u0317\1\0\3\u0317\1\0\1\u0318\3\u0300"+ - "\6\0\11\u0317\2\0\10\u0317\2\0\1\u0319\1\0\1\u0317"+ - "\1\u031a\1\0\2\u0317\15\0\1\u0317\3\0\1\u031b\1\0"+ - "\1\u031b\2\0\3\u031b\1\0\1\u031b\1\0\3\u031b\6\0"+ - "\1\u0301\4\0\11\u031b\2\0\10\u031b\4\0\1\u031b\2\0"+ - "\2\u031b\11\0\1\u031c\3\0\1\u031b\1\u0301\37\0\1\u031d"+ - "\47\0\1\40\1\u031e\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\u031f\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\2\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\7\40\1\u0320\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\36\0\1\u0321\120\0"+ - "\1\u0322\36\0\2\40\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\6\40\1\u0323\2\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\3\0\1\u0324\1\0\1\u0324"+ - "\2\0\3\u0324\1\0\1\u0324\1\0\3\u0324\13\0\11\u0324"+ - "\2\0\10\u0324\4\0\1\u0324\2\0\2\u0324\15\0\1\u0324"+ - "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ - "\6\40\1\u0325\2\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\65\0\1\u0326\63\0\1\u0327\41\0"+ - "\1\u0327\35\0\1\u0328\73\0\3\u0314\1\u0329\160\0\1\u032a"+ - "\7\0\1\u032b\1\0\1\u032b\2\0\3\u032b\1\0\1\u032b"+ - "\1\0\3\u032b\1\0\1\u032c\11\0\11\u032b\2\0\10\u032b"+ - "\4\0\1\u032b\1\u032d\1\0\2\u032b\15\0\1\u032b\2\0"+ - "\2\u0317\1\0\1\u0317\1\0\13\u0317\1\u0318\3\u032e\6\0"+ - "\11\u0317\1\0\1\u032f\10\u0317\4\0\1\u0317\2\0\2\u0317"+ - "\2\0\1\u0330\2\0\2\u0331\6\0\1\u0317\3\0\1\u0317"+ - "\1\0\1\u0317\2\0\3\u0317\1\0\1\u0317\1\0\3\u0317"+ - "\13\0\11\u0317\2\0\10\u0317\4\0\1\u0317\2\0\2\u0317"+ - "\15\0\1\u0317\3\0\1\u0317\1\0\1\u0317\2\0\3\u0317"+ - "\1\0\1\u0317\1\0\3\u0317\1\0\1\u0318\11\0\11\u0317"+ - "\2\0\10\u0317\4\0\1\u0317\1\u031a\1\0\2\u0317\15\0"+ - "\1\u0317\3\0\1\u0317\1\0\1\u0317\2\0\3\u0317\1\0"+ - "\1\u0317\1\0\3\u0317\1\0\1\u0318\11\0\11\u0317\2\0"+ - "\10\u0317\4\0\1\u0317\2\0\2\u0317\15\0\1\u0317\2\0"+ - "\2\u031b\1\0\1\u031b\1\0\13\u031b\5\0\1\u0301\4\0"+ - "\11\u031b\2\0\10\u031b\4\0\1\u031b\2\0\2\u031b\11\0"+ - "\1\u031c\3\0\1\u031b\1\u0301\22\0\3\u0300\20\0\1\u0301"+ - "\114\0\1\u0332\32\0\1\40\1\u0333\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ - "\2\0\2\40\15\0\1\40\2\0\1\40\1\u0334\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\7\40"+ + "\1\u0321\4\0\1\40\2\0\2\40\15\0\1\40\36\0"+ + "\1\u0322\120\0\1\u0323\36\0\2\40\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\6\40\1\u0324\2\40\2\0\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\3\0\1\u0325"+ + "\1\0\1\u0325\2\0\3\u0325\1\0\1\u0325\1\0\3\u0325"+ + "\13\0\11\u0325\2\0\10\u0325\4\0\1\u0325\2\0\2\u0325"+ + "\15\0\1\u0325\2\0\2\40\1\0\1\40\1\0\13\40"+ + "\1\237\11\0\6\40\1\u0326\2\40\2\0\10\40\4\0"+ + "\1\40\2\0\2\40\15\0\1\40\65\0\1\u0327\63\0"+ + "\1\u0328\41\0\1\u0328\35\0\1\u0329\73\0\3\u0315\1\u032a"+ + "\160\0\1\u032b\7\0\1\u032c\1\0\1\u032c\2\0\3\u032c"+ + "\1\0\1\u032c\1\0\3\u032c\1\0\1\u032d\11\0\11\u032c"+ + "\2\0\10\u032c\4\0\1\u032c\1\u032e\1\0\2\u032c\15\0"+ + "\1\u032c\2\0\2\u0318\1\0\1\u0318\1\0\13\u0318\1\u0319"+ + "\3\u032f\6\0\11\u0318\1\0\1\u0330\10\u0318\4\0\1\u0318"+ + "\2\0\2\u0318\2\0\1\u0331\2\0\2\u0332\6\0\1\u0318"+ + "\3\0\1\u0318\1\0\1\u0318\2\0\3\u0318\1\0\1\u0318"+ + "\1\0\3\u0318\13\0\11\u0318\2\0\10\u0318\4\0\1\u0318"+ + "\2\0\2\u0318\15\0\1\u0318\3\0\1\u0318\1\0\1\u0318"+ + "\2\0\3\u0318\1\0\1\u0318\1\0\3\u0318\1\0\1\u0319"+ + "\11\0\11\u0318\2\0\10\u0318\4\0\1\u0318\1\u031b\1\0"+ + "\2\u0318\15\0\1\u0318\3\0\1\u0318\1\0\1\u0318\2\0"+ + "\3\u0318\1\0\1\u0318\1\0\3\u0318\1\0\1\u0319\11\0"+ + "\11\u0318\2\0\10\u0318\4\0\1\u0318\2\0\2\u0318\15\0"+ + "\1\u0318\2\0\2\u031c\1\0\1\u031c\1\0\13\u031c\5\0"+ + "\1\u0302\4\0\11\u031c\2\0\10\u031c\4\0\1\u031c\2\0"+ + "\2\u031c\11\0\1\u031d\3\0\1\u031c\1\u0302\22\0\3\u0301"+ + "\20\0\1\u0302\114\0\1\u0333\32\0\1\40\1\u0334\1\0"+ "\1\40\1\0\13\40\1\237\11\0\11\40\2\0\10\40"+ - "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\2\40"+ - "\1\0\1\40\1\0\13\40\1\237\11\0\1\u0335\10\40"+ + "\4\0\1\40\2\0\2\40\15\0\1\40\2\0\1\40"+ + "\1\u0335\1\0\1\40\1\0\13\40\1\237\11\0\11\40"+ "\2\0\10\40\4\0\1\40\2\0\2\40\15\0\1\40"+ - "\43\0\1\u0336\41\0\1\u0336\5\0\1\u0337\102\0\2\40"+ - "\1\0\1\u0338\1\0\13\40\1\237\11\0\11\40\2\0"+ - "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\2\0"+ - "\2\u0324\1\0\1\u0324\1\0\13\u0324\1\u030e\11\0\11\u0324"+ - "\2\0\10\u0324\4\0\1\u0324\2\0\2\u0324\15\0\1\u0324"+ - "\2\0\2\40\1\0\1\u0339\1\0\13\40\1\237\11\0"+ + "\2\0\2\40\1\0\1\40\1\0\13\40\1\237\11\0"+ + "\1\u0336\10\40\2\0\10\40\4\0\1\40\2\0\2\40"+ + "\15\0\1\40\43\0\1\u0337\41\0\1\u0337\5\0\1\u0338"+ + "\102\0\2\40\1\0\1\u0339\1\0\13\40\1\237\11\0"+ "\11\40\2\0\10\40\4\0\1\40\2\0\2\40\15\0"+ - "\1\40\5\0\1\u033a\165\0\1\u033b\23\0\1\u033c\1\0"+ - "\1\u033c\2\0\3\u033c\1\0\1\u033c\1\0\3\u033c\13\0"+ - "\11\u033c\2\0\10\u033c\4\0\1\u033c\2\0\2\u033c\15\0"+ - "\1\u033c\23\0\3\u0314\20\0\1\u0315\26\0\2\u0316\11\0"+ - "\2\u032b\1\0\1\u032b\1\0\13\u032b\1\u032c\3\u0314\6\0"+ - "\11\u032b\1\0\1\u033d\10\u032b\4\0\1\u032b\1\0\1\u033e"+ - "\2\u032b\5\0\2\u0316\6\0\1\u032b\3\0\1\u032b\1\0"+ - "\1\u032b\2\0\3\u032b\1\0\1\u032b\1\0\3\u032b\13\0"+ - "\11\u032b\2\0\10\u032b\4\0\1\u032b\2\0\2\u032b\15\0"+ - "\1\u032b\3\0\1\u032b\1\0\1\u032b\2\0\3\u032b\1\0"+ - "\1\u032b\1\0\3\u032b\1\0\1\u032c\11\0\11\u032b\2\0"+ - "\10\u032b\4\0\1\u032b\2\0\2\u032b\15\0\1\u032b\23\0"+ - "\3\u032e\44\0\1\u0330\114\0\1\u033f\77\0\1\u0340\15\0"+ - "\1\u0341\1\0\1\u0341\2\0\3\u0341\1\0\1\u0341\1\0"+ - "\3\u0341\1\0\1\u0342\11\0\11\u0341\2\0\10\u0341\4\0"+ - "\1\u0341\1\u0343\1\0\2\u0341\15\0\1\u0341\41\0\1\u0344"+ - "\46\0\1\40\1\u0345\1\0\1\40\1\0\13\40\1\237"+ - "\11\0\11\40\2\0\10\40\4\0\1\40\2\0\2\40"+ - "\15\0\1\40\2\0\2\40\1\0\1\40\1\0\13\40"+ - "\1\237\11\0\11\40\2\0\1\40\1\u0346\6\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\40\0\1\u0347\102\0"+ - "\1\u0348\51\0\1\u0349\2\u033c\1\u0349\1\u033c\1\u0349\13\u033c"+ - "\1\u0349\3\u034a\6\u0349\11\u033c\1\u0349\1\u034b\10\u033c\4\u0349"+ - "\1\u033c\2\u0349\2\u033c\2\u0349\1\u034c\12\u0349\1\u033c\1\u0349"+ - "\100\0\1\u034d\27\0\3\u0314\47\0\2\u0316\32\0\3\u032e"+ - "\20\0\1\u032f\23\0\1\u0330\2\0\2\u0331\11\0\2\u0341"+ - "\1\0\1\u0341\1\0\13\u0341\1\u0342\3\u032e\6\0\11\u0341"+ - "\1\0\1\u034e\10\u0341\4\0\1\u0341\1\0\1\u034f\2\u0341"+ - "\2\0\1\u0330\2\0\2\u0331\6\0\1\u0341\3\0\1\u0341"+ - "\1\0\1\u0341\2\0\3\u0341\1\0\1\u0341\1\0\3\u0341"+ - "\13\0\11\u0341\2\0\10\u0341\4\0\1\u0341\2\0\2\u0341"+ - "\15\0\1\u0341\3\0\1\u0341\1\0\1\u0341\2\0\3\u0341"+ - "\1\0\1\u0341\1\0\3\u0341\1\0\1\u0342\11\0\11\u0341"+ - "\2\0\10\u0341\4\0\1\u0341\2\0\2\u0341\15\0\1\u0341"+ - "\11\0\1\u0350\76\0\2\40\1\0\1\u0351\1\0\13\40"+ + "\1\40\2\0\2\u0325\1\0\1\u0325\1\0\13\u0325\1\u030f"+ + "\11\0\11\u0325\2\0\10\u0325\4\0\1\u0325\2\0\2\u0325"+ + "\15\0\1\u0325\2\0\2\40\1\0\1\u033a\1\0\13\40"+ "\1\237\11\0\11\40\2\0\10\40\4\0\1\40\2\0"+ - "\2\40\15\0\1\40\35\0\1\u0321\135\0\1\u0352\21\0"+ - "\22\u0349\1\0\1\u0349\1\0\44\u0349\1\u034c\36\u0349\3\u034a"+ - "\44\u0349\1\u034c\16\u0349\1\u0353\1\u0349\1\u0353\2\u0349\3\u0353"+ - "\1\u0349\1\u0353\1\u0349\3\u0353\2\u0349\1\0\1\u0349\1\0"+ - "\1\u0349\1\u034b\4\u0349\11\u0353\2\u0349\10\u0353\4\u0349\1\u0353"+ - "\2\u0349\2\u0353\2\u0349\1\u034c\6\u0349\1\u0354\3\u0349\1\u0353"+ - "\1\u034b\22\u0349\1\0\1\u0349\1\0\44\u0349\1\u034c\1\u0355"+ - "\13\u0349\22\0\3\u0314\20\0\1\u033d\16\0\1\u033e\7\0"+ - "\2\u0316\110\0\1\u0356\27\0\3\u032e\44\0\1\u0330\2\0"+ - "\2\u0331\64\0\1\u0357\32\0\2\40\1\0\1\40\1\0"+ - "\13\40\1\237\11\0\10\40\1\u0358\2\0\10\40\4\0"+ - "\1\40\2\0\2\40\15\0\1\40\1\0\1\u0349\2\u0353"+ - "\1\u0349\1\u0353\1\u0349\13\u0353\1\u0349\1\0\1\u0349\1\0"+ - "\1\u0349\1\u034b\4\u0349\11\u0353\2\u0349\10\u0353\4\u0349\1\u0353"+ - "\2\u0349\2\u0353\2\u0349\1\u034c\6\u0349\1\u0354\3\u0349\1\u0353"+ - "\1\u034b\22\u0349\3\u034a\20\u0349\1\u034b\23\u0349\1\u034c\14\u0349"+ - "\22\0\3\u032e\20\0\1\u034e\16\0\1\u034f\4\0\1\u0330"+ - "\2\0\2\u0331\14\0\1\u0359\102\0\2\40\1\0\1\40"+ + "\2\40\15\0\1\40\5\0\1\u033b\165\0\1\u033c\23\0"+ + "\1\u033d\1\0\1\u033d\2\0\3\u033d\1\0\1\u033d\1\0"+ + "\3\u033d\13\0\11\u033d\2\0\10\u033d\4\0\1\u033d\2\0"+ + "\2\u033d\15\0\1\u033d\23\0\3\u0315\20\0\1\u0316\26\0"+ + "\2\u0317\11\0\2\u032c\1\0\1\u032c\1\0\13\u032c\1\u032d"+ + "\3\u0315\6\0\11\u032c\1\0\1\u033e\10\u032c\4\0\1\u032c"+ + "\1\0\1\u033f\2\u032c\5\0\2\u0317\6\0\1\u032c\3\0"+ + "\1\u032c\1\0\1\u032c\2\0\3\u032c\1\0\1\u032c\1\0"+ + "\3\u032c\13\0\11\u032c\2\0\10\u032c\4\0\1\u032c\2\0"+ + "\2\u032c\15\0\1\u032c\3\0\1\u032c\1\0\1\u032c\2\0"+ + "\3\u032c\1\0\1\u032c\1\0\3\u032c\1\0\1\u032d\11\0"+ + "\11\u032c\2\0\10\u032c\4\0\1\u032c\2\0\2\u032c\15\0"+ + "\1\u032c\23\0\3\u032f\44\0\1\u0331\114\0\1\u0340\77\0"+ + "\1\u0341\15\0\1\u0342\1\0\1\u0342\2\0\3\u0342\1\0"+ + "\1\u0342\1\0\3\u0342\1\0\1\u0343\11\0\11\u0342\2\0"+ + "\10\u0342\4\0\1\u0342\1\u0344\1\0\2\u0342\15\0\1\u0342"+ + "\41\0\1\u0345\46\0\1\40\1\u0346\1\0\1\40\1\0"+ + "\13\40\1\237\11\0\11\40\2\0\10\40\4\0\1\40"+ + "\2\0\2\40\15\0\1\40\2\0\2\40\1\0\1\40"+ + "\1\0\13\40\1\237\11\0\11\40\2\0\1\40\1\u0347"+ + "\6\40\4\0\1\40\2\0\2\40\15\0\1\40\40\0"+ + "\1\u0348\102\0\1\u0349\51\0\1\u034a\2\u033d\1\u034a\1\u033d"+ + "\1\u034a\13\u033d\1\u034a\3\u034b\6\u034a\11\u033d\1\u034a\1\u034c"+ + "\10\u033d\4\u034a\1\u033d\2\u034a\2\u033d\2\u034a\1\u034d\12\u034a"+ + "\1\u033d\1\u034a\100\0\1\u034e\27\0\3\u0315\47\0\2\u0317"+ + "\32\0\3\u032f\20\0\1\u0330\23\0\1\u0331\2\0\2\u0332"+ + "\11\0\2\u0342\1\0\1\u0342\1\0\13\u0342\1\u0343\3\u032f"+ + "\6\0\11\u0342\1\0\1\u034f\10\u0342\4\0\1\u0342\1\0"+ + "\1\u0350\2\u0342\2\0\1\u0331\2\0\2\u0332\6\0\1\u0342"+ + "\3\0\1\u0342\1\0\1\u0342\2\0\3\u0342\1\0\1\u0342"+ + "\1\0\3\u0342\13\0\11\u0342\2\0\10\u0342\4\0\1\u0342"+ + "\2\0\2\u0342\15\0\1\u0342\3\0\1\u0342\1\0\1\u0342"+ + "\2\0\3\u0342\1\0\1\u0342\1\0\3\u0342\1\0\1\u0343"+ + "\11\0\11\u0342\2\0\10\u0342\4\0\1\u0342\2\0\2\u0342"+ + "\15\0\1\u0342\11\0\1\u0351\76\0\2\40\1\0\1\u0352"+ "\1\0\13\40\1\237\11\0\11\40\2\0\10\40\4\0"+ - "\1\40\1\u035a\1\0\2\40\15\0\1\40\23\0\3\u0359"+ - "\5\0\1\u035b\137\0\1\u035c\43\0\3\u035b\1\0\1\u035d"+ - "\26\0\1\u035e\27\0\1\u035f\31\0\1\u0360\131\0\1\u0361"+ - "\101\0\1\u0362\111\0\1\u0363\101\0\1\u0364\111\0\1\u0365"+ - "\101\0\1\u0366\111\0\1\u0367\52\0\3\u0365\32\0\1\u0368"+ - "\103\0\1\u0369\56\0\1\u0365\164\0\1\u0365"; + "\1\40\2\0\2\40\15\0\1\40\35\0\1\u0322\135\0"+ + "\1\u0353\21\0\22\u034a\1\0\1\u034a\1\0\44\u034a\1\u034d"+ + "\36\u034a\3\u034b\44\u034a\1\u034d\16\u034a\1\u0354\1\u034a\1\u0354"+ + "\2\u034a\3\u0354\1\u034a\1\u0354\1\u034a\3\u0354\2\u034a\1\0"+ + "\1\u034a\1\0\1\u034a\1\u034c\4\u034a\11\u0354\2\u034a\10\u0354"+ + "\4\u034a\1\u0354\2\u034a\2\u0354\2\u034a\1\u034d\6\u034a\1\u0355"+ + "\3\u034a\1\u0354\1\u034c\22\u034a\1\0\1\u034a\1\0\44\u034a"+ + "\1\u034d\1\u0356\13\u034a\22\0\3\u0315\20\0\1\u033e\16\0"+ + "\1\u033f\7\0\2\u0317\110\0\1\u0357\27\0\3\u032f\44\0"+ + "\1\u0331\2\0\2\u0332\64\0\1\u0358\32\0\2\40\1\0"+ + "\1\40\1\0\13\40\1\237\11\0\10\40\1\u0359\2\0"+ + "\10\40\4\0\1\40\2\0\2\40\15\0\1\40\1\0"+ + "\1\u034a\2\u0354\1\u034a\1\u0354\1\u034a\13\u0354\1\u034a\1\0"+ + "\1\u034a\1\0\1\u034a\1\u034c\4\u034a\11\u0354\2\u034a\10\u0354"+ + "\4\u034a\1\u0354\2\u034a\2\u0354\2\u034a\1\u034d\6\u034a\1\u0355"+ + "\3\u034a\1\u0354\1\u034c\22\u034a\3\u034b\20\u034a\1\u034c\23\u034a"+ + "\1\u034d\14\u034a\22\0\3\u032f\20\0\1\u034f\16\0\1\u0350"+ + "\4\0\1\u0331\2\0\2\u0332\14\0\1\u035a\102\0\2\40"+ + "\1\0\1\40\1\0\13\40\1\237\11\0\11\40\2\0"+ + "\10\40\4\0\1\40\1\u035b\1\0\2\40\15\0\1\40"+ + "\23\0\3\u035a\5\0\1\u035c\137\0\1\u035d\43\0\3\u035c"+ + "\1\0\1\u035e\26\0\1\u035f\27\0\1\u0360\31\0\1\u0361"+ + "\131\0\1\u0362\101\0\1\u0363\111\0\1\u0364\101\0\1\u0365"+ + "\111\0\1\u0366\101\0\1\u0367\111\0\1\u0368\52\0\3\u0366"+ + "\32\0\1\u0369\103\0\1\u036a\56\0\1\u0366\164\0\1\u0366"; private static int [] zzUnpackTrans() { int [] result = new int[46620]; @@ -1560,7 +1549,7 @@ private static int zzUnpackTrans(String packed, int offset, int [] result) { "\2\0\3\1\3\0\1\11\1\0\1\1\1\11\27\1"+ "\1\11\10\1\4\11\1\1\1\0\2\1\1\11\1\1"+ "\12\0\2\1\1\11\1\1\1\0\1\11\1\1\1\11"+ - "\1\1\2\11\1\1\2\0\6\11\4\0\3\1\3\11"+ + "\1\1\2\11\1\1\2\0\7\11\4\0\3\1\3\11"+ "\1\1\3\0\2\1\1\11\1\1\3\0\1\1\1\0"+ "\1\1\1\11\1\0\1\11\3\0\1\1\1\0\2\1"+ "\1\11\1\0\1\11\1\0\1\11\2\0\1\1\2\0"+ @@ -1582,7 +1571,7 @@ private static int zzUnpackTrans(String packed, int offset, int [] result) { "\1\1\7\0\1\11\7\0\1\11\1\0"; private static int [] zzUnpackAttribute() { - int [] result = new int[873]; + int [] result = new int[874]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; @@ -1649,6 +1638,9 @@ the source of the yytext() string */ /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; + /** denotes if the user-EOF-code has already been executed */ + private boolean zzEOFDone; + /* user code: */ private final List commentList = new ArrayList(); private final Deque heredocStack = new ArrayDeque<>(); @@ -2261,7 +2253,7 @@ else if (zzAtEOF) zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; - zzState = ZZ_LEXSTATE[zzLexicalState]; + zzState = zzLexicalState; zzForAction: { @@ -2312,50 +2304,50 @@ else if (zzAtEOF) { case 60: { // yymore(); } - case 228: break; - case 226: + case 229: break; + case 227: { comment = yytext(); handleVarComment(); } - case 229: break; - case 206: + case 230: break; + case 207: { return createFullSymbol(ASTPHP5Symbols.T_INTERFACE); } - case 230: break; + case 231: break; case 29: { return createSymbol(ASTPHP5Symbols.T_OR); } - case 231: break; - case 171: + case 232: break; + case 172: { yypushback(yylength() - 4); // 4: enum length return createFullSymbol(ASTPHP5Symbols.T_ENUM); } - case 232: break; - case 165: + case 233: break; + case 166: { return createFullSymbol(ASTPHP5Symbols.T_PRINT); } - case 233: break; - case 191: + case 234: break; + case 192: { return createSymbol(ASTPHP5Symbols.T_UNSET_CAST); } - case 234: break; + case 235: break; case 1: { return createSymbol(ASTPHP5Symbols.T_INLINE_HTML); } - case 235: break; + case 236: break; case 24: { return createSymbol(ASTPHP5Symbols.T_RGREATER); } - case 236: break; - case 177: + case 237: break; + case 178: { return createFullSymbol(ASTPHP5Symbols.T_GLOBAL); } - case 237: break; + case 238: break; case 25: { return createSymbol(ASTPHP5Symbols.T_TIMES); } - case 238: break; - case 116: + case 239: break; + case 117: { String text = yytext(); if ((text.charAt(1)=='%' && asp_tags) || (text.charAt(1)=='?')) { @@ -2365,121 +2357,121 @@ else if (zzAtEOF) { return createSymbol(ASTPHP5Symbols.T_INLINE_HTML); } } - case 239: break; + case 240: break; case 80: { return createSymbol(ASTPHP5Symbols.T_MINUS_EQUAL); } - case 240: break; - case 101: + case 241: break; + case 102: { return createSymbol(ASTPHP5Symbols.T_BOOLEAN_OR); } - case 241: break; + case 242: break; case 12: { pushState(ST_IN_SCRIPTING); bracket++; return createSymbol(ASTPHP5Symbols.T_CURLY_OPEN); } - case 242: break; + case 243: break; case 22: { return createSymbol(ASTPHP5Symbols.T_CLOSE_PARENTHESE); } - case 243: break; + case 244: break; case 47: { yypushback(yylength()); popState(); } - case 244: break; + case 245: break; case 23: { return createSymbol(ASTPHP5Symbols.T_NOT); } - case 245: break; + case 246: break; case 19: { return createSymbol(ASTPHP5Symbols.T_QUESTION_MARK); } - case 246: break; - case 131: + case 247: break; + case 132: { return createFullSymbol(ASTPHP5Symbols.T_VAR); } - case 247: break; + case 248: break; case 57: { popState(); return createSymbol(ASTPHP5Symbols.T_CLOSE_RECT); } - case 248: break; - case 218: + case 249: break; + case 219: { return createFullSymbol(ASTPHP5Symbols.T_FUNC_C); } - case 249: break; - case 154: + case 250: break; + case 155: { return createFullSymbol(ASTPHP5Symbols.T_TRAIT); } - case 250: break; - case 222: + case 251: break; + case 223: { return createFullSymbol(ASTPHP5Symbols.T_PRIVATE_SET); } - case 251: break; - case 174: + case 252: break; + case 175: { return createFullSymbol(ASTPHP5Symbols.T_STATIC); } - case 252: break; - case 216: + case 253: break; + case 217: { return createFullSymbol(ASTPHP5Symbols.T_NAME_RELATIVE); } - case 253: break; - case 144: + case 254: break; + case 145: { return createFullSymbol(ASTPHP5Symbols.T_EVAL); } - case 254: break; - case 176: + case 255: break; + case 177: { return createFullSymbol(ASTPHP5Symbols.T_RETURN); } - case 255: break; - case 157: + case 256: break; + case 158: { return createFullSymbol(ASTPHP5Symbols.T_UNSET); } - case 256: break; - case 136: + case 257: break; + case 137: { if (!parsePHPDoc()) { handleCommentStart(); yybegin(ST_DOCBLOCK); } } - case 257: break; + case 258: break; case 28: { return createSymbol(ASTPHP5Symbols.T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG); } - case 258: break; + case 259: break; case 93: { return createSymbol(ASTPHP5Symbols.T_DIV_EQUAL); } - case 259: break; + case 260: break; case 48: { popState(); return createFullSymbol(ASTPHP5Symbols.T_STRING); } - case 260: break; - case 212: + case 261: break; + case 213: { return createFullSymbol(ASTPHP5Symbols.T_ENDFOREACH); } - case 261: break; - case 210: + case 262: break; + case 211: { return createFullSymbol(ASTPHP5Symbols.T_METHOD_C); } - case 262: break; + case 263: break; case 38: { /*{BACKQUOTE_CHARS}+*/ return createFullSymbol(ASTPHP5Symbols.T_ENCAPSED_AND_WHITESPACE); } - case 263: break; - case 187: + case 264: break; + case 188: { return createFullSymbol(ASTPHP5Symbols.T_FINALLY); } - case 264: break; + case 265: break; case 79: { return createSymbol(ASTPHP5Symbols.T_ATTRIBUTE); } - case 265: break; - case 110: + case 266: break; + case 111: { /* {TABS_AND_SPACES}{LABEL}";"?[^\n\r]*[\r\n]? */ // there is no [\r\n] if it is the last line // i.e. not [\r\n] but EOF, so check not [\r\n] but [\r\n]? @@ -2498,42 +2490,42 @@ else if (zzAtEOF) { updateNowdocBodyInfo(); } } - case 266: break; - case 106: + case 267: break; + case 107: { yypushback(1); /*{BACKQUOTE_CHARS}*("{""{"+|"$""$"+|(("{"+|"$"+)[`]))*/ return createFullSymbol(ASTPHP5Symbols.T_ENCAPSED_AND_WHITESPACE); } - case 267: break; + case 268: break; case 89: { return createSymbol(ASTPHP5Symbols.T_IS_SMALLER_OR_EQUAL); } - case 268: break; - case 130: + case 269: break; + case 131: { return createSymbol(ASTPHP5Symbols.T_COALESCE_EQUAL); } - case 269: break; + case 270: break; case 73: { return createFullSymbol(ASTPHP5Symbols.T_CONSTANT_ENCAPSED_STRING); } - case 270: break; - case 121: + case 271: break; + case 122: { return createFullSymbol(ASTPHP5Symbols.T_LOGICAL_AND); } - case 271: break; - case 159: + case 272: break; + case 160: { return createFullSymbol(ASTPHP5Symbols.T_CONST); } - case 272: break; - case 147: + case 273: break; + case 148: { return createFullSymbol(ASTPHP5Symbols.T_GOTO); } - case 273: break; - case 129: + case 274: break; + case 130: { pushState(ST_LOOKING_FOR_PROPERTY); return createSymbol(ASTPHP5Symbols.T_NULLSAFE_OBJECT_OPERATOR); } - case 274: break; + case 275: break; case 46: { /* {LABEL}";"?[\n\r] */ nowdoc = null; @@ -2546,59 +2538,59 @@ else if (zzAtEOF) { yypushback(back); return createSymbol(ASTPHP5Symbols.T_END_NOWDOC); } - case 275: break; - case 124: + case 276: break; + case 125: { return createFullSymbol(ASTPHP5Symbols.T_EXIT); } - case 276: break; + case 277: break; case 37: { yybegin(ST_IN_SCRIPTING); return createSymbol(ASTPHP5Symbols.T_QUATE); } - case 277: break; - case 139: + case 278: break; + case 140: { /* {HEREDOC_CHARS}("{$" | "${") */ yypushback(2); updateHeredocBodyInfo(); return createFullHeredocBodySymbol(); } - case 278: break; - case 198: + case 279: break; + case 199: { return createFullSymbol(ASTPHP5Symbols.T_CALLABLE); } - case 279: break; - case 132: + case 280: break; + case 133: { return createSymbol(ASTPHP5Symbols.T_IS_NOT_IDENTICAL); } - case 280: break; - case 217: + case 281: break; + case 218: { return createFullSymbol(ASTPHP5Symbols.T_PUBLIC_SET); } - case 281: break; + case 282: break; case 42: { yypushback(1); yybegin(ST_HEREDOC); } - case 282: break; - case 173: + case 283: break; + case 174: { /* not a keyword, hust for recognize constans.*/ return createFullSymbol(ASTPHP5Symbols.T_DEFINE); } - case 283: break; + case 284: break; case 45: { yypushback(1); yybegin(ST_NOWDOC); } - case 284: break; + case 285: break; case 100: { return createSymbol(ASTPHP5Symbols.T_OR_EQUAL); } - case 285: break; - case 152: + case 286: break; + case 153: { return createFullSymbol(ASTPHP5Symbols.T_BREAK); } - case 286: break; - case 107: + case 287: break; + case 108: { /* {NEWLINE}{TABS_AND_SPACES}{LABEL}";"?[^\n\r]*[\n\r]? */ int trailingNewLineLength = 1; int labelLength = yylength() - trailingNewLineLength; @@ -2644,125 +2636,125 @@ else if (zzAtEOF) { return createFullHeredocBodySymbol(); } } - case 287: break; + case 288: break; case 62: { yybegin(ST_IN_SCRIPTING); return createSymbol(ASTPHP5Symbols.T_ECHO); } - case 288: break; - case 175: + case 289: break; + case 176: { return createFullSymbol(ASTPHP5Symbols.T_SWITCH); } - case 289: break; + case 290: break; case 36: { /*{DOUBLE_QUOTES_CHARS}+*/ return createFullSymbol(ASTPHP5Symbols.T_ENCAPSED_AND_WHITESPACE); } - case 290: break; + case 291: break; case 33: { return createSymbol(ASTPHP5Symbols.T_TILDA); } - case 291: break; + case 292: break; case 76: { return createFullSymbol(ASTPHP5Symbols.T_IF); } - case 292: break; - case 188: + case 293: break; + case 189: { return createFullSymbol(ASTPHP5Symbols.T_REQUIRE); } - case 293: break; + case 294: break; case 20: { return createSymbol(ASTPHP5Symbols.T_NEKUDOTAIM); } - case 294: break; - case 163: + case 295: break; + case 164: { return createFullSymbol(ASTPHP5Symbols.T_MATCH); } - case 295: break; + case 296: break; case 56: { return createSymbol(ASTPHP5Symbols.T_REFERENCE); } - case 296: break; + case 297: break; case 94: { handleCommentStart(); yybegin(ST_COMMENT); } - case 297: break; - case 208: + case 298: break; + case 209: { return createFullSymbol(ASTPHP5Symbols.T_NAMESPACE); } - case 298: break; - case 119: + case 299: break; + case 120: { // PHP 8.1: Explicit octal integer literal notation // https://wiki.php.net/rfc/explicit_octal_notation return createFullSymbol(ASTPHP5Symbols.T_LNUMBER); } - case 299: break; - case 214: + case 300: break; + case 215: { return createFullSymbol(ASTPHP5Symbols.T_IMPLEMENTS); } - case 300: break; - case 162: + case 301: break; + case 163: { return createFullSymbol(ASTPHP5Symbols.T_YIELD); } - case 301: break; + case 302: break; case 17: { return createSymbol(ASTPHP5Symbols.T_MINUS); } - case 302: break; + case 303: break; case 44: { /* {NOWDOC_CHARS}|{NEWLINE} */ updateNowdocBodyInfo(); } - case 303: break; - case 204: + case 304: break; + case 205: { return createFullSymbol(ASTPHP5Symbols.T_CLASS_C); } - case 304: break; - case 117: + case 305: break; + case 118: { return createFullSymbol(ASTPHP5Symbols.T_NAME_QUALIFIED); } - case 305: break; - case 224: + case 306: break; + case 225: { return createFullSymbol(ASTPHP5Symbols.T_NS_C); } - case 306: break; - case 166: + case 307: break; + case 167: { return createSymbol(ASTPHP5Symbols.T_INT_CAST); } - case 307: break; - case 114: + case 308: break; + case 115: { handlePHPDocEnd(); yybegin(ST_IN_SCRIPTING); } - case 308: break; - case 172: + case 309: break; + case 173: { return createFullSymbol(ASTPHP5Symbols.T_ELSEIF); } - case 309: break; + case 310: break; case 86: { return createSymbol(ASTPHP5Symbols.T_COALESCE); } - case 310: break; - case 211: + case 311: break; + case 212: { return createFullSymbol(ASTPHP5Symbols.T_ENDDECLARE); } - case 311: break; + case 312: break; case 81: { return createSymbol(ASTPHP5Symbols.T_DEC); } - case 312: break; - case 103: + case 313: break; + case 104: { yypushback(1); /*{DOUBLE_QUOTES_CHARS}*("{""{"+|"$""$"+|(("{"+|"$"+)[\"]))*/ return createFullSymbol(ASTPHP5Symbols.T_ENCAPSED_AND_WHITESPACE); } - case 313: break; - case 196: + case 314: break; + case 197: { return createFullSymbol(ASTPHP5Symbols.T_ABSTRACT); } - case 314: break; - case 192: + case 315: break; + case 193: { int bprefix = (yytext().charAt(0) != '<') ? 1 : 0; int startString=3+bprefix; /* 3 is <<<, 2 is quotes, 1 is newline */ @@ -2777,95 +2769,99 @@ else if (zzAtEOF) { yybegin(ST_START_NOWDOC); return createSymbol(ASTPHP5Symbols.T_START_NOWDOC); } - case 315: break; - case 143: + case 316: break; + case 144: { return createFullSymbol(ASTPHP5Symbols.T_ELSE); } - case 316: break; - case 207: + case 317: break; + case 208: { return createFullSymbol(ASTPHP5Symbols.T_INSTEADOF); } - case 317: break; + case 318: break; case 82: { pushState(ST_LOOKING_FOR_PROPERTY); return createSymbol(ASTPHP5Symbols.T_OBJECT_OPERATOR); } - case 318: break; + case 319: break; case 13: { return createSymbol(ASTPHP5Symbols.T_SEMICOLON); } - case 319: break; + case 320: break; case 2: { // do nothing } - case 320: break; + case 321: break; case 50: { popState(); pushState(ST_IN_SCRIPTING); return createFullSymbol(ASTPHP5Symbols.T_STRING_VARNAME); } - case 321: break; - case 146: + case 322: break; + case 147: { return createFullSymbol(ASTPHP5Symbols.T_LIST); } - case 322: break; + case 323: break; case 18: { return createSymbol(ASTPHP5Symbols.T_LGREATER); } - case 323: break; - case 113: + case 324: break; + case 114: { handleMultilineCommentEnd(); yybegin(ST_IN_SCRIPTING); } - case 324: break; - case 137: + case 325: break; + case 138: { yypushback(1); pushState(ST_VAR_OFFSET); return createFullSymbol(ASTPHP5Symbols.T_VARIABLE); } - case 325: break; - case 170: + case 326: break; + case 171: { return createFullSymbol(ASTPHP5Symbols.T_ENDFOR); } - case 326: break; + case 327: break; case 3: { return createFullSymbol(ASTPHP5Symbols.T_LNUMBER); } - case 327: break; + case 328: break; case 41: { /* "$" | "{" */ updateHeredocBodyInfo(); } - case 328: break; - case 148: + case 329: break; + case 149: { handleCommentStart(); } - case 329: break; - case 151: + case 330: break; + case 152: { return createFullSymbol(ASTPHP5Symbols.T_ARRAY); } - case 330: break; - case 142: + case 331: break; + case 143: { return createFullSymbol(ASTPHP5Symbols.T_ECHO); } - case 331: break; + case 332: break; case 51: { return createFullSymbol(ASTPHP5Symbols.T_NUM_STRING); } - case 332: break; + case 333: break; case 98: { return createSymbol(ASTPHP5Symbols.T_AND_EQUAL); } - case 333: break; + case 334: break; case 55: { bracket++; return createSymbol(ASTPHP5Symbols.T_CURLY_OPEN); } - case 334: break; - case 155: + case 335: break; + case 101: + { return createSymbol(ASTPHP5Symbols.T_PIPE); + } + case 336: break; + case 156: { return createFullSymbol(ASTPHP5Symbols.T_THROW); } - case 335: break; - case 138: + case 337: break; + case 139: { /* {HEREDOC_CHARS}"$"{LABEL}"["? */ String text = yytext(); int lastIndexOfDollar = text.lastIndexOf('$'); @@ -2873,16 +2869,16 @@ else if (zzAtEOF) { updateHeredocBodyInfo(); return createFullHeredocBodySymbol(); } - case 336: break; - case 164: + case 338: break; + case 165: { return createFullSymbol(ASTPHP5Symbols.T_WHILE); } - case 337: break; - case 205: + case 339: break; + case 206: { return createFullSymbol(ASTPHP5Symbols.T_ENDSWITCH); } - case 338: break; - case 167: + case 340: break; + case 168: { int removeChars = (yytext().charAt(0) == 'b')?4:3; if (heredoc != null) { heredocStack.push(new HeredocInfo(heredoc, heredocBody.toString(), heredocBodyStart, heredocBodyLength)); @@ -2898,7 +2894,7 @@ else if (zzAtEOF) { } return createSymbol(ASTPHP5Symbols.T_START_HEREDOC); } - case 339: break; + case 341: break; case 64: { if (asp_tags) { yybegin(ST_IN_SCRIPTING); @@ -2908,39 +2904,39 @@ else if (zzAtEOF) { return createSymbol(ASTPHP5Symbols.T_INLINE_HTML); } } - case 340: break; - case 190: + case 342: break; + case 191: { return createSymbol(ASTPHP5Symbols.T_ARRAY_CAST); } - case 341: break; - case 105: + case 343: break; + case 106: { pushState(ST_IN_SCRIPTING); yypushback(yylength()-1); bracket++; return createSymbol(ASTPHP5Symbols.T_CURLY_OPEN_WITH_DOLAR); } - case 342: break; - case 184: + case 344: break; + case 185: { return createFullSymbol(ASTPHP5Symbols.T_DEFAULT); } - case 343: break; - case 180: + case 345: break; + case 181: { return createSymbol(ASTPHP5Symbols.T_DOUBLE_CAST); } - case 344: break; + case 346: break; case 11: { yybegin(ST_BACKQUOTE); return createSymbol(ASTPHP5Symbols.T_BACKQUATE); } - case 345: break; + case 347: break; case 16: { return createSymbol(ASTPHP5Symbols.T_OPEN_RECT); } - case 346: break; - case 158: + case 348: break; + case 159: { return createFullSymbol(ASTPHP5Symbols.T_CATCH); } - case 347: break; + case 349: break; case 61: { String yytext = yytext(); switch (yytext.charAt(yytext.length() - 1)) { @@ -2955,7 +2951,7 @@ else if (zzAtEOF) { } // yymore(); } - case 348: break; + case 350: break; case 35: { /* This is a temporary fix which is dependant on flex and it's implementation */ if (!stack.isEmpty()) { @@ -2964,20 +2960,20 @@ else if (zzAtEOF) { bracket--; return createSymbol(ASTPHP5Symbols.T_CURLY_CLOSE); } - case 349: break; - case 140: + case 351: break; + case 141: { return createSymbol(ASTPHP5Symbols.T_NULLSAFE_OBJECT_OPERATOR); } - case 350: break; + case 352: break; case 95: { return createSymbol(ASTPHP5Symbols.T_MOD_EQUAL); } - case 351: break; + case 353: break; case 26: { return createSymbol(ASTPHP5Symbols.T_DIV); } - case 352: break; - case 108: + case 354: break; + case 109: { /* {TABS_AND_SPACES}{LABEL}";"?[^\n\r]*[\n\r]? */ int trailingNewLineLength = 1; int labelLength = yylength() - trailingNewLineLength; @@ -2999,28 +2995,28 @@ else if (zzAtEOF) { yybegin(ST_HEREDOC); } } - case 353: break; - case 225: + case 355: break; + case 226: { return createFullSymbol(ASTPHP5Symbols.T_PROTECTED_SET); } - case 354: break; + case 356: break; case 32: { return createSymbol(ASTPHP5Symbols.T_CLOSE_RECT); } - case 355: break; - case 133: + case 357: break; + case 134: { return createSymbol(ASTPHP5Symbols.T_SPACESHIP); } - case 356: break; + case 358: break; case 6: { return createSymbol(ASTPHP5Symbols.T_PLUS); } - case 357: break; - case 160: + case 359: break; + case 161: { return createFullSymbol(ASTPHP5Symbols.T_CLASS); } - case 358: break; - case 109: + case 360: break; + case 110: { /* {NEWLINE}+{TABS_AND_SPACES}{LABEL}";"?[^\n\r]*[\r\n]? */ if (isEndHereOrNowdoc(nowdoc)) { String yytext = yytext(); @@ -3044,29 +3040,29 @@ else if (zzAtEOF) { updateNowdocBodyInfo(); } } - case 359: break; - case 125: + case 361: break; + case 126: { return createFullSymbol(ASTPHP5Symbols.T_FOR); } - case 360: break; - case 168: + case 362: break; + case 169: { yypushback(3); pushState(ST_LOOKING_FOR_PROPERTY); return createFullSymbol(ASTPHP5Symbols.T_VARIABLE); } - case 361: break; + case 363: break; case 83: { return createSymbol(ASTPHP5Symbols.T_IS_GREATER_OR_EQUAL); } - case 362: break; + case 364: break; case 77: { return createFullSymbol(ASTPHP5Symbols.T_DO); } - case 363: break; + case 365: break; case 99: { return createSymbol(ASTPHP5Symbols.T_BOOLEAN_AND); } - case 364: break; + case 366: break; case 40: { /* {HEREDOC_CHARS} */ int indexOfNewline = yytext().indexOf("\r"); @@ -3079,112 +3075,112 @@ else if (zzAtEOF) { } updateHeredocBodyInfo(); } - case 365: break; + case 367: break; case 4: { return createFullSymbol(ASTPHP5Symbols.T_STRING); } - case 366: break; - case 183: + case 368: break; + case 184: { return createFullSymbol(ASTPHP5Symbols.T_INCLUDE); } - case 367: break; + case 369: break; case 5: { return createSymbol(ASTPHP5Symbols.T_NEKUDA); } - case 368: break; - case 149: + case 370: break; + case 150: { return createFullSymbol(ASTPHP5Symbols.T_ENDIF); } - case 369: break; - case 126: + case 371: break; + case 127: { return createFullSymbol(ASTPHP5Symbols.T_NEW); } - case 370: break; + case 372: break; case 58: { bracket--; return createSymbol(ASTPHP5Symbols.T_CURLY_CLOSE); } - case 371: break; - case 213: + case 373: break; + case 214: { return createFullSymbol(ASTPHP5Symbols.T_INSTANCEOF); } - case 372: break; + case 374: break; case 49: { yypushback(yylength()); popState(); pushState(ST_IN_SCRIPTING); } - case 373: break; - case 169: + case 375: break; + case 170: { isEndedPhp = false; whitespaceEndPosition = getTokenStartPosition() + yylength(); yybegin(ST_IN_SCRIPTING); //return T_OPEN_TAG; //return createSymbol(ASTPHP5Symbols.T_OPEN_TAG); } - case 374: break; + case 376: break; case 68: { return createSymbol(ASTPHP5Symbols.T_PLUS_EQUAL); } - case 375: break; + case 377: break; case 78: { // PHP 7.4 Arrow Functions 2.0 // https://wiki.php.net/rfc/arrow_functions_v2 return createFullSymbol(ASTPHP5Symbols.T_FN); } - case 376: break; + case 378: break; case 8: { whitespaceEndPosition = getTokenStartPosition() + yylength(); } - case 377: break; - case 104: + case 379: break; + case 105: { pushState(ST_LOOKING_FOR_VARNAME); bracket++; return createSymbol(ASTPHP5Symbols.T_DOLLAR_OPEN_CURLY_BRACES); } - case 378: break; - case 189: + case 380: break; + case 190: { return createFullSymbol(ASTPHP5Symbols.T_PRIVATE); } - case 379: break; - case 221: + case 381: break; + case 222: { return createFullSymbol(ASTPHP5Symbols.T_REQUIRE_ONCE); } - case 380: break; - case 219: + case 382: break; + case 220: { yypushback(yylength() - 4); // 4: enum length return createFullSymbol(ASTPHP5Symbols.T_STRING); } - case 381: break; - case 186: + case 383: break; + case 187: { return createFullSymbol(ASTPHP5Symbols.T_FOREACH); } - case 382: break; - case 161: + case 384: break; + case 162: { return createFullSymbol(ASTPHP5Symbols.T_CLONE); } - case 383: break; - case 153: + case 385: break; + case 154: { return createFullSymbol(ASTPHP5Symbols.T_ISSET); } - case 384: break; + case 386: break; case 21: { return createSymbol(ASTPHP5Symbols.T_OPEN_PARENTHESE); } - case 385: break; - case 178: + case 387: break; + case 179: { return createFullSymbol(ASTPHP5Symbols.T_PUBLIC); } - case 386: break; + case 388: break; case 15: { handleCommentStart(); yybegin(ST_ONE_LINE_COMMENT); // yymore(); } - case 387: break; - case 128: + case 389: break; + case 129: { return createSymbol(ASTPHP5Symbols.T_SR_EQUAL); } - case 388: break; + case 390: break; case 63: { if (short_tags_allowed || yylength()>2) { /* yyleng>2 means it's not */ yybegin(ST_IN_SCRIPTING); @@ -3194,59 +3190,59 @@ else if (zzAtEOF) { return createSymbol(ASTPHP5Symbols.T_INLINE_HTML); } } - case 389: break; - case 150: + case 391: break; + case 151: { return createFullSymbol(ASTPHP5Symbols.T_EMPTY); } - case 390: break; - case 227: + case 392: break; + case 228: { yybegin(ST_HALTED_COMPILER); return createSymbol(ASTPHP5Symbols.T_HALT_COMPILER); } - case 391: break; + case 393: break; case 88: { return createSymbol(ASTPHP5Symbols.T_IS_NOT_EQUAL); } - case 392: break; + case 394: break; case 91: { return createSymbol(ASTPHP5Symbols.T_MUL_EQUAL); } - case 393: break; + case 395: break; case 97: { yypushback(yylength() - 1); return createSymbol(ASTPHP5Symbols.T_REFERENCE); } - case 394: break; - case 134: + case 396: break; + case 135: { return createSymbol(ASTPHP5Symbols.T_SL_EQUAL); } - case 395: break; - case 123: + case 397: break; + case 124: { return createFullSymbol(ASTPHP5Symbols.T_TRY); } - case 396: break; - case 156: + case 398: break; + case 157: { return createFullSymbol(ASTPHP5Symbols.T_FINAL); } - case 397: break; - case 202: + case 399: break; + case 203: { return createSymbol(ASTPHP5Symbols.T_OBJECT_CAST); } - case 398: break; - case 179: + case 400: break; + case 180: { return createSymbol(ASTPHP5Symbols.T_BOOL_CAST); } - case 399: break; + case 401: break; case 39: { yybegin(ST_IN_SCRIPTING); return createSymbol(ASTPHP5Symbols.T_BACKQUATE); } - case 400: break; + case 402: break; case 7: { return createSymbol(ASTPHP5Symbols.T_NS_SEPARATOR); } - case 401: break; - case 115: + case 403: break; + case 116: { if (asp_tags || yytext().charAt(0)!='%') { /* asp comment? */ isEndedPhp = true; handleLineCommentEnd(); @@ -3255,37 +3251,37 @@ else if (zzAtEOF) { //return T_COMMENT; } } - case 402: break; - case 201: + case 404: break; + case 202: { return createSymbol(ASTPHP5Symbols.T_STRING_CAST); } - case 403: break; - case 120: + case 405: break; + case 121: { return createFullSymbol(ASTPHP5Symbols.T_LOGICAL_XOR); } - case 404: break; + case 406: break; case 65: { return createFullSymbol(ASTPHP5Symbols.T_DNUMBER); } - case 405: break; + case 407: break; case 27: { return createSymbol(ASTPHP5Symbols.T_PRECENT); } - case 406: break; - case 223: + case 408: break; + case 224: { comment = yytext(); handleVarComment(); // if we want to handle the var comment in ast, then return the T_VAR_Comment symbol // but it needs some changes in parser grammar. see issue #154967 //return createFullSymbol(ASTPHP5Symbols.T_VAR_COMMENT); } - case 407: break; + case 409: break; case 85: { isEndedPhp = true; yybegin(YYINITIAL); return createSymbol(ASTPHP5Symbols.T_SEMICOLON); /* implicit ';' at php-end tag */ } - case 408: break; + case 410: break; case 96: { if (asp_tags) { yybegin(YYINITIAL); @@ -3294,122 +3290,122 @@ else if (zzAtEOF) { return createSymbol(ASTPHP5Symbols.T_INLINE_HTML); } } - case 409: break; - case 197: + case 411: break; + case 198: { return createFullSymbol(ASTPHP5Symbols.T_FUNCTION); } - case 410: break; - case 195: + case 412: break; + case 196: { return createFullSymbol(ASTPHP5Symbols.T_ENDWHILE); } - case 411: break; + case 413: break; case 30: { return createSymbol(ASTPHP5Symbols.T_KOVA); } - case 412: break; + case 414: break; case 10: { yybegin(ST_DOUBLE_QUOTES); return createSymbol(ASTPHP5Symbols.T_QUATE); } - case 413: break; - case 199: + case 415: break; + case 200: { return createFullSymbol(ASTPHP5Symbols.T_CONTINUE); } - case 414: break; - case 122: + case 416: break; + case 123: { return createSymbol(ASTPHP5Symbols.T_IS_IDENTICAL); } - case 415: break; + case 417: break; case 75: { return createSymbol(ASTPHP5Symbols.T_DOUBLE_ARROW); } - case 416: break; - case 141: + case 418: break; + case 142: { int len = yylength(); yypushback(2); // go back to mark end of comment in the next token comment = yytext(); } - case 417: break; - case 203: + case 419: break; + case 204: { return createFullSymbol(ASTPHP5Symbols.T_TRAIT_C); } - case 418: break; + case 420: break; case 87: { return createSymbol(ASTPHP5Symbols.T_PAAMAYIM_NEKUDOTAYIM); } - case 419: break; - case 127: + case 421: break; + case 128: { return createFullSymbol(ASTPHP5Symbols.T_USE); } - case 420: break; + case 422: break; case 84: { return createSymbol(ASTPHP5Symbols.T_SR); } - case 421: break; + case 423: break; case 14: { return createSymbol(ASTPHP5Symbols.T_EQUAL); } - case 422: break; + case 424: break; case 31: { return createSymbol(ASTPHP5Symbols.T_COMMA); } - case 423: break; - case 181: + case 425: break; + case 182: { return createFullSymbol(ASTPHP5Symbols.T_DIR); } - case 424: break; - case 209: + case 426: break; + case 210: { return createFullSymbol(ASTPHP5Symbols.T_PROTECTED); } - case 425: break; + case 427: break; case 52: { yypushback(1); popState(); /*[ \n\r\t\\'#]*/ return createSymbol(ASTPHP5Symbols.T_ENCAPSED_AND_WHITESPACE); } - case 426: break; + case 428: break; case 66: { return createSymbol(ASTPHP5Symbols.T_CONCAT_EQUAL); } - case 427: break; - case 112: + case 429: break; + case 113: { /* treat numbers (almost) as strings inside encapsulated strings */ return createFullSymbol(ASTPHP5Symbols.T_NUM_STRING); } - case 428: break; + case 430: break; case 9: { return createSymbol(ASTPHP5Symbols.T_DOLLAR); } - case 429: break; + case 431: break; case 67: { return createSymbol(ASTPHP5Symbols.T_INC); } - case 430: break; + case 432: break; case 70: { return createFullSymbol(ASTPHP5Symbols.T_LOGICAL_OR); } - case 431: break; - case 200: + case 433: break; + case 201: { return createFullSymbol(ASTPHP5Symbols.T_READONLY); } - case 432: break; + case 434: break; case 90: { return createSymbol(ASTPHP5Symbols.T_SL); } - case 433: break; + case 435: break; case 69: { return createFullSymbol(ASTPHP5Symbols.T_AS); } - case 434: break; - case 220: + case 436: break; + case 221: { return createFullSymbol(ASTPHP5Symbols.T_INCLUDE_ONCE); } - case 435: break; - case 135: + case 437: break; + case 136: { return createSymbol(ASTPHP5Symbols.T_POW_EQUAL); } - case 436: break; + case 438: break; case 43: { /* {TABS_AND_SPACES}{LABEL}";"? */ heredoc = null; @@ -3429,75 +3425,75 @@ else if (zzAtEOF) { yypushback(back); return createSymbol(ASTPHP5Symbols.T_END_HEREDOC); } - case 437: break; + case 439: break; case 74: { return createSymbol(ASTPHP5Symbols.T_IS_EQUAL); } - case 438: break; + case 440: break; case 71: { return createFullSymbol(ASTPHP5Symbols.T_NAME_FULLY_QUALIFIED); } - case 439: break; + case 441: break; case 34: { return createSymbol(ASTPHP5Symbols.T_AT); } - case 440: break; + case 442: break; case 53: { return createSymbol(ASTPHP5Symbols.T_QUATE); } - case 441: break; - case 194: + case 443: break; + case 195: { return createFullSymbol(ASTPHP5Symbols.T_LINE); } - case 442: break; - case 182: + case 444: break; + case 183: { return createFullSymbol(ASTPHP5Symbols.T_EXTENDS); } - case 443: break; + case 445: break; case 72: { return createFullSymbol(ASTPHP5Symbols.T_VARIABLE); } - case 444: break; - case 215: + case 446: break; + case 216: { return createSymbol(ASTPHP5Symbols.T_YIELD_FROM); } - case 445: break; - case 185: + case 447: break; + case 186: { return createFullSymbol(ASTPHP5Symbols.T_DECLARE); } - case 446: break; - case 145: + case 448: break; + case 146: { return createFullSymbol(ASTPHP5Symbols.T_CASE); } - case 447: break; - case 102: + case 449: break; + case 103: { return createSymbol(ASTPHP5Symbols.T_XOR_EQUAL); } - case 448: break; + case 450: break; case 92: { return createSymbol(ASTPHP5Symbols.T_POW); } - case 449: break; - case 193: + case 451: break; + case 194: { return createFullSymbol(ASTPHP5Symbols.T_FILE); } - case 450: break; - case 111: + case 452: break; + case 112: { return createSymbol(ASTPHP5Symbols.T_OBJECT_OPERATOR); } - case 451: break; - case 118: + case 453: break; + case 119: { return createSymbol(ASTPHP5Symbols.T_ELLIPSIS); } - case 452: break; + case 454: break; case 54: { return createSymbol(ASTPHP5Symbols.T_BACKQUATE); } - case 453: break; + case 455: break; case 59: { } - case 454: break; + case 456: break; default: if (zzInput == YYEOF && (zzStartRead == zzCurrentPos || zzLexicalState == ST_DOCBLOCK)) { zzAtEOF = true; @@ -3512,7 +3508,7 @@ else if (zzAtEOF) { return createSymbol(ASTPHP5Symbols.EOF); } } - case 874: break; + case 875: break; default: { return createSymbol(ASTPHP5Symbols.EOF); } diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java index 549c98864ea9..e0fb320f3acd 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java @@ -19,7 +19,7 @@ //---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 -// Sun Jan 12 13:42:53 JST 2025 +// Tue Dec 23 09:12:17 EET 2025 //---------------------------------------------------- package org.netbeans.modules.php.editor.parser; @@ -30,24 +30,24 @@ public interface ASTPHP5Symbols { public static final int T_BOOLEAN_AND = 105; public static final int T_INLINE_HTML = 10; public static final int T_EMPTY = 49; - public static final int T_PROTECTED = 148; - public static final int T_CLOSE_RECT = 139; + public static final int T_PROTECTED = 149; + public static final int T_CLOSE_RECT = 140; public static final int T_TRAIT_C = 62; - public static final int T_IS_NOT_EQUAL = 110; + public static final int T_IS_NOT_EQUAL = 111; public static final int T_INCLUDE = 80; - public static final int T_QUATE = 154; + public static final int T_QUATE = 155; public static final int T_GLOBAL = 45; public static final int T_PRINT = 89; - public static final int T_ATTRIBUTE = 165; + public static final int T_ATTRIBUTE = 166; public static final int T_OR_EQUAL = 98; public static final int T_LOGICAL_XOR = 87; - public static final int T_COALESCE = 163; + public static final int T_COALESCE = 164; public static final int T_FUNCTION = 35; - public static final int T_STATIC = 144; - public static final int T_NEKUDA = 127; + public static final int T_STATIC = 145; + public static final int T_NEKUDA = 128; public static final int T_THROW = 42; public static final int T_CLASS = 51; - public static final int T_ABSTRACT = 145; + public static final int T_ABSTRACT = 146; public static final int T_ENCAPSED_AND_WHITESPACE = 11; public static final int T_MOD_EQUAL = 96; public static final int T_BREAK = 31; @@ -56,142 +56,143 @@ public interface ASTPHP5Symbols { public static final int T_CONST = 36; public static final int T_CONTINUE = 32; public static final int T_FUNC_C = 64; - public static final int T_DIV = 123; + public static final int T_DIV = 124; public static final int T_LOGICAL_OR = 86; public static final int T_DIR = 76; - public static final int T_OPEN_PARENTHESE = 150; - public static final int T_REFERENCE = 108; + public static final int T_OPEN_PARENTHESE = 151; + public static final int T_REFERENCE = 109; public static final int T_COMMA = 85; public static final int T_FINALLY = 43; - public static final int T_ELSE = 143; - public static final int T_IS_EQUAL = 109; + public static final int T_ELSE = 144; + public static final int T_IS_EQUAL = 110; public static final int T_LIST = 58; public static final int T_NAMESPACE = 74; public static final int T_NS_SEPARATOR = 77; - public static final int T_OR = 106; - public static final int T_IS_IDENTICAL = 111; - public static final int T_INC = 128; - public static final int T_ELSEIF = 142; - public static final int T_NAME_FULLY_QUALIFIED = 171; + public static final int T_OR = 107; + public static final int T_IS_IDENTICAL = 112; + public static final int T_INC = 129; + public static final int T_ELSEIF = 143; + public static final int T_NAME_FULLY_QUALIFIED = 172; public static final int T_TRY = 40; - public static final int T_START_NOWDOC = 156; - public static final int T_PRIVATE = 147; - public static final int T_UNSET_CAST = 136; - public static final int T_NAME_QUALIFIED = 170; + public static final int T_START_NOWDOC = 157; + public static final int T_PRIVATE = 148; + public static final int T_UNSET_CAST = 137; + public static final int T_NAME_QUALIFIED = 171; public static final int T_INCLUDE_ONCE = 81; - public static final int T_ENDIF = 141; + public static final int T_ENDIF = 142; public static final int T_SR_EQUAL = 101; public static final int EOF = 0; public static final int T_CALLABLE = 60; - public static final int T_PUBLIC = 149; + public static final int T_PUBLIC = 150; public static final int T_OBJECT_OPERATOR = 55; - public static final int T_TILDA = 126; + public static final int T_TILDA = 127; public static final int T_PAAMAYIM_NEKUDOTAYIM = 73; - public static final int T_IS_SMALLER_OR_EQUAL = 113; - public static final int T_ELLIPSIS = 162; + public static final int T_IS_SMALLER_OR_EQUAL = 114; + public static final int T_ELLIPSIS = 163; public static final int T_XOR_EQUAL = 99; public static final int T_ENDFOREACH = 20; public static final int T_CONSTANT_ENCAPSED_STRING = 12; - public static final int T_BACKQUATE = 155; - public static final int T_AT = 137; + public static final int T_PIPE = 106; + public static final int T_BACKQUATE = 156; + public static final int T_AT = 138; public static final int T_AS = 25; public static final int T_CURLY_CLOSE = 72; public static final int T_ENDDECLARE = 22; - public static final int T_PROTECTED_SET = 173; + public static final int T_PROTECTED_SET = 174; public static final int T_CATCH = 41; public static final int T_CASE = 29; public static final int T_VARIABLE = 8; - public static final int T_INSTEADOF = 159; - public static final int T_NEW = 140; + public static final int T_INSTEADOF = 160; + public static final int T_NEW = 141; public static final int T_MINUS_EQUAL = 92; - public static final int T_PLUS = 120; + public static final int T_PLUS = 121; public static final int T_SL_EQUAL = 100; public static final int T_ENDWHILE = 16; public static final int T_ENDFOR = 18; - public static final int T_TRAIT = 158; + public static final int T_TRAIT = 159; public static final int T_CLONE = 24; public static final int T_BOOLEAN_OR = 104; public static final int T_UNSET = 47; public static final int T_INTERFACE = 52; public static final int T_SWITCH = 26; - public static final int T_IS_GREATER_OR_EQUAL = 114; - public static final int T_OPEN_RECT = 138; + public static final int T_IS_GREATER_OR_EQUAL = 115; + public static final int T_OPEN_RECT = 139; public static final int T_CURLY_OPEN_WITH_DOLAR = 70; - public static final int T_FINAL = 146; + public static final int T_FINAL = 147; public static final int T_REQUIRE = 83; - public static final int T_PRIVATE_SET = 174; + public static final int T_PRIVATE_SET = 175; public static final int T_FILE = 66; - public static final int T_DEC = 129; - public static final int T_CLOSE_PARENTHESE = 151; + public static final int T_DEC = 130; + public static final int T_CLOSE_PARENTHESE = 152; public static final int T_CLASS_C = 61; public static final int T_EVAL = 82; public static final int T_MATCH = 28; - public static final int T_POW = 160; - public static final int T_RGREATER = 116; - public static final int T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 167; - public static final int T_IS_NOT_IDENTICAL = 112; - public static final int T_NOT = 125; + public static final int T_POW = 161; + public static final int T_RGREATER = 117; + public static final int T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 168; + public static final int T_IS_NOT_IDENTICAL = 113; + public static final int T_NOT = 126; public static final int T_REQUIRE_ONCE = 84; - public static final int T_POW_EQUAL = 161; + public static final int T_POW_EQUAL = 162; public static final int T_NS_C = 75; public static final int T_NULLSAFE_OBJECT_OPERATOR = 56; public static final int T_DOLLAR_OPEN_CURLY_BRACES = 69; - public static final int T_SPACESHIP = 115; + public static final int T_SPACESHIP = 116; public static final int T_VAR = 46; public static final int T_START_HEREDOC = 67; public static final int T_ENDSWITCH = 27; - public static final int T_OBJECT_CAST = 134; + public static final int T_OBJECT_CAST = 135; public static final int T_ECHO = 13; public static final int T_LINE = 65; public static final int T_FOR = 17; - public static final int T_NAME_RELATIVE = 169; + public static final int T_NAME_RELATIVE = 170; public static final int T_IMPLEMENTS = 54; - public static final int T_ARRAY_CAST = 133; - public static final int T_DOLLAR = 153; - public static final int T_TIMES = 122; - public static final int T_DOUBLE_CAST = 131; - public static final int T_BOOL_CAST = 135; - public static final int T_PRECENT = 124; + public static final int T_ARRAY_CAST = 134; + public static final int T_DOLLAR = 154; + public static final int T_TIMES = 123; + public static final int T_DOUBLE_CAST = 132; + public static final int T_BOOL_CAST = 136; + public static final int T_PRECENT = 125; public static final int T_LNUMBER = 4; public static final int T_CURLY_OPEN = 71; public static final int T_DEFINE = 79; public static final int T_QUESTION_MARK = 102; - public static final int T_END_NOWDOC = 157; + public static final int T_END_NOWDOC = 158; public static final int T_USE = 44; - public static final int T_KOVA = 107; + public static final int T_KOVA = 108; public static final int T_IF = 3; public static final int T_MUL_EQUAL = 93; public static final int T_ARRAY = 59; - public static final int T_LGREATER = 117; - public static final int T_COALESCE_EQUAL = 164; + public static final int T_LGREATER = 118; + public static final int T_COALESCE_EQUAL = 165; public static final int T_SEMICOLON = 103; - public static final int T_NEKUDOTAIM = 152; + public static final int T_NEKUDOTAIM = 153; public static final int T_VAR_COMMENT = 78; public static final int T_CONCAT_EQUAL = 95; public static final int T_YIELD = 38; public static final int T_AND_EQUAL = 97; public static final int T_DNUMBER = 5; - public static final int T_MINUS = 121; + public static final int T_MINUS = 122; public static final int T_FOREACH = 19; public static final int T_EXIT = 2; public static final int T_DECLARE = 21; public static final int T_STRING_VARNAME = 7; public static final int T_EXTENDS = 53; public static final int T_METHOD_C = 63; - public static final int T_INT_CAST = 130; + public static final int T_INT_CAST = 131; public static final int T_ISSET = 48; public static final int T_LOGICAL_AND = 88; public static final int error = 1; public static final int T_RETURN = 37; public static final int T_DEFAULT = 30; - public static final int T_SR = 119; + public static final int T_SR = 120; public static final int T_YIELD_FROM = 39; public static final int T_EQUAL = 90; - public static final int T_SL = 118; + public static final int T_SL = 119; public static final int T_END_HEREDOC = 68; public static final int T_DOUBLE_ARROW = 57; - public static final int T_PUBLIC_SET = 172; - public static final int T_STRING_CAST = 132; + public static final int T_PUBLIC_SET = 173; + public static final int T_STRING_CAST = 133; public static final int T_STRING = 6; public static final int T_PLUS_EQUAL = 91; public static final int T_FN = 34; @@ -199,8 +200,8 @@ public interface ASTPHP5Symbols { public static final int T_DIV_EQUAL = 94; public static final int T_NUM_STRING = 9; public static final int T_HALT_COMPILER = 50; - public static final int T_ENUM = 168; + public static final int T_ENUM = 169; public static final int T_GOTO = 33; - public static final int T_READONLY = 166; + public static final int T_READONLY = 167; } diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java index 227d03747955..9a3de5cf1fb9 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,7 +29,7 @@ public String getTableData() { } protected EncodedActionTable1() { sb = new StringBuilder(); - sb.append("\000\u0660\000\274\002\uffa1\003\uffa1\004\uffa1\005\uffa1\006"); + sb.append("\000\u0664\000\274\002\uffa1\003\uffa1\004\uffa1\005\uffa1\006"); sb.append("\uffa1\007\uffa1\010\uffa1\011\uffa1\012\uffa1\014\uffa1\015\uffa1"); sb.append("\016\uffa1\017\uffa1\020\uffa1\021\uffa1\023\uffa1\025\uffa1\027"); sb.append("\uffa1\032\uffa1\034\uffa1\036\uffa1\041\uffa1\042\uffa1\043\uffa1"); @@ -37,13 +38,13 @@ protected EncodedActionTable1() { sb.append("\064\uffa1\065\uffa1\066\uffa1\074\uffa1\075\uffa1\077\uffa1\100"); sb.append("\uffa1\101\uffa1\102\uffa1\103\uffa1\104\uffa1\105\uffa1\111\uffa1"); sb.append("\114\uffa1\115\uffa1\116\uffa1\120\uffa1\121\uffa1\122\uffa1\123"); - sb.append("\uffa1\124\uffa1\125\uffa1\126\uffa1\133\uffa1\151\uffa1\172\uffa1"); - sb.append("\173\uffa1\177\uffa1\200\uffa1\202\uffa1\203\uffa1\204\uffa1\205"); - sb.append("\uffa1\206\uffa1\207\uffa1\210\uffa1\211\uffa1\212\uffa1\213\uffa1"); - sb.append("\214\uffa1\216\uffa1\222\uffa1\223\uffa1\224\uffa1\230\uffa1\233"); - sb.append("\uffa1\234\uffa1\235\uffa1\236\uffa1\240\uffa1\247\uffa1\250\uffa1"); - sb.append("\252\uffa1\253\uffa1\254\uffa1\255\uffa1\001\002\000\004\002"); - sb.append("\u0662\001\002\000\274\002\001\003\211\004\201\005\164"); + sb.append("\uffa1\124\uffa1\125\uffa1\126\uffa1\133\uffa1\151\uffa1\173\uffa1"); + sb.append("\174\uffa1\200\uffa1\201\uffa1\203\uffa1\204\uffa1\205\uffa1\206"); + sb.append("\uffa1\207\uffa1\210\uffa1\211\uffa1\212\uffa1\213\uffa1\214\uffa1"); + sb.append("\215\uffa1\217\uffa1\223\uffa1\224\uffa1\225\uffa1\231\uffa1\234"); + sb.append("\uffa1\235\uffa1\236\uffa1\237\uffa1\241\uffa1\250\uffa1\251\uffa1"); + sb.append("\253\uffa1\254\uffa1\255\uffa1\256\uffa1\001\002\000\004\002"); + sb.append("\u0666\001\002\000\274\002\001\003\211\004\202\005\164"); sb.append("\006\156\007\175\010\217\011\204\012\075\014\007\015"); sb.append("\031\016\071\017\143\020\035\021\034\023\145\025\200"); sb.append("\027\203\032\106\034\113\036\125\041\033\042\040\043"); @@ -52,12 +53,12 @@ protected EncodedActionTable1() { sb.append("\010\064\225\065\027\066\111\074\051\075\166\077\123"); sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\111"); sb.append("\157\114\052\115\136\116\046\120\172\121\160\122\013"); - sb.append("\123\065\124\124\125\116\126\131\133\020\151\171\172"); - sb.append("\104\173\176\177\130\200\067\202\054\203\120\204\207"); - sb.append("\205\154\206\216\207\151\210\142\211\155\212\063\213"); - sb.append("\074\214\114\216\101\222\025\223\030\224\115\230\047"); - sb.append("\233\152\234\015\235\073\236\060\240\105\247\021\250"); - sb.append("\231\252\227\253\147\254\064\255\055\001\002\000\276"); + sb.append("\123\065\124\124\125\116\126\131\133\020\151\171\173"); + sb.append("\104\174\176\200\130\201\067\203\054\204\120\205\207"); + sb.append("\206\154\207\216\210\151\211\142\212\155\213\063\214"); + sb.append("\074\215\114\217\101\223\025\224\030\225\115\231\047"); + sb.append("\234\152\235\015\236\073\237\060\241\105\250\021\251"); + sb.append("\231\253\227\254\147\255\064\256\055\001\002\000\276"); sb.append("\002\uffa2\003\uffa2\004\uffa2\005\uffa2\006\uffa2\007\uffa2\010"); sb.append("\uffa2\011\uffa2\012\uffa2\014\uffa2\015\uffa2\016\uffa2\017\uffa2"); sb.append("\020\uffa2\021\uffa2\023\uffa2\025\uffa2\027\uffa2\032\uffa2\034"); @@ -67,12 +68,12 @@ protected EncodedActionTable1() { sb.append("\066\uffa2\074\uffa2\075\uffa2\077\uffa2\100\uffa2\101\uffa2\102"); sb.append("\uffa2\103\uffa2\104\uffa2\105\uffa2\111\uffa2\112\uffa2\114\uffa2"); sb.append("\115\uffa2\116\uffa2\120\uffa2\121\uffa2\122\uffa2\123\uffa2\124"); - sb.append("\uffa2\125\uffa2\126\uffa2\133\uffa2\151\uffa2\172\uffa2\173\uffa2"); - sb.append("\177\uffa2\200\uffa2\202\uffa2\203\uffa2\204\uffa2\205\uffa2\206"); - sb.append("\uffa2\207\uffa2\210\uffa2\211\uffa2\212\uffa2\213\uffa2\214\uffa2"); - sb.append("\216\uffa2\222\uffa2\223\uffa2\224\uffa2\230\uffa2\233\uffa2\234"); - sb.append("\uffa2\235\uffa2\236\uffa2\240\uffa2\247\uffa2\250\uffa2\252\uffa2"); - sb.append("\253\uffa2\254\uffa2\255\uffa2\001\002\000\322\002\uff64\003"); + sb.append("\uffa2\125\uffa2\126\uffa2\133\uffa2\151\uffa2\173\uffa2\174\uffa2"); + sb.append("\200\uffa2\201\uffa2\203\uffa2\204\uffa2\205\uffa2\206\uffa2\207"); + sb.append("\uffa2\210\uffa2\211\uffa2\212\uffa2\213\uffa2\214\uffa2\215\uffa2"); + sb.append("\217\uffa2\223\uffa2\224\uffa2\225\uffa2\231\uffa2\234\uffa2\235"); + sb.append("\uffa2\236\uffa2\237\uffa2\241\uffa2\250\uffa2\251\uffa2\253\uffa2"); + sb.append("\254\uffa2\255\uffa2\256\uffa2\001\002\000\322\002\uff64\003"); sb.append("\uff64\004\uff64\005\uff64\006\uff64\007\uff64\010\uff64\011\uff64"); sb.append("\012\uff64\014\uff64\015\uff64\016\uff64\017\uff64\020\uff64\021"); sb.append("\uff64\022\uff64\023\uff64\024\uff64\025\uff64\026\uff64\027\uff64"); @@ -83,2127 +84,2161 @@ protected EncodedActionTable1() { sb.append("\074\uff64\075\uff64\077\uff64\100\uff64\101\uff64\102\uff64\103"); sb.append("\uff64\104\uff64\105\uff64\111\uff64\112\uff64\114\uff64\115\uff64"); sb.append("\116\uff64\120\uff64\121\uff64\122\uff64\123\uff64\124\uff64\125"); - sb.append("\uff64\126\uff64\133\uff64\151\uff64\172\uff64\173\uff64\177\uff64"); - sb.append("\200\uff64\202\uff64\203\uff64\204\uff64\205\uff64\206\uff64\207"); - sb.append("\uff64\210\uff64\211\uff64\212\uff64\213\uff64\214\uff64\216\uff64"); - sb.append("\217\uff64\220\uff64\221\uff64\222\uff64\223\uff64\224\uff64\230"); - sb.append("\uff64\233\uff64\234\uff64\235\uff64\236\uff64\240\uff64\247\uff64"); - sb.append("\250\uff64\252\uff64\253\uff64\254\uff64\255\uff64\001\002\000"); - sb.append("\004\230\u03ce\001\002\000\012\065\u0661\223\030\224\115"); - sb.append("\250\231\001\002\000\116\031\ufdc5\033\ufdc5\073\ufdc5\112"); - sb.append("\ufdc5\127\ufdc5\130\ufdc5\131\ufdc5\132\ufdc5\150\ufdc5\151\ufdc5"); - sb.append("\152\ufdc5\153\ufdc5\154\ufdc5\155\ufdc5\156\ufdc5\157\ufdc5\160"); - sb.append("\ufdc5\161\ufdc5\162\ufdc5\163\ufdc5\164\ufdc5\165\ufdc5\166\ufdc5"); - sb.append("\167\ufdc5\170\ufdc5\171\ufdc5\172\ufdc5\173\ufdc5\174\ufdc5\175"); - sb.append("\ufdc5\176\ufdc5\201\ufdc5\215\ufdc5\231\ufdc5\232\ufdc5\242\ufdc5"); - sb.append("\245\ufdc5\251\ufdc5\001\002\000\170\004\201\006\156\007"); - sb.append("\175\010\u01af\011\204\012\075\015\031\016\071\032\106"); - sb.append("\036\125\044\222\045\u01b1\054\026\062\210\063\010\074"); + sb.append("\uff64\126\uff64\133\uff64\151\uff64\173\uff64\174\uff64\200\uff64"); + sb.append("\201\uff64\203\uff64\204\uff64\205\uff64\206\uff64\207\uff64\210"); + sb.append("\uff64\211\uff64\212\uff64\213\uff64\214\uff64\215\uff64\217\uff64"); + sb.append("\220\uff64\221\uff64\222\uff64\223\uff64\224\uff64\225\uff64\231"); + sb.append("\uff64\234\uff64\235\uff64\236\uff64\237\uff64\241\uff64\250\uff64"); + sb.append("\251\uff64\253\uff64\254\uff64\255\uff64\256\uff64\001\002\000"); + sb.append("\004\231\u03d2\001\002\000\012\065\u0665\224\030\225\115"); + sb.append("\251\231\001\002\000\120\031\ufdc4\033\ufdc4\073\ufdc4\112"); + sb.append("\ufdc4\127\ufdc4\130\ufdc4\131\ufdc4\132\ufdc4\150\ufdc4\151\ufdc4"); + sb.append("\152\ufdc4\153\ufdc4\154\ufdc4\155\ufdc4\156\ufdc4\157\ufdc4\160"); + sb.append("\ufdc4\161\ufdc4\162\ufdc4\163\ufdc4\164\ufdc4\165\ufdc4\166\ufdc4"); + sb.append("\167\ufdc4\170\ufdc4\171\ufdc4\172\ufdc4\173\ufdc4\174\ufdc4\175"); + sb.append("\ufdc4\176\ufdc4\177\ufdc4\202\ufdc4\216\ufdc4\232\ufdc4\233\ufdc4"); + sb.append("\243\ufdc4\246\ufdc4\252\ufdc4\001\002\000\170\004\202\006"); + sb.append("\156\007\175\010\u01b1\011\204\012\075\015\031\016\071"); + sb.append("\032\106\036\125\044\222\045\u01b3\054\026\062\210\063"); + sb.append("\010\074\051\075\166\077\123\100\012\101\206\102\041"); + sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\122"); + sb.append("\013\123\065\124\124\125\116\126\131\133\020\173\104"); + sb.append("\174\176\200\130\201\067\203\054\204\120\205\207\206"); + sb.append("\154\207\216\210\151\211\142\212\155\213\063\214\074"); + sb.append("\215\114\217\101\223\u01b2\231\u01b5\234\152\235\015\236"); + sb.append("\073\237\060\250\021\254\147\255\064\256\055\001\002"); + sb.append("\000\004\231\u0661\001\002\000\014\012\ufcee\015\ufcee\107"); + sb.append("\ufcee\110\ufcee\235\ufcee\001\002\000\006\012\u0654\234\u0655"); + sb.append("\001\002\000\322\002\uffa0\003\uffa0\004\uffa0\005\uffa0\006"); + sb.append("\uffa0\007\uffa0\010\uffa0\011\uffa0\012\uffa0\014\uffa0\015\uffa0"); + sb.append("\016\uffa0\017\uffa0\020\uffa0\021\uffa0\022\uffa0\023\uffa0\024"); + sb.append("\uffa0\025\uffa0\026\uffa0\027\uffa0\030\uffa0\032\uffa0\034\uffa0"); + sb.append("\035\uffa0\036\uffa0\037\uffa0\040\uffa0\041\uffa0\042\uffa0\043"); + sb.append("\uffa0\044\uffa0\045\uffa0\046\uffa0\047\uffa0\050\uffa0\051\uffa0"); + sb.append("\052\uffa0\054\uffa0\056\uffa0\057\uffa0\061\uffa0\062\uffa0\063"); + sb.append("\uffa0\064\uffa0\065\uffa0\066\uffa0\074\uffa0\075\uffa0\077\uffa0"); + sb.append("\100\uffa0\101\uffa0\102\uffa0\103\uffa0\104\uffa0\105\uffa0\111"); + sb.append("\uffa0\112\uffa0\114\uffa0\115\uffa0\116\uffa0\120\uffa0\121\uffa0"); + sb.append("\122\uffa0\123\uffa0\124\uffa0\125\uffa0\126\uffa0\133\uffa0\151"); + sb.append("\uffa0\173\uffa0\174\uffa0\200\uffa0\201\uffa0\203\uffa0\204\uffa0"); + sb.append("\205\uffa0\206\uffa0\207\uffa0\210\uffa0\211\uffa0\212\uffa0\213"); + sb.append("\uffa0\214\uffa0\215\uffa0\217\uffa0\220\uffa0\221\uffa0\222\uffa0"); + sb.append("\223\uffa0\224\uffa0\225\uffa0\231\uffa0\234\uffa0\235\uffa0\236"); + sb.append("\uffa0\237\uffa0\241\uffa0\250\uffa0\251\uffa0\253\uffa0\254\uffa0"); + sb.append("\255\uffa0\256\uffa0\001\002\000\170\004\202\006\156\007"); + sb.append("\175\010\u01b1\011\204\012\075\015\031\016\071\032\106"); + sb.append("\036\125\044\222\045\u01b3\054\026\062\210\063\010\074"); sb.append("\051\075\166\077\123\100\012\101\206\102\041\103\144"); sb.append("\104\117\105\141\115\136\116\046\121\160\122\013\123"); - sb.append("\065\124\124\125\116\126\131\133\020\172\104\173\176"); - sb.append("\177\130\200\067\202\054\203\120\204\207\205\154\206"); - sb.append("\216\207\151\210\142\211\155\212\063\213\074\214\114"); - sb.append("\216\101\222\u01b0\230\u01b3\233\152\234\015\235\073\236"); - sb.append("\060\247\021\253\147\254\064\255\055\001\002\000\004"); - sb.append("\230\u065d\001\002\000\014\012\ufcf0\015\ufcf0\107\ufcf0\110"); - sb.append("\ufcf0\234\ufcf0\001\002\000\006\012\u0650\233\u0651\001\002"); - sb.append("\000\322\002\uffa0\003\uffa0\004\uffa0\005\uffa0\006\uffa0\007"); - sb.append("\uffa0\010\uffa0\011\uffa0\012\uffa0\014\uffa0\015\uffa0\016\uffa0"); - sb.append("\017\uffa0\020\uffa0\021\uffa0\022\uffa0\023\uffa0\024\uffa0\025"); - sb.append("\uffa0\026\uffa0\027\uffa0\030\uffa0\032\uffa0\034\uffa0\035\uffa0"); - sb.append("\036\uffa0\037\uffa0\040\uffa0\041\uffa0\042\uffa0\043\uffa0\044"); - sb.append("\uffa0\045\uffa0\046\uffa0\047\uffa0\050\uffa0\051\uffa0\052\uffa0"); - sb.append("\054\uffa0\056\uffa0\057\uffa0\061\uffa0\062\uffa0\063\uffa0\064"); - sb.append("\uffa0\065\uffa0\066\uffa0\074\uffa0\075\uffa0\077\uffa0\100\uffa0"); - sb.append("\101\uffa0\102\uffa0\103\uffa0\104\uffa0\105\uffa0\111\uffa0\112"); - sb.append("\uffa0\114\uffa0\115\uffa0\116\uffa0\120\uffa0\121\uffa0\122\uffa0"); - sb.append("\123\uffa0\124\uffa0\125\uffa0\126\uffa0\133\uffa0\151\uffa0\172"); - sb.append("\uffa0\173\uffa0\177\uffa0\200\uffa0\202\uffa0\203\uffa0\204\uffa0"); - sb.append("\205\uffa0\206\uffa0\207\uffa0\210\uffa0\211\uffa0\212\uffa0\213"); - sb.append("\uffa0\214\uffa0\216\uffa0\217\uffa0\220\uffa0\221\uffa0\222\uffa0"); - sb.append("\223\uffa0\224\uffa0\230\uffa0\233\uffa0\234\uffa0\235\uffa0\236"); - sb.append("\uffa0\240\uffa0\247\uffa0\250\uffa0\252\uffa0\253\uffa0\254\uffa0"); - sb.append("\255\uffa0\001\002\000\170\004\201\006\156\007\175\010"); - sb.append("\u01af\011\204\012\075\015\031\016\071\032\106\036\125"); - sb.append("\044\222\045\u01b1\054\026\062\210\063\010\074\051\075"); + sb.append("\065\124\124\125\116\126\131\133\020\173\104\174\176"); + sb.append("\200\130\201\067\203\054\204\120\205\207\206\154\207"); + sb.append("\216\210\151\211\142\212\155\213\063\214\074\215\114"); + sb.append("\217\101\223\u01b2\231\u01b5\234\152\235\015\236\073\237"); + sb.append("\060\250\021\254\147\255\064\256\055\001\002\000\016"); + sb.append("\010\244\121\240\223\341\254\241\255\237\256\245\001"); + sb.append("\002\000\004\231\u0646\001\002\000\014\010\uff43\121\uff43"); + sb.append("\157\u0228\231\uff43\252\u022b\001\002\000\120\031\ufe21\033"); + sb.append("\ufe21\073\ufe21\112\ufe21\127\ufe21\130\ufe21\131\ufe21\132\ufe21"); + sb.append("\150\ufe21\151\ufe21\152\ufe21\153\ufe21\154\ufe21\155\ufe21\156"); + sb.append("\ufe21\157\ufe21\160\ufe21\161\ufe21\162\ufe21\163\ufe21\164\ufe21"); + sb.append("\165\ufe21\166\ufe21\167\ufe21\170\ufe21\171\ufe21\172\ufe21\173"); + sb.append("\ufe21\174\ufe21\175\ufe21\176\ufe21\177\ufe21\202\ufe21\216\ufe21"); + sb.append("\232\ufe21\233\ufe21\243\ufe21\246\ufe21\252\ufe21\001\002\000"); + sb.append("\016\012\u0634\044\u039b\045\u039c\071\ufde1\072\ufde1\113\ufde1"); + sb.append("\001\002\000\170\004\202\006\156\007\175\010\u01b1\011"); + sb.append("\204\012\075\015\031\016\071\032\106\036\125\044\222"); + sb.append("\045\u01b3\054\026\062\210\063\010\074\051\075\166\077"); + sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); + sb.append("\115\136\116\046\121\160\122\013\123\065\124\124\125"); + sb.append("\116\126\131\133\020\173\104\174\176\200\130\201\067"); + sb.append("\203\054\204\120\205\207\206\154\207\216\210\151\211"); + sb.append("\142\212\155\213\063\214\074\215\114\217\101\223\u01b2"); + sb.append("\231\u01b5\234\152\235\015\236\073\237\060\250\021\254"); + sb.append("\147\255\064\256\055\001\002\000\004\010\uff27\001\002"); + sb.append("\000\012\065\uff2a\224\uff2a\225\uff2a\251\uff2a\001\002\000"); + sb.append("\006\111\u0273\215\u0274\001\002\000\174\031\ufd13\033\ufd13"); + sb.append("\071\ufd13\072\ufd13\073\ufd13\111\u0273\112\ufd13\113\ufd13\127"); + sb.append("\ufd13\130\ufd13\131\ufd13\132\ufd13\134\ufd13\135\ufd13\136\ufd13"); + sb.append("\137\ufd13\140\ufd13\141\ufd13\142\ufd13\143\ufd13\144\ufd13\145"); + sb.append("\ufd13\146\ufd13\147\ufd13\150\ufd13\151\ufd13\152\ufd13\153\ufd13"); + sb.append("\154\ufd13\155\ufd13\156\ufd13\157\ufd13\160\ufd13\161\ufd13\162"); + sb.append("\ufd13\163\ufd13\164\ufd13\165\ufd13\166\ufd13\167\ufd13\170\ufd13"); + sb.append("\171\ufd13\172\ufd13\173\ufd13\174\ufd13\175\ufd13\176\ufd13\177"); + sb.append("\ufd13\202\ufd13\203\ufd13\204\ufd13\215\u0274\216\ufd13\231\ufde8"); + sb.append("\232\ufd13\233\ufd13\243\ufd13\244\ufd13\246\ufd13\247\ufd13\252"); + sb.append("\ufd13\001\002\000\172\004\202\006\156\007\175\010\u01b1"); + sb.append("\011\204\012\075\015\031\016\071\032\106\036\125\044"); + sb.append("\222\045\u01b3\054\026\062\210\063\010\074\051\075\166"); + sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); + sb.append("\141\115\136\116\046\121\160\122\013\123\065\124\124"); + sb.append("\125\116\126\131\133\020\151\u0630\173\104\174\176\200"); + sb.append("\130\201\067\203\054\204\120\205\207\206\154\207\216"); + sb.append("\210\151\211\142\212\155\213\063\214\074\215\114\217"); + sb.append("\101\223\u01b2\231\u01b5\234\152\235\015\236\073\237\060"); + sb.append("\250\021\254\147\255\064\256\055\001\002\000\004\231"); + sb.append("\u0627\001\002\000\246\003\211\004\202\005\164\006\156"); + sb.append("\007\175\010\217\011\204\012\075\014\007\015\031\016"); + sb.append("\071\017\143\020\035\021\034\023\145\025\200\027\203"); + sb.append("\032\106\034\113\036\125\041\033\042\040\043\226\044"); + sb.append("\222\045\u01b3\047\212\050\173\051\214\052\057\054\026"); + sb.append("\056\u03a9\057\016\061\110\062\210\063\010\074\051\075"); sb.append("\166\077\123\100\012\101\206\102\041\103\144\104\117"); - sb.append("\105\141\115\136\116\046\121\160\122\013\123\065\124"); - sb.append("\124\125\116\126\131\133\020\172\104\173\176\177\130"); - sb.append("\200\067\202\054\203\120\204\207\205\154\206\216\207"); - sb.append("\151\210\142\211\155\212\063\213\074\214\114\216\101"); - sb.append("\222\u01b0\230\u01b3\233\152\234\015\235\073\236\060\247"); - sb.append("\021\253\147\254\064\255\055\001\002\000\016\010\244"); - sb.append("\121\237\222\341\253\241\254\240\255\245\001\002\000"); - sb.append("\004\230\u0642\001\002\000\014\010\uff43\121\uff43\156\u0224"); - sb.append("\230\uff43\251\u0227\001\002\000\116\031\ufe22\033\ufe22\073"); - sb.append("\ufe22\112\ufe22\127\ufe22\130\ufe22\131\ufe22\132\ufe22\150\ufe22"); - sb.append("\151\ufe22\152\ufe22\153\ufe22\154\ufe22\155\ufe22\156\ufe22\157"); - sb.append("\ufe22\160\ufe22\161\ufe22\162\ufe22\163\ufe22\164\ufe22\165\ufe22"); - sb.append("\166\ufe22\167\ufe22\170\ufe22\171\ufe22\172\ufe22\173\ufe22\174"); - sb.append("\ufe22\175\ufe22\176\ufe22\201\ufe22\215\ufe22\231\ufe22\232\ufe22"); - sb.append("\242\ufe22\245\ufe22\251\ufe22\001\002\000\016\012\u0630\044"); - sb.append("\u0397\045\u0398\071\ufde2\072\ufde2\113\ufde2\001\002\000\170"); - sb.append("\004\201\006\156\007\175\010\u01af\011\204\012\075\015"); - sb.append("\031\016\071\032\106\036\125\044\222\045\u01b1\054\026"); + sb.append("\105\141\111\157\115\136\116\046\120\172\121\160\122"); + sb.append("\013\123\065\124\124\125\116\126\131\133\020\151\171"); + sb.append("\173\104\174\176\200\130\201\067\203\054\204\120\205"); + sb.append("\207\206\154\207\216\210\151\211\142\212\155\213\063"); + sb.append("\214\074\215\114\217\101\223\025\231\047\234\152\235"); + sb.append("\015\236\073\237\060\250\021\254\147\255\064\256\055"); + sb.append("\001\002\000\006\010\u0292\121\u0291\001\002\000\016\071"); + sb.append("\u0619\072\u0617\111\u0273\113\u0618\215\u0274\231\ufde4\001\002"); + sb.append("\000\172\004\202\006\156\007\175\010\u01b1\011\204\012"); + sb.append("\075\015\031\016\071\032\106\036\125\044\222\045\u01b3"); + sb.append("\054\026\062\210\063\010\074\051\075\166\077\123\100"); + sb.append("\012\101\206\102\041\103\144\104\117\105\141\115\136"); + sb.append("\116\046\121\160\122\013\123\065\124\124\125\116\126"); + sb.append("\131\133\020\151\u0613\173\104\174\176\200\130\201\067"); + sb.append("\203\054\204\120\205\207\206\154\207\216\210\151\211"); + sb.append("\142\212\155\213\063\214\074\215\114\217\101\223\u01b2"); + sb.append("\231\u01b5\234\152\235\015\236\073\237\060\250\021\254"); + sb.append("\147\255\064\256\055\001\002\000\120\031\ufdc2\033\ufdc2"); + sb.append("\073\ufdc2\112\ufdc2\127\ufdc2\130\ufdc2\131\ufdc2\132\ufdc2\150"); + sb.append("\ufdc2\151\ufdc2\152\ufdc2\153\ufdc2\154\ufdc2\155\ufdc2\156\ufdc2"); + sb.append("\157\ufdc2\160\ufdc2\161\ufdc2\162\ufdc2\163\ufdc2\164\ufdc2\165"); + sb.append("\ufdc2\166\ufdc2\167\ufdc2\170\ufdc2\171\ufdc2\172\ufdc2\173\ufdc2"); + sb.append("\174\ufdc2\175\ufdc2\176\ufdc2\177\ufdc2\202\ufdc2\216\ufdc2\232"); + sb.append("\ufdc2\233\ufdc2\243\ufdc2\246\ufdc2\252\ufdc2\001\002\000\004"); + sb.append("\010\u060d\001\002\000\162\031\ufd3c\033\ufd3c\073\ufd3c\112"); + sb.append("\ufd3c\127\ufd3c\130\ufd3c\131\ufd3c\132\ufd3c\134\ufd3c\135\ufd3c"); + sb.append("\136\ufd3c\137\ufd3c\140\ufd3c\141\ufd3c\142\ufd3c\143\ufd3c\144"); + sb.append("\ufd3c\145\ufd3c\146\ufd3c\147\ufd3c\150\ufd3c\151\ufd3c\152\ufd3c"); + sb.append("\153\ufd3c\154\ufd3c\155\ufd3c\156\ufd3c\157\ufd3c\160\ufd3c\161"); + sb.append("\ufd3c\162\ufd3c\163\ufd3c\164\ufd3c\165\ufd3c\166\ufd3c\167\ufd3c"); + sb.append("\170\ufd3c\171\ufd3c\172\ufd3c\173\ufd3c\174\ufd3c\175\ufd3c\176"); + sb.append("\ufd3c\177\ufd3c\202\ufd3c\203\ufd3c\204\ufd3c\216\ufd3c\231\ufde7"); + sb.append("\232\ufd3c\233\ufd3c\243\ufd3c\244\ufd3c\246\ufd3c\247\ufd3c\252"); + sb.append("\ufd3c\001\002\000\120\031\ufd72\033\ufd72\073\ufd72\112\ufd72"); + sb.append("\127\ufd72\130\ufd72\131\ufd72\132\ufd72\150\ufd72\151\ufd72\152"); + sb.append("\ufd72\153\ufd72\154\ufd72\155\ufd72\156\ufd72\157\ufd72\160\ufd72"); + sb.append("\161\ufd72\162\ufd72\163\ufd72\164\ufd72\165\ufd72\166\ufd72\167"); + sb.append("\ufd72\170\ufd72\171\ufd72\172\ufd72\173\ufd72\174\ufd72\175\ufd72"); + sb.append("\176\ufd72\177\ufd72\202\ufd72\216\ufd72\232\ufd72\233\ufd72\243"); + sb.append("\ufd72\246\ufd72\252\ufd72\001\002\000\174\031\ufd0b\033\ufd0b"); + sb.append("\071\ufd0b\072\ufd0b\073\ufd0b\111\ufd0b\112\ufd0b\113\ufd0b\127"); + sb.append("\ufd0b\130\ufd0b\131\ufd0b\132\ufd0b\134\ufd0b\135\ufd0b\136\ufd0b"); + sb.append("\137\ufd0b\140\ufd0b\141\ufd0b\142\ufd0b\143\ufd0b\144\ufd0b\145"); + sb.append("\ufd0b\146\ufd0b\147\ufd0b\150\ufd0b\151\ufd0b\152\ufd0b\153\ufd0b"); + sb.append("\154\ufd0b\155\ufd0b\156\ufd0b\157\ufd0b\160\ufd0b\161\ufd0b\162"); + sb.append("\ufd0b\163\ufd0b\164\ufd0b\165\ufd0b\166\ufd0b\167\ufd0b\170\ufd0b"); + sb.append("\171\ufd0b\172\ufd0b\173\ufd0b\174\ufd0b\175\ufd0b\176\ufd0b\177"); + sb.append("\ufd0b\202\ufd0b\203\ufd0b\204\ufd0b\215\ufd0b\216\ufd0b\231\ufd0b"); + sb.append("\232\ufd0b\233\ufd0b\243\ufd0b\244\ufd0b\246\ufd0b\247\ufd0b\252"); + sb.append("\ufd0b\001\002\000\120\031\ufdc6\033\ufdc6\073\ufdc6\112\ufdc6"); + sb.append("\127\ufdc6\130\ufdc6\131\ufdc6\132\ufdc6\150\ufdc6\151\ufdc6\152"); + sb.append("\ufdc6\153\ufdc6\154\ufdc6\155\ufdc6\156\ufdc6\157\ufdc6\160\ufdc6"); + sb.append("\161\ufdc6\162\ufdc6\163\ufdc6\164\ufdc6\165\ufdc6\166\ufdc6\167"); + sb.append("\ufdc6\170\ufdc6\171\ufdc6\172\ufdc6\173\ufdc6\174\ufdc6\175\ufdc6"); + sb.append("\176\ufdc6\177\ufdc6\202\ufdc6\216\ufdc6\232\ufdc6\233\ufdc6\243"); + sb.append("\ufdc6\246\ufdc6\252\ufdc6\001\002\000\174\004\202\006\156"); + sb.append("\007\175\010\u01b1\011\204\012\075\015\031\016\071\032"); + sb.append("\u01bb\036\125\044\222\045\u01b3\050\173\051\214\054\026"); sb.append("\062\210\063\010\074\051\075\166\077\123\100\012\101"); sb.append("\206\102\041\103\144\104\117\105\141\115\136\116\046"); sb.append("\121\160\122\013\123\065\124\124\125\116\126\131\133"); - sb.append("\020\172\104\173\176\177\130\200\067\202\054\203\120"); - sb.append("\204\207\205\154\206\216\207\151\210\142\211\155\212"); - sb.append("\063\213\074\214\114\216\101\222\u01b0\230\u01b3\233\152"); - sb.append("\234\015\235\073\236\060\247\021\253\147\254\064\255"); - sb.append("\055\001\002\000\004\010\uff27\001\002\000\012\065\uff2a"); - sb.append("\223\uff2a\224\uff2a\250\uff2a\001\002\000\006\111\u026f\214"); - sb.append("\u0270\001\002\000\172\031\ufd15\033\ufd15\071\ufd15\072\ufd15"); - sb.append("\073\ufd15\111\u026f\112\ufd15\113\ufd15\127\ufd15\130\ufd15\131"); - sb.append("\ufd15\132\ufd15\134\ufd15\135\ufd15\136\ufd15\137\ufd15\140\ufd15"); - sb.append("\141\ufd15\142\ufd15\143\ufd15\144\ufd15\145\ufd15\146\ufd15\147"); - sb.append("\ufd15\150\ufd15\151\ufd15\152\ufd15\153\ufd15\154\ufd15\155\ufd15"); - sb.append("\156\ufd15\157\ufd15\160\ufd15\161\ufd15\162\ufd15\163\ufd15\164"); - sb.append("\ufd15\165\ufd15\166\ufd15\167\ufd15\170\ufd15\171\ufd15\172\ufd15"); - sb.append("\173\ufd15\174\ufd15\175\ufd15\176\ufd15\201\ufd15\202\ufd15\203"); - sb.append("\ufd15\214\u0270\215\ufd15\230\ufde9\231\ufd15\232\ufd15\242\ufd15"); - sb.append("\243\ufd15\245\ufd15\246\ufd15\251\ufd15\001\002\000\172\004"); - sb.append("\201\006\156\007\175\010\u01af\011\204\012\075\015\031"); - sb.append("\016\071\032\106\036\125\044\222\045\u01b1\054\026\062"); + sb.append("\020\173\104\174\176\200\130\201\067\203\054\204\120"); + sb.append("\205\207\206\154\207\216\210\151\211\142\212\155\213"); + sb.append("\063\214\074\215\114\217\u01ba\223\u01b2\231\047\234\152"); + sb.append("\235\015\236\073\237\060\250\021\254\147\255\064\256"); + sb.append("\055\001\002\000\160\031\ufd4e\033\ufd4e\073\ufd4e\112\ufd4e"); + sb.append("\127\ufd4e\130\ufd4e\131\ufd4e\132\ufd4e\134\u0375\135\u037a\136"); + sb.append("\u0376\137\u0380\140\u0379\141\u037f\142\u037c\143\u037e\144\u0378"); + sb.append("\145\u0374\146\u037b\147\u037d\150\ufd4e\151\ufd4e\152\ufd4e\153"); + sb.append("\ufd4e\154\ufd4e\155\ufd4e\156\ufd4e\157\ufd4e\160\ufd4e\161\ufd4e"); + sb.append("\162\ufd4e\163\ufd4e\164\ufd4e\165\ufd4e\166\ufd4e\167\ufd4e\170"); + sb.append("\ufd4e\171\ufd4e\172\ufd4e\173\ufd4e\174\ufd4e\175\ufd4e\176\ufd4e"); + sb.append("\177\ufd4e\202\ufd4e\203\ufd4c\204\ufd4c\216\ufd4e\232\ufd4e\233"); + sb.append("\ufd4e\243\ufd4e\244\u0377\246\ufd4e\247\u0381\252\ufd4e\001\002"); + sb.append("\000\004\231\u0371\001\002\000\242\004\u01a4\005\u01ae\010"); + sb.append("\u016d\017\u019a\020\u0197\021\u0172\022\u0178\023\u016c\024\u018d"); + sb.append("\025\u018a\026\u0174\027\u01af\030\u0193\031\u0177\032\u018c\033"); + sb.append("\u016e\034\u019d\035\u0189\036\u0162\037\u015f\040\u017c\041\u0179"); + sb.append("\042\u0198\043\u0184\044\u017e\045\u018f\046\u019f\047\u01a1\050"); + sb.append("\u0161\052\u016f\053\u01ab\054\u01ad\055\u017b\056\u0168\057\u0160"); + sb.append("\060\u01ac\061\u0186\062\u01a8\063\u016a\065\u016b\066\u01a3\067"); + sb.append("\u0167\070\u018b\074\u01a9\075\u0163\076\u0165\077\u0166\100\u0194"); + sb.append("\101\u0173\102\u0175\103\u019e\104\u015d\111\u0601\114\u0187\115"); + sb.append("\u019c\116\u0170\121\u017a\122\u0169\123\u0183\124\u0176\125\u019b"); + sb.append("\126\u018e\130\u01a6\131\u01a7\132\u01a2\133\u017f\217\u0185\220"); + sb.append("\u0181\221\u0182\222\u0195\223\u0171\224\u017d\225\u0164\226\u0192"); + sb.append("\227\u0191\230\u01a0\241\u0196\242\u0190\251\u015e\255\u0603\001"); + sb.append("\002\000\012\071\ufde0\072\ufde0\113\ufde0\231\u05fe\001\002"); + sb.append("\000\034\010\244\012\075\016\u033c\075\166\121\240\215"); + sb.append("\u01ef\217\u01f3\223\341\231\u01b5\234\152\254\241\255\237"); + sb.append("\256\245\001\002\000\134\031\ufff5\033\ufff5\071\ufddc\072"); + sb.append("\ufddc\073\ufff5\111\ufff5\112\ufff5\113\ufddc\127\ufff5\130\ufff5"); + sb.append("\131\ufff5\132\ufff5\150\ufff5\151\ufff5\152\ufff5\153\ufff5\154"); + sb.append("\ufff5\155\ufff5\156\ufff5\157\ufff5\160\ufff5\161\ufff5\162\ufff5"); + sb.append("\163\ufff5\164\ufff5\165\ufff5\166\ufff5\167\ufff5\170\ufff5\171"); + sb.append("\ufff5\172\ufff5\173\ufff5\174\ufff5\175\ufff5\176\ufff5\177\ufff5"); + sb.append("\202\ufff5\215\ufff5\216\ufff5\231\ufddc\232\ufff5\233\ufff5\243"); + sb.append("\ufff5\246\ufff5\252\ufff5\001\002\000\120\031\ufd70\033\ufd70"); + sb.append("\073\ufd70\112\ufd70\127\ufd70\130\ufd70\131\ufd70\132\ufd70\150"); + sb.append("\ufd70\151\ufd70\152\ufd70\153\ufd70\154\ufd70\155\ufd70\156\ufd70"); + sb.append("\157\ufd70\160\ufd70\161\ufd70\162\ufd70\163\ufd70\164\ufd70\165"); + sb.append("\ufd70\166\ufd70\167\ufd70\170\ufd70\171\ufd70\172\ufd70\173\ufd70"); + sb.append("\174\ufd70\175\ufd70\176\ufd70\177\ufd70\202\ufd70\216\ufd70\232"); + sb.append("\ufd70\233\ufd70\243\ufd70\246\ufd70\252\ufd70\001\002\000\004"); + sb.append("\111\u05d5\001\002\000\006\015\u05d3\240\u05d2\001\002\000"); + sb.append("\004\010\u05b9\001\002\000\174\031\ufd14\033\ufd14\071\ufd14"); + sb.append("\072\ufd14\073\ufd14\111\u0273\112\ufd14\113\ufd14\127\ufd14\130"); + sb.append("\ufd14\131\ufd14\132\ufd14\134\ufd14\135\ufd14\136\ufd14\137\ufd14"); + sb.append("\140\ufd14\141\ufd14\142\ufd14\143\ufd14\144\ufd14\145\ufd14\146"); + sb.append("\ufd14\147\ufd14\150\ufd14\151\ufd14\152\ufd14\153\ufd14\154\ufd14"); + sb.append("\155\ufd14\156\ufd14\157\ufd14\160\ufd14\161\ufd14\162\ufd14\163"); + sb.append("\ufd14\164\ufd14\165\ufd14\166\ufd14\167\ufd14\170\ufd14\171\ufd14"); + sb.append("\172\ufd14\173\ufd14\174\ufd14\175\ufd14\176\ufd14\177\ufd14\202"); + sb.append("\ufd14\203\ufd14\204\ufd14\215\u0274\216\ufd14\231\ufd14\232\ufd14"); + sb.append("\233\ufd14\243\ufd14\244\ufd14\246\ufd14\247\ufd14\252\ufd14\001"); + sb.append("\002\000\170\004\202\006\156\007\175\010\u01b1\011\204"); + sb.append("\012\075\015\031\016\071\032\106\036\125\044\222\045"); + sb.append("\u01b3\054\026\062\210\063\010\074\051\075\166\077\123"); + sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); + sb.append("\136\116\046\121\160\122\013\123\065\124\124\125\116"); + sb.append("\126\131\133\020\173\104\174\176\200\130\201\067\203"); + sb.append("\054\204\120\205\207\206\154\207\216\210\151\211\142"); + sb.append("\212\155\213\063\214\074\215\114\217\101\223\u01b2\231"); + sb.append("\u01b5\234\152\235\015\236\073\237\060\250\021\254\147"); + sb.append("\255\064\256\055\001\002\000\134\031\ufff6\033\ufff6\071"); + sb.append("\ufddd\072\ufddd\073\ufff6\111\ufff6\112\ufff6\113\ufddd\127\ufff6"); + sb.append("\130\ufff6\131\ufff6\132\ufff6\150\ufff6\151\ufff6\152\ufff6\153"); + sb.append("\ufff6\154\ufff6\155\ufff6\156\ufff6\157\ufff6\160\ufff6\161\ufff6"); + sb.append("\162\ufff6\163\ufff6\164\ufff6\165\ufff6\166\ufff6\167\ufff6\170"); + sb.append("\ufff6\171\ufff6\172\ufff6\173\ufff6\174\ufff6\175\ufff6\176\ufff6"); + sb.append("\177\ufff6\202\ufff6\215\ufff6\216\ufff6\231\ufddd\232\ufff6\233"); + sb.append("\ufff6\243\ufff6\246\ufff6\252\ufff6\001\002\000\170\004\202"); + sb.append("\006\156\007\175\010\u01b1\011\204\012\075\015\031\016"); + sb.append("\071\032\106\036\125\044\222\045\u01b3\054\026\062\210"); + sb.append("\063\010\074\051\075\166\077\123\100\012\101\206\102"); + sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); + sb.append("\122\013\123\065\124\124\125\116\126\131\133\020\173"); + sb.append("\104\174\176\200\130\201\067\203\054\204\120\205\207"); + sb.append("\206\154\207\216\210\151\211\142\212\155\213\063\214"); + sb.append("\074\215\114\217\101\223\u01b2\231\u01b5\234\152\235\015"); + sb.append("\236\073\237\060\250\021\254\147\255\064\256\055\001"); + sb.append("\002\000\174\031\ufd26\033\ufd26\071\ufd26\072\ufd26\073\ufd26"); + sb.append("\111\u0273\112\ufd26\113\u05af\127\ufd26\130\ufd26\131\ufd26\132"); + sb.append("\ufd26\134\ufd26\135\ufd26\136\ufd26\137\ufd26\140\ufd26\141\ufd26"); + sb.append("\142\ufd26\143\ufd26\144\ufd26\145\ufd26\146\ufd26\147\ufd26\150"); + sb.append("\ufd26\151\ufd26\152\ufd26\153\ufd26\154\ufd26\155\ufd26\156\ufd26"); + sb.append("\157\ufd26\160\ufd26\161\ufd26\162\ufd26\163\ufd26\164\ufd26\165"); + sb.append("\ufd26\166\ufd26\167\ufd26\170\ufd26\171\ufd26\172\ufd26\173\ufd26"); + sb.append("\174\ufd26\175\ufd26\176\ufd26\177\ufd26\202\ufd26\203\ufd26\204"); + sb.append("\ufd26\215\u0274\216\ufd26\231\u05ae\232\ufd26\233\ufd26\243\ufd26"); + sb.append("\244\ufd26\246\ufd26\247\ufd26\252\ufd26\001\002\000\170\004"); + sb.append("\202\006\156\007\175\010\u01b1\011\204\012\075\015\031"); + sb.append("\016\071\032\106\036\125\044\222\045\u01b3\054\026\062"); sb.append("\210\063\010\074\051\075\166\077\123\100\012\101\206"); sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); sb.append("\160\122\013\123\065\124\124\125\116\126\131\133\020"); - sb.append("\151\u062c\172\104\173\176\177\130\200\067\202\054\203"); - sb.append("\120\204\207\205\154\206\216\207\151\210\142\211\155"); - sb.append("\212\063\213\074\214\114\216\101\222\u01b0\230\u01b3\233"); - sb.append("\152\234\015\235\073\236\060\247\021\253\147\254\064"); - sb.append("\255\055\001\002\000\004\230\u0623\001\002\000\246\003"); - sb.append("\211\004\201\005\164\006\156\007\175\010\217\011\204"); - sb.append("\012\075\014\007\015\031\016\071\017\143\020\035\021"); - sb.append("\034\023\145\025\200\027\203\032\106\034\113\036\125"); - sb.append("\041\033\042\040\043\226\044\222\045\u01b1\047\212\050"); - sb.append("\173\051\214\052\057\054\026\056\u03a5\057\016\061\110"); - sb.append("\062\210\063\010\074\051\075\166\077\123\100\012\101"); - sb.append("\206\102\041\103\144\104\117\105\141\111\157\115\136"); - sb.append("\116\046\120\172\121\160\122\013\123\065\124\124\125"); - sb.append("\116\126\131\133\020\151\171\172\104\173\176\177\130"); - sb.append("\200\067\202\054\203\120\204\207\205\154\206\216\207"); - sb.append("\151\210\142\211\155\212\063\213\074\214\114\216\101"); - sb.append("\222\025\230\047\233\152\234\015\235\073\236\060\247"); - sb.append("\021\253\147\254\064\255\055\001\002\000\006\010\u028e"); - sb.append("\121\u028d\001\002\000\016\071\u0615\072\u0613\111\u026f\113"); - sb.append("\u0614\214\u0270\230\ufde5\001\002\000\172\004\201\006\156"); - sb.append("\007\175\010\u01af\011\204\012\075\015\031\016\071\032"); - sb.append("\106\036\125\044\222\045\u01b1\054\026\062\210\063\010"); + sb.append("\173\104\174\176\200\130\201\067\203\054\204\120\205"); + sb.append("\207\206\154\207\216\210\151\211\142\212\155\213\063"); + sb.append("\214\074\215\114\217\101\223\u01b2\231\u01b5\234\152\235"); + sb.append("\015\236\073\237\060\250\021\254\147\255\064\256\055"); + sb.append("\001\002\000\134\031\ufe5f\033\ufe5f\071\ufcc5\072\ufcc5\073"); + sb.append("\ufe5f\111\ufcc5\112\ufe5f\113\ufcc5\127\ufe5f\130\ufe5f\131\ufe5f"); + sb.append("\132\ufe5f\150\ufe5f\151\ufe5f\152\ufe5f\153\ufe5f\154\ufe5f\155"); + sb.append("\ufe5f\156\ufe5f\157\ufe5f\160\ufe5f\161\ufe5f\162\ufe5f\163\ufe5f"); + sb.append("\164\ufe5f\165\ufe5f\166\ufe5f\167\ufe5f\170\ufe5f\171\ufe5f\172"); + sb.append("\ufe5f\173\ufe5f\174\ufe5f\175\ufe5f\176\ufe5f\177\ufe5f\202\ufe5f"); + sb.append("\215\ufcc5\216\ufe5f\231\ufcc5\232\ufe5f\233\ufe5f\243\ufe5f\246"); + sb.append("\ufe5f\252\ufe5f\001\002\000\126\031\ufdc9\033\ufdc9\073\ufdc9"); + sb.append("\111\u0273\112\ufdc9\127\ufdc9\130\ufdc9\131\ufdc9\132\ufdc9\150"); + sb.append("\ufdc9\151\ufdc9\152\ufdc9\153\ufdc9\154\ufdc9\155\ufdc9\156\ufdc9"); + sb.append("\157\ufdc9\160\ufdc9\161\ufdc9\162\ufdc9\163\ufdc9\164\ufdc9\165"); + sb.append("\ufdc9\166\ufdc9\167\ufdc9\170\ufdc9\171\ufdc9\172\ufdc9\173\ufdc9"); + sb.append("\174\ufdc9\175\ufdc9\176\ufdc9\177\ufdc9\202\ufdc9\215\u0274\216"); + sb.append("\ufdc9\231\ufde3\232\ufdc9\233\ufdc9\243\ufdc9\246\ufdc9\252\ufdc9"); + sb.append("\001\002\000\322\002\uff9f\003\uff9f\004\uff9f\005\uff9f\006"); + sb.append("\uff9f\007\uff9f\010\uff9f\011\uff9f\012\uff9f\014\uff9f\015\uff9f"); + sb.append("\016\uff9f\017\uff9f\020\uff9f\021\uff9f\022\uff9f\023\uff9f\024"); + sb.append("\uff9f\025\uff9f\026\uff9f\027\uff9f\030\uff9f\032\uff9f\034\uff9f"); + sb.append("\035\uff9f\036\uff9f\037\uff9f\040\uff9f\041\uff9f\042\uff9f\043"); + sb.append("\uff9f\044\uff9f\045\uff9f\046\uff9f\047\uff9f\050\uff9f\051\uff9f"); + sb.append("\052\uff9f\054\uff9f\056\uff9f\057\uff9f\061\uff9f\062\uff9f\063"); + sb.append("\uff9f\064\uff9f\065\uff9f\066\uff9f\074\uff9f\075\uff9f\077\uff9f"); + sb.append("\100\uff9f\101\uff9f\102\uff9f\103\uff9f\104\uff9f\105\uff9f\111"); + sb.append("\uff9f\112\uff9f\114\uff9f\115\uff9f\116\uff9f\120\uff9f\121\uff9f"); + sb.append("\122\uff9f\123\uff9f\124\uff9f\125\uff9f\126\uff9f\133\uff9f\151"); + sb.append("\uff9f\173\uff9f\174\uff9f\200\uff9f\201\uff9f\203\uff9f\204\uff9f"); + sb.append("\205\uff9f\206\uff9f\207\uff9f\210\uff9f\211\uff9f\212\uff9f\213"); + sb.append("\uff9f\214\uff9f\215\uff9f\217\uff9f\220\uff9f\221\uff9f\222\uff9f"); + sb.append("\223\uff9f\224\uff9f\225\uff9f\231\uff9f\234\uff9f\235\uff9f\236"); + sb.append("\uff9f\237\uff9f\241\uff9f\250\uff9f\251\uff9f\253\uff9f\254\uff9f"); + sb.append("\255\uff9f\256\uff9f\001\002\000\014\012\ufcee\015\ufcee\107"); + sb.append("\ufcee\110\ufcee\236\ufcee\001\002\000\170\004\202\006\156"); + sb.append("\007\175\010\u01b1\011\204\012\075\015\031\016\071\032"); + sb.append("\106\036\125\044\222\045\u01b3\054\026\062\210\063\010"); sb.append("\074\051\075\166\077\123\100\012\101\206\102\041\103"); sb.append("\144\104\117\105\141\115\136\116\046\121\160\122\013"); - sb.append("\123\065\124\124\125\116\126\131\133\020\151\u060f\172"); - sb.append("\104\173\176\177\130\200\067\202\054\203\120\204\207"); - sb.append("\205\154\206\216\207\151\210\142\211\155\212\063\213"); - sb.append("\074\214\114\216\101\222\u01b0\230\u01b3\233\152\234\015"); - sb.append("\235\073\236\060\247\021\253\147\254\064\255\055\001"); - sb.append("\002\000\116\031\ufdc3\033\ufdc3\073\ufdc3\112\ufdc3\127\ufdc3"); - sb.append("\130\ufdc3\131\ufdc3\132\ufdc3\150\ufdc3\151\ufdc3\152\ufdc3\153"); - sb.append("\ufdc3\154\ufdc3\155\ufdc3\156\ufdc3\157\ufdc3\160\ufdc3\161\ufdc3"); - sb.append("\162\ufdc3\163\ufdc3\164\ufdc3\165\ufdc3\166\ufdc3\167\ufdc3\170"); - sb.append("\ufdc3\171\ufdc3\172\ufdc3\173\ufdc3\174\ufdc3\175\ufdc3\176\ufdc3"); - sb.append("\201\ufdc3\215\ufdc3\231\ufdc3\232\ufdc3\242\ufdc3\245\ufdc3\251"); - sb.append("\ufdc3\001\002\000\004\010\u0609\001\002\000\160\031\ufd3e"); - sb.append("\033\ufd3e\073\ufd3e\112\ufd3e\127\ufd3e\130\ufd3e\131\ufd3e\132"); - sb.append("\ufd3e\134\ufd3e\135\ufd3e\136\ufd3e\137\ufd3e\140\ufd3e\141\ufd3e"); - sb.append("\142\ufd3e\143\ufd3e\144\ufd3e\145\ufd3e\146\ufd3e\147\ufd3e\150"); - sb.append("\ufd3e\151\ufd3e\152\ufd3e\153\ufd3e\154\ufd3e\155\ufd3e\156\ufd3e"); - sb.append("\157\ufd3e\160\ufd3e\161\ufd3e\162\ufd3e\163\ufd3e\164\ufd3e\165"); - sb.append("\ufd3e\166\ufd3e\167\ufd3e\170\ufd3e\171\ufd3e\172\ufd3e\173\ufd3e"); - sb.append("\174\ufd3e\175\ufd3e\176\ufd3e\201\ufd3e\202\ufd3e\203\ufd3e\215"); - sb.append("\ufd3e\230\ufde8\231\ufd3e\232\ufd3e\242\ufd3e\243\ufd3e\245\ufd3e"); - sb.append("\246\ufd3e\251\ufd3e\001\002\000\116\031\ufd74\033\ufd74\073"); - sb.append("\ufd74\112\ufd74\127\ufd74\130\ufd74\131\ufd74\132\ufd74\150\ufd74"); - sb.append("\151\ufd74\152\ufd74\153\ufd74\154\ufd74\155\ufd74\156\ufd74\157"); - sb.append("\ufd74\160\ufd74\161\ufd74\162\ufd74\163\ufd74\164\ufd74\165\ufd74"); - sb.append("\166\ufd74\167\ufd74\170\ufd74\171\ufd74\172\ufd74\173\ufd74\174"); - sb.append("\ufd74\175\ufd74\176\ufd74\201\ufd74\215\ufd74\231\ufd74\232\ufd74"); - sb.append("\242\ufd74\245\ufd74\251\ufd74\001\002\000\172\031\ufd0d\033"); - sb.append("\ufd0d\071\ufd0d\072\ufd0d\073\ufd0d\111\ufd0d\112\ufd0d\113\ufd0d"); - sb.append("\127\ufd0d\130\ufd0d\131\ufd0d\132\ufd0d\134\ufd0d\135\ufd0d\136"); - sb.append("\ufd0d\137\ufd0d\140\ufd0d\141\ufd0d\142\ufd0d\143\ufd0d\144\ufd0d"); - sb.append("\145\ufd0d\146\ufd0d\147\ufd0d\150\ufd0d\151\ufd0d\152\ufd0d\153"); - sb.append("\ufd0d\154\ufd0d\155\ufd0d\156\ufd0d\157\ufd0d\160\ufd0d\161\ufd0d"); - sb.append("\162\ufd0d\163\ufd0d\164\ufd0d\165\ufd0d\166\ufd0d\167\ufd0d\170"); - sb.append("\ufd0d\171\ufd0d\172\ufd0d\173\ufd0d\174\ufd0d\175\ufd0d\176\ufd0d"); - sb.append("\201\ufd0d\202\ufd0d\203\ufd0d\214\ufd0d\215\ufd0d\230\ufd0d\231"); - sb.append("\ufd0d\232\ufd0d\242\ufd0d\243\ufd0d\245\ufd0d\246\ufd0d\251\ufd0d"); - sb.append("\001\002\000\116\031\ufdc7\033\ufdc7\073\ufdc7\112\ufdc7\127"); - sb.append("\ufdc7\130\ufdc7\131\ufdc7\132\ufdc7\150\ufdc7\151\ufdc7\152\ufdc7"); - sb.append("\153\ufdc7\154\ufdc7\155\ufdc7\156\ufdc7\157\ufdc7\160\ufdc7\161"); - sb.append("\ufdc7\162\ufdc7\163\ufdc7\164\ufdc7\165\ufdc7\166\ufdc7\167\ufdc7"); - sb.append("\170\ufdc7\171\ufdc7\172\ufdc7\173\ufdc7\174\ufdc7\175\ufdc7\176"); - sb.append("\ufdc7\201\ufdc7\215\ufdc7\231\ufdc7\232\ufdc7\242\ufdc7\245\ufdc7"); - sb.append("\251\ufdc7\001\002\000\174\004\201\006\156\007\175\010"); - sb.append("\u01af\011\204\012\075\015\031\016\071\032\u01b9\036\125"); - sb.append("\044\222\045\u01b1\050\173\051\214\054\026\062\210\063"); - sb.append("\010\074\051\075\166\077\123\100\012\101\206\102\041"); - sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\122"); - sb.append("\013\123\065\124\124\125\116\126\131\133\020\172\104"); - sb.append("\173\176\177\130\200\067\202\054\203\120\204\207\205"); - sb.append("\154\206\216\207\151\210\142\211\155\212\063\213\074"); - sb.append("\214\114\216\u01b8\222\u01b0\230\047\233\152\234\015\235"); - sb.append("\073\236\060\247\021\253\147\254\064\255\055\001\002"); - sb.append("\000\156\031\ufd50\033\ufd50\073\ufd50\112\ufd50\127\ufd50\130"); - sb.append("\ufd50\131\ufd50\132\ufd50\134\u0371\135\u0376\136\u0372\137\u037c"); - sb.append("\140\u0375\141\u037b\142\u0378\143\u037a\144\u0374\145\u0370\146"); - sb.append("\u0377\147\u0379\150\ufd50\151\ufd50\152\ufd50\153\ufd50\154\ufd50"); - sb.append("\155\ufd50\156\ufd50\157\ufd50\160\ufd50\161\ufd50\162\ufd50\163"); - sb.append("\ufd50\164\ufd50\165\ufd50\166\ufd50\167\ufd50\170\ufd50\171\ufd50"); - sb.append("\172\ufd50\173\ufd50\174\ufd50\175\ufd50\176\ufd50\201\ufd50\202"); - sb.append("\ufd4e\203\ufd4e\215\ufd50\231\ufd50\232\ufd50\242\ufd50\243\u0373"); - sb.append("\245\ufd50\246\u037d\251\ufd50\001\002\000\004\230\u036d\001"); - sb.append("\002\000\242\004\u01a2\005\u01ac\010\u016b\017\u0198\020\u0195"); - sb.append("\021\u0170\022\u0176\023\u016a\024\u018b\025\u0188\026\u0172\027"); - sb.append("\u01ad\030\u0191\031\u0175\032\u018a\033\u016c\034\u019b\035\u0187"); - sb.append("\036\u0160\037\u015d\040\u017a\041\u0177\042\u0196\043\u0182\044"); - sb.append("\u017c\045\u018d\046\u019d\047\u019f\050\u015f\052\u016d\053\u01a9"); - sb.append("\054\u01ab\055\u0179\056\u0166\057\u015e\060\u01aa\061\u0184\062"); - sb.append("\u01a6\063\u0168\065\u0169\066\u01a1\067\u0165\070\u0189\074\u01a7"); - sb.append("\075\u0161\076\u0163\077\u0164\100\u0192\101\u0171\102\u0173\103"); - sb.append("\u019c\104\u015b\111\u05fd\114\u0185\115\u019a\116\u016e\121\u0178"); - sb.append("\122\u0167\123\u0181\124\u0174\125\u0199\126\u018c\130\u01a4\131"); - sb.append("\u01a5\132\u01a0\133\u017d\216\u0183\217\u017f\220\u0180\221\u0193"); - sb.append("\222\u016f\223\u017b\224\u0162\225\u0190\226\u018f\227\u019e\240"); - sb.append("\u0194\241\u018e\250\u015c\254\u05ff\001\002\000\012\071\ufde1"); - sb.append("\072\ufde1\113\ufde1\230\u05fa\001\002\000\034\010\244\012"); - sb.append("\075\016\u0338\075\166\121\237\214\u01ec\216\u01ef\222\341"); - sb.append("\230\u01b3\233\152\253\241\254\240\255\245\001\002\000"); - sb.append("\132\031\ufff5\033\ufff5\071\ufddd\072\ufddd\073\ufff5\111\ufff5"); - sb.append("\112\ufff5\113\ufddd\127\ufff5\130\ufff5\131\ufff5\132\ufff5\150"); - sb.append("\ufff5\151\ufff5\152\ufff5\153\ufff5\154\ufff5\155\ufff5\156\ufff5"); - sb.append("\157\ufff5\160\ufff5\161\ufff5\162\ufff5\163\ufff5\164\ufff5\165"); - sb.append("\ufff5\166\ufff5\167\ufff5\170\ufff5\171\ufff5\172\ufff5\173\ufff5"); - sb.append("\174\ufff5\175\ufff5\176\ufff5\201\ufff5\214\ufff5\215\ufff5\230"); - sb.append("\ufddd\231\ufff5\232\ufff5\242\ufff5\245\ufff5\251\ufff5\001\002"); - sb.append("\000\116\031\ufd72\033\ufd72\073\ufd72\112\ufd72\127\ufd72\130"); - sb.append("\ufd72\131\ufd72\132\ufd72\150\ufd72\151\ufd72\152\ufd72\153\ufd72"); - sb.append("\154\ufd72\155\ufd72\156\ufd72\157\ufd72\160\ufd72\161\ufd72\162"); - sb.append("\ufd72\163\ufd72\164\ufd72\165\ufd72\166\ufd72\167\ufd72\170\ufd72"); - sb.append("\171\ufd72\172\ufd72\173\ufd72\174\ufd72\175\ufd72\176\ufd72\201"); - sb.append("\ufd72\215\ufd72\231\ufd72\232\ufd72\242\ufd72\245\ufd72\251\ufd72"); - sb.append("\001\002\000\004\111\u05d1\001\002\000\006\015\u05cf\237"); - sb.append("\u05ce\001\002\000\004\010\u05b5\001\002\000\172\031\ufd16"); - sb.append("\033\ufd16\071\ufd16\072\ufd16\073\ufd16\111\u026f\112\ufd16\113"); - sb.append("\ufd16\127\ufd16\130\ufd16\131\ufd16\132\ufd16\134\ufd16\135\ufd16"); - sb.append("\136\ufd16\137\ufd16\140\ufd16\141\ufd16\142\ufd16\143\ufd16\144"); - sb.append("\ufd16\145\ufd16\146\ufd16\147\ufd16\150\ufd16\151\ufd16\152\ufd16"); - sb.append("\153\ufd16\154\ufd16\155\ufd16\156\ufd16\157\ufd16\160\ufd16\161"); - sb.append("\ufd16\162\ufd16\163\ufd16\164\ufd16\165\ufd16\166\ufd16\167\ufd16"); - sb.append("\170\ufd16\171\ufd16\172\ufd16\173\ufd16\174\ufd16\175\ufd16\176"); - sb.append("\ufd16\201\ufd16\202\ufd16\203\ufd16\214\u0270\215\ufd16\230\ufd16"); - sb.append("\231\ufd16\232\ufd16\242\ufd16\243\ufd16\245\ufd16\246\ufd16\251"); - sb.append("\ufd16\001\002\000\170\004\201\006\156\007\175\010\u01af"); - sb.append("\011\204\012\075\015\031\016\071\032\106\036\125\044"); - sb.append("\222\045\u01b1\054\026\062\210\063\010\074\051\075\166"); - sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); - sb.append("\141\115\136\116\046\121\160\122\013\123\065\124\124"); - sb.append("\125\116\126\131\133\020\172\104\173\176\177\130\200"); - sb.append("\067\202\054\203\120\204\207\205\154\206\216\207\151"); - sb.append("\210\142\211\155\212\063\213\074\214\114\216\101\222"); - sb.append("\u01b0\230\u01b3\233\152\234\015\235\073\236\060\247\021"); - sb.append("\253\147\254\064\255\055\001\002\000\132\031\ufff6\033"); - sb.append("\ufff6\071\ufdde\072\ufdde\073\ufff6\111\ufff6\112\ufff6\113\ufdde"); - sb.append("\127\ufff6\130\ufff6\131\ufff6\132\ufff6\150\ufff6\151\ufff6\152"); - sb.append("\ufff6\153\ufff6\154\ufff6\155\ufff6\156\ufff6\157\ufff6\160\ufff6"); - sb.append("\161\ufff6\162\ufff6\163\ufff6\164\ufff6\165\ufff6\166\ufff6\167"); - sb.append("\ufff6\170\ufff6\171\ufff6\172\ufff6\173\ufff6\174\ufff6\175\ufff6"); - sb.append("\176\ufff6\201\ufff6\214\ufff6\215\ufff6\230\ufdde\231\ufff6\232"); - sb.append("\ufff6\242\ufff6\245\ufff6\251\ufff6\001\002\000\170\004\201"); - sb.append("\006\156\007\175\010\u01af\011\204\012\075\015\031\016"); - sb.append("\071\032\106\036\125\044\222\045\u01b1\054\026\062\210"); + sb.append("\123\065\124\124\125\116\126\131\133\020\173\104\174"); + sb.append("\176\200\130\201\067\203\054\204\120\205\207\206\154"); + sb.append("\207\216\210\151\211\142\212\155\213\063\214\074\215"); + sb.append("\114\217\101\223\u01b2\231\u01b5\234\152\235\015\236\073"); + sb.append("\237\060\250\021\254\147\255\064\256\055\001\002\000"); + sb.append("\212\012\ufccd\015\ufccd\031\ufccd\033\ufccd\071\ufccd\072\ufccd"); + sb.append("\073\ufccd\106\ufccd\107\ufccd\110\ufccd\111\ufccd\112\ufccd\113"); + sb.append("\ufccd\127\ufccd\130\ufccd\131\ufccd\132\ufccd\134\ufccd\135\ufccd"); + sb.append("\136\ufccd\137\ufccd\140\ufccd\141\ufccd\142\ufccd\143\ufccd\144"); + sb.append("\ufccd\145\ufccd\146\ufccd\147\ufccd\150\ufccd\151\ufccd\152\ufccd"); + sb.append("\153\ufccd\154\ufccd\155\ufccd\156\ufccd\157\ufccd\160\ufccd\161"); + sb.append("\ufccd\162\ufccd\163\ufccd\164\ufccd\165\ufccd\166\ufccd\167\ufccd"); + sb.append("\170\ufccd\171\ufccd\172\ufccd\173\ufccd\174\ufccd\175\ufccd\176"); + sb.append("\ufccd\177\ufccd\202\ufccd\203\ufccd\204\ufccd\215\ufccd\216\ufccd"); + sb.append("\231\ufccd\232\ufccd\233\ufccd\235\ufccd\236\ufccd\243\ufccd\244"); + sb.append("\ufccd\246\ufccd\247\ufccd\252\ufccd\001\002\000\166\031\ufd1a"); + sb.append("\033\ufd1a\071\ufd1a\072\ufd1a\073\ufd1a\112\ufd1a\113\u05a5\127"); + sb.append("\ufd1a\130\ufd1a\131\ufd1a\132\ufd1a\134\ufd1a\135\ufd1a\136\ufd1a"); + sb.append("\137\ufd1a\140\ufd1a\141\ufd1a\142\ufd1a\143\ufd1a\144\ufd1a\145"); + sb.append("\ufd1a\146\ufd1a\147\ufd1a\150\ufd1a\151\ufd1a\152\ufd1a\153\ufd1a"); + sb.append("\154\ufd1a\155\ufd1a\156\ufd1a\157\ufd1a\160\ufd1a\161\ufd1a\162"); + sb.append("\ufd1a\163\ufd1a\164\ufd1a\165\ufd1a\166\ufd1a\167\ufd1a\170\ufd1a"); + sb.append("\171\ufd1a\172\ufd1a\173\ufd1a\174\ufd1a\175\ufd1a\176\ufd1a\177"); + sb.append("\ufd1a\202\ufd1a\203\ufd1a\204\ufd1a\216\ufd1a\232\ufd1a\233\ufd1a"); + sb.append("\243\ufd1a\244\ufd1a\246\ufd1a\247\ufd1a\252\ufd1a\001\002\000"); + sb.append("\164\031\ufd27\033\ufd27\071\ufd27\072\ufd27\073\ufd27\112\ufd27"); + sb.append("\127\ufd27\130\ufd27\131\ufd27\132\ufd27\134\ufd27\135\ufd27\136"); + sb.append("\ufd27\137\ufd27\140\ufd27\141\ufd27\142\ufd27\143\ufd27\144\ufd27"); + sb.append("\145\ufd27\146\ufd27\147\ufd27\150\ufd27\151\ufd27\152\ufd27\153"); + sb.append("\ufd27\154\ufd27\155\ufd27\156\ufd27\157\ufd27\160\ufd27\161\ufd27"); + sb.append("\162\ufd27\163\ufd27\164\ufd27\165\ufd27\166\ufd27\167\ufd27\170"); + sb.append("\ufd27\171\ufd27\172\ufd27\173\ufd27\174\ufd27\175\ufd27\176\ufd27"); + sb.append("\177\ufd27\202\ufd27\203\ufd27\204\ufd27\216\ufd27\232\ufd27\233"); + sb.append("\ufd27\243\ufd27\244\ufd27\246\ufd27\247\ufd27\252\ufd27\001\002"); + sb.append("\000\322\002\uff44\003\uff44\004\uff44\005\uff44\006\uff44\007"); + sb.append("\uff44\010\uff44\011\uff44\012\uff44\014\uff44\015\uff44\016\uff44"); + sb.append("\017\uff44\020\uff44\021\uff44\022\uff44\023\uff44\024\uff44\025"); + sb.append("\uff44\026\uff44\027\uff44\030\uff44\032\uff44\034\uff44\035\uff44"); + sb.append("\036\uff44\037\uff44\040\uff44\041\uff44\042\uff44\043\uff44\044"); + sb.append("\uff44\045\uff44\046\uff44\047\uff44\050\uff44\051\uff44\052\uff44"); + sb.append("\054\uff44\056\uff44\057\uff44\061\uff44\062\uff44\063\uff44\064"); + sb.append("\uff44\065\uff44\066\uff44\074\uff44\075\uff44\077\uff44\100\uff44"); + sb.append("\101\uff44\102\uff44\103\uff44\104\uff44\105\uff44\111\uff44\112"); + sb.append("\uff44\114\uff44\115\uff44\116\uff44\120\uff44\121\uff44\122\uff44"); + sb.append("\123\uff44\124\uff44\125\uff44\126\uff44\133\uff44\151\uff44\173"); + sb.append("\uff44\174\uff44\200\uff44\201\uff44\203\uff44\204\uff44\205\uff44"); + sb.append("\206\uff44\207\uff44\210\uff44\211\uff44\212\uff44\213\uff44\214"); + sb.append("\uff44\215\uff44\217\uff44\220\uff44\221\uff44\222\uff44\223\uff44"); + sb.append("\224\uff44\225\uff44\231\uff44\234\uff44\235\uff44\236\uff44\237"); + sb.append("\uff44\241\uff44\250\uff44\251\uff44\253\uff44\254\uff44\255\uff44"); + sb.append("\256\uff44\001\002\000\036\010\244\012\075\065\u01fc\075"); + sb.append("\166\121\240\215\u01ef\217\u01f3\223\341\231\u01f8\234\152"); + sb.append("\250\021\254\241\255\237\256\245\001\002\000\126\031"); + sb.append("\ufe16\033\ufe16\073\ufe16\111\u0273\112\ufe16\127\ufe16\130\ufe16"); + sb.append("\131\ufe16\132\ufe16\150\ufe16\151\ufe16\152\ufe16\153\ufe16\154"); + sb.append("\ufe16\155\ufe16\156\ufe16\157\ufe16\160\ufe16\161\ufe16\162\ufe16"); + sb.append("\163\ufe16\164\ufe16\165\ufe16\166\ufe16\167\ufe16\170\ufe16\171"); + sb.append("\ufe16\172\ufe16\173\ufe16\174\ufe16\175\ufe16\176\ufe16\177\ufe16"); + sb.append("\202\ufe16\215\u0274\216\ufe16\231\ufde2\232\ufe16\233\ufe16\243"); + sb.append("\ufe16\246\ufe16\252\ufe16\001\002\000\120\031\ufd51\033\ufd51"); + sb.append("\073\ufd51\112\ufd51\127\ufd51\130\ufd51\131\ufd51\132\ufd51\150"); + sb.append("\ufd51\151\ufd51\152\ufd51\153\ufd51\154\ufd51\155\ufd51\156\ufd51"); + sb.append("\157\ufd51\160\ufd51\161\ufd51\162\ufd51\163\ufd51\164\ufd51\165"); + sb.append("\ufd51\166\ufd51\167\ufd51\170\ufd51\171\ufd51\172\ufd51\173\ufd51"); + sb.append("\174\ufd51\175\ufd51\176\ufd51\177\ufd51\202\ufd51\216\ufd51\232"); + sb.append("\ufd51\233\ufd51\243\ufd51\246\ufd51\252\ufd51\001\002\000\170"); + sb.append("\004\202\006\156\007\175\010\u01b1\011\204\012\075\015"); + sb.append("\031\016\071\032\106\036\125\044\222\045\u01b3\054\026"); + sb.append("\062\210\063\010\074\051\075\166\077\123\100\012\101"); + sb.append("\206\102\041\103\144\104\117\105\141\115\136\116\046"); + sb.append("\121\160\122\013\123\065\124\124\125\116\126\131\133"); + sb.append("\020\173\104\174\176\200\130\201\067\203\054\204\120"); + sb.append("\205\207\206\154\207\216\210\151\211\142\212\155\213"); + sb.append("\063\214\074\215\114\217\101\223\u01b2\231\u01b5\234\152"); + sb.append("\235\015\236\073\237\060\250\021\254\147\255\064\256"); + sb.append("\055\001\002\000\004\010\u0597\001\002\000\170\004\202"); + sb.append("\006\156\007\175\010\u01b1\011\204\012\075\015\031\016"); + sb.append("\071\032\106\036\125\044\222\045\u01b3\054\026\062\210"); sb.append("\063\010\074\051\075\166\077\123\100\012\101\206\102"); sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\122\013\123\065\124\124\125\116\126\131\133\020\172"); - sb.append("\104\173\176\177\130\200\067\202\054\203\120\204\207"); - sb.append("\205\154\206\216\207\151\210\142\211\155\212\063\213"); - sb.append("\074\214\114\216\101\222\u01b0\230\u01b3\233\152\234\015"); - sb.append("\235\073\236\060\247\021\253\147\254\064\255\055\001"); - sb.append("\002\000\172\031\ufd28\033\ufd28\071\ufd28\072\ufd28\073\ufd28"); - sb.append("\111\u026f\112\ufd28\113\u05ab\127\ufd28\130\ufd28\131\ufd28\132"); - sb.append("\ufd28\134\ufd28\135\ufd28\136\ufd28\137\ufd28\140\ufd28\141\ufd28"); - sb.append("\142\ufd28\143\ufd28\144\ufd28\145\ufd28\146\ufd28\147\ufd28\150"); - sb.append("\ufd28\151\ufd28\152\ufd28\153\ufd28\154\ufd28\155\ufd28\156\ufd28"); - sb.append("\157\ufd28\160\ufd28\161\ufd28\162\ufd28\163\ufd28\164\ufd28\165"); - sb.append("\ufd28\166\ufd28\167\ufd28\170\ufd28\171\ufd28\172\ufd28\173\ufd28"); - sb.append("\174\ufd28\175\ufd28\176\ufd28\201\ufd28\202\ufd28\203\ufd28\214"); - sb.append("\u0270\215\ufd28\230\u05aa\231\ufd28\232\ufd28\242\ufd28\243\ufd28"); - sb.append("\245\ufd28\246\ufd28\251\ufd28\001\002\000\170\004\201\006"); - sb.append("\156\007\175\010\u01af\011\204\012\075\015\031\016\071"); - sb.append("\032\106\036\125\044\222\045\u01b1\054\026\062\210\063"); - sb.append("\010\074\051\075\166\077\123\100\012\101\206\102\041"); - sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\122"); - sb.append("\013\123\065\124\124\125\116\126\131\133\020\172\104"); - sb.append("\173\176\177\130\200\067\202\054\203\120\204\207\205"); - sb.append("\154\206\216\207\151\210\142\211\155\212\063\213\074"); - sb.append("\214\114\216\101\222\u01b0\230\u01b3\233\152\234\015\235"); - sb.append("\073\236\060\247\021\253\147\254\064\255\055\001\002"); - sb.append("\000\132\031\ufe5f\033\ufe5f\071\ufcc7\072\ufcc7\073\ufe5f\111"); - sb.append("\ufcc7\112\ufe5f\113\ufcc7\127\ufe5f\130\ufe5f\131\ufe5f\132\ufe5f"); - sb.append("\150\ufe5f\151\ufe5f\152\ufe5f\153\ufe5f\154\ufe5f\155\ufe5f\156"); - sb.append("\ufe5f\157\ufe5f\160\ufe5f\161\ufe5f\162\ufe5f\163\ufe5f\164\ufe5f"); - sb.append("\165\ufe5f\166\ufe5f\167\ufe5f\170\ufe5f\171\ufe5f\172\ufe5f\173"); - sb.append("\ufe5f\174\ufe5f\175\ufe5f\176\ufe5f\201\ufe5f\214\ufcc7\215\ufe5f"); - sb.append("\230\ufcc7\231\ufe5f\232\ufe5f\242\ufe5f\245\ufe5f\251\ufe5f\001"); - sb.append("\002\000\124\031\ufdca\033\ufdca\073\ufdca\111\u026f\112\ufdca"); - sb.append("\127\ufdca\130\ufdca\131\ufdca\132\ufdca\150\ufdca\151\ufdca\152"); - sb.append("\ufdca\153\ufdca\154\ufdca\155\ufdca\156\ufdca\157\ufdca\160\ufdca"); - sb.append("\161\ufdca\162\ufdca\163\ufdca\164\ufdca\165\ufdca\166\ufdca\167"); - sb.append("\ufdca\170\ufdca\171\ufdca\172\ufdca\173\ufdca\174\ufdca\175\ufdca"); - sb.append("\176\ufdca\201\ufdca\214\u0270\215\ufdca\230\ufde4\231\ufdca\232"); - sb.append("\ufdca\242\ufdca\245\ufdca\251\ufdca\001\002\000\322\002\uff9f"); - sb.append("\003\uff9f\004\uff9f\005\uff9f\006\uff9f\007\uff9f\010\uff9f\011"); - sb.append("\uff9f\012\uff9f\014\uff9f\015\uff9f\016\uff9f\017\uff9f\020\uff9f"); - sb.append("\021\uff9f\022\uff9f\023\uff9f\024\uff9f\025\uff9f\026\uff9f\027"); - sb.append("\uff9f\030\uff9f\032\uff9f\034\uff9f\035\uff9f\036\uff9f\037\uff9f"); - sb.append("\040\uff9f\041\uff9f\042\uff9f\043\uff9f\044\uff9f\045\uff9f\046"); - sb.append("\uff9f\047\uff9f\050\uff9f\051\uff9f\052\uff9f\054\uff9f\056\uff9f"); - sb.append("\057\uff9f\061\uff9f\062\uff9f\063\uff9f\064\uff9f\065\uff9f\066"); - sb.append("\uff9f\074\uff9f\075\uff9f\077\uff9f\100\uff9f\101\uff9f\102\uff9f"); - sb.append("\103\uff9f\104\uff9f\105\uff9f\111\uff9f\112\uff9f\114\uff9f\115"); - sb.append("\uff9f\116\uff9f\120\uff9f\121\uff9f\122\uff9f\123\uff9f\124\uff9f"); - sb.append("\125\uff9f\126\uff9f\133\uff9f\151\uff9f\172\uff9f\173\uff9f\177"); - sb.append("\uff9f\200\uff9f\202\uff9f\203\uff9f\204\uff9f\205\uff9f\206\uff9f"); - sb.append("\207\uff9f\210\uff9f\211\uff9f\212\uff9f\213\uff9f\214\uff9f\216"); - sb.append("\uff9f\217\uff9f\220\uff9f\221\uff9f\222\uff9f\223\uff9f\224\uff9f"); - sb.append("\230\uff9f\233\uff9f\234\uff9f\235\uff9f\236\uff9f\240\uff9f\247"); - sb.append("\uff9f\250\uff9f\252\uff9f\253\uff9f\254\uff9f\255\uff9f\001\002"); - sb.append("\000\014\012\ufcf0\015\ufcf0\107\ufcf0\110\ufcf0\235\ufcf0\001"); - sb.append("\002\000\170\004\201\006\156\007\175\010\u01af\011\204"); + sb.append("\122\013\123\065\124\124\125\116\126\131\133\020\173"); + sb.append("\104\174\176\200\130\201\067\203\054\204\120\205\207"); + sb.append("\206\154\207\216\210\151\211\142\212\155\213\063\214"); + sb.append("\074\215\114\217\101\223\u01b2\231\u01b5\234\152\235\015"); + sb.append("\236\073\237\060\250\021\254\147\255\064\256\055\001"); + sb.append("\002\000\120\031\ufd57\033\ufd57\073\ufd57\112\ufd57\127\ufd57"); + sb.append("\130\ufd57\131\ufd57\132\ufd57\150\ufd57\151\ufd57\152\ufd57\153"); + sb.append("\ufd57\154\ufd57\155\ufd57\156\ufd57\157\ufd57\160\ufd57\161\ufd57"); + sb.append("\162\ufd57\163\ufd57\164\ufd57\165\ufd57\166\ufd57\167\ufd57\170"); + sb.append("\ufd57\171\ufd57\172\ufd57\173\ufd57\174\ufd57\175\ufd57\176\ufd57"); + sb.append("\177\ufd57\202\ufd57\216\ufd57\232\ufd57\233\ufd57\243\ufd57\246"); + sb.append("\ufd57\252\ufd57\001\002\000\004\231\u058e\001\002\000\004"); + sb.append("\010\uff23\001\002\000\120\031\u01d4\033\ufd53\073\ufd53\112"); + sb.append("\ufd53\127\ufd53\130\u01cb\131\u01dd\132\u01c3\150\u01c6\151\ufd53"); + sb.append("\152\u01c2\153\u01d5\154\u01d9\155\u01c4\156\u01cd\157\u01d6\160"); + sb.append("\u01dc\161\u01cf\162\u01bf\163\u01cc\164\u01da\165\u01d8\166\u01ca"); + sb.append("\167\u01c8\170\u01d7\171\u01d3\172\u01ce\173\u01de\174\u01c9\175"); + sb.append("\u01d2\176\u01d0\177\u01c1\202\u01c5\216\ufd53\232\ufd53\233\ufd53"); + sb.append("\243\u01c7\246\u01c0\252\u01db\001\002\000\004\231\u0573\001"); + sb.append("\002\000\202\004\202\006\156\007\175\010\u01b1\011\204"); sb.append("\012\075\015\031\016\071\032\106\036\125\044\222\045"); - sb.append("\u01b1\054\026\062\210\063\010\074\051\075\166\077\123"); + sb.append("\u01b3\054\026\062\210\063\010\074\u0332\075\166\077\123"); sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); sb.append("\136\116\046\121\160\122\013\123\065\124\124\125\116"); - sb.append("\126\131\133\020\172\104\173\176\177\130\200\067\202"); - sb.append("\054\203\120\204\207\205\154\206\216\207\151\210\142"); - sb.append("\211\155\212\063\213\074\214\114\216\101\222\u01b0\230"); - sb.append("\u01b3\233\152\234\015\235\073\236\060\247\021\253\147"); - sb.append("\254\064\255\055\001\002\000\210\012\ufccf\015\ufccf\031"); - sb.append("\ufccf\033\ufccf\071\ufccf\072\ufccf\073\ufccf\106\ufccf\107\ufccf"); - sb.append("\110\ufccf\111\ufccf\112\ufccf\113\ufccf\127\ufccf\130\ufccf\131"); - sb.append("\ufccf\132\ufccf\134\ufccf\135\ufccf\136\ufccf\137\ufccf\140\ufccf"); - sb.append("\141\ufccf\142\ufccf\143\ufccf\144\ufccf\145\ufccf\146\ufccf\147"); - sb.append("\ufccf\150\ufccf\151\ufccf\152\ufccf\153\ufccf\154\ufccf\155\ufccf"); - sb.append("\156\ufccf\157\ufccf\160\ufccf\161\ufccf\162\ufccf\163\ufccf\164"); - sb.append("\ufccf\165\ufccf\166\ufccf\167\ufccf\170\ufccf\171\ufccf\172\ufccf"); - sb.append("\173\ufccf\174\ufccf\175\ufccf\176\ufccf\201\ufccf\202\ufccf\203"); - sb.append("\ufccf\214\ufccf\215\ufccf\230\ufccf\231\ufccf\232\ufccf\234\ufccf"); - sb.append("\235\ufccf\242\ufccf\243\ufccf\245\ufccf\246\ufccf\251\ufccf\001"); - sb.append("\002\000\164\031\ufd1c\033\ufd1c\071\ufd1c\072\ufd1c\073\ufd1c"); - sb.append("\112\ufd1c\113\u05a1\127\ufd1c\130\ufd1c\131\ufd1c\132\ufd1c\134"); - sb.append("\ufd1c\135\ufd1c\136\ufd1c\137\ufd1c\140\ufd1c\141\ufd1c\142\ufd1c"); - sb.append("\143\ufd1c\144\ufd1c\145\ufd1c\146\ufd1c\147\ufd1c\150\ufd1c\151"); - sb.append("\ufd1c\152\ufd1c\153\ufd1c\154\ufd1c\155\ufd1c\156\ufd1c\157\ufd1c"); - sb.append("\160\ufd1c\161\ufd1c\162\ufd1c\163\ufd1c\164\ufd1c\165\ufd1c\166"); - sb.append("\ufd1c\167\ufd1c\170\ufd1c\171\ufd1c\172\ufd1c\173\ufd1c\174\ufd1c"); - sb.append("\175\ufd1c\176\ufd1c\201\ufd1c\202\ufd1c\203\ufd1c\215\ufd1c\231"); - sb.append("\ufd1c\232\ufd1c\242\ufd1c\243\ufd1c\245\ufd1c\246\ufd1c\251\ufd1c"); - sb.append("\001\002\000\162\031\ufd29\033\ufd29\071\ufd29\072\ufd29\073"); - sb.append("\ufd29\112\ufd29\127\ufd29\130\ufd29\131\ufd29\132\ufd29\134\ufd29"); - sb.append("\135\ufd29\136\ufd29\137\ufd29\140\ufd29\141\ufd29\142\ufd29\143"); - sb.append("\ufd29\144\ufd29\145\ufd29\146\ufd29\147\ufd29\150\ufd29\151\ufd29"); - sb.append("\152\ufd29\153\ufd29\154\ufd29\155\ufd29\156\ufd29\157\ufd29\160"); - sb.append("\ufd29\161\ufd29\162\ufd29\163\ufd29\164\ufd29\165\ufd29\166\ufd29"); - sb.append("\167\ufd29\170\ufd29\171\ufd29\172\ufd29\173\ufd29\174\ufd29\175"); - sb.append("\ufd29\176\ufd29\201\ufd29\202\ufd29\203\ufd29\215\ufd29\231\ufd29"); - sb.append("\232\ufd29\242\ufd29\243\ufd29\245\ufd29\246\ufd29\251\ufd29\001"); - sb.append("\002\000\322\002\uff44\003\uff44\004\uff44\005\uff44\006\uff44"); - sb.append("\007\uff44\010\uff44\011\uff44\012\uff44\014\uff44\015\uff44\016"); - sb.append("\uff44\017\uff44\020\uff44\021\uff44\022\uff44\023\uff44\024\uff44"); - sb.append("\025\uff44\026\uff44\027\uff44\030\uff44\032\uff44\034\uff44\035"); - sb.append("\uff44\036\uff44\037\uff44\040\uff44\041\uff44\042\uff44\043\uff44"); - sb.append("\044\uff44\045\uff44\046\uff44\047\uff44\050\uff44\051\uff44\052"); - sb.append("\uff44\054\uff44\056\uff44\057\uff44\061\uff44\062\uff44\063\uff44"); - sb.append("\064\uff44\065\uff44\066\uff44\074\uff44\075\uff44\077\uff44\100"); - sb.append("\uff44\101\uff44\102\uff44\103\uff44\104\uff44\105\uff44\111\uff44"); - sb.append("\112\uff44\114\uff44\115\uff44\116\uff44\120\uff44\121\uff44\122"); - sb.append("\uff44\123\uff44\124\uff44\125\uff44\126\uff44\133\uff44\151\uff44"); - sb.append("\172\uff44\173\uff44\177\uff44\200\uff44\202\uff44\203\uff44\204"); - sb.append("\uff44\205\uff44\206\uff44\207\uff44\210\uff44\211\uff44\212\uff44"); - sb.append("\213\uff44\214\uff44\216\uff44\217\uff44\220\uff44\221\uff44\222"); - sb.append("\uff44\223\uff44\224\uff44\230\uff44\233\uff44\234\uff44\235\uff44"); - sb.append("\236\uff44\240\uff44\247\uff44\250\uff44\252\uff44\253\uff44\254"); - sb.append("\uff44\255\uff44\001\002\000\036\010\244\012\075\065\u01f8"); - sb.append("\075\166\121\237\214\u01ec\216\u01ef\222\341\230\u01f4\233"); - sb.append("\152\247\021\253\241\254\240\255\245\001\002\000\124"); - sb.append("\031\ufe17\033\ufe17\073\ufe17\111\u026f\112\ufe17\127\ufe17\130"); - sb.append("\ufe17\131\ufe17\132\ufe17\150\ufe17\151\ufe17\152\ufe17\153\ufe17"); - sb.append("\154\ufe17\155\ufe17\156\ufe17\157\ufe17\160\ufe17\161\ufe17\162"); - sb.append("\ufe17\163\ufe17\164\ufe17\165\ufe17\166\ufe17\167\ufe17\170\ufe17"); - sb.append("\171\ufe17\172\ufe17\173\ufe17\174\ufe17\175\ufe17\176\ufe17\201"); - sb.append("\ufe17\214\u0270\215\ufe17\230\ufde3\231\ufe17\232\ufe17\242\ufe17"); - sb.append("\245\ufe17\251\ufe17\001\002\000\116\031\ufd53\033\ufd53\073"); - sb.append("\ufd53\112\ufd53\127\ufd53\130\ufd53\131\ufd53\132\ufd53\150\ufd53"); - sb.append("\151\ufd53\152\ufd53\153\ufd53\154\ufd53\155\ufd53\156\ufd53\157"); - sb.append("\ufd53\160\ufd53\161\ufd53\162\ufd53\163\ufd53\164\ufd53\165\ufd53"); - sb.append("\166\ufd53\167\ufd53\170\ufd53\171\ufd53\172\ufd53\173\ufd53\174"); - sb.append("\ufd53\175\ufd53\176\ufd53\201\ufd53\215\ufd53\231\ufd53\232\ufd53"); - sb.append("\242\ufd53\245\ufd53\251\ufd53\001\002\000\170\004\201\006"); - sb.append("\156\007\175\010\u01af\011\204\012\075\015\031\016\071"); - sb.append("\032\106\036\125\044\222\045\u01b1\054\026\062\210\063"); - sb.append("\010\074\051\075\166\077\123\100\012\101\206\102\041"); - sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\122"); - sb.append("\013\123\065\124\124\125\116\126\131\133\020\172\104"); - sb.append("\173\176\177\130\200\067\202\054\203\120\204\207\205"); - sb.append("\154\206\216\207\151\210\142\211\155\212\063\213\074"); - sb.append("\214\114\216\101\222\u01b0\230\u01b3\233\152\234\015\235"); - sb.append("\073\236\060\247\021\253\147\254\064\255\055\001\002"); - sb.append("\000\004\010\u0593\001\002\000\170\004\201\006\156\007"); - sb.append("\175\010\u01af\011\204\012\075\015\031\016\071\032\106"); - sb.append("\036\125\044\222\045\u01b1\054\026\062\210\063\010\074"); - sb.append("\051\075\166\077\123\100\012\101\206\102\041\103\144"); - sb.append("\104\117\105\141\115\136\116\046\121\160\122\013\123"); - sb.append("\065\124\124\125\116\126\131\133\020\172\104\173\176"); - sb.append("\177\130\200\067\202\054\203\120\204\207\205\154\206"); - sb.append("\216\207\151\210\142\211\155\212\063\213\074\214\114"); - sb.append("\216\101\222\u01b0\230\u01b3\233\152\234\015\235\073\236"); - sb.append("\060\247\021\253\147\254\064\255\055\001\002\000\116"); - sb.append("\031\ufd59\033\ufd59\073\ufd59\112\ufd59\127\ufd59\130\ufd59\131"); - sb.append("\ufd59\132\ufd59\150\ufd59\151\ufd59\152\ufd59\153\ufd59\154\ufd59"); - sb.append("\155\ufd59\156\ufd59\157\ufd59\160\ufd59\161\ufd59\162\ufd59\163"); - sb.append("\ufd59\164\ufd59\165\ufd59\166\ufd59\167\ufd59\170\ufd59\171\ufd59"); - sb.append("\172\ufd59\173\ufd59\174\ufd59\175\ufd59\176\ufd59\201\ufd59\215"); - sb.append("\ufd59\231\ufd59\232\ufd59\242\ufd59\245\ufd59\251\ufd59\001\002"); - sb.append("\000\004\230\u058a\001\002\000\004\010\uff23\001\002\000"); - sb.append("\116\031\u01d2\033\ufd55\073\ufd55\112\ufd55\127\ufd55\130\u01c9"); - sb.append("\131\u01da\132\u01c1\150\u01c4\151\ufd55\152\u01c0\153\u01d3\154"); - sb.append("\u01c2\155\u01cb\156\u01d4\157\u01d9\160\u01cd\161\u01bd\162\u01ca"); - sb.append("\163\u01d7\164\u01d5\165\u01c8\166\u01c6\167\u01d6\170\u01d1\171"); - sb.append("\u01cc\172\u01db\173\u01c7\174\u01d0\175\u01ce\176\u01be\201\u01c3"); - sb.append("\215\ufd55\231\ufd55\232\ufd55\242\u01c5\245\u01bf\251\u01d8\001"); - sb.append("\002\000\004\230\u056f\001\002\000\202\004\201\006\156"); - sb.append("\007\175\010\u01af\011\204\012\075\015\031\016\071\032"); - sb.append("\106\036\125\044\222\045\u01b1\054\026\062\210\063\010"); - sb.append("\074\u032e\075\166\077\123\100\012\101\206\102\041\103"); - sb.append("\144\104\117\105\141\115\136\116\046\121\160\122\013"); - sb.append("\123\065\124\124\125\116\126\131\127\ufcfb\133\020\156"); - sb.append("\u0224\172\104\173\176\177\130\200\067\202\054\203\120"); - sb.append("\204\207\205\154\206\216\207\151\210\142\211\155\212"); - sb.append("\063\213\074\214\114\215\ufcfb\216\101\222\u01b0\230\u01b3"); - sb.append("\233\152\234\015\235\073\236\060\244\u032d\247\021\251"); - sb.append("\u0227\253\147\254\064\255\055\001\002\000\012\065\uff29"); - sb.append("\223\uff29\224\uff29\250\uff29\001\002\000\170\004\201\006"); - sb.append("\156\007\175\010\u01af\011\204\012\075\015\031\016\071"); - sb.append("\032\106\036\125\044\222\045\u01b1\054\026\062\210\063"); - sb.append("\010\074\051\075\166\077\123\100\012\101\206\102\041"); - sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\122"); - sb.append("\013\123\065\124\124\125\116\126\131\133\020\172\104"); - sb.append("\173\176\177\130\200\067\202\054\203\120\204\207\205"); - sb.append("\154\206\216\207\151\210\142\211\155\212\063\213\074"); - sb.append("\214\114\216\101\222\u01b0\230\u01b3\233\152\234\015\235"); - sb.append("\073\236\060\247\021\253\147\254\064\255\055\001\002"); - sb.append("\000\116\031\ufdc8\033\ufdc8\073\ufdc8\112\ufdc8\127\ufdc8\130"); - sb.append("\ufdc8\131\ufdc8\132\ufdc8\150\ufdc8\151\ufdc8\152\ufdc8\153\ufdc8"); - sb.append("\154\ufdc8\155\ufdc8\156\ufdc8\157\ufdc8\160\ufdc8\161\ufdc8\162"); - sb.append("\ufdc8\163\ufdc8\164\ufdc8\165\ufdc8\166\ufdc8\167\ufdc8\170\ufdc8"); - sb.append("\171\ufdc8\172\ufdc8\173\ufdc8\174\ufdc8\175\ufdc8\176\ufdc8\201"); - sb.append("\ufdc8\215\ufdc8\231\ufdc8\232\ufdc8\242\ufdc8\245\ufdc8\251\ufdc8"); - sb.append("\001\002\000\034\010\244\012\075\016\u0338\075\166\121"); - sb.append("\237\214\u01ec\216\u01ef\222\341\230\u01b3\233\152\253\241"); - sb.append("\254\240\255\245\001\002\000\004\113\u0568\001\002\000"); - sb.append("\276\002\uff9e\003\uff9e\004\uff9e\005\uff9e\006\uff9e\007\uff9e"); - sb.append("\010\uff9e\011\uff9e\012\uff9e\014\uff9e\015\uff9e\016\uff9e\017"); - sb.append("\uff9e\020\uff9e\021\uff9e\023\uff9e\025\uff9e\027\uff9e\032\uff9e"); - sb.append("\034\uff9e\036\uff9e\041\uff9e\042\uff9e\043\uff9e\044\uff9e\045"); - sb.append("\uff9e\046\uff9e\047\uff9e\050\uff9e\051\uff9e\052\uff9e\054\uff9e"); - sb.append("\056\uff9e\057\uff9e\061\uff9e\062\uff9e\063\uff9e\064\uff9e\065"); - sb.append("\uff9e\066\uff9e\074\uff9e\075\uff9e\077\uff9e\100\uff9e\101\uff9e"); - sb.append("\102\uff9e\103\uff9e\104\uff9e\105\uff9e\111\uff9e\112\uff9e\114"); - sb.append("\uff9e\115\uff9e\116\uff9e\120\uff9e\121\uff9e\122\uff9e\123\uff9e"); - sb.append("\124\uff9e\125\uff9e\126\uff9e\133\uff9e\151\uff9e\172\uff9e\173"); - sb.append("\uff9e\177\uff9e\200\uff9e\202\uff9e\203\uff9e\204\uff9e\205\uff9e"); - sb.append("\206\uff9e\207\uff9e\210\uff9e\211\uff9e\212\uff9e\213\uff9e\214"); - sb.append("\uff9e\216\uff9e\222\uff9e\223\uff9e\224\uff9e\230\uff9e\233\uff9e"); - sb.append("\234\uff9e\235\uff9e\236\uff9e\240\uff9e\247\uff9e\250\uff9e\252"); - sb.append("\uff9e\253\uff9e\254\uff9e\255\uff9e\001\002\000\116\031\ufdc6"); - sb.append("\033\ufdc6\073\ufdc6\112\ufdc6\127\ufdc6\130\ufdc6\131\ufdc6\132"); - sb.append("\ufdc6\150\ufdc6\151\ufdc6\152\ufdc6\153\ufdc6\154\ufdc6\155\ufdc6"); - sb.append("\156\ufdc6\157\ufdc6\160\ufdc6\161\ufdc6\162\ufdc6\163\ufdc6\164"); - sb.append("\ufdc6\165\ufdc6\166\ufdc6\167\ufdc6\170\ufdc6\171\ufdc6\172\ufdc6"); - sb.append("\173\ufdc6\174\ufdc6\175\ufdc6\176\ufdc6\201\ufdc6\215\ufdc6\231"); - sb.append("\ufdc6\232\ufdc6\242\ufdc6\245\ufdc6\251\ufdc6\001\002\000\004"); - sb.append("\230\u0363\001\002\000\004\230\u034a\001\002\000\116\031"); - sb.append("\ufe14\033\ufe14\073\ufe14\112\ufe14\127\ufe14\130\ufe14\131\ufe14"); - sb.append("\132\ufe14\150\ufe14\151\ufe14\152\ufe14\153\ufe14\154\ufe14\155"); - sb.append("\ufe14\156\ufe14\157\ufe14\160\ufe14\161\ufe14\162\ufe14\163\ufe14"); - sb.append("\164\ufe14\165\ufe14\166\ufe14\167\ufe14\170\ufe14\171\ufe14\172"); - sb.append("\ufe14\173\ufe14\174\ufe14\175\ufe14\176\ufe14\201\ufe14\215\ufe14"); - sb.append("\231\ufe14\232\ufe14\242\ufe14\245\ufe14\251\ufe14\001\002\000"); - sb.append("\122\031\ufd75\033\ufd75\073\ufd75\111\u026f\112\ufd75\127\ufd75"); - sb.append("\130\ufd75\131\ufd75\132\ufd75\150\ufd75\151\ufd75\152\ufd75\153"); - sb.append("\ufd75\154\ufd75\155\ufd75\156\ufd75\157\ufd75\160\ufd75\161\ufd75"); - sb.append("\162\ufd75\163\ufd75\164\ufd75\165\ufd75\166\ufd75\167\ufd75\170"); - sb.append("\ufd75\171\ufd75\172\ufd75\173\ufd75\174\ufd75\175\ufd75\176\ufd75"); - sb.append("\201\ufd75\214\u0270\215\ufd75\231\ufd75\232\ufd75\242\ufd75\245"); - sb.append("\ufd75\251\ufd75\001\002\000\170\004\201\006\156\007\175"); - sb.append("\010\u01af\011\204\012\075\015\031\016\071\032\106\036"); - sb.append("\125\044\222\045\u01b1\054\026\062\210\063\010\074\051"); - sb.append("\075\166\077\123\100\012\101\206\102\041\103\144\104"); - sb.append("\117\105\141\115\136\116\046\121\160\122\013\123\065"); - sb.append("\124\124\125\116\126\131\133\020\172\104\173\176\177"); - sb.append("\130\200\067\202\054\203\120\204\207\205\154\206\216"); - sb.append("\207\151\210\142\211\155\212\063\213\074\214\114\216"); - sb.append("\101\222\u01b0\230\u01b3\233\152\234\015\235\073\236\060"); - sb.append("\247\021\253\147\254\064\255\055\001\002\000\170\004"); - sb.append("\201\006\156\007\175\010\u01af\011\204\012\075\015\031"); - sb.append("\016\071\032\106\036\125\044\222\045\u01b1\054\026\062"); - sb.append("\210\063\010\074\051\075\166\077\123\100\012\101\206"); - sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); - sb.append("\160\122\013\123\065\124\124\125\116\126\131\133\020"); - sb.append("\172\104\173\176\177\130\200\067\202\054\203\120\204"); - sb.append("\207\205\154\206\216\207\151\210\142\211\155\212\063"); - sb.append("\213\074\214\114\216\101\222\u01b0\230\u01b3\233\152\234"); - sb.append("\015\235\073\236\060\247\021\253\147\254\064\255\055"); - sb.append("\001\002\000\116\031\ufd54\033\ufd54\073\ufd54\112\ufd54\127"); - sb.append("\ufd54\130\ufd54\131\ufd54\132\ufd54\150\ufd54\151\ufd54\152\ufd54"); - sb.append("\153\ufd54\154\ufd54\155\ufd54\156\ufd54\157\ufd54\160\ufd54\161"); - sb.append("\ufd54\162\ufd54\163\ufd54\164\ufd54\165\ufd54\166\ufd54\167\ufd54"); - sb.append("\170\ufd54\171\ufd54\172\ufd54\173\ufd54\174\ufd54\175\ufd54\176"); - sb.append("\ufd54\201\ufd54\215\ufd54\231\ufd54\232\ufd54\242\ufd54\245\ufd54"); - sb.append("\251\ufd54\001\002\000\122\031\ufd27\033\ufd27\073\ufd27\111"); - sb.append("\u026f\112\ufd27\127\ufd27\130\ufd27\131\ufd27\132\ufd27\150\ufd27"); - sb.append("\151\ufd27\152\ufd27\153\ufd27\154\ufd27\155\ufd27\156\ufd27\157"); - sb.append("\ufd27\160\ufd27\161\ufd27\162\ufd27\163\ufd27\164\ufd27\165\ufd27"); - sb.append("\166\ufd27\167\ufd27\170\ufd27\171\ufd27\172\ufd27\173\ufd27\174"); - sb.append("\ufd27\175\ufd27\176\ufd27\201\ufd27\214\u0270\215\ufd27\231\ufd27"); - sb.append("\232\ufd27\242\ufd27\245\ufd27\251\ufd27\001\002\000\116\031"); - sb.append("\ufe18\033\ufe18\073\ufe18\112\ufe18\127\ufe18\130\ufe18\131\ufe18"); - sb.append("\132\ufe18\150\ufe18\151\ufe18\152\ufe18\153\ufe18\154\ufe18\155"); - sb.append("\ufe18\156\ufe18\157\ufe18\160\ufe18\161\ufe18\162\ufe18\163\ufe18"); - sb.append("\164\ufe18\165\ufe18\166\ufe18\167\ufe18\170\ufe18\171\ufe18\172"); - sb.append("\ufe18\173\ufe18\174\ufe18\175\ufe18\176\ufe18\201\ufe18\215\ufe18"); - sb.append("\231\ufe18\232\ufe18\242\ufe18\245\ufe18\251\ufe18\001\002\000"); - sb.append("\116\031\ufe60\033\ufe60\073\ufe60\112\ufe60\127\ufe60\130\ufe60"); - sb.append("\131\ufe60\132\ufe60\150\ufe60\151\ufe60\152\ufe60\153\ufe60\154"); - sb.append("\ufe60\155\ufe60\156\ufe60\157\ufe60\160\ufe60\161\ufe60\162\ufe60"); - sb.append("\163\ufe60\164\ufe60\165\ufe60\166\ufe60\167\ufe60\170\ufe60\171"); - sb.append("\ufe60\172\ufe60\173\ufe60\174\ufe60\175\ufe60\176\ufe60\201\ufe60"); - sb.append("\215\ufe60\231\ufe60\232\ufe60\242\ufe60\245\ufe60\251\ufe60\001"); - sb.append("\002\000\116\031\ufdc2\033\ufdc2\073\ufdc2\112\ufdc2\127\ufdc2"); - sb.append("\130\ufdc2\131\ufdc2\132\ufdc2\150\ufdc2\151\ufdc2\152\ufdc2\153"); - sb.append("\ufdc2\154\ufdc2\155\ufdc2\156\ufdc2\157\ufdc2\160\ufdc2\161\ufdc2"); - sb.append("\162\ufdc2\163\ufdc2\164\ufdc2\165\ufdc2\166\ufdc2\167\ufdc2\170"); - sb.append("\ufdc2\171\ufdc2\172\ufdc2\173\ufdc2\174\ufdc2\175\ufdc2\176\ufdc2"); - sb.append("\201\ufdc2\215\ufdc2\231\ufdc2\232\ufdc2\242\ufdc2\245\ufdc2\251"); - sb.append("\ufdc2\001\002\000\104\010\uff8e\012\uff8e\037\uff8e\044\uff8e"); - sb.append("\045\uff8e\046\uff8e\060\uff8e\065\uff8e\066\uff8e\075\uff8e\076"); - sb.append("\uff8e\121\uff8e\150\uff8e\156\uff8e\222\uff8e\223\uff8e\224\uff8e"); - sb.append("\225\uff8e\226\uff8e\227\uff8e\230\uff8e\240\uff8e\244\uff8e\247"); - sb.append("\uff8e\250\uff8e\251\uff8e\252\uff8e\253\uff8e\254\uff8e\255\uff8e"); - sb.append("\256\uff8e\257\uff8e\260\uff8e\001\002\000\132\031\ufe26\033"); - sb.append("\ufe26\071\u0286\072\u0283\073\ufe26\111\u026f\112\ufe26\113\u0284"); - sb.append("\127\ufe26\130\ufe26\131\ufe26\132\ufe26\150\ufe26\151\ufe26\152"); - sb.append("\ufe26\153\ufe26\154\ufe26\155\ufe26\156\ufe26\157\ufe26\160\ufe26"); - sb.append("\161\ufe26\162\ufe26\163\ufe26\164\ufe26\165\ufe26\166\ufe26\167"); - sb.append("\ufe26\170\ufe26\171\ufe26\172\ufe26\173\ufe26\174\ufe26\175\ufe26"); - sb.append("\176\ufe26\201\ufe26\214\u0270\215\ufe26\230\ufdea\231\ufe26\232"); - sb.append("\ufe26\242\ufe26\245\ufe26\251\ufe26\001\002\000\014\012\ufcf0"); - sb.append("\015\ufcf0\106\ufcf0\107\ufcf0\110\ufcf0\001\002\000\170\004"); - sb.append("\201\006\156\007\175\010\u01af\011\204\012\075\015\031"); - sb.append("\016\071\032\106\036\125\044\222\045\u01b1\054\026\062"); - sb.append("\210\063\010\074\051\075\166\077\123\100\012\101\206"); - sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); - sb.append("\160\122\013\123\065\124\124\125\116\126\131\133\020"); - sb.append("\172\104\173\176\177\130\200\067\202\054\203\120\204"); - sb.append("\207\205\154\206\216\207\151\210\142\211\155\212\063"); - sb.append("\213\074\214\114\216\101\222\u01b0\230\u01b3\233\152\234"); - sb.append("\015\235\073\236\060\247\021\253\147\254\064\255\055"); - sb.append("\001\002\000\170\004\201\006\156\007\175\010\u01af\011"); + sb.append("\126\131\127\ufcf9\133\020\157\u0228\173\104\174\176\200"); + sb.append("\130\201\067\203\054\204\120\205\207\206\154\207\216"); + sb.append("\210\151\211\142\212\155\213\063\214\074\215\114\216"); + sb.append("\ufcf9\217\101\223\u01b2\231\u01b5\234\152\235\015\236\073"); + sb.append("\237\060\245\u0331\250\021\252\u022b\254\147\255\064\256"); + sb.append("\055\001\002\000\012\065\uff29\224\uff29\225\uff29\251\uff29"); + sb.append("\001\002\000\170\004\202\006\156\007\175\010\u01b1\011"); sb.append("\204\012\075\015\031\016\071\032\106\036\125\044\222"); - sb.append("\045\u01b1\054\026\062\210\063\010\074\051\075\166\077"); + sb.append("\045\u01b3\054\026\062\210\063\010\074\051\075\166\077"); sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); sb.append("\115\136\116\046\121\160\122\013\123\065\124\124\125"); - sb.append("\116\126\131\133\020\172\104\173\176\177\130\200\067"); - sb.append("\202\054\203\120\204\207\205\154\206\216\207\151\210"); - sb.append("\142\211\155\212\063\213\074\214\114\216\101\222\u01b0"); - sb.append("\230\u01b3\233\152\234\015\235\073\236\060\247\021\253"); - sb.append("\147\254\064\255\055\001\002\000\116\031\ufdc9\033\ufdc9"); - sb.append("\073\ufdc9\112\ufdc9\127\ufdc9\130\ufdc9\131\ufdc9\132\ufdc9\150"); - sb.append("\ufdc9\151\ufdc9\152\ufdc9\153\ufdc9\154\ufdc9\155\ufdc9\156\ufdc9"); - sb.append("\157\ufdc9\160\ufdc9\161\ufdc9\162\ufdc9\163\ufdc9\164\ufdc9\165"); - sb.append("\ufdc9\166\ufdc9\167\ufdc9\170\ufdc9\171\ufdc9\172\ufdc9\173\ufdc9"); - sb.append("\174\ufdc9\175\ufdc9\176\ufdc9\201\ufdc9\215\ufdc9\231\ufdc9\232"); - sb.append("\ufdc9\242\ufdc9\245\ufdc9\251\ufdc9\001\002\000\004\230\u0536"); - sb.append("\001\002\000\322\002\uff78\003\uff78\004\uff78\005\uff78\006"); - sb.append("\uff78\007\uff78\010\uff78\011\uff78\012\uff78\014\uff78\015\uff78"); - sb.append("\016\uff78\017\uff78\020\uff78\021\uff78\022\uff78\023\uff78\024"); - sb.append("\uff78\025\uff78\026\uff78\027\uff78\030\uff78\032\uff78\034\uff78"); - sb.append("\035\uff78\036\uff78\037\uff78\040\uff78\041\uff78\042\uff78\043"); - sb.append("\uff78\044\uff78\045\uff78\046\uff78\047\uff78\050\uff78\051\uff78"); - sb.append("\052\uff78\054\uff78\056\uff78\057\uff78\061\uff78\062\uff78\063"); - sb.append("\uff78\064\uff78\065\uff78\066\uff78\074\uff78\075\uff78\077\uff78"); - sb.append("\100\uff78\101\uff78\102\uff78\103\uff78\104\uff78\105\uff78\111"); - sb.append("\uff78\112\uff78\114\uff78\115\uff78\116\uff78\120\uff78\121\uff78"); - sb.append("\122\uff78\123\uff78\124\uff78\125\uff78\126\uff78\133\uff78\151"); - sb.append("\uff78\172\uff78\173\uff78\177\uff78\200\uff78\202\uff78\203\uff78"); - sb.append("\204\uff78\205\uff78\206\uff78\207\uff78\210\uff78\211\uff78\212"); - sb.append("\uff78\213\uff78\214\uff78\216\uff78\217\uff78\220\uff78\221\uff78"); - sb.append("\222\uff78\223\uff78\224\uff78\230\uff78\233\uff78\234\uff78\235"); - sb.append("\uff78\236\uff78\240\uff78\247\uff78\250\uff78\252\uff78\253\uff78"); - sb.append("\254\uff78\255\uff78\001\002\000\132\031\ufff4\033\ufff4\071"); - sb.append("\ufddc\072\ufddc\073\ufff4\111\ufff4\112\ufff4\113\ufddc\127\ufff4"); - sb.append("\130\ufff4\131\ufff4\132\ufff4\150\ufff4\151\ufff4\152\ufff4\153"); - sb.append("\ufff4\154\ufff4\155\ufff4\156\ufff4\157\ufff4\160\ufff4\161\ufff4"); - sb.append("\162\ufff4\163\ufff4\164\ufff4\165\ufff4\166\ufff4\167\ufff4\170"); - sb.append("\ufff4\171\ufff4\172\ufff4\173\ufff4\174\ufff4\175\ufff4\176\ufff4"); - sb.append("\201\ufff4\214\ufff4\215\ufff4\230\ufddc\231\ufff4\232\ufff4\242"); - sb.append("\ufff4\245\ufff4\251\ufff4\001\002\000\116\031\ufe12\033\ufe12"); - sb.append("\073\ufe12\112\ufe12\127\ufe12\130\ufe12\131\ufe12\132\ufe12\150"); - sb.append("\ufe12\151\ufe12\152\ufe12\153\ufe12\154\ufe12\155\ufe12\156\ufe12"); - sb.append("\157\ufe12\160\ufe12\161\ufe12\162\ufe12\163\ufe12\164\ufe12\165"); - sb.append("\ufe12\166\ufe12\167\ufe12\170\ufe12\171\ufe12\172\ufe12\173\ufe12"); - sb.append("\174\ufe12\175\ufe12\176\ufe12\201\ufe12\215\ufe12\231\ufe12\232"); - sb.append("\ufe12\242\ufe12\245\ufe12\251\ufe12\001\002\000\170\004\201"); - sb.append("\006\156\007\175\010\u01af\011\204\012\075\015\031\016"); - sb.append("\071\032\106\036\125\044\222\045\u01b1\054\026\062\210"); + sb.append("\116\126\131\133\020\173\104\174\176\200\130\201\067"); + sb.append("\203\054\204\120\205\207\206\154\207\216\210\151\211"); + sb.append("\142\212\155\213\063\214\074\215\114\217\101\223\u01b2"); + sb.append("\231\u01b5\234\152\235\015\236\073\237\060\250\021\254"); + sb.append("\147\255\064\256\055\001\002\000\120\031\ufdc7\033\ufdc7"); + sb.append("\073\ufdc7\112\ufdc7\127\ufdc7\130\ufdc7\131\ufdc7\132\ufdc7\150"); + sb.append("\ufdc7\151\ufdc7\152\ufdc7\153\ufdc7\154\ufdc7\155\ufdc7\156\ufdc7"); + sb.append("\157\ufdc7\160\ufdc7\161\ufdc7\162\ufdc7\163\ufdc7\164\ufdc7\165"); + sb.append("\ufdc7\166\ufdc7\167\ufdc7\170\ufdc7\171\ufdc7\172\ufdc7\173\ufdc7"); + sb.append("\174\ufdc7\175\ufdc7\176\ufdc7\177\ufdc7\202\ufdc7\216\ufdc7\232"); + sb.append("\ufdc7\233\ufdc7\243\ufdc7\246\ufdc7\252\ufdc7\001\002\000\034"); + sb.append("\010\244\012\075\016\u033c\075\166\121\240\215\u01ef\217"); + sb.append("\u01f3\223\341\231\u01b5\234\152\254\241\255\237\256\245"); + sb.append("\001\002\000\004\113\u056c\001\002\000\276\002\uff9e\003"); + sb.append("\uff9e\004\uff9e\005\uff9e\006\uff9e\007\uff9e\010\uff9e\011\uff9e"); + sb.append("\012\uff9e\014\uff9e\015\uff9e\016\uff9e\017\uff9e\020\uff9e\021"); + sb.append("\uff9e\023\uff9e\025\uff9e\027\uff9e\032\uff9e\034\uff9e\036\uff9e"); + sb.append("\041\uff9e\042\uff9e\043\uff9e\044\uff9e\045\uff9e\046\uff9e\047"); + sb.append("\uff9e\050\uff9e\051\uff9e\052\uff9e\054\uff9e\056\uff9e\057\uff9e"); + sb.append("\061\uff9e\062\uff9e\063\uff9e\064\uff9e\065\uff9e\066\uff9e\074"); + sb.append("\uff9e\075\uff9e\077\uff9e\100\uff9e\101\uff9e\102\uff9e\103\uff9e"); + sb.append("\104\uff9e\105\uff9e\111\uff9e\112\uff9e\114\uff9e\115\uff9e\116"); + sb.append("\uff9e\120\uff9e\121\uff9e\122\uff9e\123\uff9e\124\uff9e\125\uff9e"); + sb.append("\126\uff9e\133\uff9e\151\uff9e\173\uff9e\174\uff9e\200\uff9e\201"); + sb.append("\uff9e\203\uff9e\204\uff9e\205\uff9e\206\uff9e\207\uff9e\210\uff9e"); + sb.append("\211\uff9e\212\uff9e\213\uff9e\214\uff9e\215\uff9e\217\uff9e\223"); + sb.append("\uff9e\224\uff9e\225\uff9e\231\uff9e\234\uff9e\235\uff9e\236\uff9e"); + sb.append("\237\uff9e\241\uff9e\250\uff9e\251\uff9e\253\uff9e\254\uff9e\255"); + sb.append("\uff9e\256\uff9e\001\002\000\120\031\ufdc5\033\ufdc5\073\ufdc5"); + sb.append("\112\ufdc5\127\ufdc5\130\ufdc5\131\ufdc5\132\ufdc5\150\ufdc5\151"); + sb.append("\ufdc5\152\ufdc5\153\ufdc5\154\ufdc5\155\ufdc5\156\ufdc5\157\ufdc5"); + sb.append("\160\ufdc5\161\ufdc5\162\ufdc5\163\ufdc5\164\ufdc5\165\ufdc5\166"); + sb.append("\ufdc5\167\ufdc5\170\ufdc5\171\ufdc5\172\ufdc5\173\ufdc5\174\ufdc5"); + sb.append("\175\ufdc5\176\ufdc5\177\ufdc5\202\ufdc5\216\ufdc5\232\ufdc5\233"); + sb.append("\ufdc5\243\ufdc5\246\ufdc5\252\ufdc5\001\002\000\004\231\u0367"); + sb.append("\001\002\000\004\231\u034e\001\002\000\120\031\ufe13\033"); + sb.append("\ufe13\073\ufe13\112\ufe13\127\ufe13\130\ufe13\131\ufe13\132\ufe13"); + sb.append("\150\ufe13\151\ufe13\152\ufe13\153\ufe13\154\ufe13\155\ufe13\156"); + sb.append("\ufe13\157\ufe13\160\ufe13\161\ufe13\162\ufe13\163\ufe13\164\ufe13"); + sb.append("\165\ufe13\166\ufe13\167\ufe13\170\ufe13\171\ufe13\172\ufe13\173"); + sb.append("\ufe13\174\ufe13\175\ufe13\176\ufe13\177\ufe13\202\ufe13\216\ufe13"); + sb.append("\232\ufe13\233\ufe13\243\ufe13\246\ufe13\252\ufe13\001\002\000"); + sb.append("\124\031\ufd73\033\ufd73\073\ufd73\111\u0273\112\ufd73\127\ufd73"); + sb.append("\130\ufd73\131\ufd73\132\ufd73\150\ufd73\151\ufd73\152\ufd73\153"); + sb.append("\ufd73\154\ufd73\155\ufd73\156\ufd73\157\ufd73\160\ufd73\161\ufd73"); + sb.append("\162\ufd73\163\ufd73\164\ufd73\165\ufd73\166\ufd73\167\ufd73\170"); + sb.append("\ufd73\171\ufd73\172\ufd73\173\ufd73\174\ufd73\175\ufd73\176\ufd73"); + sb.append("\177\ufd73\202\ufd73\215\u0274\216\ufd73\232\ufd73\233\ufd73\243"); + sb.append("\ufd73\246\ufd73\252\ufd73\001\002\000\170\004\202\006\156"); + sb.append("\007\175\010\u01b1\011\204\012\075\015\031\016\071\032"); + sb.append("\106\036\125\044\222\045\u01b3\054\026\062\210\063\010"); + sb.append("\074\051\075\166\077\123\100\012\101\206\102\041\103"); + sb.append("\144\104\117\105\141\115\136\116\046\121\160\122\013"); + sb.append("\123\065\124\124\125\116\126\131\133\020\173\104\174"); + sb.append("\176\200\130\201\067\203\054\204\120\205\207\206\154"); + sb.append("\207\216\210\151\211\142\212\155\213\063\214\074\215"); + sb.append("\114\217\101\223\u01b2\231\u01b5\234\152\235\015\236\073"); + sb.append("\237\060\250\021\254\147\255\064\256\055\001\002\000"); + sb.append("\170\004\202\006\156\007\175\010\u01b1\011\204\012\075"); + sb.append("\015\031\016\071\032\106\036\125\044\222\045\u01b3\054"); + sb.append("\026\062\210\063\010\074\051\075\166\077\123\100\012"); + sb.append("\101\206\102\041\103\144\104\117\105\141\115\136\116"); + sb.append("\046\121\160\122\013\123\065\124\124\125\116\126\131"); + sb.append("\133\020\173\104\174\176\200\130\201\067\203\054\204"); + sb.append("\120\205\207\206\154\207\216\210\151\211\142\212\155"); + sb.append("\213\063\214\074\215\114\217\101\223\u01b2\231\u01b5\234"); + sb.append("\152\235\015\236\073\237\060\250\021\254\147\255\064"); + sb.append("\256\055\001\002\000\120\031\ufd52\033\ufd52\073\ufd52\112"); + sb.append("\ufd52\127\ufd52\130\ufd52\131\ufd52\132\ufd52\150\ufd52\151\ufd52"); + sb.append("\152\ufd52\153\ufd52\154\ufd52\155\ufd52\156\ufd52\157\ufd52\160"); + sb.append("\ufd52\161\ufd52\162\ufd52\163\ufd52\164\ufd52\165\ufd52\166\ufd52"); + sb.append("\167\ufd52\170\ufd52\171\ufd52\172\ufd52\173\ufd52\174\ufd52\175"); + sb.append("\ufd52\176\ufd52\177\ufd52\202\ufd52\216\ufd52\232\ufd52\233\ufd52"); + sb.append("\243\ufd52\246\ufd52\252\ufd52\001\002\000\124\031\ufd25\033"); + sb.append("\ufd25\073\ufd25\111\u0273\112\ufd25\127\ufd25\130\ufd25\131\ufd25"); + sb.append("\132\ufd25\150\ufd25\151\ufd25\152\ufd25\153\ufd25\154\ufd25\155"); + sb.append("\ufd25\156\ufd25\157\ufd25\160\ufd25\161\ufd25\162\ufd25\163\ufd25"); + sb.append("\164\ufd25\165\ufd25\166\ufd25\167\ufd25\170\ufd25\171\ufd25\172"); + sb.append("\ufd25\173\ufd25\174\ufd25\175\ufd25\176\ufd25\177\ufd25\202\ufd25"); + sb.append("\215\u0274\216\ufd25\232\ufd25\233\ufd25\243\ufd25\246\ufd25\252"); + sb.append("\ufd25\001\002\000\120\031\ufe17\033\ufe17\073\ufe17\112\ufe17"); + sb.append("\127\ufe17\130\ufe17\131\ufe17\132\ufe17\150\ufe17\151\ufe17\152"); + sb.append("\ufe17\153\ufe17\154\ufe17\155\ufe17\156\ufe17\157\ufe17\160\ufe17"); + sb.append("\161\ufe17\162\ufe17\163\ufe17\164\ufe17\165\ufe17\166\ufe17\167"); + sb.append("\ufe17\170\ufe17\171\ufe17\172\ufe17\173\ufe17\174\ufe17\175\ufe17"); + sb.append("\176\ufe17\177\ufe17\202\ufe17\216\ufe17\232\ufe17\233\ufe17\243"); + sb.append("\ufe17\246\ufe17\252\ufe17\001\002\000\120\031\ufe60\033\ufe60"); + sb.append("\073\ufe60\112\ufe60\127\ufe60\130\ufe60\131\ufe60\132\ufe60\150"); + sb.append("\ufe60\151\ufe60\152\ufe60\153\ufe60\154\ufe60\155\ufe60\156\ufe60"); + sb.append("\157\ufe60\160\ufe60\161\ufe60\162\ufe60\163\ufe60\164\ufe60\165"); + sb.append("\ufe60\166\ufe60\167\ufe60\170\ufe60\171\ufe60\172\ufe60\173\ufe60"); + sb.append("\174\ufe60\175\ufe60\176\ufe60\177\ufe60\202\ufe60\216\ufe60\232"); + sb.append("\ufe60\233\ufe60\243\ufe60\246\ufe60\252\ufe60\001\002\000\120"); + sb.append("\031\ufdc1\033\ufdc1\073\ufdc1\112\ufdc1\127\ufdc1\130\ufdc1\131"); + sb.append("\ufdc1\132\ufdc1\150\ufdc1\151\ufdc1\152\ufdc1\153\ufdc1\154\ufdc1"); + sb.append("\155\ufdc1\156\ufdc1\157\ufdc1\160\ufdc1\161\ufdc1\162\ufdc1\163"); + sb.append("\ufdc1\164\ufdc1\165\ufdc1\166\ufdc1\167\ufdc1\170\ufdc1\171\ufdc1"); + sb.append("\172\ufdc1\173\ufdc1\174\ufdc1\175\ufdc1\176\ufdc1\177\ufdc1\202"); + sb.append("\ufdc1\216\ufdc1\232\ufdc1\233\ufdc1\243\ufdc1\246\ufdc1\252\ufdc1"); + sb.append("\001\002\000\104\010\uff8e\012\uff8e\037\uff8e\044\uff8e\045"); + sb.append("\uff8e\046\uff8e\060\uff8e\065\uff8e\066\uff8e\075\uff8e\076\uff8e"); + sb.append("\121\uff8e\150\uff8e\157\uff8e\223\uff8e\224\uff8e\225\uff8e\226"); + sb.append("\uff8e\227\uff8e\230\uff8e\231\uff8e\241\uff8e\245\uff8e\250\uff8e"); + sb.append("\251\uff8e\252\uff8e\253\uff8e\254\uff8e\255\uff8e\256\uff8e\257"); + sb.append("\uff8e\260\uff8e\261\uff8e\001\002\000\134\031\ufe25\033\ufe25"); + sb.append("\071\u028a\072\u0287\073\ufe25\111\u0273\112\ufe25\113\u0288\127"); + sb.append("\ufe25\130\ufe25\131\ufe25\132\ufe25\150\ufe25\151\ufe25\152\ufe25"); + sb.append("\153\ufe25\154\ufe25\155\ufe25\156\ufe25\157\ufe25\160\ufe25\161"); + sb.append("\ufe25\162\ufe25\163\ufe25\164\ufe25\165\ufe25\166\ufe25\167\ufe25"); + sb.append("\170\ufe25\171\ufe25\172\ufe25\173\ufe25\174\ufe25\175\ufe25\176"); + sb.append("\ufe25\177\ufe25\202\ufe25\215\u0274\216\ufe25\231\ufde9\232\ufe25"); + sb.append("\233\ufe25\243\ufe25\246\ufe25\252\ufe25\001\002\000\014\012"); + sb.append("\ufcee\015\ufcee\106\ufcee\107\ufcee\110\ufcee\001\002\000\170"); + sb.append("\004\202\006\156\007\175\010\u01b1\011\204\012\075\015"); + sb.append("\031\016\071\032\106\036\125\044\222\045\u01b3\054\026"); + sb.append("\062\210\063\010\074\051\075\166\077\123\100\012\101"); + sb.append("\206\102\041\103\144\104\117\105\141\115\136\116\046"); + sb.append("\121\160\122\013\123\065\124\124\125\116\126\131\133"); + sb.append("\020\173\104\174\176\200\130\201\067\203\054\204\120"); + sb.append("\205\207\206\154\207\216\210\151\211\142\212\155\213"); + sb.append("\063\214\074\215\114\217\101\223\u01b2\231\u01b5\234\152"); + sb.append("\235\015\236\073\237\060\250\021\254\147\255\064\256"); + sb.append("\055\001\002\000\170\004\202\006\156\007\175\010\u01b1"); + sb.append("\011\204\012\075\015\031\016\071\032\106\036\125\044"); + sb.append("\222\045\u01b3\054\026\062\210\063\010\074\051\075\166"); + sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); + sb.append("\141\115\136\116\046\121\160\122\013\123\065\124\124"); + sb.append("\125\116\126\131\133\020\173\104\174\176\200\130\201"); + sb.append("\067\203\054\204\120\205\207\206\154\207\216\210\151"); + sb.append("\211\142\212\155\213\063\214\074\215\114\217\101\223"); + sb.append("\u01b2\231\u01b5\234\152\235\015\236\073\237\060\250\021"); + sb.append("\254\147\255\064\256\055\001\002\000\120\031\ufdc8\033"); + sb.append("\ufdc8\073\ufdc8\112\ufdc8\127\ufdc8\130\ufdc8\131\ufdc8\132\ufdc8"); + sb.append("\150\ufdc8\151\ufdc8\152\ufdc8\153\ufdc8\154\ufdc8\155\ufdc8\156"); + sb.append("\ufdc8\157\ufdc8\160\ufdc8\161\ufdc8\162\ufdc8\163\ufdc8\164\ufdc8"); + sb.append("\165\ufdc8\166\ufdc8\167\ufdc8\170\ufdc8\171\ufdc8\172\ufdc8\173"); + sb.append("\ufdc8\174\ufdc8\175\ufdc8\176\ufdc8\177\ufdc8\202\ufdc8\216\ufdc8"); + sb.append("\232\ufdc8\233\ufdc8\243\ufdc8\246\ufdc8\252\ufdc8\001\002\000"); + sb.append("\004\231\u053a\001\002\000\322\002\uff78\003\uff78\004\uff78"); + sb.append("\005\uff78\006\uff78\007\uff78\010\uff78\011\uff78\012\uff78\014"); + sb.append("\uff78\015\uff78\016\uff78\017\uff78\020\uff78\021\uff78\022\uff78"); + sb.append("\023\uff78\024\uff78\025\uff78\026\uff78\027\uff78\030\uff78\032"); + sb.append("\uff78\034\uff78\035\uff78\036\uff78\037\uff78\040\uff78\041\uff78"); + sb.append("\042\uff78\043\uff78\044\uff78\045\uff78\046\uff78\047\uff78\050"); + sb.append("\uff78\051\uff78\052\uff78\054\uff78\056\uff78\057\uff78\061\uff78"); + sb.append("\062\uff78\063\uff78\064\uff78\065\uff78\066\uff78\074\uff78\075"); + sb.append("\uff78\077\uff78\100\uff78\101\uff78\102\uff78\103\uff78\104\uff78"); + sb.append("\105\uff78\111\uff78\112\uff78\114\uff78\115\uff78\116\uff78\120"); + sb.append("\uff78\121\uff78\122\uff78\123\uff78\124\uff78\125\uff78\126\uff78"); + sb.append("\133\uff78\151\uff78\173\uff78\174\uff78\200\uff78\201\uff78\203"); + sb.append("\uff78\204\uff78\205\uff78\206\uff78\207\uff78\210\uff78\211\uff78"); + sb.append("\212\uff78\213\uff78\214\uff78\215\uff78\217\uff78\220\uff78\221"); + sb.append("\uff78\222\uff78\223\uff78\224\uff78\225\uff78\231\uff78\234\uff78"); + sb.append("\235\uff78\236\uff78\237\uff78\241\uff78\250\uff78\251\uff78\253"); + sb.append("\uff78\254\uff78\255\uff78\256\uff78\001\002\000\134\031\ufff4"); + sb.append("\033\ufff4\071\ufddb\072\ufddb\073\ufff4\111\ufff4\112\ufff4\113"); + sb.append("\ufddb\127\ufff4\130\ufff4\131\ufff4\132\ufff4\150\ufff4\151\ufff4"); + sb.append("\152\ufff4\153\ufff4\154\ufff4\155\ufff4\156\ufff4\157\ufff4\160"); + sb.append("\ufff4\161\ufff4\162\ufff4\163\ufff4\164\ufff4\165\ufff4\166\ufff4"); + sb.append("\167\ufff4\170\ufff4\171\ufff4\172\ufff4\173\ufff4\174\ufff4\175"); + sb.append("\ufff4\176\ufff4\177\ufff4\202\ufff4\215\ufff4\216\ufff4\231\ufddb"); + sb.append("\232\ufff4\233\ufff4\243\ufff4\246\ufff4\252\ufff4\001\002\000"); + sb.append("\120\031\ufe11\033\ufe11\073\ufe11\112\ufe11\127\ufe11\130\ufe11"); + sb.append("\131\ufe11\132\ufe11\150\ufe11\151\ufe11\152\ufe11\153\ufe11\154"); + sb.append("\ufe11\155\ufe11\156\ufe11\157\ufe11\160\ufe11\161\ufe11\162\ufe11"); + sb.append("\163\ufe11\164\ufe11\165\ufe11\166\ufe11\167\ufe11\170\ufe11\171"); + sb.append("\ufe11\172\ufe11\173\ufe11\174\ufe11\175\ufe11\176\ufe11\177\ufe11"); + sb.append("\202\ufe11\216\ufe11\232\ufe11\233\ufe11\243\ufe11\246\ufe11\252"); + sb.append("\ufe11\001\002\000\170\004\202\006\156\007\175\010\u01b1"); + sb.append("\011\204\012\075\015\031\016\071\032\106\036\125\044"); + sb.append("\222\045\u01b3\054\026\062\210\063\010\074\051\075\166"); + sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); + sb.append("\141\115\136\116\046\121\160\122\013\123\065\124\124"); + sb.append("\125\116\126\131\133\020\173\104\174\176\200\130\201"); + sb.append("\067\203\054\204\120\205\207\206\154\207\216\210\151"); + sb.append("\211\142\212\155\213\063\214\074\215\114\217\101\223"); + sb.append("\u01b2\231\u01b5\234\152\235\015\236\073\237\060\250\021"); + sb.append("\254\147\255\064\256\055\001\002\000\010\012\ufcfe\111"); + sb.append("\u029a\234\ufcfe\001\002\000\120\031\ufd56\033\ufd56\073\ufd56"); + sb.append("\112\ufd56\127\ufd56\130\ufd56\131\ufd56\132\ufd56\150\ufd56\151"); + sb.append("\ufd56\152\ufd56\153\ufd56\154\ufd56\155\ufd56\156\ufd56\157\ufd56"); + sb.append("\160\ufd56\161\ufd56\162\ufd56\163\ufd56\164\ufd56\165\ufd56\166"); + sb.append("\ufd56\167\ufd56\170\ufd56\171\ufd56\172\ufd56\173\ufd56\174\ufd56"); + sb.append("\175\ufd56\176\ufd56\177\ufd56\202\ufd56\216\ufd56\232\ufd56\233"); + sb.append("\ufd56\243\ufd56\246\ufd56\252\ufd56\001\002\000\170\004\202"); + sb.append("\006\156\007\175\010\u01b1\011\204\012\075\015\031\016"); + sb.append("\071\032\106\036\125\044\222\045\u01b3\054\026\062\210"); sb.append("\063\010\074\051\075\166\077\123\100\012\101\206\102"); sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\122\013\123\065\124\124\125\116\126\131\133\020\172"); - sb.append("\104\173\176\177\130\200\067\202\054\203\120\204\207"); - sb.append("\205\154\206\216\207\151\210\142\211\155\212\063\213"); - sb.append("\074\214\114\216\101\222\u01b0\230\u01b3\233\152\234\015"); - sb.append("\235\073\236\060\247\021\253\147\254\064\255\055\001"); - sb.append("\002\000\010\012\ufd00\111\u0296\233\ufd00\001\002\000\116"); - sb.append("\031\ufd58\033\ufd58\073\ufd58\112\ufd58\127\ufd58\130\ufd58\131"); - sb.append("\ufd58\132\ufd58\150\ufd58\151\ufd58\152\ufd58\153\ufd58\154\ufd58"); - sb.append("\155\ufd58\156\ufd58\157\ufd58\160\ufd58\161\ufd58\162\ufd58\163"); - sb.append("\ufd58\164\ufd58\165\ufd58\166\ufd58\167\ufd58\170\ufd58\171\ufd58"); - sb.append("\172\ufd58\173\ufd58\174\ufd58\175\ufd58\176\ufd58\201\ufd58\215"); - sb.append("\ufd58\231\ufd58\232\ufd58\242\ufd58\245\ufd58\251\ufd58\001\002"); - sb.append("\000\170\004\201\006\156\007\175\010\u01af\011\204\012"); - sb.append("\075\015\031\016\071\032\106\036\125\044\222\045\u01b1"); - sb.append("\054\026\062\210\063\010\074\051\075\166\077\123\100"); - sb.append("\012\101\206\102\041\103\144\104\117\105\141\115\136"); - sb.append("\116\046\121\160\122\013\123\065\124\124\125\116\126"); - sb.append("\131\133\020\172\104\173\176\177\130\200\067\202\054"); - sb.append("\203\120\204\207\205\154\206\216\207\151\210\142\211"); - sb.append("\155\212\063\213\074\214\114\216\101\222\u01b0\230\u01b3"); - sb.append("\233\152\234\015\235\073\236\060\247\021\253\147\254"); - sb.append("\064\255\055\001\002\000\170\004\201\006\156\007\175"); - sb.append("\010\u01af\011\204\012\075\015\031\016\071\032\106\036"); - sb.append("\125\044\222\045\u01b1\054\026\062\210\063\010\074\051"); - sb.append("\075\166\077\123\100\012\101\206\102\041\103\144\104"); - sb.append("\117\105\141\115\136\116\046\121\160\122\013\123\065"); - sb.append("\124\124\125\116\126\131\133\020\172\104\173\176\177"); - sb.append("\130\200\067\202\054\203\120\204\207\205\154\206\216"); - sb.append("\207\151\210\142\211\155\212\063\213\074\214\114\216"); - sb.append("\101\222\u01b0\230\u01b3\233\152\234\015\235\073\236\060"); - sb.append("\247\021\253\147\254\064\255\055\001\002\000\116\031"); - sb.append("\ufdcc\033\ufdcc\073\ufdcc\112\ufdcc\127\ufdcc\130\ufdcc\131\ufdcc"); - sb.append("\132\ufdcc\150\ufdcc\151\ufdcc\152\ufdcc\153\ufdcc\154\ufdcc\155"); - sb.append("\ufdcc\156\ufdcc\157\ufdcc\160\ufdcc\161\ufdcc\162\ufdcc\163\ufdcc"); - sb.append("\164\ufdcc\165\ufdcc\166\ufdcc\167\ufdcc\170\ufdcc\171\ufdcc\172"); - sb.append("\ufdcc\173\ufdcc\174\ufdcc\175\ufdcc\176\ufdcc\201\ufdcc\215\ufdcc"); - sb.append("\231\ufdcc\232\ufdcc\242\ufdcc\245\ufdcc\251\ufdcc\001\002\000"); - sb.append("\266\003\uff7c\004\uff7c\005\uff7c\006\uff7c\007\uff7c\010\uff7c"); - sb.append("\011\uff7c\012\uff7c\014\uff7c\015\uff7c\016\uff7c\017\uff7c\020"); - sb.append("\uff7c\021\uff7c\023\uff7c\025\uff7c\027\uff7c\032\uff7c\034\uff7c"); - sb.append("\036\uff7c\041\uff7c\042\uff7c\043\uff7c\044\uff7c\045\uff7c\047"); - sb.append("\uff7c\050\uff7c\051\uff7c\052\uff7c\054\uff7c\056\uff7c\057\uff7c"); - sb.append("\061\uff7c\062\uff7c\063\uff7c\065\uff7c\066\uff7c\074\uff7c\075"); - sb.append("\uff7c\077\uff7c\100\uff7c\101\uff7c\102\uff7c\103\uff7c\104\uff7c"); - sb.append("\105\uff7c\111\uff7c\112\uff7c\115\uff7c\116\uff7c\120\uff7c\121"); - sb.append("\uff7c\122\uff7c\123\uff7c\124\uff7c\125\uff7c\126\uff7c\133\uff7c"); - sb.append("\151\uff7c\172\uff7c\173\uff7c\177\uff7c\200\uff7c\202\uff7c\203"); - sb.append("\uff7c\204\uff7c\205\uff7c\206\uff7c\207\uff7c\210\uff7c\211\uff7c"); - sb.append("\212\uff7c\213\uff7c\214\uff7c\216\uff7c\222\uff7c\223\uff7c\224"); - sb.append("\uff7c\230\uff7c\233\uff7c\234\uff7c\235\uff7c\236\uff7c\240\uff7c"); - sb.append("\247\uff7c\250\uff7c\252\uff7c\253\uff7c\254\uff7c\255\uff7c\001"); - sb.append("\002\000\132\031\ufff7\033\ufff7\071\ufddf\072\ufddf\073\ufff7"); - sb.append("\111\ufff7\112\ufff7\113\ufddf\127\ufff7\130\ufff7\131\ufff7\132"); - sb.append("\ufff7\150\ufff7\151\ufff7\152\ufff7\153\ufff7\154\ufff7\155\ufff7"); - sb.append("\156\ufff7\157\ufff7\160\ufff7\161\ufff7\162\ufff7\163\ufff7\164"); - sb.append("\ufff7\165\ufff7\166\ufff7\167\ufff7\170\ufff7\171\ufff7\172\ufff7"); - sb.append("\173\ufff7\174\ufff7\175\ufff7\176\ufff7\201\ufff7\214\ufff7\215"); - sb.append("\ufff7\230\ufddf\231\ufff7\232\ufff7\242\ufff7\245\ufff7\251\ufff7"); - sb.append("\001\002\000\166\031\ufd17\033\ufd17\071\ufd17\072\ufd17\073"); - sb.append("\ufd17\112\ufd17\113\ufd17\127\ufd17\130\ufd17\131\ufd17\132\ufd17"); - sb.append("\134\ufd17\135\ufd17\136\ufd17\137\ufd17\140\ufd17\141\ufd17\142"); - sb.append("\ufd17\143\ufd17\144\ufd17\145\ufd17\146\ufd17\147\ufd17\150\ufd17"); - sb.append("\151\ufd17\152\ufd17\153\ufd17\154\ufd17\155\ufd17\156\ufd17\157"); - sb.append("\ufd17\160\ufd17\161\ufd17\162\ufd17\163\ufd17\164\ufd17\165\ufd17"); - sb.append("\166\ufd17\167\ufd17\170\ufd17\171\ufd17\172\ufd17\173\ufd17\174"); - sb.append("\ufd17\175\ufd17\176\ufd17\201\ufd17\202\ufd17\203\ufd17\215\ufd17"); - sb.append("\230\ufd17\231\ufd17\232\ufd17\242\ufd17\243\ufd17\245\ufd17\246"); - sb.append("\ufd17\251\ufd17\001\002\000\006\127\u052c\151\u052d\001\002"); - sb.append("\000\022\010\u0447\016\u03ad\045\u050b\046\u050d\121\u0443\230"); - sb.append("\u03ab\254\u0444\255\u0449\001\002\000\004\230\u04ee\001\002"); - sb.append("\000\006\202\u04ec\203\u04ed\001\002\000\004\230\u0326\001"); - sb.append("\002\000\162\031\ufd3d\033\ufd3d\071\u04e3\072\u04e2\073\ufd3d"); - sb.append("\112\ufd3d\127\ufd3d\130\ufd3d\131\ufd3d\132\ufd3d\134\ufd3d\135"); - sb.append("\ufd3d\136\ufd3d\137\ufd3d\140\ufd3d\141\ufd3d\142\ufd3d\143\ufd3d"); - sb.append("\144\ufd3d\145\ufd3d\146\ufd3d\147\ufd3d\150\ufd3d\151\ufd3d\152"); - sb.append("\ufd3d\153\ufd3d\154\ufd3d\155\ufd3d\156\ufd3d\157\ufd3d\160\ufd3d"); - sb.append("\161\ufd3d\162\ufd3d\163\ufd3d\164\ufd3d\165\ufd3d\166\ufd3d\167"); - sb.append("\ufd3d\170\ufd3d\171\ufd3d\172\ufd3d\173\ufd3d\174\ufd3d\175\ufd3d"); - sb.append("\176\ufd3d\201\ufd3d\202\ufd3d\203\ufd3d\215\ufd3d\231\ufd3d\232"); - sb.append("\ufd3d\242\ufd3d\243\ufd3d\245\ufd3d\246\ufd3d\251\ufd3d\001\002"); - sb.append("\000\004\151\u04e1\001\002\000\322\002\uff5d\003\uff5d\004"); - sb.append("\uff5d\005\uff5d\006\uff5d\007\uff5d\010\uff5d\011\uff5d\012\uff5d"); - sb.append("\014\uff5d\015\uff5d\016\uff5d\017\uff5d\020\uff5d\021\uff5d\022"); - sb.append("\uff5d\023\uff5d\024\uff5d\025\uff5d\026\uff5d\027\uff5d\030\uff5d"); - sb.append("\032\uff5d\034\uff5d\035\uff5d\036\uff5d\037\uff5d\040\uff5d\041"); - sb.append("\uff5d\042\uff5d\043\uff5d\044\uff5d\045\uff5d\046\uff5d\047\uff5d"); - sb.append("\050\uff5d\051\uff5d\052\uff5d\054\uff5d\056\uff5d\057\uff5d\061"); - sb.append("\uff5d\062\uff5d\063\uff5d\064\uff5d\065\uff5d\066\uff5d\074\uff5d"); - sb.append("\075\uff5d\077\uff5d\100\uff5d\101\uff5d\102\uff5d\103\uff5d\104"); - sb.append("\uff5d\105\uff5d\111\uff5d\112\uff5d\114\uff5d\115\uff5d\116\uff5d"); - sb.append("\120\uff5d\121\uff5d\122\uff5d\123\uff5d\124\uff5d\125\uff5d\126"); - sb.append("\uff5d\133\uff5d\151\uff5d\172\uff5d\173\uff5d\177\uff5d\200\uff5d"); - sb.append("\202\uff5d\203\uff5d\204\uff5d\205\uff5d\206\uff5d\207\uff5d\210"); - sb.append("\uff5d\211\uff5d\212\uff5d\213\uff5d\214\uff5d\216\uff5d\217\uff5d"); - sb.append("\220\uff5d\221\uff5d\222\uff5d\223\uff5d\224\uff5d\230\uff5d\233"); - sb.append("\uff5d\234\uff5d\235\uff5d\236\uff5d\240\uff5d\247\uff5d\250\uff5d"); - sb.append("\252\uff5d\253\uff5d\254\uff5d\255\uff5d\001\002\000\322\002"); - sb.append("\uff58\003\uff58\004\uff58\005\uff58\006\uff58\007\uff58\010\uff58"); - sb.append("\011\uff58\012\uff58\014\uff58\015\uff58\016\uff58\017\uff58\020"); - sb.append("\uff58\021\uff58\022\uff58\023\uff58\024\uff58\025\uff58\026\uff58"); - sb.append("\027\uff58\030\uff58\032\uff58\034\uff58\035\uff58\036\uff58\037"); - sb.append("\uff58\040\uff58\041\uff58\042\uff58\043\uff58\044\uff58\045\uff58"); - sb.append("\046\uff58\047\uff58\050\uff58\051\uff58\052\uff58\054\uff58\056"); - sb.append("\uff58\057\uff58\061\uff58\062\uff58\063\uff58\064\uff58\065\uff58"); - sb.append("\066\uff58\074\uff58\075\uff58\077\uff58\100\uff58\101\uff58\102"); - sb.append("\uff58\103\uff58\104\uff58\105\uff58\111\uff58\112\uff58\114\uff58"); - sb.append("\115\uff58\116\uff58\120\uff58\121\uff58\122\uff58\123\uff58\124"); - sb.append("\uff58\125\uff58\126\uff58\133\uff58\151\uff58\172\uff58\173\uff58"); - sb.append("\177\uff58\200\uff58\202\uff58\203\uff58\204\uff58\205\uff58\206"); - sb.append("\uff58\207\uff58\210\uff58\211\uff58\212\uff58\213\uff58\214\uff58"); - sb.append("\216\uff58\217\uff58\220\uff58\221\uff58\222\uff58\223\uff58\224"); - sb.append("\uff58\230\uff58\233\uff58\234\uff58\235\uff58\236\uff58\240\uff58"); - sb.append("\247\uff58\250\uff58\252\uff58\253\uff58\254\uff58\255\uff58\001"); - sb.append("\002\000\304\004\201\006\156\007\175\010\u01af\011\204"); - sb.append("\012\075\015\031\016\071\031\ufd63\032\106\033\ufd63\036"); - sb.append("\125\044\222\045\u01b1\050\173\051\214\054\026\062\210"); - sb.append("\063\010\073\ufd63\074\051\075\166\077\123\100\012\101"); - sb.append("\206\102\041\103\144\104\117\105\141\112\ufd63\115\136"); - sb.append("\116\046\121\160\122\013\123\065\124\124\125\116\126"); - sb.append("\131\127\ufd63\130\ufd63\131\ufd63\132\ufd63\133\020\150\ufd63"); - sb.append("\151\ufd63\152\ufd63\153\ufd63\154\ufd63\155\ufd63\156\ufd63\157"); - sb.append("\ufd63\160\ufd63\161\ufd63\162\ufd63\163\ufd63\164\ufd63\165\ufd63"); - sb.append("\166\ufd63\167\ufd63\170\ufd63\171\ufd63\172\104\173\176\174"); - sb.append("\ufd63\175\ufd63\176\ufd63\177\130\200\067\201\ufd63\202\054"); - sb.append("\203\120\204\207\205\154\206\216\207\151\210\142\211"); - sb.append("\155\212\063\213\074\214\114\215\ufd63\216\101\222\u01b0"); - sb.append("\230\047\231\ufd63\232\ufd63\233\152\234\015\235\073\236"); - sb.append("\060\242\ufd63\245\ufd63\247\021\251\ufd63\253\147\254\064"); - sb.append("\255\055\001\002\000\010\071\u02ff\072\u02fd\113\u04db\001"); - sb.append("\002\000\116\031\ufdcb\033\ufdcb\073\ufdcb\112\ufdcb\127\ufdcb"); - sb.append("\130\ufdcb\131\ufdcb\132\ufdcb\150\ufdcb\151\ufdcb\152\ufdcb\153"); - sb.append("\ufdcb\154\ufdcb\155\ufdcb\156\ufdcb\157\ufdcb\160\ufdcb\161\ufdcb"); - sb.append("\162\ufdcb\163\ufdcb\164\ufdcb\165\ufdcb\166\ufdcb\167\ufdcb\170"); - sb.append("\ufdcb\171\ufdcb\172\ufdcb\173\ufdcb\174\ufdcb\175\ufdcb\176\ufdcb"); - sb.append("\201\ufdcb\215\ufdcb\231\ufdcb\232\ufdcb\242\ufdcb\245\ufdcb\251"); - sb.append("\ufdcb\001\002\000\170\004\201\006\156\007\175\010\u01af"); + sb.append("\122\013\123\065\124\124\125\116\126\131\133\020\173"); + sb.append("\104\174\176\200\130\201\067\203\054\204\120\205\207"); + sb.append("\206\154\207\216\210\151\211\142\212\155\213\063\214"); + sb.append("\074\215\114\217\101\223\u01b2\231\u01b5\234\152\235\015"); + sb.append("\236\073\237\060\250\021\254\147\255\064\256\055\001"); + sb.append("\002\000\170\004\202\006\156\007\175\010\u01b1\011\204"); + sb.append("\012\075\015\031\016\071\032\106\036\125\044\222\045"); + sb.append("\u01b3\054\026\062\210\063\010\074\051\075\166\077\123"); + sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); + sb.append("\136\116\046\121\160\122\013\123\065\124\124\125\116"); + sb.append("\126\131\133\020\173\104\174\176\200\130\201\067\203"); + sb.append("\054\204\120\205\207\206\154\207\216\210\151\211\142"); + sb.append("\212\155\213\063\214\074\215\114\217\101\223\u01b2\231"); + sb.append("\u01b5\234\152\235\015\236\073\237\060\250\021\254\147"); + sb.append("\255\064\256\055\001\002\000\120\031\ufdcb\033\ufdcb\073"); + sb.append("\ufdcb\112\ufdcb\127\ufdcb\130\ufdcb\131\ufdcb\132\ufdcb\150\ufdcb"); + sb.append("\151\ufdcb\152\ufdcb\153\ufdcb\154\ufdcb\155\ufdcb\156\ufdcb\157"); + sb.append("\ufdcb\160\ufdcb\161\ufdcb\162\ufdcb\163\ufdcb\164\ufdcb\165\ufdcb"); + sb.append("\166\ufdcb\167\ufdcb\170\ufdcb\171\ufdcb\172\ufdcb\173\ufdcb\174"); + sb.append("\ufdcb\175\ufdcb\176\ufdcb\177\ufdcb\202\ufdcb\216\ufdcb\232\ufdcb"); + sb.append("\233\ufdcb\243\ufdcb\246\ufdcb\252\ufdcb\001\002\000\266\003"); + sb.append("\uff7c\004\uff7c\005\uff7c\006\uff7c\007\uff7c\010\uff7c\011\uff7c"); + sb.append("\012\uff7c\014\uff7c\015\uff7c\016\uff7c\017\uff7c\020\uff7c\021"); + sb.append("\uff7c\023\uff7c\025\uff7c\027\uff7c\032\uff7c\034\uff7c\036\uff7c"); + sb.append("\041\uff7c\042\uff7c\043\uff7c\044\uff7c\045\uff7c\047\uff7c\050"); + sb.append("\uff7c\051\uff7c\052\uff7c\054\uff7c\056\uff7c\057\uff7c\061\uff7c"); + sb.append("\062\uff7c\063\uff7c\065\uff7c\066\uff7c\074\uff7c\075\uff7c\077"); + sb.append("\uff7c\100\uff7c\101\uff7c\102\uff7c\103\uff7c\104\uff7c\105\uff7c"); + sb.append("\111\uff7c\112\uff7c\115\uff7c\116\uff7c\120\uff7c\121\uff7c\122"); + sb.append("\uff7c\123\uff7c\124\uff7c\125\uff7c\126\uff7c\133\uff7c\151\uff7c"); + sb.append("\173\uff7c\174\uff7c\200\uff7c\201\uff7c\203\uff7c\204\uff7c\205"); + sb.append("\uff7c\206\uff7c\207\uff7c\210\uff7c\211\uff7c\212\uff7c\213\uff7c"); + sb.append("\214\uff7c\215\uff7c\217\uff7c\223\uff7c\224\uff7c\225\uff7c\231"); + sb.append("\uff7c\234\uff7c\235\uff7c\236\uff7c\237\uff7c\241\uff7c\250\uff7c"); + sb.append("\251\uff7c\253\uff7c\254\uff7c\255\uff7c\256\uff7c\001\002\000"); + sb.append("\134\031\ufff7\033\ufff7\071\ufdde\072\ufdde\073\ufff7\111\ufff7"); + sb.append("\112\ufff7\113\ufdde\127\ufff7\130\ufff7\131\ufff7\132\ufff7\150"); + sb.append("\ufff7\151\ufff7\152\ufff7\153\ufff7\154\ufff7\155\ufff7\156\ufff7"); + sb.append("\157\ufff7\160\ufff7\161\ufff7\162\ufff7\163\ufff7\164\ufff7\165"); + sb.append("\ufff7\166\ufff7\167\ufff7\170\ufff7\171\ufff7\172\ufff7\173\ufff7"); + sb.append("\174\ufff7\175\ufff7\176\ufff7\177\ufff7\202\ufff7\215\ufff7\216"); + sb.append("\ufff7\231\ufdde\232\ufff7\233\ufff7\243\ufff7\246\ufff7\252\ufff7"); + sb.append("\001\002\000\170\031\ufd15\033\ufd15\071\ufd15\072\ufd15\073"); + sb.append("\ufd15\112\ufd15\113\ufd15\127\ufd15\130\ufd15\131\ufd15\132\ufd15"); + sb.append("\134\ufd15\135\ufd15\136\ufd15\137\ufd15\140\ufd15\141\ufd15\142"); + sb.append("\ufd15\143\ufd15\144\ufd15\145\ufd15\146\ufd15\147\ufd15\150\ufd15"); + sb.append("\151\ufd15\152\ufd15\153\ufd15\154\ufd15\155\ufd15\156\ufd15\157"); + sb.append("\ufd15\160\ufd15\161\ufd15\162\ufd15\163\ufd15\164\ufd15\165\ufd15"); + sb.append("\166\ufd15\167\ufd15\170\ufd15\171\ufd15\172\ufd15\173\ufd15\174"); + sb.append("\ufd15\175\ufd15\176\ufd15\177\ufd15\202\ufd15\203\ufd15\204\ufd15"); + sb.append("\216\ufd15\231\ufd15\232\ufd15\233\ufd15\243\ufd15\244\ufd15\246"); + sb.append("\ufd15\247\ufd15\252\ufd15\001\002\000\006\127\u0530\151\u0531"); + sb.append("\001\002\000\022\010\u044b\016\u03b1\045\u050f\046\u0511\121"); + sb.append("\u0447\231\u03af\255\u0448\256\u044d\001\002\000\004\231\u04f2"); + sb.append("\001\002\000\006\203\u04f0\204\u04f1\001\002\000\004\231"); + sb.append("\u032a\001\002\000\164\031\ufd3b\033\ufd3b\071\u04e7\072\u04e6"); + sb.append("\073\ufd3b\112\ufd3b\127\ufd3b\130\ufd3b\131\ufd3b\132\ufd3b\134"); + sb.append("\ufd3b\135\ufd3b\136\ufd3b\137\ufd3b\140\ufd3b\141\ufd3b\142\ufd3b"); + sb.append("\143\ufd3b\144\ufd3b\145\ufd3b\146\ufd3b\147\ufd3b\150\ufd3b\151"); + sb.append("\ufd3b\152\ufd3b\153\ufd3b\154\ufd3b\155\ufd3b\156\ufd3b\157\ufd3b"); + sb.append("\160\ufd3b\161\ufd3b\162\ufd3b\163\ufd3b\164\ufd3b\165\ufd3b\166"); + sb.append("\ufd3b\167\ufd3b\170\ufd3b\171\ufd3b\172\ufd3b\173\ufd3b\174\ufd3b"); + sb.append("\175\ufd3b\176\ufd3b\177\ufd3b\202\ufd3b\203\ufd3b\204\ufd3b\216"); + sb.append("\ufd3b\232\ufd3b\233\ufd3b\243\ufd3b\244\ufd3b\246\ufd3b\247\ufd3b"); + sb.append("\252\ufd3b\001\002\000\004\151\u04e5\001\002\000\322\002"); + sb.append("\uff5d\003\uff5d\004\uff5d\005\uff5d\006\uff5d\007\uff5d\010\uff5d"); + sb.append("\011\uff5d\012\uff5d\014\uff5d\015\uff5d\016\uff5d\017\uff5d\020"); + sb.append("\uff5d\021\uff5d\022\uff5d\023\uff5d\024\uff5d\025\uff5d\026\uff5d"); + sb.append("\027\uff5d\030\uff5d\032\uff5d\034\uff5d\035\uff5d\036\uff5d\037"); + sb.append("\uff5d\040\uff5d\041\uff5d\042\uff5d\043\uff5d\044\uff5d\045\uff5d"); + sb.append("\046\uff5d\047\uff5d\050\uff5d\051\uff5d\052\uff5d\054\uff5d\056"); + sb.append("\uff5d\057\uff5d\061\uff5d\062\uff5d\063\uff5d\064\uff5d\065\uff5d"); + sb.append("\066\uff5d\074\uff5d\075\uff5d\077\uff5d\100\uff5d\101\uff5d\102"); + sb.append("\uff5d\103\uff5d\104\uff5d\105\uff5d\111\uff5d\112\uff5d\114\uff5d"); + sb.append("\115\uff5d\116\uff5d\120\uff5d\121\uff5d\122\uff5d\123\uff5d\124"); + sb.append("\uff5d\125\uff5d\126\uff5d\133\uff5d\151\uff5d\173\uff5d\174\uff5d"); + sb.append("\200\uff5d\201\uff5d\203\uff5d\204\uff5d\205\uff5d\206\uff5d\207"); + sb.append("\uff5d\210\uff5d\211\uff5d\212\uff5d\213\uff5d\214\uff5d\215\uff5d"); + sb.append("\217\uff5d\220\uff5d\221\uff5d\222\uff5d\223\uff5d\224\uff5d\225"); + sb.append("\uff5d\231\uff5d\234\uff5d\235\uff5d\236\uff5d\237\uff5d\241\uff5d"); + sb.append("\250\uff5d\251\uff5d\253\uff5d\254\uff5d\255\uff5d\256\uff5d\001"); + sb.append("\002\000\322\002\uff58\003\uff58\004\uff58\005\uff58\006\uff58"); + sb.append("\007\uff58\010\uff58\011\uff58\012\uff58\014\uff58\015\uff58\016"); + sb.append("\uff58\017\uff58\020\uff58\021\uff58\022\uff58\023\uff58\024\uff58"); + sb.append("\025\uff58\026\uff58\027\uff58\030\uff58\032\uff58\034\uff58\035"); + sb.append("\uff58\036\uff58\037\uff58\040\uff58\041\uff58\042\uff58\043\uff58"); + sb.append("\044\uff58\045\uff58\046\uff58\047\uff58\050\uff58\051\uff58\052"); + sb.append("\uff58\054\uff58\056\uff58\057\uff58\061\uff58\062\uff58\063\uff58"); + sb.append("\064\uff58\065\uff58\066\uff58\074\uff58\075\uff58\077\uff58\100"); + sb.append("\uff58\101\uff58\102\uff58\103\uff58\104\uff58\105\uff58\111\uff58"); + sb.append("\112\uff58\114\uff58\115\uff58\116\uff58\120\uff58\121\uff58\122"); + sb.append("\uff58\123\uff58\124\uff58\125\uff58\126\uff58\133\uff58\151\uff58"); + sb.append("\173\uff58\174\uff58\200\uff58\201\uff58\203\uff58\204\uff58\205"); + sb.append("\uff58\206\uff58\207\uff58\210\uff58\211\uff58\212\uff58\213\uff58"); + sb.append("\214\uff58\215\uff58\217\uff58\220\uff58\221\uff58\222\uff58\223"); + sb.append("\uff58\224\uff58\225\uff58\231\uff58\234\uff58\235\uff58\236\uff58"); + sb.append("\237\uff58\241\uff58\250\uff58\251\uff58\253\uff58\254\uff58\255"); + sb.append("\uff58\256\uff58\001\002\000\306\004\202\006\156\007\175"); + sb.append("\010\u01b1\011\204\012\075\015\031\016\071\031\ufd61\032"); + sb.append("\106\033\ufd61\036\125\044\222\045\u01b3\050\173\051\214"); + sb.append("\054\026\062\210\063\010\073\ufd61\074\051\075\166\077"); + sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); + sb.append("\112\ufd61\115\136\116\046\121\160\122\013\123\065\124"); + sb.append("\124\125\116\126\131\127\ufd61\130\ufd61\131\ufd61\132\ufd61"); + sb.append("\133\020\150\ufd61\151\ufd61\152\ufd61\153\ufd61\154\ufd61\155"); + sb.append("\ufd61\156\ufd61\157\ufd61\160\ufd61\161\ufd61\162\ufd61\163\ufd61"); + sb.append("\164\ufd61\165\ufd61\166\ufd61\167\ufd61\170\ufd61\171\ufd61\172"); + sb.append("\ufd61\173\104\174\176\175\ufd61\176\ufd61\177\ufd61\200\130"); + sb.append("\201\067\202\ufd61\203\054\204\120\205\207\206\154\207"); + sb.append("\216\210\151\211\142\212\155\213\063\214\074\215\114"); + sb.append("\216\ufd61\217\101\223\u01b2\231\047\232\ufd61\233\ufd61\234"); + sb.append("\152\235\015\236\073\237\060\243\ufd61\246\ufd61\250\021"); + sb.append("\252\ufd61\254\147\255\064\256\055\001\002\000\010\071"); + sb.append("\u0303\072\u0301\113\u04df\001\002\000\120\031\ufdca\033\ufdca"); + sb.append("\073\ufdca\112\ufdca\127\ufdca\130\ufdca\131\ufdca\132\ufdca\150"); + sb.append("\ufdca\151\ufdca\152\ufdca\153\ufdca\154\ufdca\155\ufdca\156\ufdca"); + sb.append("\157\ufdca\160\ufdca\161\ufdca\162\ufdca\163\ufdca\164\ufdca\165"); + sb.append("\ufdca\166\ufdca\167\ufdca\170\ufdca\171\ufdca\172\ufdca\173\ufdca"); + sb.append("\174\ufdca\175\ufdca\176\ufdca\177\ufdca\202\ufdca\216\ufdca\232"); + sb.append("\ufdca\233\ufdca\243\ufdca\246\ufdca\252\ufdca\001\002\000\170"); + sb.append("\004\202\006\156\007\175\010\u01b1\011\204\012\075\015"); + sb.append("\031\016\071\032\106\036\125\044\222\045\u01b3\054\026"); + sb.append("\062\210\063\010\074\051\075\166\077\123\100\012\101"); + sb.append("\206\102\041\103\144\104\117\105\141\115\136\116\046"); + sb.append("\121\160\122\013\123\065\124\124\125\116\126\131\133"); + sb.append("\020\173\104\174\176\200\130\201\067\203\054\204\120"); + sb.append("\205\207\206\154\207\216\210\151\211\142\212\155\213"); + sb.append("\063\214\074\215\114\217\101\223\u01b2\231\u01b5\234\152"); + sb.append("\235\015\236\073\237\060\250\021\254\147\255\064\256"); + sb.append("\055\001\002\000\012\065\uff2c\224\uff2c\225\uff2c\251\uff2c"); + sb.append("\001\002\000\004\231\u04c0\001\002\000\276\002\uff9d\003"); + sb.append("\uff9d\004\uff9d\005\uff9d\006\uff9d\007\uff9d\010\uff9d\011\uff9d"); + sb.append("\012\uff9d\014\uff9d\015\uff9d\016\uff9d\017\uff9d\020\uff9d\021"); + sb.append("\uff9d\023\uff9d\025\uff9d\027\uff9d\032\uff9d\034\uff9d\036\uff9d"); + sb.append("\041\uff9d\042\uff9d\043\uff9d\044\uff9d\045\uff9d\046\uff9d\047"); + sb.append("\uff9d\050\uff9d\051\uff9d\052\uff9d\054\uff9d\056\uff9d\057\uff9d"); + sb.append("\061\uff9d\062\uff9d\063\uff9d\064\uff9d\065\uff9d\066\uff9d\074"); + sb.append("\uff9d\075\uff9d\077\uff9d\100\uff9d\101\uff9d\102\uff9d\103\uff9d"); + sb.append("\104\uff9d\105\uff9d\111\uff9d\112\uff9d\114\uff9d\115\uff9d\116"); + sb.append("\uff9d\120\uff9d\121\uff9d\122\uff9d\123\uff9d\124\uff9d\125\uff9d"); + sb.append("\126\uff9d\133\uff9d\151\uff9d\173\uff9d\174\uff9d\200\uff9d\201"); + sb.append("\uff9d\203\uff9d\204\uff9d\205\uff9d\206\uff9d\207\uff9d\210\uff9d"); + sb.append("\211\uff9d\212\uff9d\213\uff9d\214\uff9d\215\uff9d\217\uff9d\223"); + sb.append("\uff9d\224\uff9d\225\uff9d\231\uff9d\234\uff9d\235\uff9d\236\uff9d"); + sb.append("\237\uff9d\241\uff9d\250\uff9d\251\uff9d\253\uff9d\254\uff9d\255"); + sb.append("\uff9d\256\uff9d\001\002\000\122\031\ufdd0\033\ufdd0\073\ufdd0"); + sb.append("\112\ufdd0\127\ufdd0\130\ufdd0\131\ufdd0\132\ufdd0\150\ufdd0\151"); + sb.append("\ufdd0\152\ufdd0\153\ufdd0\154\ufdd0\155\ufdd0\156\ufdd0\157\ufdd0"); + sb.append("\160\ufdd0\161\ufdd0\162\ufdd0\163\ufdd0\164\ufdd0\165\ufdd0\166"); + sb.append("\ufdd0\167\ufdd0\170\ufdd0\171\ufdd0\172\ufdd0\173\ufdd0\174\ufdd0"); + sb.append("\175\ufdd0\176\ufdd0\177\ufdd0\202\ufdd0\216\ufdd0\231\u0325\232"); + sb.append("\ufdd0\233\ufdd0\243\ufdd0\246\ufdd0\252\ufdd0\001\002\000\004"); + sb.append("\231\u04b0\001\002\000\120\031\ufd75\033\ufd75\073\ufd75\112"); + sb.append("\ufd75\127\ufd75\130\ufd75\131\ufd75\132\ufd75\150\ufd75\151\ufd75"); + sb.append("\152\ufd75\153\ufd75\154\ufd75\155\ufd75\156\ufd75\157\ufd75\160"); + sb.append("\ufd75\161\ufd75\162\ufd75\163\ufd75\164\ufd75\165\ufd75\166\ufd75"); + sb.append("\167\ufd75\170\ufd75\171\ufd75\172\ufd75\173\ufd75\174\ufd75\175"); + sb.append("\ufd75\176\ufd75\177\ufd75\202\ufd75\216\ufd75\232\ufd75\233\ufd75"); + sb.append("\243\ufd75\246\ufd75\252\ufd75\001\002\000\322\002\uff45\003"); + sb.append("\uff45\004\uff45\005\uff45\006\uff45\007\uff45\010\uff45\011\uff45"); + sb.append("\012\uff45\014\uff45\015\uff45\016\uff45\017\uff45\020\uff45\021"); + sb.append("\uff45\022\uff45\023\uff45\024\uff45\025\uff45\026\uff45\027\uff45"); + sb.append("\030\uff45\032\uff45\034\uff45\035\uff45\036\uff45\037\uff45\040"); + sb.append("\uff45\041\uff45\042\uff45\043\uff45\044\uff45\045\uff45\046\uff45"); + sb.append("\047\uff45\050\uff45\051\uff45\052\uff45\054\uff45\056\uff45\057"); + sb.append("\uff45\061\uff45\062\uff45\063\uff45\064\uff45\065\uff45\066\uff45"); + sb.append("\074\uff45\075\uff45\077\uff45\100\uff45\101\uff45\102\uff45\103"); + sb.append("\uff45\104\uff45\105\uff45\111\uff45\112\uff45\114\uff45\115\uff45"); + sb.append("\116\uff45\120\uff45\121\uff45\122\uff45\123\uff45\124\uff45\125"); + sb.append("\uff45\126\uff45\133\uff45\151\uff45\173\uff45\174\uff45\200\uff45"); + sb.append("\201\uff45\203\uff45\204\uff45\205\uff45\206\uff45\207\uff45\210"); + sb.append("\uff45\211\uff45\212\uff45\213\uff45\214\uff45\215\uff45\217\uff45"); + sb.append("\220\uff45\221\uff45\222\uff45\223\uff45\224\uff45\225\uff45\231"); + sb.append("\uff45\234\uff45\235\uff45\236\uff45\237\uff45\241\uff45\250\uff45"); + sb.append("\251\uff45\253\uff45\254\uff45\255\uff45\256\uff45\001\002\000"); + sb.append("\120\031\ufdc3\033\ufdc3\073\ufdc3\112\ufdc3\127\ufdc3\130\ufdc3"); + sb.append("\131\ufdc3\132\ufdc3\150\ufdc3\151\ufdc3\152\ufdc3\153\ufdc3\154"); + sb.append("\ufdc3\155\ufdc3\156\ufdc3\157\ufdc3\160\ufdc3\161\ufdc3\162\ufdc3"); + sb.append("\163\ufdc3\164\ufdc3\165\ufdc3\166\ufdc3\167\ufdc3\170\ufdc3\171"); + sb.append("\ufdc3\172\ufdc3\173\ufdc3\174\ufdc3\175\ufdc3\176\ufdc3\177\ufdc3"); + sb.append("\202\ufdc3\216\ufdc3\232\ufdc3\233\ufdc3\243\ufdc3\246\ufdc3\252"); + sb.append("\ufdc3\001\002\000\170\004\202\006\156\007\175\010\u01b1"); sb.append("\011\204\012\075\015\031\016\071\032\106\036\125\044"); - sb.append("\222\045\u01b1\054\026\062\210\063\010\074\051\075\166"); + sb.append("\222\045\u01b3\054\026\062\210\063\010\074\051\075\166"); sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); sb.append("\141\115\136\116\046\121\160\122\013\123\065\124\124"); - sb.append("\125\116\126\131\133\020\172\104\173\176\177\130\200"); - sb.append("\067\202\054\203\120\204\207\205\154\206\216\207\151"); - sb.append("\210\142\211\155\212\063\213\074\214\114\216\101\222"); - sb.append("\u01b0\230\u01b3\233\152\234\015\235\073\236\060\247\021"); - sb.append("\253\147\254\064\255\055\001\002\000\012\065\uff2c\223"); - sb.append("\uff2c\224\uff2c\250\uff2c\001\002\000\004\230\u04bc\001\002"); - sb.append("\000\120\031\ufdd1\033\ufdd1\073\ufdd1\112\ufdd1\127\ufdd1\130"); - sb.append("\ufdd1\131\ufdd1\132\ufdd1\150\ufdd1\151\ufdd1\152\ufdd1\153\ufdd1"); - sb.append("\154\ufdd1\155\ufdd1\156\ufdd1\157\ufdd1\160\ufdd1\161\ufdd1\162"); - sb.append("\ufdd1\163\ufdd1\164\ufdd1\165\ufdd1\166\ufdd1\167\ufdd1\170\ufdd1"); - sb.append("\171\ufdd1\172\ufdd1\173\ufdd1\174\ufdd1\175\ufdd1\176\ufdd1\201"); - sb.append("\ufdd1\215\ufdd1\230\u0321\231\ufdd1\232\ufdd1\242\ufdd1\245\ufdd1"); - sb.append("\251\ufdd1\001\002\000\276\002\uff9d\003\uff9d\004\uff9d\005"); - sb.append("\uff9d\006\uff9d\007\uff9d\010\uff9d\011\uff9d\012\uff9d\014\uff9d"); - sb.append("\015\uff9d\016\uff9d\017\uff9d\020\uff9d\021\uff9d\023\uff9d\025"); - sb.append("\uff9d\027\uff9d\032\uff9d\034\uff9d\036\uff9d\041\uff9d\042\uff9d"); - sb.append("\043\uff9d\044\uff9d\045\uff9d\046\uff9d\047\uff9d\050\uff9d\051"); - sb.append("\uff9d\052\uff9d\054\uff9d\056\uff9d\057\uff9d\061\uff9d\062\uff9d"); - sb.append("\063\uff9d\064\uff9d\065\uff9d\066\uff9d\074\uff9d\075\uff9d\077"); - sb.append("\uff9d\100\uff9d\101\uff9d\102\uff9d\103\uff9d\104\uff9d\105\uff9d"); - sb.append("\111\uff9d\112\uff9d\114\uff9d\115\uff9d\116\uff9d\120\uff9d\121"); - sb.append("\uff9d\122\uff9d\123\uff9d\124\uff9d\125\uff9d\126\uff9d\133\uff9d"); - sb.append("\151\uff9d\172\uff9d\173\uff9d\177\uff9d\200\uff9d\202\uff9d\203"); - sb.append("\uff9d\204\uff9d\205\uff9d\206\uff9d\207\uff9d\210\uff9d\211\uff9d"); - sb.append("\212\uff9d\213\uff9d\214\uff9d\216\uff9d\222\uff9d\223\uff9d\224"); - sb.append("\uff9d\230\uff9d\233\uff9d\234\uff9d\235\uff9d\236\uff9d\240\uff9d"); - sb.append("\247\uff9d\250\uff9d\252\uff9d\253\uff9d\254\uff9d\255\uff9d\001"); - sb.append("\002\000\004\230\u04ac\001\002\000\116\031\ufd77\033\ufd77"); - sb.append("\073\ufd77\112\ufd77\127\ufd77\130\ufd77\131\ufd77\132\ufd77\150"); - sb.append("\ufd77\151\ufd77\152\ufd77\153\ufd77\154\ufd77\155\ufd77\156\ufd77"); - sb.append("\157\ufd77\160\ufd77\161\ufd77\162\ufd77\163\ufd77\164\ufd77\165"); - sb.append("\ufd77\166\ufd77\167\ufd77\170\ufd77\171\ufd77\172\ufd77\173\ufd77"); - sb.append("\174\ufd77\175\ufd77\176\ufd77\201\ufd77\215\ufd77\231\ufd77\232"); - sb.append("\ufd77\242\ufd77\245\ufd77\251\ufd77\001\002\000\322\002\uff45"); - sb.append("\003\uff45\004\uff45\005\uff45\006\uff45\007\uff45\010\uff45\011"); - sb.append("\uff45\012\uff45\014\uff45\015\uff45\016\uff45\017\uff45\020\uff45"); - sb.append("\021\uff45\022\uff45\023\uff45\024\uff45\025\uff45\026\uff45\027"); - sb.append("\uff45\030\uff45\032\uff45\034\uff45\035\uff45\036\uff45\037\uff45"); - sb.append("\040\uff45\041\uff45\042\uff45\043\uff45\044\uff45\045\uff45\046"); - sb.append("\uff45\047\uff45\050\uff45\051\uff45\052\uff45\054\uff45\056\uff45"); - sb.append("\057\uff45\061\uff45\062\uff45\063\uff45\064\uff45\065\uff45\066"); - sb.append("\uff45\074\uff45\075\uff45\077\uff45\100\uff45\101\uff45\102\uff45"); - sb.append("\103\uff45\104\uff45\105\uff45\111\uff45\112\uff45\114\uff45\115"); - sb.append("\uff45\116\uff45\120\uff45\121\uff45\122\uff45\123\uff45\124\uff45"); - sb.append("\125\uff45\126\uff45\133\uff45\151\uff45\172\uff45\173\uff45\177"); - sb.append("\uff45\200\uff45\202\uff45\203\uff45\204\uff45\205\uff45\206\uff45"); - sb.append("\207\uff45\210\uff45\211\uff45\212\uff45\213\uff45\214\uff45\216"); - sb.append("\uff45\217\uff45\220\uff45\221\uff45\222\uff45\223\uff45\224\uff45"); - sb.append("\230\uff45\233\uff45\234\uff45\235\uff45\236\uff45\240\uff45\247"); - sb.append("\uff45\250\uff45\252\uff45\253\uff45\254\uff45\255\uff45\001\002"); - sb.append("\000\116\031\ufdc4\033\ufdc4\073\ufdc4\112\ufdc4\127\ufdc4\130"); - sb.append("\ufdc4\131\ufdc4\132\ufdc4\150\ufdc4\151\ufdc4\152\ufdc4\153\ufdc4"); - sb.append("\154\ufdc4\155\ufdc4\156\ufdc4\157\ufdc4\160\ufdc4\161\ufdc4\162"); - sb.append("\ufdc4\163\ufdc4\164\ufdc4\165\ufdc4\166\ufdc4\167\ufdc4\170\ufdc4"); - sb.append("\171\ufdc4\172\ufdc4\173\ufdc4\174\ufdc4\175\ufdc4\176\ufdc4\201"); - sb.append("\ufdc4\215\ufdc4\231\ufdc4\232\ufdc4\242\ufdc4\245\ufdc4\251\ufdc4"); - sb.append("\001\002\000\170\004\201\006\156\007\175\010\u01af\011"); - sb.append("\204\012\075\015\031\016\071\032\106\036\125\044\222"); - sb.append("\045\u01b1\054\026\062\210\063\010\074\051\075\166\077"); - sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); - sb.append("\115\136\116\046\121\160\122\013\123\065\124\124\125"); - sb.append("\116\126\131\133\020\172\104\173\176\177\130\200\067"); - sb.append("\202\054\203\120\204\207\205\154\206\216\207\151\210"); - sb.append("\142\211\155\212\063\213\074\214\114\216\101\222\u01b0"); - sb.append("\230\u01b3\233\152\234\015\235\073\236\060\247\021\253"); - sb.append("\147\254\064\255\055\001\002\000\004\230\u0277\001\002"); - sb.append("\000\322\002\uff59\003\uff59\004\uff59\005\uff59\006\uff59\007"); - sb.append("\uff59\010\uff59\011\uff59\012\uff59\014\uff59\015\uff59\016\uff59"); - sb.append("\017\uff59\020\uff59\021\uff59\022\uff59\023\uff59\024\uff59\025"); - sb.append("\uff59\026\uff59\027\uff59\030\uff59\032\uff59\034\uff59\035\uff59"); - sb.append("\036\uff59\037\uff59\040\uff59\041\uff59\042\uff59\043\uff59\044"); - sb.append("\uff59\045\uff59\046\uff59\047\uff59\050\uff59\051\uff59\052\uff59"); - sb.append("\054\uff59\056\uff59\057\uff59\061\uff59\062\uff59\063\uff59\064"); - sb.append("\uff59\065\uff59\066\uff59\074\uff59\075\uff59\077\uff59\100\uff59"); - sb.append("\101\uff59\102\uff59\103\uff59\104\uff59\105\uff59\111\uff59\112"); - sb.append("\uff59\114\uff59\115\uff59\116\uff59\120\uff59\121\uff59\122\uff59"); - sb.append("\123\uff59\124\uff59\125\uff59\126\uff59\133\uff59\151\uff59\172"); - sb.append("\uff59\173\uff59\177\uff59\200\uff59\202\uff59\203\uff59\204\uff59"); - sb.append("\205\uff59\206\uff59\207\uff59\210\uff59\211\uff59\212\uff59\213"); - sb.append("\uff59\214\uff59\216\uff59\217\uff59\220\uff59\221\uff59\222\uff59"); - sb.append("\223\uff59\224\uff59\230\uff59\233\uff59\234\uff59\235\uff59\236"); - sb.append("\uff59\240\uff59\247\uff59\250\uff59\252\uff59\253\uff59\254\uff59"); - sb.append("\255\uff59\001\002\000\174\004\201\006\156\007\175\010"); - sb.append("\u01af\011\204\012\075\015\031\016\071\032\106\036\125"); - sb.append("\044\222\045\u01b1\051\214\054\026\062\210\063\010\074"); - sb.append("\051\075\166\077\123\100\012\101\206\102\041\103\144"); - sb.append("\104\117\105\141\115\136\116\046\121\160\122\013\123"); - sb.append("\065\124\124\125\116\126\131\133\020\151\u04a1\172\104"); - sb.append("\173\176\177\130\200\067\202\054\203\120\204\207\205"); - sb.append("\154\206\216\207\151\210\142\211\155\212\063\213\074"); - sb.append("\214\114\216\101\222\u01b0\230\u04a5\233\152\234\015\235"); - sb.append("\073\236\060\247\021\253\147\254\064\255\055\001\002"); - sb.append("\000\172\031\ufd1d\033\ufd1d\071\ufd1d\072\ufd1d\073\ufd1d\111"); - sb.append("\u026f\112\ufd1d\113\ufd2a\127\ufd1d\130\ufd1d\131\ufd1d\132\ufd1d"); - sb.append("\134\ufd1d\135\ufd1d\136\ufd1d\137\ufd1d\140\ufd1d\141\ufd1d\142"); - sb.append("\ufd1d\143\ufd1d\144\ufd1d\145\ufd1d\146\ufd1d\147\ufd1d\150\ufd1d"); - sb.append("\151\ufd1d\152\ufd1d\153\ufd1d\154\ufd1d\155\ufd1d\156\ufd1d\157"); - sb.append("\ufd1d\160\ufd1d\161\ufd1d\162\ufd1d\163\ufd1d\164\ufd1d\165\ufd1d"); - sb.append("\166\ufd1d\167\ufd1d\170\ufd1d\171\ufd1d\172\ufd1d\173\ufd1d\174"); - sb.append("\ufd1d\175\ufd1d\176\ufd1d\201\ufd1d\202\ufd1d\203\ufd1d\214\u0270"); - sb.append("\215\ufd1d\230\ufd2e\231\ufd1d\232\ufd1d\242\ufd1d\243\ufd1d\245"); - sb.append("\ufd1d\246\ufd1d\251\ufd1d\001\002\000\170\004\201\006\156"); - sb.append("\007\175\010\u01af\011\204\012\075\015\031\016\071\032"); - sb.append("\106\036\125\044\222\045\u01b1\054\026\062\210\063\010"); + sb.append("\125\116\126\131\133\020\173\104\174\176\200\130\201"); + sb.append("\067\203\054\204\120\205\207\206\154\207\216\210\151"); + sb.append("\211\142\212\155\213\063\214\074\215\114\217\101\223"); + sb.append("\u01b2\231\u01b5\234\152\235\015\236\073\237\060\250\021"); + sb.append("\254\147\255\064\256\055\001\002\000\004\231\u027b\001"); + sb.append("\002\000\322\002\uff59\003\uff59\004\uff59\005\uff59\006\uff59"); + sb.append("\007\uff59\010\uff59\011\uff59\012\uff59\014\uff59\015\uff59\016"); + sb.append("\uff59\017\uff59\020\uff59\021\uff59\022\uff59\023\uff59\024\uff59"); + sb.append("\025\uff59\026\uff59\027\uff59\030\uff59\032\uff59\034\uff59\035"); + sb.append("\uff59\036\uff59\037\uff59\040\uff59\041\uff59\042\uff59\043\uff59"); + sb.append("\044\uff59\045\uff59\046\uff59\047\uff59\050\uff59\051\uff59\052"); + sb.append("\uff59\054\uff59\056\uff59\057\uff59\061\uff59\062\uff59\063\uff59"); + sb.append("\064\uff59\065\uff59\066\uff59\074\uff59\075\uff59\077\uff59\100"); + sb.append("\uff59\101\uff59\102\uff59\103\uff59\104\uff59\105\uff59\111\uff59"); + sb.append("\112\uff59\114\uff59\115\uff59\116\uff59\120\uff59\121\uff59\122"); + sb.append("\uff59\123\uff59\124\uff59\125\uff59\126\uff59\133\uff59\151\uff59"); + sb.append("\173\uff59\174\uff59\200\uff59\201\uff59\203\uff59\204\uff59\205"); + sb.append("\uff59\206\uff59\207\uff59\210\uff59\211\uff59\212\uff59\213\uff59"); + sb.append("\214\uff59\215\uff59\217\uff59\220\uff59\221\uff59\222\uff59\223"); + sb.append("\uff59\224\uff59\225\uff59\231\uff59\234\uff59\235\uff59\236\uff59"); + sb.append("\237\uff59\241\uff59\250\uff59\251\uff59\253\uff59\254\uff59\255"); + sb.append("\uff59\256\uff59\001\002\000\174\004\202\006\156\007\175"); + sb.append("\010\u01b1\011\204\012\075\015\031\016\071\032\106\036"); + sb.append("\125\044\222\045\u01b3\051\214\054\026\062\210\063\010"); sb.append("\074\051\075\166\077\123\100\012\101\206\102\041\103"); sb.append("\144\104\117\105\141\115\136\116\046\121\160\122\013"); - sb.append("\123\065\124\124\125\116\126\131\133\020\172\104\173"); - sb.append("\176\177\130\200\067\202\054\203\120\204\207\205\154"); - sb.append("\206\216\207\151\210\142\211\155\212\063\213\074\214"); - sb.append("\114\216\101\222\u01b0\230\u01b3\233\152\234\015\235\073"); - sb.append("\236\060\247\021\253\147\254\064\255\055\001\002\000"); - sb.append("\116\031\ufe10\033\ufe10\073\ufe10\112\ufe10\127\ufe10\130\ufe10"); - sb.append("\131\ufe10\132\ufe10\150\ufe10\151\ufe10\152\ufe10\153\ufe10\154"); - sb.append("\ufe10\155\ufe10\156\ufe10\157\ufe10\160\ufe10\161\ufe10\162\ufe10"); - sb.append("\163\ufe10\164\ufe10\165\ufe10\166\ufe10\167\ufe10\170\ufe10\171"); - sb.append("\ufe10\172\ufe10\173\ufe10\174\ufe10\175\ufe10\176\ufe10\201\ufe10"); - sb.append("\215\ufe10\231\ufe10\232\ufe10\242\ufe10\245\ufe10\251\ufe10\001"); - sb.append("\002\000\170\004\201\006\156\007\175\010\u01af\011\204"); - sb.append("\012\075\015\031\016\071\032\106\036\125\044\222\045"); - sb.append("\u01b1\054\026\062\210\063\010\074\051\075\166\077\123"); - sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); - sb.append("\136\116\046\121\160\122\013\123\065\124\124\125\116"); - sb.append("\126\131\133\020\172\104\173\176\177\130\200\067\202"); - sb.append("\054\203\120\204\207\205\154\206\216\207\151\210\142"); - sb.append("\211\155\212\063\213\074\214\114\216\101\222\u01b0\230"); - sb.append("\u01b3\233\152\234\015\235\073\236\060\247\021\253\147"); - sb.append("\254\064\255\055\001\002\000\116\031\ufff8\071\ufde0\072"); - sb.append("\ufde0\111\u026f\113\ufde0\130\ufff8\131\ufff8\132\ufff8\150\ufff8"); - sb.append("\151\ufff8\152\ufff8\153\ufff8\154\ufff8\155\ufff8\156\ufff8\157"); - sb.append("\ufff8\160\ufff8\161\ufff8\162\ufff8\163\ufff8\164\ufff8\165\ufff8"); - sb.append("\166\ufff8\167\ufff8\170\ufff8\171\ufff8\172\ufff8\173\ufff8\174"); - sb.append("\ufff8\175\ufff8\176\ufff8\201\ufff8\214\u0270\230\ufde0\232\u049e"); - sb.append("\242\ufff8\245\ufff8\251\ufff8\001\002\000\124\031\ufcd7\033"); - sb.append("\ufcd7\073\ufcd7\111\ufcd7\112\ufcd7\113\u02e8\127\ufcd7\130\ufcd7"); - sb.append("\131\ufcd7\132\ufcd7\150\ufcd7\151\ufcd7\152\ufcd7\153\ufcd7\154"); - sb.append("\ufcd7\155\ufcd7\156\ufcd7\157\ufcd7\160\ufcd7\161\ufcd7\162\ufcd7"); - sb.append("\163\ufcd7\164\ufcd7\165\ufcd7\166\ufcd7\167\ufcd7\170\ufcd7\171"); - sb.append("\ufcd7\172\ufcd7\173\ufcd7\174\ufcd7\175\ufcd7\176\ufcd7\201\ufcd7"); - sb.append("\214\ufcd7\215\ufcd7\231\ufcd7\232\ufcd7\242\ufcd7\245\ufcd7\251"); - sb.append("\ufcd7\001\002\000\030\044\222\045\023\065\027\066\111"); - sb.append("\222\u03aa\223\030\224\115\240\105\247\021\250\231\252"); - sb.append("\227\001\002\000\010\156\u0224\230\uff43\251\u0227\001\002"); - sb.append("\000\122\031\ufd76\033\ufd76\073\ufd76\111\u026f\112\ufd76\127"); - sb.append("\ufd76\130\ufd76\131\ufd76\132\ufd76\150\ufd76\151\ufd76\152\ufd76"); - sb.append("\153\ufd76\154\ufd76\155\ufd76\156\ufd76\157\ufd76\160\ufd76\161"); - sb.append("\ufd76\162\ufd76\163\ufd76\164\ufd76\165\ufd76\166\ufd76\167\ufd76"); - sb.append("\170\ufd76\171\ufd76\172\ufd76\173\ufd76\174\ufd76\175\ufd76\176"); - sb.append("\ufd76\201\ufd76\214\u0270\215\ufd76\231\ufd76\232\ufd76\242\ufd76"); - sb.append("\245\ufd76\251\ufd76\001\002\000\006\012\075\233\u0295\001"); - sb.append("\002\000\276\002\uff9b\003\uff9b\004\uff9b\005\uff9b\006\uff9b"); - sb.append("\007\uff9b\010\uff9b\011\uff9b\012\uff9b\014\uff9b\015\uff9b\016"); - sb.append("\uff9b\017\uff9b\020\uff9b\021\uff9b\023\uff9b\025\uff9b\027\uff9b"); - sb.append("\032\uff9b\034\uff9b\036\uff9b\041\uff9b\042\uff9b\043\uff9b\044"); - sb.append("\uff9b\045\uff9b\046\uff9b\047\uff9b\050\uff9b\051\uff9b\052\uff9b"); - sb.append("\054\uff9b\056\uff9b\057\uff9b\061\uff9b\062\uff9b\063\uff9b\064"); - sb.append("\uff9b\065\uff9b\066\uff9b\074\uff9b\075\uff9b\077\uff9b\100\uff9b"); - sb.append("\101\uff9b\102\uff9b\103\uff9b\104\uff9b\105\uff9b\111\uff9b\112"); - sb.append("\uff9b\114\uff9b\115\uff9b\116\uff9b\120\uff9b\121\uff9b\122\uff9b"); - sb.append("\123\uff9b\124\uff9b\125\uff9b\126\uff9b\133\uff9b\151\uff9b\172"); - sb.append("\uff9b\173\uff9b\177\uff9b\200\uff9b\202\uff9b\203\uff9b\204\uff9b"); - sb.append("\205\uff9b\206\uff9b\207\uff9b\210\uff9b\211\uff9b\212\uff9b\213"); - sb.append("\uff9b\214\uff9b\216\uff9b\222\uff9b\223\uff9b\224\uff9b\230\uff9b"); - sb.append("\233\uff9b\234\uff9b\235\uff9b\236\uff9b\240\uff9b\247\uff9b\250"); - sb.append("\uff9b\252\uff9b\253\uff9b\254\uff9b\255\uff9b\001\002\000\004"); - sb.append("\010\u0499\001\002\000\004\010\232\001\002\000\172\031"); - sb.append("\ufd0e\033\ufd0e\071\ufd0e\072\ufd0e\073\ufd0e\111\ufd0e\112\ufd0e"); - sb.append("\113\ufd0e\127\ufd0e\130\ufd0e\131\ufd0e\132\ufd0e\134\ufd0e\135"); - sb.append("\ufd0e\136\ufd0e\137\ufd0e\140\ufd0e\141\ufd0e\142\ufd0e\143\ufd0e"); - sb.append("\144\ufd0e\145\ufd0e\146\ufd0e\147\ufd0e\150\ufd0e\151\ufd0e\152"); - sb.append("\ufd0e\153\ufd0e\154\ufd0e\155\ufd0e\156\ufd0e\157\ufd0e\160\ufd0e"); - sb.append("\161\ufd0e\162\ufd0e\163\ufd0e\164\ufd0e\165\ufd0e\166\ufd0e\167"); - sb.append("\ufd0e\170\ufd0e\171\ufd0e\172\ufd0e\173\ufd0e\174\ufd0e\175\ufd0e"); - sb.append("\176\ufd0e\201\ufd0e\202\ufd0e\203\ufd0e\214\ufd0e\215\ufd0e\230"); - sb.append("\ufd0e\231\ufd0e\232\ufd0e\242\ufd0e\243\ufd0e\245\ufd0e\246\ufd0e"); - sb.append("\251\ufd0e\001\002\000\012\065\uff28\223\uff28\224\uff28\250"); - sb.append("\uff28\001\002\000\010\070\ufea8\111\ufea8\232\233\001\002"); - sb.append("\000\026\010\244\075\310\076\313\121\237\150\u024a\222"); - sb.append("\u0249\230\u024c\253\241\254\240\255\245\001\002\000\006"); - sb.append("\070\236\111\uff20\001\002\000\004\111\250\001\002\000"); - sb.append("\014\010\244\121\237\253\241\254\240\255\245\001\002"); - sb.append("\000\354\004\ufddf\005\ufddf\010\ufddf\012\ufddf\017\ufddf\020"); - sb.append("\ufddf\021\ufddf\022\ufddf\023\ufddf\024\ufddf\025\ufddf\026\ufddf"); - sb.append("\027\ufddf\030\ufddf\031\ufddf\032\ufddf\033\ufddf\034\ufddf\035"); - sb.append("\ufddf\036\ufddf\037\ufddf\040\ufddf\041\ufddf\042\ufddf\043\ufddf"); - sb.append("\044\ufddf\045\ufddf\046\ufddf\047\ufddf\050\ufddf\052\ufddf\053"); - sb.append("\ufddf\054\ufddf\055\ufddf\056\ufddf\057\ufddf\060\ufddf\061\ufddf"); - sb.append("\062\ufddf\063\ufddf\066\ufddf\067\ufddf\070\ufddf\071\ufddf\072"); - sb.append("\ufddf\073\ufddf\074\ufddf\075\ufddf\076\ufddf\077\ufddf\100\ufddf"); - sb.append("\101\ufddf\102\ufddf\103\ufddf\104\ufddf\111\ufddf\112\ufddf\113"); - sb.append("\ufddf\114\ufddf\115\ufddf\116\ufddf\121\ufddf\122\ufddf\123\ufddf"); - sb.append("\124\ufddf\125\ufddf\126\ufddf\127\ufddf\130\ufddf\131\ufddf\132"); - sb.append("\ufddf\133\ufddf\150\ufddf\151\ufddf\152\ufddf\153\ufddf\154\ufddf"); - sb.append("\155\ufddf\156\ufddf\157\ufddf\160\ufddf\161\ufddf\162\ufddf\163"); - sb.append("\ufddf\164\ufddf\165\ufddf\166\ufddf\167\ufddf\170\ufddf\171\ufddf"); - sb.append("\172\ufddf\173\ufddf\174\ufddf\175\ufddf\176\ufddf\201\ufddf\215"); - sb.append("\ufddf\216\ufddf\217\ufddf\220\ufddf\221\ufddf\222\ufddf\223\ufddf"); - sb.append("\224\ufddf\225\ufddf\226\ufddf\227\ufddf\230\ufddf\231\ufddf\232"); - sb.append("\ufddf\240\ufddf\241\ufddf\242\ufddf\244\ufddf\245\ufddf\250\ufddf"); - sb.append("\251\ufddf\001\002\000\354\004\ufdde\005\ufdde\010\ufdde\012"); - sb.append("\ufdde\017\ufdde\020\ufdde\021\ufdde\022\ufdde\023\ufdde\024\ufdde"); - sb.append("\025\ufdde\026\ufdde\027\ufdde\030\ufdde\031\ufdde\032\ufdde\033"); - sb.append("\ufdde\034\ufdde\035\ufdde\036\ufdde\037\ufdde\040\ufdde\041\ufdde"); - sb.append("\042\ufdde\043\ufdde\044\ufdde\045\ufdde\046\ufdde\047\ufdde\050"); - sb.append("\ufdde\052\ufdde\053\ufdde\054\ufdde\055\ufdde\056\ufdde\057\ufdde"); - sb.append("\060\ufdde\061\ufdde\062\ufdde\063\ufdde\066\ufdde\067\ufdde\070"); - sb.append("\ufdde\071\ufdde\072\ufdde\073\ufdde\074\ufdde\075\ufdde\076\ufdde"); - sb.append("\077\ufdde\100\ufdde\101\ufdde\102\ufdde\103\ufdde\104\ufdde\111"); - sb.append("\ufdde\112\ufdde\113\ufdde\114\ufdde\115\ufdde\116\ufdde\121\ufdde"); - sb.append("\122\ufdde\123\ufdde\124\ufdde\125\ufdde\126\ufdde\127\ufdde\130"); - sb.append("\ufdde\131\ufdde\132\ufdde\133\ufdde\150\ufdde\151\ufdde\152\ufdde"); - sb.append("\153\ufdde\154\ufdde\155\ufdde\156\ufdde\157\ufdde\160\ufdde\161"); - sb.append("\ufdde\162\ufdde\163\ufdde\164\ufdde\165\ufdde\166\ufdde\167\ufdde"); - sb.append("\170\ufdde\171\ufdde\172\ufdde\173\ufdde\174\ufdde\175\ufdde\176"); - sb.append("\ufdde\201\ufdde\215\ufdde\216\ufdde\217\ufdde\220\ufdde\221\ufdde"); - sb.append("\222\ufdde\223\ufdde\224\ufdde\225\ufdde\226\ufdde\227\ufdde\230"); - sb.append("\ufdde\231\ufdde\232\ufdde\240\ufdde\241\ufdde\242\ufdde\244\ufdde"); - sb.append("\245\ufdde\250\ufdde\251\ufdde\001\002\000\354\004\ufddc\005"); - sb.append("\ufddc\010\ufddc\012\ufddc\017\ufddc\020\ufddc\021\ufddc\022\ufddc"); - sb.append("\023\ufddc\024\ufddc\025\ufddc\026\ufddc\027\ufddc\030\ufddc\031"); - sb.append("\ufddc\032\ufddc\033\ufddc\034\ufddc\035\ufddc\036\ufddc\037\ufddc"); - sb.append("\040\ufddc\041\ufddc\042\ufddc\043\ufddc\044\ufddc\045\ufddc\046"); - sb.append("\ufddc\047\ufddc\050\ufddc\052\ufddc\053\ufddc\054\ufddc\055\ufddc"); - sb.append("\056\ufddc\057\ufddc\060\ufddc\061\ufddc\062\ufddc\063\ufddc\066"); - sb.append("\ufddc\067\ufddc\070\ufddc\071\ufddc\072\ufddc\073\ufddc\074\ufddc"); - sb.append("\075\ufddc\076\ufddc\077\ufddc\100\ufddc\101\ufddc\102\ufddc\103"); - sb.append("\ufddc\104\ufddc\111\ufddc\112\ufddc\113\ufddc\114\ufddc\115\ufddc"); - sb.append("\116\ufddc\121\ufddc\122\ufddc\123\ufddc\124\ufddc\125\ufddc\126"); - sb.append("\ufddc\127\ufddc\130\ufddc\131\ufddc\132\ufddc\133\ufddc\150\ufddc"); - sb.append("\151\ufddc\152\ufddc\153\ufddc\154\ufddc\155\ufddc\156\ufddc\157"); - sb.append("\ufddc\160\ufddc\161\ufddc\162\ufddc\163\ufddc\164\ufddc\165\ufddc"); - sb.append("\166\ufddc\167\ufddc\170\ufddc\171\ufddc\172\ufddc\173\ufddc\174"); - sb.append("\ufddc\175\ufddc\176\ufddc\201\ufddc\215\ufddc\216\ufddc\217\ufddc"); - sb.append("\220\ufddc\221\ufddc\222\ufddc\223\ufddc\224\ufddc\225\ufddc\226"); - sb.append("\ufddc\227\ufddc\230\ufddc\231\ufddc\232\ufddc\240\ufddc\241\ufddc"); - sb.append("\242\ufddc\244\ufddc\245\ufddc\250\ufddc\251\ufddc\001\002\000"); - sb.append("\006\111\uff1f\127\246\001\002\000\006\111\uff1e\127\uff1e"); - sb.append("\001\002\000\354\004\ufde0\005\ufde0\010\ufde0\012\ufde0\017"); - sb.append("\ufde0\020\ufde0\021\ufde0\022\ufde0\023\ufde0\024\ufde0\025\ufde0"); - sb.append("\026\ufde0\027\ufde0\030\ufde0\031\ufde0\032\ufde0\033\ufde0\034"); - sb.append("\ufde0\035\ufde0\036\ufde0\037\ufde0\040\ufde0\041\ufde0\042\ufde0"); - sb.append("\043\ufde0\044\ufde0\045\ufde0\046\ufde0\047\ufde0\050\ufde0\052"); - sb.append("\ufde0\053\ufde0\054\ufde0\055\ufde0\056\ufde0\057\ufde0\060\ufde0"); - sb.append("\061\ufde0\062\ufde0\063\ufde0\066\ufde0\067\ufde0\070\ufde0\071"); - sb.append("\ufde0\072\ufde0\073\ufde0\074\ufde0\075\ufde0\076\ufde0\077\ufde0"); - sb.append("\100\ufde0\101\ufde0\102\ufde0\103\ufde0\104\ufde0\111\ufde0\112"); - sb.append("\ufde0\113\ufde0\114\ufde0\115\ufde0\116\ufde0\121\ufde0\122\ufde0"); - sb.append("\123\ufde0\124\ufde0\125\ufde0\126\ufde0\127\ufde0\130\ufde0\131"); - sb.append("\ufde0\132\ufde0\133\ufde0\150\ufde0\151\ufde0\152\ufde0\153\ufde0"); - sb.append("\154\ufde0\155\ufde0\156\ufde0\157\ufde0\160\ufde0\161\ufde0\162"); - sb.append("\ufde0\163\ufde0\164\ufde0\165\ufde0\166\ufde0\167\ufde0\170\ufde0"); - sb.append("\171\ufde0\172\ufde0\173\ufde0\174\ufde0\175\ufde0\176\ufde0\201"); - sb.append("\ufde0\215\ufde0\216\ufde0\217\ufde0\220\ufde0\221\ufde0\222\ufde0"); - sb.append("\223\ufde0\224\ufde0\225\ufde0\226\ufde0\227\ufde0\230\ufde0\231"); - sb.append("\ufde0\232\ufde0\240\ufde0\241\ufde0\242\ufde0\244\ufde0\245\ufde0"); - sb.append("\250\ufde0\251\ufde0\001\002\000\354\004\ufddd\005\ufddd\010"); - sb.append("\ufddd\012\ufddd\017\ufddd\020\ufddd\021\ufddd\022\ufddd\023\ufddd"); - sb.append("\024\ufddd\025\ufddd\026\ufddd\027\ufddd\030\ufddd\031\ufddd\032"); - sb.append("\ufddd\033\ufddd\034\ufddd\035\ufddd\036\ufddd\037\ufddd\040\ufddd"); - sb.append("\041\ufddd\042\ufddd\043\ufddd\044\ufddd\045\ufddd\046\ufddd\047"); - sb.append("\ufddd\050\ufddd\052\ufddd\053\ufddd\054\ufddd\055\ufddd\056\ufddd"); - sb.append("\057\ufddd\060\ufddd\061\ufddd\062\ufddd\063\ufddd\066\ufddd\067"); - sb.append("\ufddd\070\ufddd\071\ufddd\072\ufddd\073\ufddd\074\ufddd\075\ufddd"); - sb.append("\076\ufddd\077\ufddd\100\ufddd\101\ufddd\102\ufddd\103\ufddd\104"); - sb.append("\ufddd\111\ufddd\112\ufddd\113\ufddd\114\ufddd\115\ufddd\116\ufddd"); - sb.append("\121\ufddd\122\ufddd\123\ufddd\124\ufddd\125\ufddd\126\ufddd\127"); - sb.append("\ufddd\130\ufddd\131\ufddd\132\ufddd\133\ufddd\150\ufddd\151\ufddd"); - sb.append("\152\ufddd\153\ufddd\154\ufddd\155\ufddd\156\ufddd\157\ufddd\160"); - sb.append("\ufddd\161\ufddd\162\ufddd\163\ufddd\164\ufddd\165\ufddd\166\ufddd"); - sb.append("\167\ufddd\170\ufddd\171\ufddd\172\ufddd\173\ufddd\174\ufddd\175"); - sb.append("\ufddd\176\ufddd\201\ufddd\215\ufddd\216\ufddd\217\ufddd\220\ufddd"); - sb.append("\221\ufddd\222\ufddd\223\ufddd\224\ufddd\225\ufddd\226\ufddd\227"); - sb.append("\ufddd\230\ufddd\231\ufddd\232\ufddd\240\ufddd\241\ufddd\242\ufddd"); - sb.append("\244\ufddd\245\ufddd\250\ufddd\251\ufddd\001\002\000\014\010"); - sb.append("\244\121\237\253\241\254\240\255\245\001\002\000\006"); - sb.append("\111\uff1d\127\uff1d\001\002\000\046\037\ufead\045\ufead\046"); - sb.append("\ufead\056\ufead\060\ufead\112\ufead\120\ufead\222\ufead\223\ufead"); - sb.append("\224\ufead\225\ufead\226\ufead\227\ufead\247\ufead\250\ufead\256"); - sb.append("\ufead\257\ufead\260\ufead\001\002\000\046\037\274\045\ufe84"); - sb.append("\046\ufe88\056\304\060\306\112\301\120\300\222\303\223"); - sb.append("\264\224\265\225\277\226\257\227\302\247\021\250\254"); - sb.append("\256\271\257\275\260\261\001\002\000\046\037\ufea2\045"); - sb.append("\ufea2\046\ufea2\056\ufea2\060\ufea2\112\ufea2\120\ufea2\222\ufea2"); - sb.append("\223\ufea2\224\ufea2\225\ufea2\226\ufea2\227\ufea2\247\ufea2\250"); - sb.append("\ufea2\256\ufea2\257\ufea2\260\ufea2\001\002\000\056\010\ufe7f"); - sb.append("\012\ufe7f\045\ufe7f\046\ufe7f\075\ufe7f\076\ufe7f\121\ufe7f\150"); - sb.append("\ufe7f\222\ufe7f\223\ufe7f\224\ufe7f\225\ufe7f\226\ufe7f\227\ufe7f"); - sb.append("\230\ufe7f\250\ufe7f\253\ufe7f\254\ufe7f\255\ufe7f\256\ufe7f\257"); - sb.append("\ufe7f\260\ufe7f\001\002\000\064\010\ufee5\012\ufee5\045\ufee5"); - sb.append("\046\ufee5\075\ufee5\076\ufee5\121\ufee5\150\ufee5\156\ufee5\222"); - sb.append("\ufee5\223\ufee5\224\ufee5\225\ufee5\226\ufee5\227\ufee5\230\ufee5"); - sb.append("\244\ufee5\250\ufee5\251\ufee5\253\ufee5\254\ufee5\255\ufee5\256"); - sb.append("\ufee5\257\ufee5\260\ufee5\001\002\000\004\045\u048c\001\002"); - sb.append("\000\004\046\u0479\001\002\000\064\010\ufe76\012\ufe76\045"); - sb.append("\ufe76\046\ufe76\075\ufe76\076\ufe76\121\ufe76\150\ufe76\156\ufe76"); - sb.append("\222\ufe76\223\ufe76\224\ufe76\225\ufe76\226\ufe76\227\ufe76\230"); - sb.append("\ufe76\244\ufe76\250\ufe76\251\ufe76\253\ufe76\254\ufe76\255\ufe76"); - sb.append("\256\ufe76\257\ufe76\260\ufe76\001\002\000\056\010\ufe7d\012"); - sb.append("\ufe7d\045\ufe7d\046\ufe7d\075\ufe7d\076\ufe7d\121\ufe7d\150\ufe7d"); - sb.append("\222\ufe7d\223\ufe7d\224\ufe7d\225\ufe7d\226\ufe7d\227\ufe7d\230"); - sb.append("\ufe7d\250\ufe7d\253\ufe7d\254\ufe7d\255\ufe7d\256\ufe7d\257\ufe7d"); - sb.append("\260\ufe7d\001\002\000\064\010\ufe72\012\ufe72\045\ufe72\046"); - sb.append("\ufe72\075\ufe72\076\ufe72\121\ufe72\150\ufe72\156\ufe72\222\ufe72"); - sb.append("\223\ufe72\224\ufe72\225\ufe72\226\ufe72\227\ufe72\230\ufe72\244"); - sb.append("\ufe72\250\ufe72\251\ufe72\253\ufe72\254\ufe72\255\ufe72\256\ufe72"); - sb.append("\257\ufe72\260\ufe72\001\002\000\046\037\ufea9\045\ufea9\046"); - sb.append("\ufea9\056\ufea9\060\ufea9\112\ufea9\120\ufea9\222\ufea9\223\ufea9"); - sb.append("\224\ufea9\225\ufea9\226\ufea9\227\ufea9\247\ufea9\250\ufea9\256"); - sb.append("\ufea9\257\ufea9\260\ufea9\001\002\000\056\010\ufe7e\012\ufe7e"); - sb.append("\045\ufe7e\046\ufe7e\075\ufe7e\076\ufe7e\121\ufe7e\150\ufe7e\222"); - sb.append("\ufe7e\223\ufe7e\224\ufe7e\225\ufe7e\226\ufe7e\227\ufe7e\230\ufe7e"); - sb.append("\250\ufe7e\253\ufe7e\254\ufe7e\255\ufe7e\256\ufe7e\257\ufe7e\260"); - sb.append("\ufe7e\001\002\000\056\010\ufe7a\012\ufe7a\045\ufe7a\046\ufe7a"); - sb.append("\075\ufe7a\076\ufe7a\121\ufe7a\150\ufe7a\222\ufe7a\223\ufe7a\224"); - sb.append("\ufe7a\225\ufe7a\226\ufe7a\227\ufe7a\230\ufe7a\250\ufe7a\253\ufe7a"); - sb.append("\254\ufe7a\255\ufe7a\256\ufe7a\257\ufe7a\260\ufe7a\001\002\000"); - sb.append("\056\010\ufe79\012\ufe79\045\ufe79\046\ufe79\075\ufe79\076\ufe79"); - sb.append("\121\ufe79\150\ufe79\222\ufe79\223\ufe79\224\ufe79\225\ufe79\226"); - sb.append("\ufe79\227\ufe79\230\ufe79\250\ufe79\253\ufe79\254\ufe79\255\ufe79"); - sb.append("\256\ufe79\257\ufe79\260\ufe79\001\002\000\040\037\274\045"); - sb.append("\ufe84\046\ufe88\060\306\222\303\223\264\224\265\225\277"); - sb.append("\226\257\227\302\247\021\250\254\256\271\257\275\260"); - sb.append("\261\001\002\000\046\037\ufeae\045\ufeae\046\ufeae\056\ufeae"); - sb.append("\060\ufeae\112\ufeae\120\ufeae\222\ufeae\223\ufeae\224\ufeae\225"); - sb.append("\ufeae\226\ufeae\227\ufeae\247\ufeae\250\ufeae\256\ufeae\257\ufeae"); - sb.append("\260\ufeae\001\002\000\056\010\ufe80\012\ufe80\045\ufe80\046"); - sb.append("\ufe80\075\ufe80\076\ufe80\121\ufe80\150\ufe80\222\ufe80\223\ufe80"); - sb.append("\224\ufe80\225\ufe80\226\ufe80\227\ufe80\230\ufe80\250\ufe80\253"); - sb.append("\ufe80\254\ufe80\255\ufe80\256\ufe80\257\ufe80\260\ufe80\001\002"); - sb.append("\000\064\010\ufe74\012\ufe74\045\ufe74\046\ufe74\075\ufe74\076"); - sb.append("\ufe74\121\ufe74\150\ufe74\156\ufe74\222\ufe74\223\ufe74\224\ufe74"); - sb.append("\225\ufe74\226\ufe74\227\ufe74\230\ufe74\244\ufe74\250\ufe74\251"); - sb.append("\ufe74\253\ufe74\254\ufe74\255\ufe74\256\ufe74\257\ufe74\260\ufe74"); - sb.append("\001\002\000\056\010\ufe82\012\ufe82\045\ufe82\046\ufe82\075"); - sb.append("\ufe82\076\ufe82\121\ufe82\150\ufe82\222\ufe82\223\ufe82\224\ufe82"); - sb.append("\225\ufe82\226\ufe82\227\ufe82\230\ufe82\250\ufe82\253\ufe82\254"); - sb.append("\ufe82\255\ufe82\256\ufe82\257\ufe82\260\ufe82\001\002\000\056"); - sb.append("\010\ufe86\012\ufe86\045\ufe83\046\ufe87\075\ufe86\076\ufe86\121"); - sb.append("\ufe86\150\ufe86\222\303\223\264\224\265\225\277\226\257"); - sb.append("\227\302\230\ufe86\250\254\253\ufe86\254\ufe86\255\ufe86\256"); - sb.append("\271\257\275\260\261\001\002\000\236\004\u01a2\005\u01ac"); - sb.append("\010\u016b\017\u0198\020\u0195\021\u0170\022\u0176\023\u016a\024"); - sb.append("\u018b\025\u0188\026\u0172\027\u01ad\030\u0191\031\u0175\032\u018a"); - sb.append("\033\u016c\034\u019b\035\u0187\036\u0160\037\u015d\040\u017a\041"); - sb.append("\u0177\042\u0196\043\u0182\044\u017c\045\u018d\046\u019d\047\u019f"); - sb.append("\050\u015f\052\u016d\053\u01a9\054\u01ab\055\u0179\056\u0166\057"); - sb.append("\u015e\060\u01aa\061\u0184\062\u01a6\063\u0168\065\u0169\066\u01a1"); - sb.append("\067\u0165\070\u0189\074\u01a7\075\u0161\076\u0163\077\u0164\100"); - sb.append("\u0192\101\u0171\102\u0173\103\u019c\104\u015b\114\u0185\115\u019a"); - sb.append("\116\u016e\121\u0178\122\u0167\123\u0181\124\u0174\125\u0199\126"); - sb.append("\u018c\130\u01a4\131\u01a5\132\u01a0\133\u017d\216\u0183\217\u017f"); - sb.append("\220\u0180\221\u0193\222\u016f\223\u017b\224\u0162\225\u0190\226"); - sb.append("\u018f\227\u019e\240\u0194\241\u018e\250\u015c\001\002\000\064"); - sb.append("\010\ufe73\012\ufe73\045\ufe73\046\ufe73\075\ufe73\076\ufe73\121"); - sb.append("\ufe73\150\ufe73\156\ufe73\222\ufe73\223\ufe73\224\ufe73\225\ufe73"); - sb.append("\226\ufe73\227\ufe73\230\ufe73\244\ufe73\250\ufe73\251\ufe73\253"); - sb.append("\ufe73\254\ufe73\255\ufe73\256\ufe73\257\ufe73\260\ufe73\001\002"); - sb.append("\000\056\010\ufe81\012\ufe81\045\ufe81\046\ufe81\075\ufe81\076"); - sb.append("\ufe81\121\ufe81\150\ufe81\222\ufe81\223\ufe81\224\ufe81\225\ufe81"); - sb.append("\226\ufe81\227\ufe81\230\ufe81\250\ufe81\253\ufe81\254\ufe81\255"); - sb.append("\ufe81\256\ufe81\257\ufe81\260\ufe81\001\002\000\064\010\ufe75"); - sb.append("\012\ufe75\045\ufe75\046\ufe75\075\ufe75\076\ufe75\121\ufe75\150"); - sb.append("\ufe75\156\ufe75\222\ufe75\223\ufe75\224\ufe75\225\ufe75\226\ufe75"); - sb.append("\227\ufe75\230\ufe75\244\ufe75\250\ufe75\251\ufe75\253\ufe75\254"); - sb.append("\ufe75\255\ufe75\256\ufe75\257\ufe75\260\ufe75\001\002\000\046"); - sb.append("\037\ufea0\045\ufea0\046\ufea0\056\ufea0\060\ufea0\112\ufea0\120"); - sb.append("\ufea0\222\ufea0\223\ufea0\224\ufea0\225\ufea0\226\ufea0\227\ufea0"); - sb.append("\247\ufea0\250\ufea0\256\ufea0\257\ufea0\260\ufea0\001\002\000"); - sb.append("\322\002\uff3b\003\uff3b\004\uff3b\005\uff3b\006\uff3b\007\uff3b"); - sb.append("\010\uff3b\011\uff3b\012\uff3b\014\uff3b\015\uff3b\016\uff3b\017"); - sb.append("\uff3b\020\uff3b\021\uff3b\022\uff3b\023\uff3b\024\uff3b\025\uff3b"); - sb.append("\026\uff3b\027\uff3b\030\uff3b\032\uff3b\034\uff3b\035\uff3b\036"); - sb.append("\uff3b\037\uff3b\040\uff3b\041\uff3b\042\uff3b\043\uff3b\044\uff3b"); - sb.append("\045\uff3b\046\uff3b\047\uff3b\050\uff3b\051\uff3b\052\uff3b\054"); - sb.append("\uff3b\056\uff3b\057\uff3b\061\uff3b\062\uff3b\063\uff3b\064\uff3b"); - sb.append("\065\uff3b\066\uff3b\074\uff3b\075\uff3b\077\uff3b\100\uff3b\101"); - sb.append("\uff3b\102\uff3b\103\uff3b\104\uff3b\105\uff3b\111\uff3b\112\uff3b"); - sb.append("\114\uff3b\115\uff3b\116\uff3b\120\uff3b\121\uff3b\122\uff3b\123"); - sb.append("\uff3b\124\uff3b\125\uff3b\126\uff3b\133\uff3b\151\uff3b\172\uff3b"); - sb.append("\173\uff3b\177\uff3b\200\uff3b\202\uff3b\203\uff3b\204\uff3b\205"); - sb.append("\uff3b\206\uff3b\207\uff3b\210\uff3b\211\uff3b\212\uff3b\213\uff3b"); - sb.append("\214\uff3b\216\uff3b\217\uff3b\220\uff3b\221\uff3b\222\uff3b\223"); - sb.append("\uff3b\224\uff3b\230\uff3b\233\uff3b\234\uff3b\235\uff3b\236\uff3b"); - sb.append("\240\uff3b\247\uff3b\250\uff3b\252\uff3b\253\uff3b\254\uff3b\255"); - sb.append("\uff3b\001\002\000\064\010\ufe77\012\ufe77\045\ufe77\046\ufe77"); - sb.append("\075\ufe77\076\ufe77\121\ufe77\150\ufe77\156\ufe77\222\ufe77\223"); - sb.append("\ufe77\224\ufe77\225\ufe77\226\ufe77\227\ufe77\230\ufe77\244\ufe77"); - sb.append("\250\ufe77\251\ufe77\253\ufe77\254\ufe77\255\ufe77\256\ufe77\257"); - sb.append("\ufe77\260\ufe77\001\002\000\056\010\ufe78\012\ufe78\045\ufe78"); - sb.append("\046\ufe78\075\ufe78\076\ufe78\121\ufe78\150\ufe78\222\ufe78\223"); - sb.append("\ufe78\224\ufe78\225\ufe78\226\ufe78\227\ufe78\230\ufe78\250\ufe78"); - sb.append("\253\ufe78\254\ufe78\255\ufe78\256\ufe78\257\ufe78\260\ufe78\001"); - sb.append("\002\000\012\010\u0447\121\u0443\254\u0444\255\u0449\001\002"); - sb.append("\000\026\010\244\012\ufee0\075\310\076\313\121\237\150"); - sb.append("\316\230\321\253\241\254\240\255\245\001\002\000\026"); - sb.append("\010\ufe85\012\ufe85\075\ufe85\076\ufe85\121\ufe85\150\ufe85\230"); - sb.append("\ufe85\253\ufe85\254\ufe85\255\ufe85\001\002\000\056\010\ufe7c"); - sb.append("\012\ufe7c\045\ufe7c\046\ufe7c\075\ufe7c\076\ufe7c\121\ufe7c\150"); - sb.append("\ufe7c\222\ufe7c\223\ufe7c\224\ufe7c\225\ufe7c\226\ufe7c\227\ufe7c"); - sb.append("\230\ufe7c\250\ufe7c\253\ufe7c\254\ufe7c\255\ufe7c\256\ufe7c\257"); - sb.append("\ufe7c\260\ufe7c\001\002\000\256\004\ufed7\005\ufed7\010\ufed7"); - sb.append("\012\ufed7\017\ufed7\020\ufed7\021\ufed7\022\ufed7\023\ufed7\024"); - sb.append("\ufed7\025\ufed7\026\ufed7\027\ufed7\030\ufed7\031\ufed7\032\ufed7"); - sb.append("\033\ufed7\034\ufed7\035\ufed7\036\ufed7\037\ufed7\040\ufed7\041"); - sb.append("\ufed7\042\ufed7\043\ufed7\044\ufed7\045\ufed7\046\ufed7\047\ufed7"); - sb.append("\050\ufed7\052\ufed7\053\ufed7\054\ufed7\055\ufed7\056\ufed7\057"); - sb.append("\ufed7\060\ufed7\061\ufed7\062\ufed7\063\ufed7\066\ufed7\067\ufed7"); - sb.append("\070\ufed7\073\ufed7\074\ufed7\075\ufed7\076\ufed7\077\ufed7\100"); - sb.append("\ufed7\101\ufed7\102\ufed7\103\ufed7\104\ufed7\111\ufed7\114\ufed7"); - sb.append("\115\ufed7\116\ufed7\121\ufed7\122\ufed7\123\ufed7\124\ufed7\125"); - sb.append("\ufed7\126\ufed7\130\ufed7\131\ufed7\132\ufed7\133\ufed7\151\ufed7"); - sb.append("\154\ufed7\156\ufed7\216\ufed7\217\ufed7\220\ufed7\221\ufed7\222"); - sb.append("\ufed7\223\ufed7\224\ufed7\225\ufed7\226\ufed7\227\ufed7\231\ufed7"); - sb.append("\240\ufed7\241\ufed7\244\ufed7\250\ufed7\251\ufed7\001\002\000"); - sb.append("\004\154\u0441\001\002\000\014\012\ufecd\154\u043e\156\ufecd"); - sb.append("\244\ufecd\251\ufecd\001\002\000\256\004\ufed6\005\ufed6\010"); - sb.append("\ufed6\012\ufed6\017\ufed6\020\ufed6\021\ufed6\022\ufed6\023\ufed6"); - sb.append("\024\ufed6\025\ufed6\026\ufed6\027\ufed6\030\ufed6\031\ufed6\032"); - sb.append("\ufed6\033\ufed6\034\ufed6\035\ufed6\036\ufed6\037\ufed6\040\ufed6"); - sb.append("\041\ufed6\042\ufed6\043\ufed6\044\ufed6\045\ufed6\046\ufed6\047"); - sb.append("\ufed6\050\ufed6\052\ufed6\053\ufed6\054\ufed6\055\ufed6\056\ufed6"); - sb.append("\057\ufed6\060\ufed6\061\ufed6\062\ufed6\063\ufed6\066\ufed6\067"); - sb.append("\ufed6\070\ufed6\073\ufed6\074\ufed6\075\ufed6\076\ufed6\077\ufed6"); - sb.append("\100\ufed6\101\ufed6\102\ufed6\103\ufed6\104\ufed6\111\ufed6\114"); - sb.append("\ufed6\115\ufed6\116\ufed6\121\ufed6\122\ufed6\123\ufed6\124\ufed6"); - sb.append("\125\ufed6\126\ufed6\130\ufed6\131\ufed6\132\ufed6\133\ufed6\151"); - sb.append("\ufed6\154\ufed6\156\ufed6\216\ufed6\217\ufed6\220\ufed6\221\ufed6"); - sb.append("\222\ufed6\223\ufed6\224\ufed6\225\ufed6\226\ufed6\227\ufed6\231"); - sb.append("\ufed6\240\ufed6\241\ufed6\244\ufed6\250\ufed6\251\ufed6\001\002"); - sb.append("\000\012\012\ufecc\156\ufecc\244\ufecc\251\330\001\002\000"); - sb.append("\004\012\333\001\002\000\020\010\244\075\310\076\313"); - sb.append("\121\237\253\241\254\240\255\245\001\002\000\256\004"); - sb.append("\ufed8\005\ufed8\010\ufed8\012\ufed8\017\ufed8\020\ufed8\021\ufed8"); - sb.append("\022\ufed8\023\ufed8\024\ufed8\025\ufed8\026\ufed8\027\ufed8\030"); - sb.append("\ufed8\031\ufed8\032\ufed8\033\ufed8\034\ufed8\035\ufed8\036\ufed8"); - sb.append("\037\ufed8\040\ufed8\041\ufed8\042\ufed8\043\ufed8\044\ufed8\045"); - sb.append("\ufed8\046\ufed8\047\ufed8\050\ufed8\052\ufed8\053\ufed8\054\ufed8"); - sb.append("\055\ufed8\056\ufed8\057\ufed8\060\ufed8\061\ufed8\062\ufed8\063"); - sb.append("\ufed8\066\ufed8\067\ufed8\070\ufed8\073\ufed8\074\ufed8\075\ufed8"); - sb.append("\076\ufed8\077\ufed8\100\ufed8\101\ufed8\102\ufed8\103\ufed8\104"); - sb.append("\ufed8\111\ufed8\114\ufed8\115\ufed8\116\ufed8\121\ufed8\122\ufed8"); - sb.append("\123\ufed8\124\ufed8\125\ufed8\126\ufed8\130\ufed8\131\ufed8\132"); - sb.append("\ufed8\133\ufed8\151\ufed8\154\ufed8\156\ufed8\216\ufed8\217\ufed8"); - sb.append("\220\ufed8\221\ufed8\222\ufed8\223\ufed8\224\ufed8\225\ufed8\226"); - sb.append("\ufed8\227\ufed8\231\ufed8\240\ufed8\241\ufed8\244\ufed8\250\ufed8"); - sb.append("\251\ufed8\001\002\000\012\012\ufedf\156\ufedf\244\ufedf\251"); - sb.append("\ufedf\001\002\000\020\010\244\075\310\076\313\121\237"); - sb.append("\253\241\254\240\255\245\001\002\000\014\012\ufecf\154"); - sb.append("\ufecb\156\ufecf\244\ufecf\251\323\001\002\000\020\010\244"); - sb.append("\075\310\076\313\121\237\253\241\254\240\255\245\001"); - sb.append("\002\000\014\012\ufec7\156\ufec7\231\ufec7\244\ufec7\251\ufec7"); - sb.append("\001\002\000\006\231\327\251\330\001\002\000\004\251"); - sb.append("\323\001\002\000\014\012\ufeca\154\ufeca\156\ufeca\244\ufeca"); - sb.append("\251\ufeca\001\002\000\020\010\244\075\310\076\313\121"); - sb.append("\237\253\241\254\240\255\245\001\002\000\014\012\ufec6"); - sb.append("\156\ufec6\231\ufec6\244\ufec6\251\ufec6\001\002\000\012\012"); - sb.append("\ufece\156\ufece\244\ufece\251\ufece\001\002\000\010\127\ufe6d"); - sb.append("\134\u043c\151\ufe6d\001\002\000\006\127\335\151\336\001"); - sb.append("\002\000\004\012\337\001\002\000\046\037\ufeac\045\ufeac"); - sb.append("\046\ufeac\056\ufeac\060\ufeac\112\ufeac\120\ufeac\222\ufeac\223"); - sb.append("\ufeac\224\ufeac\225\ufeac\226\ufeac\227\ufeac\247\ufeac\250\ufeac"); - sb.append("\256\ufeac\257\ufeac\260\ufeac\001\002\000\010\127\ufe6f\134"); - sb.append("\340\151\ufe6f\001\002\000\070\006\156\007\175\010\357"); - sb.append("\015\364\016\356\075\351\077\123\100\012\101\206\102"); - sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\172\362\173\352\177\347\200\354\214\360\222\341\230"); - sb.append("\366\236\060\253\147\254\064\255\055\001\002\000\126"); - sb.append("\031\ufde2\033\ufde2\071\ufde2\072\ufde2\073\ufde2\112\ufde2\113"); - sb.append("\ufde2\127\ufde2\130\ufde2\131\ufde2\132\ufde2\150\ufde2\151\ufde2"); - sb.append("\152\ufde2\153\ufde2\154\ufde2\155\ufde2\156\ufde2\157\ufde2\160"); - sb.append("\ufde2\161\ufde2\162\ufde2\163\ufde2\164\ufde2\165\ufde2\166\ufde2"); - sb.append("\167\ufde2\170\ufde2\171\ufde2\172\ufde2\173\ufde2\174\ufde2\175"); - sb.append("\ufde2\176\ufde2\201\ufde2\215\ufde2\230\ufde2\231\ufde2\232\ufde2"); - sb.append("\242\ufde2\245\ufde2\251\ufde2\001\002\000\010\071\u042e\072"); - sb.append("\u042c\113\u042d\001\002\000\116\073\ufdb7\111\u0138\112\ufdb7"); - sb.append("\127\ufdb7\130\ufdb7\131\ufdb7\132\ufdb7\150\ufdb7\151\ufdb7\152"); - sb.append("\ufdb7\153\ufdb7\154\ufdb7\155\ufdb7\156\ufdb7\157\ufdb7\160\ufdb7"); - sb.append("\161\ufdb7\162\ufdb7\163\ufdb7\164\ufdb7\165\ufdb7\166\ufdb7\167"); - sb.append("\ufdb7\170\ufdb7\171\ufdb7\172\ufdb7\173\ufdb7\174\ufdb7\175\ufdb7"); - sb.append("\176\ufdb7\201\ufdb7\214\u0139\215\ufdb7\231\ufdb7\232\ufdb7\242"); - sb.append("\ufdb7\245\ufdb7\251\ufdb7\001\002\000\106\073\ufd90\127\ufd90"); - sb.append("\130\u0105\131\u0115\132\374\150\u0101\151\ufd90\152\375\153"); - sb.append("\u010e\154\376\155\u0107\156\u010f\157\u0114\160\u0108\161\371"); - sb.append("\162\u0106\163\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170"); - sb.append("\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175\u010a\176\373"); - sb.append("\201\u0100\215\ufd90\231\ufd90\242\377\245\372\251\u0113\001"); - sb.append("\002\000\112\073\ufdbf\112\ufdbf\127\ufdbf\130\ufdbf\131\ufdbf"); - sb.append("\132\ufdbf\150\ufdbf\151\ufdbf\152\ufdbf\153\ufdbf\154\ufdbf\155"); - sb.append("\ufdbf\156\ufdbf\157\ufdbf\160\ufdbf\161\ufdbf\162\ufdbf\163\ufdbf"); - sb.append("\164\ufdbf\165\ufdbf\166\ufdbf\167\ufdbf\170\ufdbf\171\ufdbf\172"); - sb.append("\ufdbf\173\ufdbf\174\ufdbf\175\ufdbf\176\ufdbf\201\ufdbf\215\ufdbf"); - sb.append("\231\ufdbf\232\ufdbf\242\ufdbf\245\ufdbf\251\ufdbf\001\002\000"); - sb.append("\126\031\ufde1\033\ufde1\071\ufde1\072\ufde1\073\ufde1\112\ufde1"); - sb.append("\113\ufde1\127\ufde1\130\ufde1\131\ufde1\132\ufde1\150\ufde1\151"); - sb.append("\ufde1\152\ufde1\153\ufde1\154\ufde1\155\ufde1\156\ufde1\157\ufde1"); - sb.append("\160\ufde1\161\ufde1\162\ufde1\163\ufde1\164\ufde1\165\ufde1\166"); - sb.append("\ufde1\167\ufde1\170\ufde1\171\ufde1\172\ufde1\173\ufde1\174\ufde1"); - sb.append("\175\ufde1\176\ufde1\201\ufde1\215\ufde1\230\ufde1\231\ufde1\232"); - sb.append("\ufde1\242\ufde1\245\ufde1\251\ufde1\001\002\000\070\006\156"); - sb.append("\007\175\010\357\015\364\016\356\075\351\077\123\100"); - sb.append("\012\101\206\102\041\103\144\104\117\105\141\115\136"); - sb.append("\116\046\121\160\172\362\173\352\177\347\200\354\214"); - sb.append("\360\222\341\230\366\236\060\253\147\254\064\255\055"); - sb.append("\001\002\000\114\073\ufdb6\112\ufdb6\127\ufdb6\130\ufdb6\131"); - sb.append("\ufdb6\132\ufdb6\150\ufdb6\151\ufdb6\152\ufdb6\153\ufdb6\154\ufdb6"); - sb.append("\155\ufdb6\156\ufdb6\157\ufdb6\160\ufdb6\161\ufdb6\162\ufdb6\163"); - sb.append("\ufdb6\164\ufdb6\165\ufdb6\166\ufdb6\167\ufdb6\170\ufdb6\171\ufdb6"); - sb.append("\172\ufdb6\173\ufdb6\174\ufdb6\175\ufdb6\176\ufdb6\201\ufdb6\214"); - sb.append("\u0427\215\ufdb6\231\ufdb6\232\ufdb6\242\ufdb6\245\ufdb6\251\ufdb6"); - sb.append("\001\002\000\004\230\u0424\001\002\000\070\006\156\007"); - sb.append("\175\010\357\015\364\016\356\075\351\077\123\100\012"); - sb.append("\101\206\102\041\103\144\104\117\105\141\115\136\116"); - sb.append("\046\121\160\172\362\173\352\177\347\200\354\214\360"); - sb.append("\222\341\230\366\236\060\253\147\254\064\255\055\001"); - sb.append("\002\000\120\071\u015a\072\u0158\073\ufdbd\112\ufdbd\113\u0159"); - sb.append("\127\ufdbd\130\ufdbd\131\ufdbd\132\ufdbd\150\ufdbd\151\ufdbd\152"); - sb.append("\ufdbd\153\ufdbd\154\ufdbd\155\ufdbd\156\ufdbd\157\ufdbd\160\ufdbd"); - sb.append("\161\ufdbd\162\ufdbd\163\ufdbd\164\ufdbd\165\ufdbd\166\ufdbd\167"); - sb.append("\ufdbd\170\ufdbd\171\ufdbd\172\ufdbd\173\ufdbd\174\ufdbd\175\ufdbd"); - sb.append("\176\ufdbd\201\ufdbd\215\ufdbd\231\ufdbd\232\ufdbd\242\ufdbd\245"); - sb.append("\ufdbd\251\ufdbd\001\002\000\070\006\156\007\175\010\357"); - sb.append("\015\364\016\356\075\351\077\123\100\012\101\206\102"); - sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\172\362\173\352\177\347\200\354\214\360\222\341\230"); - sb.append("\366\236\060\253\147\254\064\255\055\001\002\000\114"); - sb.append("\073\ufdbe\112\ufdbe\127\ufdbe\130\ufdbe\131\ufdbe\132\ufdbe\150"); - sb.append("\ufdbe\151\ufdbe\152\ufdbe\153\ufdbe\154\ufdbe\155\ufdbe\156\ufdbe"); - sb.append("\157\ufdbe\160\ufdbe\161\ufdbe\162\ufdbe\163\ufdbe\164\ufdbe\165"); - sb.append("\ufdbe\166\ufdbe\167\ufdbe\170\ufdbe\171\ufdbe\172\ufdbe\173\ufdbe"); - sb.append("\174\ufdbe\175\ufdbe\176\ufdbe\201\ufdbe\214\u0154\215\ufdbe\231"); - sb.append("\ufdbe\232\ufdbe\242\ufdbe\245\ufdbe\251\ufdbe\001\002\000\116"); - sb.append("\073\ufdca\111\u0138\112\ufdca\127\ufdca\130\ufdca\131\ufdca\132"); - sb.append("\ufdca\150\ufdca\151\ufdca\152\ufdca\153\ufdca\154\ufdca\155\ufdca"); - sb.append("\156\ufdca\157\ufdca\160\ufdca\161\ufdca\162\ufdca\163\ufdca\164"); - sb.append("\ufdca\165\ufdca\166\ufdca\167\ufdca\170\ufdca\171\ufdca\172\ufdca"); - sb.append("\173\ufdca\174\ufdca\175\ufdca\176\ufdca\201\ufdca\214\u0139\215"); - sb.append("\ufdca\231\ufdca\232\ufdca\242\ufdca\245\ufdca\251\ufdca\001\002"); - sb.append("\000\122\071\ufde0\072\ufde0\073\ufff8\112\ufff8\113\ufde0\127"); - sb.append("\ufff8\130\ufff8\131\ufff8\132\ufff8\150\ufff8\151\ufff8\152\ufff8"); - sb.append("\153\ufff8\154\ufff8\155\ufff8\156\ufff8\157\ufff8\160\ufff8\161"); - sb.append("\ufff8\162\ufff8\163\ufff8\164\ufff8\165\ufff8\166\ufff8\167\ufff8"); - sb.append("\170\ufff8\171\ufff8\172\ufff8\173\ufff8\174\ufff8\175\ufff8\176"); - sb.append("\ufff8\201\ufff8\214\u0150\215\ufff8\231\ufff8\232\ufff8\242\ufff8"); - sb.append("\245\ufff8\251\ufff8\001\002\000\074\006\156\007\175\010"); - sb.append("\357\015\364\016\356\075\351\077\123\100\012\101\206"); + sb.append("\123\065\124\124\125\116\126\131\133\020\151\u04a5\173"); + sb.append("\104\174\176\200\130\201\067\203\054\204\120\205\207"); + sb.append("\206\154\207\216\210\151\211\142\212\155\213\063\214"); + sb.append("\074\215\114\217\101\223\u01b2\231\u04a9\234\152\235\015"); + sb.append("\236\073\237\060\250\021\254\147\255\064\256\055\001"); + sb.append("\002\000\174\031\ufd1b\033\ufd1b\071\ufd1b\072\ufd1b\073\ufd1b"); + sb.append("\111\u0273\112\ufd1b\113\ufd28\127\ufd1b\130\ufd1b\131\ufd1b\132"); + sb.append("\ufd1b\134\ufd1b\135\ufd1b\136\ufd1b\137\ufd1b\140\ufd1b\141\ufd1b"); + sb.append("\142\ufd1b\143\ufd1b\144\ufd1b\145\ufd1b\146\ufd1b\147\ufd1b\150"); + sb.append("\ufd1b\151\ufd1b\152\ufd1b\153\ufd1b\154\ufd1b\155\ufd1b\156\ufd1b"); + sb.append("\157\ufd1b\160\ufd1b\161\ufd1b\162\ufd1b\163\ufd1b\164\ufd1b\165"); + sb.append("\ufd1b\166\ufd1b\167\ufd1b\170\ufd1b\171\ufd1b\172\ufd1b\173\ufd1b"); + sb.append("\174\ufd1b\175\ufd1b\176\ufd1b\177\ufd1b\202\ufd1b\203\ufd1b\204"); + sb.append("\ufd1b\215\u0274\216\ufd1b\231\ufd2c\232\ufd1b\233\ufd1b\243\ufd1b"); + sb.append("\244\ufd1b\246\ufd1b\247\ufd1b\252\ufd1b\001\002\000\170\004"); + sb.append("\202\006\156\007\175\010\u01b1\011\204\012\075\015\031"); + sb.append("\016\071\032\106\036\125\044\222\045\u01b3\054\026\062"); + sb.append("\210\063\010\074\051\075\166\077\123\100\012\101\206"); sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); - sb.append("\160\172\362\173\352\177\347\200\354\214\360\215\ufd70"); - sb.append("\222\341\230\366\236\060\244\u0141\253\147\254\064\255"); - sb.append("\055\001\002\000\112\073\ufdbb\112\ufdbb\127\ufdbb\130\ufdbb"); - sb.append("\131\ufdbb\132\ufdbb\150\ufdbb\151\ufdbb\152\ufdbb\153\ufdbb\154"); - sb.append("\ufdbb\155\ufdbb\156\ufdbb\157\ufdbb\160\ufdbb\161\ufdbb\162\ufdbb"); - sb.append("\163\ufdbb\164\ufdbb\165\ufdbb\166\ufdbb\167\ufdbb\170\ufdbb\171"); - sb.append("\ufdbb\172\ufdbb\173\ufdbb\174\ufdbb\175\ufdbb\176\ufdbb\201\ufdbb"); - sb.append("\215\ufdbb\231\ufdbb\232\ufdbb\242\ufdbb\245\ufdbb\251\ufdbb\001"); - sb.append("\002\000\070\006\156\007\175\010\357\015\364\016\356"); - sb.append("\075\351\077\123\100\012\101\206\102\041\103\144\104"); - sb.append("\117\105\141\115\136\116\046\121\160\172\362\173\352"); - sb.append("\177\347\200\354\214\360\222\341\230\366\236\060\253"); - sb.append("\147\254\064\255\055\001\002\000\112\073\ufdbc\112\ufdbc"); - sb.append("\127\ufdbc\130\ufdbc\131\ufdbc\132\ufdbc\150\ufdbc\151\ufdbc\152"); - sb.append("\ufdbc\153\ufdbc\154\ufdbc\155\ufdbc\156\ufdbc\157\ufdbc\160\ufdbc"); - sb.append("\161\ufdbc\162\ufdbc\163\ufdbc\164\ufdbc\165\ufdbc\166\ufdbc\167"); - sb.append("\ufdbc\170\ufdbc\171\ufdbc\172\ufdbc\173\ufdbc\174\ufdbc\175\ufdbc"); - sb.append("\176\ufdbc\201\ufdbc\215\ufdbc\231\ufdbc\232\ufdbc\242\ufdbc\245"); - sb.append("\ufdbc\251\ufdbc\001\002\000\006\111\u0138\214\u0139\001\002"); - sb.append("\000\116\073\ufdb8\111\u0138\112\ufdb8\127\ufdb8\130\ufdb8\131"); - sb.append("\ufdb8\132\ufdb8\150\ufdb8\151\ufdb8\152\ufdb8\153\ufdb8\154\ufdb8"); - sb.append("\155\ufdb8\156\ufdb8\157\ufdb8\160\ufdb8\161\ufdb8\162\ufdb8\163"); - sb.append("\ufdb8\164\ufdb8\165\ufdb8\166\ufdb8\167\ufdb8\170\ufdb8\171\ufdb8"); - sb.append("\172\ufdb8\173\ufdb8\174\ufdb8\175\ufdb8\176\ufdb8\201\ufdb8\214"); - sb.append("\u0139\215\ufdb8\231\ufdb8\232\ufdb8\242\ufdb8\245\ufdb8\251\ufdb8"); - sb.append("\001\002\000\070\006\156\007\175\010\357\015\364\016"); - sb.append("\356\075\351\077\123\100\012\101\206\102\041\103\144"); - sb.append("\104\117\105\141\115\136\116\046\121\160\172\362\173"); - sb.append("\352\177\347\200\354\214\360\222\341\230\366\236\060"); - sb.append("\253\147\254\064\255\055\001\002\000\006\127\ufe6e\151"); - sb.append("\ufe6e\001\002\000\076\130\u0105\131\u0115\132\374\150\u0101"); - sb.append("\152\375\153\u010e\154\376\155\u0107\156\u010f\157\u0114\160"); - sb.append("\u0108\161\371\162\u0106\163\u0112\164\u0111\165\u0104\166\u0102"); - sb.append("\167\u0110\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175"); - sb.append("\u010a\176\373\201\u0100\231\u010b\242\377\245\372\251\u0113"); - sb.append("\001\002\000\070\006\156\007\175\010\357\015\364\016"); - sb.append("\356\075\351\077\123\100\012\101\206\102\041\103\144"); - sb.append("\104\117\105\141\115\136\116\046\121\160\172\362\173"); - sb.append("\352\177\347\200\354\214\360\222\341\230\366\236\060"); - sb.append("\253\147\254\064\255\055\001\002\000\070\006\156\007"); - sb.append("\175\010\357\015\364\016\356\075\351\077\123\100\012"); - sb.append("\101\206\102\041\103\144\104\117\105\141\115\136\116"); - sb.append("\046\121\160\172\362\173\352\177\347\200\354\214\360"); - sb.append("\222\341\230\366\236\060\253\147\254\064\255\055\001"); - sb.append("\002\000\070\006\156\007\175\010\357\015\364\016\356"); + sb.append("\160\122\013\123\065\124\124\125\116\126\131\133\020"); + sb.append("\173\104\174\176\200\130\201\067\203\054\204\120\205"); + sb.append("\207\206\154\207\216\210\151\211\142\212\155\213\063"); + sb.append("\214\074\215\114\217\101\223\u01b2\231\u01b5\234\152\235"); + sb.append("\015\236\073\237\060\250\021\254\147\255\064\256\055"); + sb.append("\001\002\000\120\031\ufe0f\033\ufe0f\073\ufe0f\112\ufe0f\127"); + sb.append("\ufe0f\130\ufe0f\131\ufe0f\132\ufe0f\150\ufe0f\151\ufe0f\152\ufe0f"); + sb.append("\153\ufe0f\154\ufe0f\155\ufe0f\156\ufe0f\157\ufe0f\160\ufe0f\161"); + sb.append("\ufe0f\162\ufe0f\163\ufe0f\164\ufe0f\165\ufe0f\166\ufe0f\167\ufe0f"); + sb.append("\170\ufe0f\171\ufe0f\172\ufe0f\173\ufe0f\174\ufe0f\175\ufe0f\176"); + sb.append("\ufe0f\177\ufe0f\202\ufe0f\216\ufe0f\232\ufe0f\233\ufe0f\243\ufe0f"); + sb.append("\246\ufe0f\252\ufe0f\001\002\000\170\004\202\006\156\007"); + sb.append("\175\010\u01b1\011\204\012\075\015\031\016\071\032\106"); + sb.append("\036\125\044\222\045\u01b3\054\026\062\210\063\010\074"); + sb.append("\051\075\166\077\123\100\012\101\206\102\041\103\144"); + sb.append("\104\117\105\141\115\136\116\046\121\160\122\013\123"); + sb.append("\065\124\124\125\116\126\131\133\020\173\104\174\176"); + sb.append("\200\130\201\067\203\054\204\120\205\207\206\154\207"); + sb.append("\216\210\151\211\142\212\155\213\063\214\074\215\114"); + sb.append("\217\101\223\u01b2\231\u01b5\234\152\235\015\236\073\237"); + sb.append("\060\250\021\254\147\255\064\256\055\001\002\000\120"); + sb.append("\031\ufff8\071\ufddf\072\ufddf\111\u0273\113\ufddf\130\ufff8\131"); + sb.append("\ufff8\132\ufff8\150\ufff8\151\ufff8\152\ufff8\153\ufff8\154\ufff8"); + sb.append("\155\ufff8\156\ufff8\157\ufff8\160\ufff8\161\ufff8\162\ufff8\163"); + sb.append("\ufff8\164\ufff8\165\ufff8\166\ufff8\167\ufff8\170\ufff8\171\ufff8"); + sb.append("\172\ufff8\173\ufff8\174\ufff8\175\ufff8\176\ufff8\177\ufff8\202"); + sb.append("\ufff8\215\u0274\231\ufddf\233\u04a2\243\ufff8\246\ufff8\252\ufff8"); + sb.append("\001\002\000\126\031\ufcd5\033\ufcd5\073\ufcd5\111\ufcd5\112"); + sb.append("\ufcd5\113\u02ec\127\ufcd5\130\ufcd5\131\ufcd5\132\ufcd5\150\ufcd5"); + sb.append("\151\ufcd5\152\ufcd5\153\ufcd5\154\ufcd5\155\ufcd5\156\ufcd5\157"); + sb.append("\ufcd5\160\ufcd5\161\ufcd5\162\ufcd5\163\ufcd5\164\ufcd5\165\ufcd5"); + sb.append("\166\ufcd5\167\ufcd5\170\ufcd5\171\ufcd5\172\ufcd5\173\ufcd5\174"); + sb.append("\ufcd5\175\ufcd5\176\ufcd5\177\ufcd5\202\ufcd5\215\ufcd5\216\ufcd5"); + sb.append("\232\ufcd5\233\ufcd5\243\ufcd5\246\ufcd5\252\ufcd5\001\002\000"); + sb.append("\030\044\222\045\023\065\027\066\111\223\u03ae\224\030"); + sb.append("\225\115\241\105\250\021\251\231\253\227\001\002\000"); + sb.append("\010\157\u0228\231\uff43\252\u022b\001\002\000\124\031\ufd74"); + sb.append("\033\ufd74\073\ufd74\111\u0273\112\ufd74\127\ufd74\130\ufd74\131"); + sb.append("\ufd74\132\ufd74\150\ufd74\151\ufd74\152\ufd74\153\ufd74\154\ufd74"); + sb.append("\155\ufd74\156\ufd74\157\ufd74\160\ufd74\161\ufd74\162\ufd74\163"); + sb.append("\ufd74\164\ufd74\165\ufd74\166\ufd74\167\ufd74\170\ufd74\171\ufd74"); + sb.append("\172\ufd74\173\ufd74\174\ufd74\175\ufd74\176\ufd74\177\ufd74\202"); + sb.append("\ufd74\215\u0274\216\ufd74\232\ufd74\233\ufd74\243\ufd74\246\ufd74"); + sb.append("\252\ufd74\001\002\000\006\012\075\234\u0299\001\002\000"); + sb.append("\276\002\uff9b\003\uff9b\004\uff9b\005\uff9b\006\uff9b\007\uff9b"); + sb.append("\010\uff9b\011\uff9b\012\uff9b\014\uff9b\015\uff9b\016\uff9b\017"); + sb.append("\uff9b\020\uff9b\021\uff9b\023\uff9b\025\uff9b\027\uff9b\032\uff9b"); + sb.append("\034\uff9b\036\uff9b\041\uff9b\042\uff9b\043\uff9b\044\uff9b\045"); + sb.append("\uff9b\046\uff9b\047\uff9b\050\uff9b\051\uff9b\052\uff9b\054\uff9b"); + sb.append("\056\uff9b\057\uff9b\061\uff9b\062\uff9b\063\uff9b\064\uff9b\065"); + sb.append("\uff9b\066\uff9b\074\uff9b\075\uff9b\077\uff9b\100\uff9b\101\uff9b"); + sb.append("\102\uff9b\103\uff9b\104\uff9b\105\uff9b\111\uff9b\112\uff9b\114"); + sb.append("\uff9b\115\uff9b\116\uff9b\120\uff9b\121\uff9b\122\uff9b\123\uff9b"); + sb.append("\124\uff9b\125\uff9b\126\uff9b\133\uff9b\151\uff9b\173\uff9b\174"); + sb.append("\uff9b\200\uff9b\201\uff9b\203\uff9b\204\uff9b\205\uff9b\206\uff9b"); + sb.append("\207\uff9b\210\uff9b\211\uff9b\212\uff9b\213\uff9b\214\uff9b\215"); + sb.append("\uff9b\217\uff9b\223\uff9b\224\uff9b\225\uff9b\231\uff9b\234\uff9b"); + sb.append("\235\uff9b\236\uff9b\237\uff9b\241\uff9b\250\uff9b\251\uff9b\253"); + sb.append("\uff9b\254\uff9b\255\uff9b\256\uff9b\001\002\000\004\010\u049d"); + sb.append("\001\002\000\004\010\232\001\002\000\174\031\ufd0c\033"); + sb.append("\ufd0c\071\ufd0c\072\ufd0c\073\ufd0c\111\ufd0c\112\ufd0c\113\ufd0c"); + sb.append("\127\ufd0c\130\ufd0c\131\ufd0c\132\ufd0c\134\ufd0c\135\ufd0c\136"); + sb.append("\ufd0c\137\ufd0c\140\ufd0c\141\ufd0c\142\ufd0c\143\ufd0c\144\ufd0c"); + sb.append("\145\ufd0c\146\ufd0c\147\ufd0c\150\ufd0c\151\ufd0c\152\ufd0c\153"); + sb.append("\ufd0c\154\ufd0c\155\ufd0c\156\ufd0c\157\ufd0c\160\ufd0c\161\ufd0c"); + sb.append("\162\ufd0c\163\ufd0c\164\ufd0c\165\ufd0c\166\ufd0c\167\ufd0c\170"); + sb.append("\ufd0c\171\ufd0c\172\ufd0c\173\ufd0c\174\ufd0c\175\ufd0c\176\ufd0c"); + sb.append("\177\ufd0c\202\ufd0c\203\ufd0c\204\ufd0c\215\ufd0c\216\ufd0c\231"); + sb.append("\ufd0c\232\ufd0c\233\ufd0c\243\ufd0c\244\ufd0c\246\ufd0c\247\ufd0c"); + sb.append("\252\ufd0c\001\002\000\012\065\uff28\224\uff28\225\uff28\251"); + sb.append("\uff28\001\002\000\010\070\ufea8\111\ufea8\233\233\001\002"); + sb.append("\000\026\010\244\075\310\076\313\121\240\150\u024e\223"); + sb.append("\u024d\231\u0250\254\241\255\237\256\245\001\002\000\006"); + sb.append("\070\236\111\uff20\001\002\000\004\111\250\001\002\000"); + sb.append("\014\010\244\121\240\254\241\255\237\256\245\001\002"); + sb.append("\000\356\004\ufddd\005\ufddd\010\ufddd\012\ufddd\017\ufddd\020"); + sb.append("\ufddd\021\ufddd\022\ufddd\023\ufddd\024\ufddd\025\ufddd\026\ufddd"); + sb.append("\027\ufddd\030\ufddd\031\ufddd\032\ufddd\033\ufddd\034\ufddd\035"); + sb.append("\ufddd\036\ufddd\037\ufddd\040\ufddd\041\ufddd\042\ufddd\043\ufddd"); + sb.append("\044\ufddd\045\ufddd\046\ufddd\047\ufddd\050\ufddd\052\ufddd\053"); + sb.append("\ufddd\054\ufddd\055\ufddd\056\ufddd\057\ufddd\060\ufddd\061\ufddd"); + sb.append("\062\ufddd\063\ufddd\066\ufddd\067\ufddd\070\ufddd\071\ufddd\072"); + sb.append("\ufddd\073\ufddd\074\ufddd\075\ufddd\076\ufddd\077\ufddd\100\ufddd"); + sb.append("\101\ufddd\102\ufddd\103\ufddd\104\ufddd\111\ufddd\112\ufddd\113"); + sb.append("\ufddd\114\ufddd\115\ufddd\116\ufddd\121\ufddd\122\ufddd\123\ufddd"); + sb.append("\124\ufddd\125\ufddd\126\ufddd\127\ufddd\130\ufddd\131\ufddd\132"); + sb.append("\ufddd\133\ufddd\150\ufddd\151\ufddd\152\ufddd\153\ufddd\154\ufddd"); + sb.append("\155\ufddd\156\ufddd\157\ufddd\160\ufddd\161\ufddd\162\ufddd\163"); + sb.append("\ufddd\164\ufddd\165\ufddd\166\ufddd\167\ufddd\170\ufddd\171\ufddd"); + sb.append("\172\ufddd\173\ufddd\174\ufddd\175\ufddd\176\ufddd\177\ufddd\202"); + sb.append("\ufddd\216\ufddd\217\ufddd\220\ufddd\221\ufddd\222\ufddd\223\ufddd"); + sb.append("\224\ufddd\225\ufddd\226\ufddd\227\ufddd\230\ufddd\231\ufddd\232"); + sb.append("\ufddd\233\ufddd\241\ufddd\242\ufddd\243\ufddd\245\ufddd\246\ufddd"); + sb.append("\251\ufddd\252\ufddd\001\002\000\356\004\ufdde\005\ufdde\010"); + sb.append("\ufdde\012\ufdde\017\ufdde\020\ufdde\021\ufdde\022\ufdde\023\ufdde"); + sb.append("\024\ufdde\025\ufdde\026\ufdde\027\ufdde\030\ufdde\031\ufdde\032"); + sb.append("\ufdde\033\ufdde\034\ufdde\035\ufdde\036\ufdde\037\ufdde\040\ufdde"); + sb.append("\041\ufdde\042\ufdde\043\ufdde\044\ufdde\045\ufdde\046\ufdde\047"); + sb.append("\ufdde\050\ufdde\052\ufdde\053\ufdde\054\ufdde\055\ufdde\056\ufdde"); + sb.append("\057\ufdde\060\ufdde\061\ufdde\062\ufdde\063\ufdde\066\ufdde\067"); + sb.append("\ufdde\070\ufdde\071\ufdde\072\ufdde\073\ufdde\074\ufdde\075\ufdde"); + sb.append("\076\ufdde\077\ufdde\100\ufdde\101\ufdde\102\ufdde\103\ufdde\104"); + sb.append("\ufdde\111\ufdde\112\ufdde\113\ufdde\114\ufdde\115\ufdde\116\ufdde"); + sb.append("\121\ufdde\122\ufdde\123\ufdde\124\ufdde\125\ufdde\126\ufdde\127"); + sb.append("\ufdde\130\ufdde\131\ufdde\132\ufdde\133\ufdde\150\ufdde\151\ufdde"); + sb.append("\152\ufdde\153\ufdde\154\ufdde\155\ufdde\156\ufdde\157\ufdde\160"); + sb.append("\ufdde\161\ufdde\162\ufdde\163\ufdde\164\ufdde\165\ufdde\166\ufdde"); + sb.append("\167\ufdde\170\ufdde\171\ufdde\172\ufdde\173\ufdde\174\ufdde\175"); + sb.append("\ufdde\176\ufdde\177\ufdde\202\ufdde\216\ufdde\217\ufdde\220\ufdde"); + sb.append("\221\ufdde\222\ufdde\223\ufdde\224\ufdde\225\ufdde\226\ufdde\227"); + sb.append("\ufdde\230\ufdde\231\ufdde\232\ufdde\233\ufdde\241\ufdde\242\ufdde"); + sb.append("\243\ufdde\245\ufdde\246\ufdde\251\ufdde\252\ufdde\001\002\000"); + sb.append("\356\004\ufddb\005\ufddb\010\ufddb\012\ufddb\017\ufddb\020\ufddb"); + sb.append("\021\ufddb\022\ufddb\023\ufddb\024\ufddb\025\ufddb\026\ufddb\027"); + sb.append("\ufddb\030\ufddb\031\ufddb\032\ufddb\033\ufddb\034\ufddb\035\ufddb"); + sb.append("\036\ufddb\037\ufddb\040\ufddb\041\ufddb\042\ufddb\043\ufddb\044"); + sb.append("\ufddb\045\ufddb\046\ufddb\047\ufddb\050\ufddb\052\ufddb\053\ufddb"); + sb.append("\054\ufddb\055\ufddb\056\ufddb\057\ufddb\060\ufddb\061\ufddb\062"); + sb.append("\ufddb\063\ufddb\066\ufddb\067\ufddb\070\ufddb\071\ufddb\072\ufddb"); + sb.append("\073\ufddb\074\ufddb\075\ufddb\076\ufddb\077\ufddb\100\ufddb\101"); + sb.append("\ufddb\102\ufddb\103\ufddb\104\ufddb\111\ufddb\112\ufddb\113\ufddb"); + sb.append("\114\ufddb\115\ufddb\116\ufddb\121\ufddb\122\ufddb\123\ufddb\124"); + sb.append("\ufddb\125\ufddb\126\ufddb\127\ufddb\130\ufddb\131\ufddb\132\ufddb"); + sb.append("\133\ufddb\150\ufddb\151\ufddb\152\ufddb\153\ufddb\154\ufddb\155"); + sb.append("\ufddb\156\ufddb\157\ufddb\160\ufddb\161\ufddb\162\ufddb\163\ufddb"); + sb.append("\164\ufddb\165\ufddb\166\ufddb\167\ufddb\170\ufddb\171\ufddb\172"); + sb.append("\ufddb\173\ufddb\174\ufddb\175\ufddb\176\ufddb\177\ufddb\202\ufddb"); + sb.append("\216\ufddb\217\ufddb\220\ufddb\221\ufddb\222\ufddb\223\ufddb\224"); + sb.append("\ufddb\225\ufddb\226\ufddb\227\ufddb\230\ufddb\231\ufddb\232\ufddb"); + sb.append("\233\ufddb\241\ufddb\242\ufddb\243\ufddb\245\ufddb\246\ufddb\251"); + sb.append("\ufddb\252\ufddb\001\002\000\006\111\uff1f\127\246\001\002"); + sb.append("\000\006\111\uff1e\127\uff1e\001\002\000\356\004\ufddf\005"); + sb.append("\ufddf\010\ufddf\012\ufddf\017\ufddf\020\ufddf\021\ufddf\022\ufddf"); + sb.append("\023\ufddf\024\ufddf\025\ufddf\026\ufddf\027\ufddf\030\ufddf\031"); + sb.append("\ufddf\032\ufddf\033\ufddf\034\ufddf\035\ufddf\036\ufddf\037\ufddf"); + sb.append("\040\ufddf\041\ufddf\042\ufddf\043\ufddf\044\ufddf\045\ufddf\046"); + sb.append("\ufddf\047\ufddf\050\ufddf\052\ufddf\053\ufddf\054\ufddf\055\ufddf"); + sb.append("\056\ufddf\057\ufddf\060\ufddf\061\ufddf\062\ufddf\063\ufddf\066"); + sb.append("\ufddf\067\ufddf\070\ufddf\071\ufddf\072\ufddf\073\ufddf\074\ufddf"); + sb.append("\075\ufddf\076\ufddf\077\ufddf\100\ufddf\101\ufddf\102\ufddf\103"); + sb.append("\ufddf\104\ufddf\111\ufddf\112\ufddf\113\ufddf\114\ufddf\115\ufddf"); + sb.append("\116\ufddf\121\ufddf\122\ufddf\123\ufddf\124\ufddf\125\ufddf\126"); + sb.append("\ufddf\127\ufddf\130\ufddf\131\ufddf\132\ufddf\133\ufddf\150\ufddf"); + sb.append("\151\ufddf\152\ufddf\153\ufddf\154\ufddf\155\ufddf\156\ufddf\157"); + sb.append("\ufddf\160\ufddf\161\ufddf\162\ufddf\163\ufddf\164\ufddf\165\ufddf"); + sb.append("\166\ufddf\167\ufddf\170\ufddf\171\ufddf\172\ufddf\173\ufddf\174"); + sb.append("\ufddf\175\ufddf\176\ufddf\177\ufddf\202\ufddf\216\ufddf\217\ufddf"); + sb.append("\220\ufddf\221\ufddf\222\ufddf\223\ufddf\224\ufddf\225\ufddf\226"); + sb.append("\ufddf\227\ufddf\230\ufddf\231\ufddf\232\ufddf\233\ufddf\241\ufddf"); + sb.append("\242\ufddf\243\ufddf\245\ufddf\246\ufddf\251\ufddf\252\ufddf\001"); + sb.append("\002\000\356\004\ufddc\005\ufddc\010\ufddc\012\ufddc\017\ufddc"); + sb.append("\020\ufddc\021\ufddc\022\ufddc\023\ufddc\024\ufddc\025\ufddc\026"); + sb.append("\ufddc\027\ufddc\030\ufddc\031\ufddc\032\ufddc\033\ufddc\034\ufddc"); + sb.append("\035\ufddc\036\ufddc\037\ufddc\040\ufddc\041\ufddc\042\ufddc\043"); + sb.append("\ufddc\044\ufddc\045\ufddc\046\ufddc\047\ufddc\050\ufddc\052\ufddc"); + sb.append("\053\ufddc\054\ufddc\055\ufddc\056\ufddc\057\ufddc\060\ufddc\061"); + sb.append("\ufddc\062\ufddc\063\ufddc\066\ufddc\067\ufddc\070\ufddc\071\ufddc"); + sb.append("\072\ufddc\073\ufddc\074\ufddc\075\ufddc\076\ufddc\077\ufddc\100"); + sb.append("\ufddc\101\ufddc\102\ufddc\103\ufddc\104\ufddc\111\ufddc\112\ufddc"); + sb.append("\113\ufddc\114\ufddc\115\ufddc\116\ufddc\121\ufddc\122\ufddc\123"); + sb.append("\ufddc\124\ufddc\125\ufddc\126\ufddc\127\ufddc\130\ufddc\131\ufddc"); + sb.append("\132\ufddc\133\ufddc\150\ufddc\151\ufddc\152\ufddc\153\ufddc\154"); + sb.append("\ufddc\155\ufddc\156\ufddc\157\ufddc\160\ufddc\161\ufddc\162\ufddc"); + sb.append("\163\ufddc\164\ufddc\165\ufddc\166\ufddc\167\ufddc\170\ufddc\171"); + sb.append("\ufddc\172\ufddc\173\ufddc\174\ufddc\175\ufddc\176\ufddc\177\ufddc"); + sb.append("\202\ufddc\216\ufddc\217\ufddc\220\ufddc\221\ufddc\222\ufddc\223"); + sb.append("\ufddc\224\ufddc\225\ufddc\226\ufddc\227\ufddc\230\ufddc\231\ufddc"); + sb.append("\232\ufddc\233\ufddc\241\ufddc\242\ufddc\243\ufddc\245\ufddc\246"); + sb.append("\ufddc\251\ufddc\252\ufddc\001\002\000\014\010\244\121\240"); + sb.append("\254\241\255\237\256\245\001\002\000\006\111\uff1d\127"); + sb.append("\uff1d\001\002\000\046\037\ufead\045\ufead\046\ufead\056\ufead"); + sb.append("\060\ufead\112\ufead\120\ufead\223\ufead\224\ufead\225\ufead\226"); + sb.append("\ufead\227\ufead\230\ufead\250\ufead\251\ufead\257\ufead\260\ufead"); + sb.append("\261\ufead\001\002\000\046\037\274\045\ufe84\046\ufe88\056"); + sb.append("\304\060\306\112\301\120\300\223\303\224\264\225\265"); + sb.append("\226\277\227\257\230\302\250\021\251\254\257\271\260"); + sb.append("\275\261\261\001\002\000\046\037\ufea2\045\ufea2\046\ufea2"); + sb.append("\056\ufea2\060\ufea2\112\ufea2\120\ufea2\223\ufea2\224\ufea2\225"); + sb.append("\ufea2\226\ufea2\227\ufea2\230\ufea2\250\ufea2\251\ufea2\257\ufea2"); + sb.append("\260\ufea2\261\ufea2\001\002\000\056\010\ufe7f\012\ufe7f\045"); + sb.append("\ufe7f\046\ufe7f\075\ufe7f\076\ufe7f\121\ufe7f\150\ufe7f\223\ufe7f"); + sb.append("\224\ufe7f\225\ufe7f\226\ufe7f\227\ufe7f\230\ufe7f\231\ufe7f\251"); + sb.append("\ufe7f\254\ufe7f\255\ufe7f\256\ufe7f\257\ufe7f\260\ufe7f\261\ufe7f"); + sb.append("\001\002\000\064\010\ufee5\012\ufee5\045\ufee5\046\ufee5\075"); + sb.append("\ufee5\076\ufee5\121\ufee5\150\ufee5\157\ufee5\223\ufee5\224\ufee5"); + sb.append("\225\ufee5\226\ufee5\227\ufee5\230\ufee5\231\ufee5\245\ufee5\251"); + sb.append("\ufee5\252\ufee5\254\ufee5\255\ufee5\256\ufee5\257\ufee5\260\ufee5"); + sb.append("\261\ufee5\001\002\000\004\045\u0490\001\002\000\004\046"); + sb.append("\u047d\001\002\000\064\010\ufe76\012\ufe76\045\ufe76\046\ufe76"); + sb.append("\075\ufe76\076\ufe76\121\ufe76\150\ufe76\157\ufe76\223\ufe76\224"); + sb.append("\ufe76\225\ufe76\226\ufe76\227\ufe76\230\ufe76\231\ufe76\245\ufe76"); + sb.append("\251\ufe76\252\ufe76\254\ufe76\255\ufe76\256\ufe76\257\ufe76\260"); + sb.append("\ufe76\261\ufe76\001\002\000\056\010\ufe7d\012\ufe7d\045\ufe7d"); + sb.append("\046\ufe7d\075\ufe7d\076\ufe7d\121\ufe7d\150\ufe7d\223\ufe7d\224"); + sb.append("\ufe7d\225\ufe7d\226\ufe7d\227\ufe7d\230\ufe7d\231\ufe7d\251\ufe7d"); + sb.append("\254\ufe7d\255\ufe7d\256\ufe7d\257\ufe7d\260\ufe7d\261\ufe7d\001"); + sb.append("\002\000\064\010\ufe72\012\ufe72\045\ufe72\046\ufe72\075\ufe72"); + sb.append("\076\ufe72\121\ufe72\150\ufe72\157\ufe72\223\ufe72\224\ufe72\225"); + sb.append("\ufe72\226\ufe72\227\ufe72\230\ufe72\231\ufe72\245\ufe72\251\ufe72"); + sb.append("\252\ufe72\254\ufe72\255\ufe72\256\ufe72\257\ufe72\260\ufe72\261"); + sb.append("\ufe72\001\002\000\046\037\ufea9\045\ufea9\046\ufea9\056\ufea9"); + sb.append("\060\ufea9\112\ufea9\120\ufea9\223\ufea9\224\ufea9\225\ufea9\226"); + sb.append("\ufea9\227\ufea9\230\ufea9\250\ufea9\251\ufea9\257\ufea9\260\ufea9"); + sb.append("\261\ufea9\001\002\000\056\010\ufe7e\012\ufe7e\045\ufe7e\046"); + sb.append("\ufe7e\075\ufe7e\076\ufe7e\121\ufe7e\150\ufe7e\223\ufe7e\224\ufe7e"); + sb.append("\225\ufe7e\226\ufe7e\227\ufe7e\230\ufe7e\231\ufe7e\251\ufe7e\254"); + sb.append("\ufe7e\255\ufe7e\256\ufe7e\257\ufe7e\260\ufe7e\261\ufe7e\001\002"); + sb.append("\000\056\010\ufe7a\012\ufe7a\045\ufe7a\046\ufe7a\075\ufe7a\076"); + sb.append("\ufe7a\121\ufe7a\150\ufe7a\223\ufe7a\224\ufe7a\225\ufe7a\226\ufe7a"); + sb.append("\227\ufe7a\230\ufe7a\231\ufe7a\251\ufe7a\254\ufe7a\255\ufe7a\256"); + sb.append("\ufe7a\257\ufe7a\260\ufe7a\261\ufe7a\001\002\000\056\010\ufe79"); + sb.append("\012\ufe79\045\ufe79\046\ufe79\075\ufe79\076\ufe79\121\ufe79\150"); + sb.append("\ufe79\223\ufe79\224\ufe79\225\ufe79\226\ufe79\227\ufe79\230\ufe79"); + sb.append("\231\ufe79\251\ufe79\254\ufe79\255\ufe79\256\ufe79\257\ufe79\260"); + sb.append("\ufe79\261\ufe79\001\002\000\040\037\274\045\ufe84\046\ufe88"); + sb.append("\060\306\223\303\224\264\225\265\226\277\227\257\230"); + sb.append("\302\250\021\251\254\257\271\260\275\261\261\001\002"); + sb.append("\000\046\037\ufeae\045\ufeae\046\ufeae\056\ufeae\060\ufeae\112"); + sb.append("\ufeae\120\ufeae\223\ufeae\224\ufeae\225\ufeae\226\ufeae\227\ufeae"); + sb.append("\230\ufeae\250\ufeae\251\ufeae\257\ufeae\260\ufeae\261\ufeae\001"); + sb.append("\002\000\056\010\ufe80\012\ufe80\045\ufe80\046\ufe80\075\ufe80"); + sb.append("\076\ufe80\121\ufe80\150\ufe80\223\ufe80\224\ufe80\225\ufe80\226"); + sb.append("\ufe80\227\ufe80\230\ufe80\231\ufe80\251\ufe80\254\ufe80\255\ufe80"); + sb.append("\256\ufe80\257\ufe80\260\ufe80\261\ufe80\001\002\000\064\010"); + sb.append("\ufe74\012\ufe74\045\ufe74\046\ufe74\075\ufe74\076\ufe74\121\ufe74"); + sb.append("\150\ufe74\157\ufe74\223\ufe74\224\ufe74\225\ufe74\226\ufe74\227"); + sb.append("\ufe74\230\ufe74\231\ufe74\245\ufe74\251\ufe74\252\ufe74\254\ufe74"); + sb.append("\255\ufe74\256\ufe74\257\ufe74\260\ufe74\261\ufe74\001\002\000"); + sb.append("\056\010\ufe82\012\ufe82\045\ufe82\046\ufe82\075\ufe82\076\ufe82"); + sb.append("\121\ufe82\150\ufe82\223\ufe82\224\ufe82\225\ufe82\226\ufe82\227"); + sb.append("\ufe82\230\ufe82\231\ufe82\251\ufe82\254\ufe82\255\ufe82\256\ufe82"); + sb.append("\257\ufe82\260\ufe82\261\ufe82\001\002\000\056\010\ufe86\012"); + sb.append("\ufe86\045\ufe83\046\ufe87\075\ufe86\076\ufe86\121\ufe86\150\ufe86"); + sb.append("\223\303\224\264\225\265\226\277\227\257\230\302\231"); + sb.append("\ufe86\251\254\254\ufe86\255\ufe86\256\ufe86\257\271\260\275"); + sb.append("\261\261\001\002\000\236\004\u01a4\005\u01ae\010\u016d\017"); + sb.append("\u019a\020\u0197\021\u0172\022\u0178\023\u016c\024\u018d\025\u018a"); + sb.append("\026\u0174\027\u01af\030\u0193\031\u0177\032\u018c\033\u016e\034"); + sb.append("\u019d\035\u0189\036\u0162\037\u015f\040\u017c\041\u0179\042\u0198"); + sb.append("\043\u0184\044\u017e\045\u018f\046\u019f\047\u01a1\050\u0161\052"); + sb.append("\u016f\053\u01ab\054\u01ad\055\u017b\056\u0168\057\u0160\060\u01ac"); + sb.append("\061\u0186\062\u01a8\063\u016a\065\u016b\066\u01a3\067\u0167\070"); + sb.append("\u018b\074\u01a9\075\u0163\076\u0165\077\u0166\100\u0194\101\u0173"); + sb.append("\102\u0175\103\u019e\104\u015d\114\u0187\115\u019c\116\u0170\121"); + sb.append("\u017a\122\u0169\123\u0183\124\u0176\125\u019b\126\u018e\130\u01a6"); + sb.append("\131\u01a7\132\u01a2\133\u017f\217\u0185\220\u0181\221\u0182\222"); + sb.append("\u0195\223\u0171\224\u017d\225\u0164\226\u0192\227\u0191\230\u01a0"); + sb.append("\241\u0196\242\u0190\251\u015e\001\002\000\064\010\ufe73\012"); + sb.append("\ufe73\045\ufe73\046\ufe73\075\ufe73\076\ufe73\121\ufe73\150\ufe73"); + sb.append("\157\ufe73\223\ufe73\224\ufe73\225\ufe73\226\ufe73\227\ufe73\230"); + sb.append("\ufe73\231\ufe73\245\ufe73\251\ufe73\252\ufe73\254\ufe73\255\ufe73"); + sb.append("\256\ufe73\257\ufe73\260\ufe73\261\ufe73\001\002\000\056\010"); + sb.append("\ufe81\012\ufe81\045\ufe81\046\ufe81\075\ufe81\076\ufe81\121\ufe81"); + sb.append("\150\ufe81\223\ufe81\224\ufe81\225\ufe81\226\ufe81\227\ufe81\230"); + sb.append("\ufe81\231\ufe81\251\ufe81\254\ufe81\255\ufe81\256\ufe81\257\ufe81"); + sb.append("\260\ufe81\261\ufe81\001\002\000\064\010\ufe75\012\ufe75\045"); + sb.append("\ufe75\046\ufe75\075\ufe75\076\ufe75\121\ufe75\150\ufe75\157\ufe75"); + sb.append("\223\ufe75\224\ufe75\225\ufe75\226\ufe75\227\ufe75\230\ufe75\231"); + sb.append("\ufe75\245\ufe75\251\ufe75\252\ufe75\254\ufe75\255\ufe75\256\ufe75"); + sb.append("\257\ufe75\260\ufe75\261\ufe75\001\002\000\046\037\ufea0\045"); + sb.append("\ufea0\046\ufea0\056\ufea0\060\ufea0\112\ufea0\120\ufea0\223\ufea0"); + sb.append("\224\ufea0\225\ufea0\226\ufea0\227\ufea0\230\ufea0\250\ufea0\251"); + sb.append("\ufea0\257\ufea0\260\ufea0\261\ufea0\001\002\000\322\002\uff3b"); + sb.append("\003\uff3b\004\uff3b\005\uff3b\006\uff3b\007\uff3b\010\uff3b\011"); + sb.append("\uff3b\012\uff3b\014\uff3b\015\uff3b\016\uff3b\017\uff3b\020\uff3b"); + sb.append("\021\uff3b\022\uff3b\023\uff3b\024\uff3b\025\uff3b\026\uff3b\027"); + sb.append("\uff3b\030\uff3b\032\uff3b\034\uff3b\035\uff3b\036\uff3b\037\uff3b"); + sb.append("\040\uff3b\041\uff3b\042\uff3b\043\uff3b\044\uff3b\045\uff3b\046"); + sb.append("\uff3b\047\uff3b\050\uff3b\051\uff3b\052\uff3b\054\uff3b\056\uff3b"); + sb.append("\057\uff3b\061\uff3b\062\uff3b\063\uff3b\064\uff3b\065\uff3b\066"); + sb.append("\uff3b\074\uff3b\075\uff3b\077\uff3b\100\uff3b\101\uff3b\102\uff3b"); + sb.append("\103\uff3b\104\uff3b\105\uff3b\111\uff3b\112\uff3b\114\uff3b\115"); + sb.append("\uff3b\116\uff3b\120\uff3b\121\uff3b\122\uff3b\123\uff3b\124\uff3b"); + sb.append("\125\uff3b\126\uff3b\133\uff3b\151\uff3b\173\uff3b\174\uff3b\200"); + sb.append("\uff3b\201\uff3b\203\uff3b\204\uff3b\205\uff3b\206\uff3b\207\uff3b"); + sb.append("\210\uff3b\211\uff3b\212\uff3b\213\uff3b\214\uff3b\215\uff3b\217"); + sb.append("\uff3b\220\uff3b\221\uff3b\222\uff3b\223\uff3b\224\uff3b\225\uff3b"); + sb.append("\231\uff3b\234\uff3b\235\uff3b\236\uff3b\237\uff3b\241\uff3b\250"); + sb.append("\uff3b\251\uff3b\253\uff3b\254\uff3b\255\uff3b\256\uff3b\001\002"); + sb.append("\000\064\010\ufe77\012\ufe77\045\ufe77\046\ufe77\075\ufe77\076"); + sb.append("\ufe77\121\ufe77\150\ufe77\157\ufe77\223\ufe77\224\ufe77\225\ufe77"); + sb.append("\226\ufe77\227\ufe77\230\ufe77\231\ufe77\245\ufe77\251\ufe77\252"); + sb.append("\ufe77\254\ufe77\255\ufe77\256\ufe77\257\ufe77\260\ufe77\261\ufe77"); + sb.append("\001\002\000\056\010\ufe78\012\ufe78\045\ufe78\046\ufe78\075"); + sb.append("\ufe78\076\ufe78\121\ufe78\150\ufe78\223\ufe78\224\ufe78\225\ufe78"); + sb.append("\226\ufe78\227\ufe78\230\ufe78\231\ufe78\251\ufe78\254\ufe78\255"); + sb.append("\ufe78\256\ufe78\257\ufe78\260\ufe78\261\ufe78\001\002\000\012"); + sb.append("\010\u044b\121\u0447\255\u0448\256\u044d\001\002\000\026\010"); + sb.append("\244\012\ufee0\075\310\076\313\121\240\150\316\231\321"); + sb.append("\254\241\255\237\256\245\001\002\000\026\010\ufe85\012"); + sb.append("\ufe85\075\ufe85\076\ufe85\121\ufe85\150\ufe85\231\ufe85\254\ufe85"); + sb.append("\255\ufe85\256\ufe85\001\002\000\056\010\ufe7c\012\ufe7c\045"); + sb.append("\ufe7c\046\ufe7c\075\ufe7c\076\ufe7c\121\ufe7c\150\ufe7c\223\ufe7c"); + sb.append("\224\ufe7c\225\ufe7c\226\ufe7c\227\ufe7c\230\ufe7c\231\ufe7c\251"); + sb.append("\ufe7c\254\ufe7c\255\ufe7c\256\ufe7c\257\ufe7c\260\ufe7c\261\ufe7c"); + sb.append("\001\002\000\256\004\ufed7\005\ufed7\010\ufed7\012\ufed7\017"); + sb.append("\ufed7\020\ufed7\021\ufed7\022\ufed7\023\ufed7\024\ufed7\025\ufed7"); + sb.append("\026\ufed7\027\ufed7\030\ufed7\031\ufed7\032\ufed7\033\ufed7\034"); + sb.append("\ufed7\035\ufed7\036\ufed7\037\ufed7\040\ufed7\041\ufed7\042\ufed7"); + sb.append("\043\ufed7\044\ufed7\045\ufed7\046\ufed7\047\ufed7\050\ufed7\052"); + sb.append("\ufed7\053\ufed7\054\ufed7\055\ufed7\056\ufed7\057\ufed7\060\ufed7"); + sb.append("\061\ufed7\062\ufed7\063\ufed7\066\ufed7\067\ufed7\070\ufed7\073"); + sb.append("\ufed7\074\ufed7\075\ufed7\076\ufed7\077\ufed7\100\ufed7\101\ufed7"); + sb.append("\102\ufed7\103\ufed7\104\ufed7\111\ufed7\114\ufed7\115\ufed7\116"); + sb.append("\ufed7\121\ufed7\122\ufed7\123\ufed7\124\ufed7\125\ufed7\126\ufed7"); + sb.append("\130\ufed7\131\ufed7\132\ufed7\133\ufed7\151\ufed7\155\ufed7\157"); + sb.append("\ufed7\217\ufed7\220\ufed7\221\ufed7\222\ufed7\223\ufed7\224\ufed7"); + sb.append("\225\ufed7\226\ufed7\227\ufed7\230\ufed7\232\ufed7\241\ufed7\242"); + sb.append("\ufed7\245\ufed7\251\ufed7\252\ufed7\001\002\000\004\155\u0445"); + sb.append("\001\002\000\014\012\ufecd\155\u0442\157\ufecd\245\ufecd\252"); + sb.append("\ufecd\001\002\000\256\004\ufed6\005\ufed6\010\ufed6\012\ufed6"); + sb.append("\017\ufed6\020\ufed6\021\ufed6\022\ufed6\023\ufed6\024\ufed6\025"); + sb.append("\ufed6\026\ufed6\027\ufed6\030\ufed6\031\ufed6\032\ufed6\033\ufed6"); + sb.append("\034\ufed6\035\ufed6\036\ufed6\037\ufed6\040\ufed6\041\ufed6\042"); + sb.append("\ufed6\043\ufed6\044\ufed6\045\ufed6\046\ufed6\047\ufed6\050\ufed6"); + sb.append("\052\ufed6\053\ufed6\054\ufed6\055\ufed6\056\ufed6\057\ufed6\060"); + sb.append("\ufed6\061\ufed6\062\ufed6\063\ufed6\066\ufed6\067\ufed6\070\ufed6"); + sb.append("\073\ufed6\074\ufed6\075\ufed6\076\ufed6\077\ufed6\100\ufed6\101"); + sb.append("\ufed6\102\ufed6\103\ufed6\104\ufed6\111\ufed6\114\ufed6\115\ufed6"); + sb.append("\116\ufed6\121\ufed6\122\ufed6\123\ufed6\124\ufed6\125\ufed6\126"); + sb.append("\ufed6\130\ufed6\131\ufed6\132\ufed6\133\ufed6\151\ufed6\155\ufed6"); + sb.append("\157\ufed6\217\ufed6\220\ufed6\221\ufed6\222\ufed6\223\ufed6\224"); + sb.append("\ufed6\225\ufed6\226\ufed6\227\ufed6\230\ufed6\232\ufed6\241\ufed6"); + sb.append("\242\ufed6\245\ufed6\251\ufed6\252\ufed6\001\002\000\012\012"); + sb.append("\ufecc\157\ufecc\245\ufecc\252\330\001\002\000\004\012\333"); + sb.append("\001\002\000\020\010\244\075\310\076\313\121\240\254"); + sb.append("\241\255\237\256\245\001\002\000\256\004\ufed8\005\ufed8"); + sb.append("\010\ufed8\012\ufed8\017\ufed8\020\ufed8\021\ufed8\022\ufed8\023"); + sb.append("\ufed8\024\ufed8\025\ufed8\026\ufed8\027\ufed8\030\ufed8\031\ufed8"); + sb.append("\032\ufed8\033\ufed8\034\ufed8\035\ufed8\036\ufed8\037\ufed8\040"); + sb.append("\ufed8\041\ufed8\042\ufed8\043\ufed8\044\ufed8\045\ufed8\046\ufed8"); + sb.append("\047\ufed8\050\ufed8\052\ufed8\053\ufed8\054\ufed8\055\ufed8\056"); + sb.append("\ufed8\057\ufed8\060\ufed8\061\ufed8\062\ufed8\063\ufed8\066\ufed8"); + sb.append("\067\ufed8\070\ufed8\073\ufed8\074\ufed8\075\ufed8\076\ufed8\077"); + sb.append("\ufed8\100\ufed8\101\ufed8\102\ufed8\103\ufed8\104\ufed8\111\ufed8"); + sb.append("\114\ufed8\115\ufed8\116\ufed8\121\ufed8\122\ufed8\123\ufed8\124"); + sb.append("\ufed8\125\ufed8\126\ufed8\130\ufed8\131\ufed8\132\ufed8\133\ufed8"); + sb.append("\151\ufed8\155\ufed8\157\ufed8\217\ufed8\220\ufed8\221\ufed8\222"); + sb.append("\ufed8\223\ufed8\224\ufed8\225\ufed8\226\ufed8\227\ufed8\230\ufed8"); + sb.append("\232\ufed8\241\ufed8\242\ufed8\245\ufed8\251\ufed8\252\ufed8\001"); + sb.append("\002\000\012\012\ufedf\157\ufedf\245\ufedf\252\ufedf\001\002"); + sb.append("\000\020\010\244\075\310\076\313\121\240\254\241\255"); + sb.append("\237\256\245\001\002\000\014\012\ufecf\155\ufecb\157\ufecf"); + sb.append("\245\ufecf\252\323\001\002\000\020\010\244\075\310\076"); + sb.append("\313\121\240\254\241\255\237\256\245\001\002\000\014"); + sb.append("\012\ufec7\157\ufec7\232\ufec7\245\ufec7\252\ufec7\001\002\000"); + sb.append("\006\232\327\252\330\001\002\000\004\252\323\001\002"); + sb.append("\000\014\012\ufeca\155\ufeca\157\ufeca\245\ufeca\252\ufeca\001"); + sb.append("\002\000\020\010\244\075\310\076\313\121\240\254\241"); + sb.append("\255\237\256\245\001\002\000\014\012\ufec6\157\ufec6\232"); + sb.append("\ufec6\245\ufec6\252\ufec6\001\002\000\012\012\ufece\157\ufece"); + sb.append("\245\ufece\252\ufece\001\002\000\010\127\ufe6d\134\u0440\151"); + sb.append("\ufe6d\001\002\000\006\127\335\151\336\001\002\000\004"); + sb.append("\012\337\001\002\000\046\037\ufeac\045\ufeac\046\ufeac\056"); + sb.append("\ufeac\060\ufeac\112\ufeac\120\ufeac\223\ufeac\224\ufeac\225\ufeac"); + sb.append("\226\ufeac\227\ufeac\230\ufeac\250\ufeac\251\ufeac\257\ufeac\260"); + sb.append("\ufeac\261\ufeac\001\002\000\010\127\ufe6f\134\340\151\ufe6f"); + sb.append("\001\002\000\070\006\156\007\175\010\356\015\364\016"); + sb.append("\357\075\351\077\123\100\012\101\206\102\041\103\144"); + sb.append("\104\117\105\141\115\136\116\046\121\160\173\362\174"); + sb.append("\352\200\347\201\354\215\360\223\341\231\366\237\060"); + sb.append("\254\147\255\064\256\055\001\002\000\130\031\ufde1\033"); + sb.append("\ufde1\071\ufde1\072\ufde1\073\ufde1\112\ufde1\113\ufde1\127\ufde1"); + sb.append("\130\ufde1\131\ufde1\132\ufde1\150\ufde1\151\ufde1\152\ufde1\153"); + sb.append("\ufde1\154\ufde1\155\ufde1\156\ufde1\157\ufde1\160\ufde1\161\ufde1"); + sb.append("\162\ufde1\163\ufde1\164\ufde1\165\ufde1\166\ufde1\167\ufde1\170"); + sb.append("\ufde1\171\ufde1\172\ufde1\173\ufde1\174\ufde1\175\ufde1\176\ufde1"); + sb.append("\177\ufde1\202\ufde1\216\ufde1\231\ufde1\232\ufde1\233\ufde1\243"); + sb.append("\ufde1\246\ufde1\252\ufde1\001\002\000\010\071\u0432\072\u0430"); + sb.append("\113\u0431\001\002\000\120\073\ufdb6\111\u013a\112\ufdb6\127"); + sb.append("\ufdb6\130\ufdb6\131\ufdb6\132\ufdb6\150\ufdb6\151\ufdb6\152\ufdb6"); + sb.append("\153\ufdb6\154\ufdb6\155\ufdb6\156\ufdb6\157\ufdb6\160\ufdb6\161"); + sb.append("\ufdb6\162\ufdb6\163\ufdb6\164\ufdb6\165\ufdb6\166\ufdb6\167\ufdb6"); + sb.append("\170\ufdb6\171\ufdb6\172\ufdb6\173\ufdb6\174\ufdb6\175\ufdb6\176"); + sb.append("\ufdb6\177\ufdb6\202\ufdb6\215\u013b\216\ufdb6\232\ufdb6\233\ufdb6"); + sb.append("\243\ufdb6\246\ufdb6\252\ufdb6\001\002\000\110\073\ufd8e\127"); + sb.append("\ufd8e\130\u0105\131\u0116\132\375\150\u0100\151\ufd8e\152\374"); + sb.append("\153\u010e\154\u0113\155\376\156\u0107\157\u010f\160\u0115\161"); + sb.append("\u0109\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102"); + sb.append("\170\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176"); + sb.append("\u010a\177\372\202\377\216\ufd8e\232\ufd8e\243\u0101\246\373"); + sb.append("\252\u0114\001\002\000\114\073\ufdbe\112\ufdbe\127\ufdbe\130"); + sb.append("\ufdbe\131\ufdbe\132\ufdbe\150\ufdbe\151\ufdbe\152\ufdbe\153\ufdbe"); + sb.append("\154\ufdbe\155\ufdbe\156\ufdbe\157\ufdbe\160\ufdbe\161\ufdbe\162"); + sb.append("\ufdbe\163\ufdbe\164\ufdbe\165\ufdbe\166\ufdbe\167\ufdbe\170\ufdbe"); + sb.append("\171\ufdbe\172\ufdbe\173\ufdbe\174\ufdbe\175\ufdbe\176\ufdbe\177"); + sb.append("\ufdbe\202\ufdbe\216\ufdbe\232\ufdbe\233\ufdbe\243\ufdbe\246\ufdbe"); + sb.append("\252\ufdbe\001\002\000\130\031\ufde0\033\ufde0\071\ufde0\072"); + sb.append("\ufde0\073\ufde0\112\ufde0\113\ufde0\127\ufde0\130\ufde0\131\ufde0"); + sb.append("\132\ufde0\150\ufde0\151\ufde0\152\ufde0\153\ufde0\154\ufde0\155"); + sb.append("\ufde0\156\ufde0\157\ufde0\160\ufde0\161\ufde0\162\ufde0\163\ufde0"); + sb.append("\164\ufde0\165\ufde0\166\ufde0\167\ufde0\170\ufde0\171\ufde0\172"); + sb.append("\ufde0\173\ufde0\174\ufde0\175\ufde0\176\ufde0\177\ufde0\202\ufde0"); + sb.append("\216\ufde0\231\ufde0\232\ufde0\233\ufde0\243\ufde0\246\ufde0\252"); + sb.append("\ufde0\001\002\000\070\006\156\007\175\010\356\015\364"); + sb.append("\016\357\075\351\077\123\100\012\101\206\102\041\103"); + sb.append("\144\104\117\105\141\115\136\116\046\121\160\173\362"); + sb.append("\174\352\200\347\201\354\215\360\223\341\231\366\237"); + sb.append("\060\254\147\255\064\256\055\001\002\000\116\073\ufdb5"); + sb.append("\112\ufdb5\127\ufdb5\130\ufdb5\131\ufdb5\132\ufdb5\150\ufdb5\151"); + sb.append("\ufdb5\152\ufdb5\153\ufdb5\154\ufdb5\155\ufdb5\156\ufdb5\157\ufdb5"); + sb.append("\160\ufdb5\161\ufdb5\162\ufdb5\163\ufdb5\164\ufdb5\165\ufdb5\166"); + sb.append("\ufdb5\167\ufdb5\170\ufdb5\171\ufdb5\172\ufdb5\173\ufdb5\174\ufdb5"); + sb.append("\175\ufdb5\176\ufdb5\177\ufdb5\202\ufdb5\215\u042b\216\ufdb5\232"); + sb.append("\ufdb5\233\ufdb5\243\ufdb5\246\ufdb5\252\ufdb5\001\002\000\004"); + sb.append("\231\u0428\001\002\000\070\006\156\007\175\010\356\015"); + sb.append("\364\016\357\075\351\077\123\100\012\101\206\102\041"); + sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\173"); + sb.append("\362\174\352\200\347\201\354\215\360\223\341\231\366"); + sb.append("\237\060\254\147\255\064\256\055\001\002\000\122\071"); + sb.append("\u015c\072\u015a\073\ufdbc\112\ufdbc\113\u015b\127\ufdbc\130\ufdbc"); + sb.append("\131\ufdbc\132\ufdbc\150\ufdbc\151\ufdbc\152\ufdbc\153\ufdbc\154"); + sb.append("\ufdbc\155\ufdbc\156\ufdbc\157\ufdbc\160\ufdbc\161\ufdbc\162\ufdbc"); + sb.append("\163\ufdbc\164\ufdbc\165\ufdbc\166\ufdbc\167\ufdbc\170\ufdbc\171"); + sb.append("\ufdbc\172\ufdbc\173\ufdbc\174\ufdbc\175\ufdbc\176\ufdbc\177\ufdbc"); + sb.append("\202\ufdbc\216\ufdbc\232\ufdbc\233\ufdbc\243\ufdbc\246\ufdbc\252"); + sb.append("\ufdbc\001\002\000\070\006\156\007\175\010\356\015\364"); + sb.append("\016\357\075\351\077\123\100\012\101\206\102\041\103"); + sb.append("\144\104\117\105\141\115\136\116\046\121\160\173\362"); + sb.append("\174\352\200\347\201\354\215\360\223\341\231\366\237"); + sb.append("\060\254\147\255\064\256\055\001\002\000\116\073\ufdbd"); + sb.append("\112\ufdbd\127\ufdbd\130\ufdbd\131\ufdbd\132\ufdbd\150\ufdbd\151"); + sb.append("\ufdbd\152\ufdbd\153\ufdbd\154\ufdbd\155\ufdbd\156\ufdbd\157\ufdbd"); + sb.append("\160\ufdbd\161\ufdbd\162\ufdbd\163\ufdbd\164\ufdbd\165\ufdbd\166"); + sb.append("\ufdbd\167\ufdbd\170\ufdbd\171\ufdbd\172\ufdbd\173\ufdbd\174\ufdbd"); + sb.append("\175\ufdbd\176\ufdbd\177\ufdbd\202\ufdbd\215\u0156\216\ufdbd\232"); + sb.append("\ufdbd\233\ufdbd\243\ufdbd\246\ufdbd\252\ufdbd\001\002\000\124"); + sb.append("\071\ufddf\072\ufddf\073\ufff8\112\ufff8\113\ufddf\127\ufff8\130"); + sb.append("\ufff8\131\ufff8\132\ufff8\150\ufff8\151\ufff8\152\ufff8\153\ufff8"); + sb.append("\154\ufff8\155\ufff8\156\ufff8\157\ufff8\160\ufff8\161\ufff8\162"); + sb.append("\ufff8\163\ufff8\164\ufff8\165\ufff8\166\ufff8\167\ufff8\170\ufff8"); + sb.append("\171\ufff8\172\ufff8\173\ufff8\174\ufff8\175\ufff8\176\ufff8\177"); + sb.append("\ufff8\202\ufff8\215\u0153\216\ufff8\232\ufff8\233\ufff8\243\ufff8"); + sb.append("\246\ufff8\252\ufff8\001\002\000\120\073\ufdc9\111\u013a\112"); + sb.append("\ufdc9\127\ufdc9\130\ufdc9\131\ufdc9\132\ufdc9\150\ufdc9\151\ufdc9"); + sb.append("\152\ufdc9\153\ufdc9\154\ufdc9\155\ufdc9\156\ufdc9\157\ufdc9\160"); + sb.append("\ufdc9\161\ufdc9\162\ufdc9\163\ufdc9\164\ufdc9\165\ufdc9\166\ufdc9"); + sb.append("\167\ufdc9\170\ufdc9\171\ufdc9\172\ufdc9\173\ufdc9\174\ufdc9\175"); + sb.append("\ufdc9\176\ufdc9\177\ufdc9\202\ufdc9\215\u013b\216\ufdc9\232\ufdc9"); + sb.append("\233\ufdc9\243\ufdc9\246\ufdc9\252\ufdc9\001\002\000\074\006"); + sb.append("\156\007\175\010\356\015\364\016\357\075\351\077\123"); + sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); + sb.append("\136\116\046\121\160\173\362\174\352\200\347\201\354"); + sb.append("\215\360\216\ufd6e\223\341\231\366\237\060\245\u0143\254"); + sb.append("\147\255\064\256\055\001\002\000\114\073\ufdba\112\ufdba"); + sb.append("\127\ufdba\130\ufdba\131\ufdba\132\ufdba\150\ufdba\151\ufdba\152"); + sb.append("\ufdba\153\ufdba\154\ufdba\155\ufdba\156\ufdba\157\ufdba\160\ufdba"); + sb.append("\161\ufdba\162\ufdba\163\ufdba\164\ufdba\165\ufdba\166\ufdba\167"); + sb.append("\ufdba\170\ufdba\171\ufdba\172\ufdba\173\ufdba\174\ufdba\175\ufdba"); + sb.append("\176\ufdba\177\ufdba\202\ufdba\216\ufdba\232\ufdba\233\ufdba\243"); + sb.append("\ufdba\246\ufdba\252\ufdba\001\002\000\070\006\156\007\175"); + sb.append("\010\356\015\364\016\357\075\351\077\123\100\012\101"); + sb.append("\206\102\041\103\144\104\117\105\141\115\136\116\046"); + sb.append("\121\160\173\362\174\352\200\347\201\354\215\360\223"); + sb.append("\341\231\366\237\060\254\147\255\064\256\055\001\002"); + sb.append("\000\114\073\ufdbb\112\ufdbb\127\ufdbb\130\ufdbb\131\ufdbb\132"); + sb.append("\ufdbb\150\ufdbb\151\ufdbb\152\ufdbb\153\ufdbb\154\ufdbb\155\ufdbb"); + sb.append("\156\ufdbb\157\ufdbb\160\ufdbb\161\ufdbb\162\ufdbb\163\ufdbb\164"); + sb.append("\ufdbb\165\ufdbb\166\ufdbb\167\ufdbb\170\ufdbb\171\ufdbb\172\ufdbb"); + sb.append("\173\ufdbb\174\ufdbb\175\ufdbb\176\ufdbb\177\ufdbb\202\ufdbb\216"); + sb.append("\ufdbb\232\ufdbb\233\ufdbb\243\ufdbb\246\ufdbb\252\ufdbb\001\002"); + sb.append("\000\006\111\u013a\215\u013b\001\002\000\120\073\ufdb7\111"); + sb.append("\u013a\112\ufdb7\127\ufdb7\130\ufdb7\131\ufdb7\132\ufdb7\150\ufdb7"); + sb.append("\151\ufdb7\152\ufdb7\153\ufdb7\154\ufdb7\155\ufdb7\156\ufdb7\157"); + sb.append("\ufdb7\160\ufdb7\161\ufdb7\162\ufdb7\163\ufdb7\164\ufdb7\165\ufdb7"); + sb.append("\166\ufdb7\167\ufdb7\170\ufdb7\171\ufdb7\172\ufdb7\173\ufdb7\174"); + sb.append("\ufdb7\175\ufdb7\176\ufdb7\177\ufdb7\202\ufdb7\215\u013b\216\ufdb7"); + sb.append("\232\ufdb7\233\ufdb7\243\ufdb7\246\ufdb7\252\ufdb7\001\002\000"); + sb.append("\070\006\156\007\175\010\356\015\364\016\357\075\351"); + sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); + sb.append("\141\115\136\116\046\121\160\173\362\174\352\200\347"); + sb.append("\201\354\215\360\223\341\231\366\237\060\254\147\255"); + sb.append("\064\256\055\001\002\000\006\127\ufe6e\151\ufe6e\001\002"); + sb.append("\000\100\130\u0105\131\u0116\132\375\150\u0100\152\374\153"); + sb.append("\u010e\154\u0113\155\376\156\u0107\157\u010f\160\u0115\161\u0109"); + sb.append("\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170"); + sb.append("\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\232\u010b\243\u0101\246\373\252\u0114\001"); + sb.append("\002\000\070\006\156\007\175\010\356\015\364\016\357"); sb.append("\075\351\077\123\100\012\101\206\102\041\103\144\104"); - sb.append("\117\105\141\115\136\116\046\121\160\172\362\173\352"); - sb.append("\177\347\200\354\214\360\222\341\230\366\236\060\253"); - sb.append("\147\254\064\255\055\001\002\000\070\006\156\007\175"); - sb.append("\010\357\015\364\016\356\075\351\077\123\100\012\101"); + sb.append("\117\105\141\115\136\116\046\121\160\173\362\174\352"); + sb.append("\200\347\201\354\215\360\223\341\231\366\237\060\254"); + sb.append("\147\255\064\256\055\001\002\000\070\006\156\007\175"); + sb.append("\010\356\015\364\016\357\075\351\077\123\100\012\101"); sb.append("\206\102\041\103\144\104\117\105\141\115\136\116\046"); - sb.append("\121\160\172\362\173\352\177\347\200\354\214\360\222"); - sb.append("\341\230\366\236\060\253\147\254\064\255\055\001\002"); - sb.append("\000\070\006\156\007\175\010\357\015\364\016\356\075"); + sb.append("\121\160\173\362\174\352\200\347\201\354\215\360\223"); + sb.append("\341\231\366\237\060\254\147\255\064\256\055\001\002"); + sb.append("\000\070\006\156\007\175\010\356\015\364\016\357\075"); sb.append("\351\077\123\100\012\101\206\102\041\103\144\104\117"); - sb.append("\105\141\115\136\116\046\121\160\172\362\173\352\177"); - sb.append("\347\200\354\214\360\222\341\230\366\236\060\253\147"); - sb.append("\254\064\255\055\001\002\000\070\006\156\007\175\010"); - sb.append("\357\015\364\016\356\075\351\077\123\100\012\101\206"); + sb.append("\105\141\115\136\116\046\121\160\173\362\174\352\200"); + sb.append("\347\201\354\215\360\223\341\231\366\237\060\254\147"); + sb.append("\255\064\256\055\001\002\000\070\006\156\007\175\010"); + sb.append("\356\015\364\016\357\075\351\077\123\100\012\101\206"); sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); - sb.append("\160\172\362\173\352\177\347\200\354\214\360\222\341"); - sb.append("\230\366\236\060\253\147\254\064\255\055\001\002\000"); - sb.append("\070\006\156\007\175\010\357\015\364\016\356\075\351"); + sb.append("\160\173\362\174\352\200\347\201\354\215\360\223\341"); + sb.append("\231\366\237\060\254\147\255\064\256\055\001\002\000"); + sb.append("\070\006\156\007\175\010\356\015\364\016\357\075\351"); sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); - sb.append("\141\115\136\116\046\121\160\172\362\173\352\177\347"); - sb.append("\200\354\214\360\222\341\230\366\236\060\253\147\254"); - sb.append("\064\255\055\001\002\000\070\006\156\007\175\010\357"); - sb.append("\015\364\016\356\075\351\077\123\100\012\101\206\102"); + sb.append("\141\115\136\116\046\121\160\173\362\174\352\200\347"); + sb.append("\201\354\215\360\223\341\231\366\237\060\254\147\255"); + sb.append("\064\256\055\001\002\000\070\006\156\007\175\010\356"); + sb.append("\015\364\016\357\075\351\077\123\100\012\101\206\102"); sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\172\362\173\352\177\347\200\354\214\360\222\341\230"); - sb.append("\366\236\060\253\147\254\064\255\055\001\002\000\072"); - sb.append("\006\156\007\175\010\357\015\364\016\356\075\351\077"); + sb.append("\173\362\174\352\200\347\201\354\215\360\223\341\231"); + sb.append("\366\237\060\254\147\255\064\256\055\001\002\000\070"); + sb.append("\006\156\007\175\010\356\015\364\016\357\075\351\077"); sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); - sb.append("\115\136\116\046\121\160\172\362\173\352\177\347\200"); - sb.append("\354\214\360\222\341\230\366\232\u012c\236\060\253\147"); - sb.append("\254\064\255\055\001\002\000\070\006\156\007\175\010"); - sb.append("\357\015\364\016\356\075\351\077\123\100\012\101\206"); - sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); - sb.append("\160\172\362\173\352\177\347\200\354\214\360\222\341"); - sb.append("\230\366\236\060\253\147\254\064\255\055\001\002\000"); - sb.append("\070\006\156\007\175\010\357\015\364\016\356\075\351"); + sb.append("\115\136\116\046\121\160\173\362\174\352\200\347\201"); + sb.append("\354\215\360\223\341\231\366\237\060\254\147\255\064"); + sb.append("\256\055\001\002\000\072\006\156\007\175\010\356\015"); + sb.append("\364\016\357\075\351\077\123\100\012\101\206\102\041"); + sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\173"); + sb.append("\362\174\352\200\347\201\354\215\360\223\341\231\366"); + sb.append("\233\u012f\237\060\254\147\255\064\256\055\001\002\000"); + sb.append("\070\006\156\007\175\010\356\015\364\016\357\075\351"); sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); - sb.append("\141\115\136\116\046\121\160\172\362\173\352\177\347"); - sb.append("\200\354\214\360\222\341\230\366\236\060\253\147\254"); - sb.append("\064\255\055\001\002\000\070\006\156\007\175\010\357"); - sb.append("\015\364\016\356\075\351\077\123\100\012\101\206\102"); + sb.append("\141\115\136\116\046\121\160\173\362\174\352\200\347"); + sb.append("\201\354\215\360\223\341\231\366\237\060\254\147\255"); + sb.append("\064\256\055\001\002\000\070\006\156\007\175\010\356"); + sb.append("\015\364\016\357\075\351\077\123\100\012\101\206\102"); sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\172\362\173\352\177\347\200\354\214\360\222\341\230"); - sb.append("\366\236\060\253\147\254\064\255\055\001\002\000\070"); - sb.append("\006\156\007\175\010\357\015\364\016\356\075\351\077"); + sb.append("\173\362\174\352\200\347\201\354\215\360\223\341\231"); + sb.append("\366\237\060\254\147\255\064\256\055\001\002\000\070"); + sb.append("\006\156\007\175\010\356\015\364\016\357\075\351\077"); sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); - sb.append("\115\136\116\046\121\160\172\362\173\352\177\347\200"); - sb.append("\354\214\360\222\341\230\366\236\060\253\147\254\064"); - sb.append("\255\055\001\002\000\070\006\156\007\175\010\357\015"); - sb.append("\364\016\356\075\351\077\123\100\012\101\206\102\041"); - sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\172"); - sb.append("\362\173\352\177\347\200\354\214\360\222\341\230\366"); - sb.append("\236\060\253\147\254\064\255\055\001\002\000\070\006"); - sb.append("\156\007\175\010\357\015\364\016\356\075\351\077\123"); + sb.append("\115\136\116\046\121\160\173\362\174\352\200\347\201"); + sb.append("\354\215\360\223\341\231\366\237\060\254\147\255\064"); + sb.append("\256\055\001\002\000\070\006\156\007\175\010\356\015"); + sb.append("\364\016\357\075\351\077\123\100\012\101\206\102\041"); + sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\173"); + sb.append("\362\174\352\200\347\201\354\215\360\223\341\231\366"); + sb.append("\237\060\254\147\255\064\256\055\001\002\000\070\006"); + sb.append("\156\007\175\010\356\015\364\016\357\075\351\077\123"); sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); - sb.append("\136\116\046\121\160\172\362\173\352\177\347\200\354"); - sb.append("\214\360\222\341\230\366\236\060\253\147\254\064\255"); - sb.append("\055\001\002\000\070\006\156\007\175\010\357\015\364"); - sb.append("\016\356\075\351\077\123\100\012\101\206\102\041\103"); - sb.append("\144\104\117\105\141\115\136\116\046\121\160\172\362"); - sb.append("\173\352\177\347\200\354\214\360\222\341\230\366\236"); - sb.append("\060\253\147\254\064\255\055\001\002\000\070\006\156"); - sb.append("\007\175\010\357\015\364\016\356\075\351\077\123\100"); + sb.append("\136\116\046\121\160\173\362\174\352\200\347\201\354"); + sb.append("\215\360\223\341\231\366\237\060\254\147\255\064\256"); + sb.append("\055\001\002\000\070\006\156\007\175\010\356\015\364"); + sb.append("\016\357\075\351\077\123\100\012\101\206\102\041\103"); + sb.append("\144\104\117\105\141\115\136\116\046\121\160\173\362"); + sb.append("\174\352\200\347\201\354\215\360\223\341\231\366\237"); + sb.append("\060\254\147\255\064\256\055\001\002\000\070\006\156"); + sb.append("\007\175\010\356\015\364\016\357\075\351\077\123\100"); sb.append("\012\101\206\102\041\103\144\104\117\105\141\115\136"); - sb.append("\116\046\121\160\172\362\173\352\177\347\200\354\214"); - sb.append("\360\222\341\230\366\236\060\253\147\254\064\255\055"); - sb.append("\001\002\000\070\006\156\007\175\010\357\015\364\016"); - sb.append("\356\075\351\077\123\100\012\101\206\102\041\103\144"); - sb.append("\104\117\105\141\115\136\116\046\121\160\172\362\173"); - sb.append("\352\177\347\200\354\214\360\222\341\230\366\236\060"); - sb.append("\253\147\254\064\255\055\001\002\000\112\073\ufd91\112"); - sb.append("\ufd91\127\ufd91\130\ufd91\131\ufd91\132\ufd91\150\ufd91\151\ufd91"); - sb.append("\152\ufd91\153\ufd91\154\ufd91\155\ufd91\156\ufd91\157\ufd91\160"); - sb.append("\ufd91\161\ufd91\162\ufd91\163\ufd91\164\ufd91\165\ufd91\166\ufd91"); - sb.append("\167\ufd91\170\ufd91\171\ufd91\172\ufd91\173\ufd91\174\ufd91\175"); - sb.append("\ufd91\176\ufd91\201\ufd91\215\ufd91\231\ufd91\232\ufd91\242\ufd91"); - sb.append("\245\ufd91\251\ufd91\001\002\000\070\006\156\007\175\010"); - sb.append("\357\015\364\016\356\075\351\077\123\100\012\101\206"); + sb.append("\116\046\121\160\173\362\174\352\200\347\201\354\215"); + sb.append("\360\223\341\231\366\237\060\254\147\255\064\256\055"); + sb.append("\001\002\000\070\006\156\007\175\010\356\015\364\016"); + sb.append("\357\075\351\077\123\100\012\101\206\102\041\103\144"); + sb.append("\104\117\105\141\115\136\116\046\121\160\173\362\174"); + sb.append("\352\200\347\201\354\215\360\223\341\231\366\237\060"); + sb.append("\254\147\255\064\256\055\001\002\000\070\006\156\007"); + sb.append("\175\010\356\015\364\016\357\075\351\077\123\100\012"); + sb.append("\101\206\102\041\103\144\104\117\105\141\115\136\116"); + sb.append("\046\121\160\173\362\174\352\200\347\201\354\215\360"); + sb.append("\223\341\231\366\237\060\254\147\255\064\256\055\001"); + sb.append("\002\000\070\006\156\007\175\010\356\015\364\016\357"); + sb.append("\075\351\077\123\100\012\101\206\102\041\103\144\104"); + sb.append("\117\105\141\115\136\116\046\121\160\173\362\174\352"); + sb.append("\200\347\201\354\215\360\223\341\231\366\237\060\254"); + sb.append("\147\255\064\256\055\001\002\000\114\073\ufd8f\112\ufd8f"); + sb.append("\127\ufd8f\130\ufd8f\131\ufd8f\132\ufd8f\150\ufd8f\151\ufd8f\152"); + sb.append("\ufd8f\153\ufd8f\154\ufd8f\155\ufd8f\156\ufd8f\157\ufd8f\160\ufd8f"); + sb.append("\161\ufd8f\162\ufd8f\163\ufd8f\164\ufd8f\165\ufd8f\166\ufd8f\167"); + sb.append("\ufd8f\170\ufd8f\171\ufd8f\172\ufd8f\173\ufd8f\174\ufd8f\175\ufd8f"); + sb.append("\176\ufd8f\177\ufd8f\202\ufd8f\216\ufd8f\232\ufd8f\233\ufd8f\243"); + sb.append("\ufd8f\246\ufd8f\252\ufd8f\001\002\000\070\006\156\007\175"); + sb.append("\010\356\015\364\016\357\075\351\077\123\100\012\101"); + sb.append("\206\102\041\103\144\104\117\105\141\115\136\116\046"); + sb.append("\121\160\173\362\174\352\200\347\201\354\215\360\223"); + sb.append("\341\231\366\237\060\254\147\255\064\256\055\001\002"); + sb.append("\000\070\006\156\007\175\010\356\015\364\016\357\075"); + sb.append("\351\077\123\100\012\101\206\102\041\103\144\104\117"); + sb.append("\105\141\115\136\116\046\121\160\173\362\174\352\200"); + sb.append("\347\201\354\215\360\223\341\231\366\237\060\254\147"); + sb.append("\255\064\256\055\001\002\000\070\006\156\007\175\010"); + sb.append("\356\015\364\016\357\075\351\077\123\100\012\101\206"); sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); - sb.append("\160\172\362\173\352\177\347\200\354\214\360\222\341"); - sb.append("\230\366\236\060\253\147\254\064\255\055\001\002\000"); - sb.append("\070\006\156\007\175\010\357\015\364\016\356\075\351"); + sb.append("\160\173\362\174\352\200\347\201\354\215\360\223\341"); + sb.append("\231\366\237\060\254\147\255\064\256\055\001\002\000"); + sb.append("\070\006\156\007\175\010\356\015\364\016\357\075\351"); sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); - sb.append("\141\115\136\116\046\121\160\172\362\173\352\177\347"); - sb.append("\200\354\214\360\222\341\230\366\236\060\253\147\254"); - sb.append("\064\255\055\001\002\000\070\006\156\007\175\010\357"); - sb.append("\015\364\016\356\075\351\077\123\100\012\101\206\102"); + sb.append("\141\115\136\116\046\121\160\173\362\174\352\200\347"); + sb.append("\201\354\215\360\223\341\231\366\237\060\254\147\255"); + sb.append("\064\256\055\001\002\000\070\006\156\007\175\010\356"); + sb.append("\015\364\016\357\075\351\077\123\100\012\101\206\102"); sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\172\362\173\352\177\347\200\354\214\360\222\341\230"); - sb.append("\366\236\060\253\147\254\064\255\055\001\002\000\070"); - sb.append("\006\156\007\175\010\357\015\364\016\356\075\351\077"); + sb.append("\173\362\174\352\200\347\201\354\215\360\223\341\231"); + sb.append("\366\237\060\254\147\255\064\256\055\001\002\000\070"); + sb.append("\006\156\007\175\010\356\015\364\016\357\075\351\077"); sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); - sb.append("\115\136\116\046\121\160\172\362\173\352\177\347\200"); - sb.append("\354\214\360\222\341\230\366\236\060\253\147\254\064"); - sb.append("\255\055\001\002\000\070\006\156\007\175\010\357\015"); - sb.append("\364\016\356\075\351\077\123\100\012\101\206\102\041"); - sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\172"); - sb.append("\362\173\352\177\347\200\354\214\360\222\341\230\366"); - sb.append("\236\060\253\147\254\064\255\055\001\002\000\070\006"); - sb.append("\156\007\175\010\357\015\364\016\356\075\351\077\123"); + sb.append("\115\136\116\046\121\160\173\362\174\352\200\347\201"); + sb.append("\354\215\360\223\341\231\366\237\060\254\147\255\064"); + sb.append("\256\055\001\002\000\070\006\156\007\175\010\356\015"); + sb.append("\364\016\357\075\351\077\123\100\012\101\206\102\041"); + sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\173"); + sb.append("\362\174\352\200\347\201\354\215\360\223\341\231\366"); + sb.append("\237\060\254\147\255\064\256\055\001\002\000\070\006"); + sb.append("\156\007\175\010\356\015\364\016\357\075\351\077\123"); sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); - sb.append("\136\116\046\121\160\172\362\173\352\177\347\200\354"); - sb.append("\214\360\222\341\230\366\236\060\253\147\254\064\255"); - sb.append("\055\001\002\000\070\006\156\007\175\010\357\015\364"); - sb.append("\016\356\075\351\077\123\100\012\101\206\102\041\103"); - sb.append("\144\104\117\105\141\115\136\116\046\121\160\172\362"); - sb.append("\173\352\177\347\200\354\214\360\222\341\230\366\236"); - sb.append("\060\253\147\254\064\255\055\001\002\000\070\006\156"); - sb.append("\007\175\010\357\015\364\016\356\075\351\077\123\100"); + sb.append("\136\116\046\121\160\173\362\174\352\200\347\201\354"); + sb.append("\215\360\223\341\231\366\237\060\254\147\255\064\256"); + sb.append("\055\001\002\000\070\006\156\007\175\010\356\015\364"); + sb.append("\016\357\075\351\077\123\100\012\101\206\102\041\103"); + sb.append("\144\104\117\105\141\115\136\116\046\121\160\173\362"); + sb.append("\174\352\200\347\201\354\215\360\223\341\231\366\237"); + sb.append("\060\254\147\255\064\256\055\001\002\000\070\006\156"); + sb.append("\007\175\010\356\015\364\016\357\075\351\077\123\100"); sb.append("\012\101\206\102\041\103\144\104\117\105\141\115\136"); - sb.append("\116\046\121\160\172\362\173\352\177\347\200\354\214"); - sb.append("\360\222\341\230\366\236\060\253\147\254\064\255\055"); - sb.append("\001\002\000\070\006\156\007\175\010\357\015\364\016"); - sb.append("\356\075\351\077\123\100\012\101\206\102\041\103\144"); - sb.append("\104\117\105\141\115\136\116\046\121\160\172\362\173"); - sb.append("\352\177\347\200\354\214\360\222\341\230\366\236\060"); - sb.append("\253\147\254\064\255\055\001\002\000\070\006\156\007"); - sb.append("\175\010\357\015\364\016\356\075\351\077\123\100\012"); + sb.append("\116\046\121\160\173\362\174\352\200\347\201\354\215"); + sb.append("\360\223\341\231\366\237\060\254\147\255\064\256\055"); + sb.append("\001\002\000\070\006\156\007\175\010\356\015\364\016"); + sb.append("\357\075\351\077\123\100\012\101\206\102\041\103\144"); + sb.append("\104\117\105\141\115\136\116\046\121\160\173\362\174"); + sb.append("\352\200\347\201\354\215\360\223\341\231\366\237\060"); + sb.append("\254\147\255\064\256\055\001\002\000\070\006\156\007"); + sb.append("\175\010\356\015\364\016\357\075\351\077\123\100\012"); sb.append("\101\206\102\041\103\144\104\117\105\141\115\136\116"); - sb.append("\046\121\160\172\362\173\352\177\347\200\354\214\360"); - sb.append("\222\341\230\366\236\060\253\147\254\064\255\055\001"); - sb.append("\002\000\070\006\156\007\175\010\357\015\364\016\356"); - sb.append("\075\351\077\123\100\012\101\206\102\041\103\144\104"); - sb.append("\117\105\141\115\136\116\046\121\160\172\362\173\352"); - sb.append("\177\347\200\354\214\360\222\341\230\366\236\060\253"); - sb.append("\147\254\064\255\055\001\002\000\112\073\ufdb3\112\ufdb3"); - sb.append("\127\ufdb3\130\ufdb3\131\ufdb3\132\ufdb3\150\ufdb3\151\ufdb3\152"); - sb.append("\ufdb3\153\ufdb3\154\ufdb3\155\ufdb3\156\ufdb3\157\ufdb3\160\ufdb3"); - sb.append("\161\ufdb3\162\ufdb3\163\ufdb3\164\ufdb3\165\ufdb3\166\ufdb3\167"); - sb.append("\ufdb3\170\ufdb3\171\ufdb3\172\ufdb3\173\ufdb3\174\u010c\175\u010a"); - sb.append("\176\373\201\ufdb3\215\ufdb3\231\ufdb3\232\ufdb3\242\ufdb3\245"); - sb.append("\ufdb3\251\ufdb3\001\002\000\112\073\ufda4\112\ufda4\127\ufda4"); - sb.append("\130\ufda4\131\ufda4\132\374\150\u0101\151\ufda4\152\375\153"); - sb.append("\u010e\154\376\155\u0107\156\u010f\157\u0114\160\u0108\161\371"); - sb.append("\162\u0106\163\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170"); - sb.append("\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175\u010a\176\373"); - sb.append("\201\u0100\215\ufda4\231\ufda4\232\ufda4\242\377\245\372\251"); - sb.append("\u0113\001\002\000\102\073\ufd9d\112\ufd9d\127\ufd9d\130\ufd9d"); - sb.append("\131\ufd9d\132\ufd9d\150\ufd9d\151\ufd9d\152\ufd9d\153\ufd9d\154"); - sb.append("\ufd9d\155\ufd9d\156\ufd9d\163\u0112\164\u0111\165\u0104\166\u0102"); - sb.append("\167\u0110\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175"); - sb.append("\u010a\176\373\201\u0100\215\ufd9d\231\ufd9d\232\ufd9d\242\ufd9d"); - sb.append("\245\ufd9d\251\ufd9d\001\002\000\112\073\ufda9\112\ufda9\127"); - sb.append("\ufda9\130\ufda9\131\ufda9\132\ufda9\150\ufda9\151\ufda9\152\ufda9"); - sb.append("\153\ufda9\154\ufda9\155\ufda9\156\ufda9\157\u0114\160\u0108\161"); - sb.append("\371\162\u0106\163\u0112\164\u0111\165\u0104\166\u0102\167\u0110"); - sb.append("\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175\u010a\176"); - sb.append("\373\201\u0100\215\ufda9\231\ufda9\232\ufda9\242\ufda9\245\372"); - sb.append("\251\ufda9\001\002\000\100\073\ufd99\112\ufd99\127\ufd99\130"); - sb.append("\ufd99\131\ufd99\132\ufd99\150\ufd99\151\ufd99\152\ufd99\153\ufd99"); - sb.append("\154\ufd99\155\ufd99\156\ufd99\157\ufd99\160\ufd99\161\ufd99\162"); - sb.append("\ufd99\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175\u010a"); - sb.append("\176\373\201\u0100\215\ufd99\231\ufd99\232\ufd99\242\ufd99\245"); - sb.append("\ufd99\251\ufd99\001\002\000\100\073\ufd98\112\ufd98\127\ufd98"); - sb.append("\130\ufd98\131\ufd98\132\ufd98\150\ufd98\151\ufd98\152\ufd98\153"); - sb.append("\ufd98\154\ufd98\155\ufd98\156\ufd98\157\ufd98\160\ufd98\161\ufd98"); - sb.append("\162\ufd98\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175"); - sb.append("\u010a\176\373\201\u0100\215\ufd98\231\ufd98\232\ufd98\242\ufd98"); - sb.append("\245\ufd98\251\ufd98\001\002\000\100\073\ufd9a\112\ufd9a\127"); + sb.append("\046\121\160\173\362\174\352\200\347\201\354\215\360"); + sb.append("\223\341\231\366\237\060\254\147\255\064\256\055\001"); + sb.append("\002\000\114\073\ufdb2\112\ufdb2\127\ufdb2\130\ufdb2\131\ufdb2"); + sb.append("\132\ufdb2\150\ufdb2\151\ufdb2\152\ufdb2\153\ufdb2\154\ufdb2\155"); + sb.append("\ufdb2\156\ufdb2\157\ufdb2\160\ufdb2\161\ufdb2\162\ufdb2\163\ufdb2"); + sb.append("\164\ufdb2\165\ufdb2\166\ufdb2\167\ufdb2\170\ufdb2\171\ufdb2\172"); + sb.append("\ufdb2\173\ufdb2\174\ufdb2\175\u010c\176\u010a\177\372\202\ufdb2"); + sb.append("\216\ufdb2\232\ufdb2\233\ufdb2\243\ufdb2\246\ufdb2\252\ufdb2\001"); + sb.append("\002\000\114\073\ufda3\112\ufda3\127\ufda3\130\ufda3\131\ufda3"); + sb.append("\132\375\150\u0100\151\ufda3\152\374\153\u010e\154\u0113\155"); + sb.append("\376\156\u0107\157\u010f\160\u0115\161\u0109\162\371\163\u0106"); + sb.append("\164\u0112\165\u0110\166\u0104\167\u0102\170\u0111\171\u010d\172"); + sb.append("\u0108\173\u0117\174\u0103\175\u010c\176\u010a\177\372\202\377"); + sb.append("\216\ufda3\232\ufda3\233\ufda3\243\u0101\246\373\252\u0114\001"); + sb.append("\002\000\104\073\ufd9c\112\ufd9c\127\ufd9c\130\ufd9c\131\ufd9c"); + sb.append("\132\ufd9c\150\ufd9c\151\ufd9c\152\ufd9c\153\ufd9c\154\ufd9c\155"); + sb.append("\ufd9c\156\ufd9c\157\ufd9c\164\u0112\165\u0110\166\u0104\167\u0102"); + sb.append("\170\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176"); + sb.append("\u010a\177\372\202\377\216\ufd9c\232\ufd9c\233\ufd9c\243\ufd9c"); + sb.append("\246\ufd9c\252\ufd9c\001\002\000\114\073\ufda8\112\ufda8\127"); + sb.append("\ufda8\130\ufda8\131\ufda8\132\ufda8\150\ufda8\151\ufda8\152\ufda8"); + sb.append("\153\ufda8\154\ufda8\155\ufda8\156\ufda8\157\ufda8\160\u0115\161"); + sb.append("\u0109\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102"); + sb.append("\170\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176"); + sb.append("\u010a\177\372\202\377\216\ufda8\232\ufda8\233\ufda8\243\ufda8"); + sb.append("\246\373\252\ufda8\001\002\000\114\073\ufd9a\112\ufd9a\127"); sb.append("\ufd9a\130\ufd9a\131\ufd9a\132\ufd9a\150\ufd9a\151\ufd9a\152\ufd9a"); - sb.append("\153\ufd9a\154\ufd9a\155\ufd9a\156\ufd9a\157\ufd9a\160\ufd9a\161"); - sb.append("\ufd9a\162\ufd9a\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c"); - sb.append("\175\u010a\176\373\201\u0100\215\ufd9a\231\ufd9a\232\ufd9a\242"); - sb.append("\ufd9a\245\ufd9a\251\ufd9a\001\002\000\112\073\ufdaa\112\ufdaa"); - sb.append("\127\ufdaa\130\ufdaa\131\ufdaa\132\ufdaa\150\ufdaa\151\ufdaa\152"); - sb.append("\ufdaa\153\ufdaa\154\ufdaa\155\ufdaa\156\ufdaa\157\u0114\160\u0108"); - sb.append("\161\371\162\u0106\163\u0112\164\u0111\165\u0104\166\u0102\167"); - sb.append("\u0110\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175\u010a"); - sb.append("\176\373\201\u0100\215\ufdaa\231\ufdaa\232\ufdaa\242\ufdaa\245"); - sb.append("\372\251\u0113\001\002\000\112\073\ufda1\112\ufda1\127\ufda1"); - sb.append("\130\ufda1\131\ufda1\132\ufda1\150\ufda1\151\ufda1\152\ufda1\153"); - sb.append("\ufda1\154\376\155\u0107\156\u010f\157\u0114\160\u0108\161\371"); - sb.append("\162\u0106\163\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170"); - sb.append("\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175\u010a\176\373"); - sb.append("\201\u0100\215\ufda1\231\ufda1\232\ufda1\242\ufda1\245\372\251"); - sb.append("\u0113\001\002\000\112\073\ufda7\112\ufda7\127\ufda7\130\ufda7"); - sb.append("\131\ufda7\132\ufda7\150\ufda7\151\ufda7\152\ufda7\153\ufda7\154"); - sb.append("\ufda7\155\ufda7\156\ufda7\157\ufda7\160\ufda7\161\ufda7\162\ufda7"); - sb.append("\163\ufda7\164\ufda7\165\ufda7\166\ufda7\167\ufda7\170\ufda7\171"); - sb.append("\ufda7\172\u0116\173\u0103\174\u010c\175\u010a\176\373\201\u0100"); - sb.append("\215\ufda7\231\ufda7\232\ufda7\242\ufda7\245\ufda7\251\ufda7\001"); - sb.append("\002\000\112\073\ufdb1\112\ufdb1\127\ufdb1\130\ufdb1\131\ufdb1"); - sb.append("\132\ufdb1\150\ufdb1\151\ufdb1\152\ufdb1\153\ufdb1\154\ufdb1\155"); - sb.append("\ufdb1\156\ufdb1\157\ufdb1\160\ufdb1\161\ufdb1\162\ufdb1\163\ufdb1"); - sb.append("\164\ufdb1\165\ufdb1\166\ufdb1\167\ufdb1\170\ufdb1\171\ufdb1\172"); - sb.append("\ufdb1\173\ufdb1\174\ufdb1\175\ufdb1\176\ufdb1\201\ufdb1\215\ufdb1"); - sb.append("\231\ufdb1\232\ufdb1\242\ufdb1\245\ufdb1\251\ufdb1\001\002\000"); - sb.append("\112\073\ufdaf\112\ufdaf\127\ufdaf\130\ufdaf\131\ufdaf\132\ufdaf"); - sb.append("\150\ufdaf\151\ufdaf\152\ufdaf\153\ufdaf\154\ufdaf\155\ufdaf\156"); - sb.append("\ufdaf\157\ufdaf\160\ufdaf\161\ufdaf\162\ufdaf\163\ufdaf\164\ufdaf"); - sb.append("\165\ufdaf\166\ufdaf\167\ufdaf\170\ufdaf\171\ufdaf\172\ufdaf\173"); - sb.append("\ufdaf\174\ufdaf\175\ufdaf\176\ufdaf\201\ufdaf\215\ufdaf\231\ufdaf"); - sb.append("\232\ufdaf\242\ufdaf\245\ufdaf\251\ufdaf\001\002\000\112\073"); - sb.append("\ufda6\112\ufda6\127\ufda6\130\ufda6\131\ufda6\132\ufda6\150\ufda6"); - sb.append("\151\ufda6\152\ufda6\153\ufda6\154\ufda6\155\ufda6\156\ufda6\157"); - sb.append("\ufda6\160\ufda6\161\ufda6\162\ufda6\163\ufda6\164\ufda6\165\ufda6"); - sb.append("\166\ufda6\167\ufda6\170\ufda6\171\ufda6\172\u0116\173\u0103\174"); - sb.append("\u010c\175\u010a\176\373\201\u0100\215\ufda6\231\ufda6\232\ufda6"); - sb.append("\242\ufda6\245\ufda6\251\ufda6\001\002\000\102\073\ufd9c\112"); - sb.append("\ufd9c\127\ufd9c\130\ufd9c\131\ufd9c\132\ufd9c\150\ufd9c\151\ufd9c"); - sb.append("\152\ufd9c\153\ufd9c\154\ufd9c\155\ufd9c\156\ufd9c\163\u0112\164"); - sb.append("\u0111\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109\172\u0116"); - sb.append("\173\u0103\174\u010c\175\u010a\176\373\201\u0100\215\ufd9c\231"); - sb.append("\ufd9c\232\ufd9c\242\ufd9c\245\ufd9c\251\ufd9c\001\002\000\112"); - sb.append("\073\ufda8\112\ufda8\127\ufda8\130\ufda8\131\ufda8\132\ufda8\150"); - sb.append("\ufda8\151\ufda8\152\ufda8\153\ufda8\154\ufda8\155\ufda8\156\u010f"); - sb.append("\157\u0114\160\u0108\161\371\162\u0106\163\u0112\164\u0111\165"); - sb.append("\u0104\166\u0102\167\u0110\170\u010d\171\u0109\172\u0116\173\u0103"); - sb.append("\174\u010c\175\u010a\176\373\201\u0100\215\ufda8\231\ufda8\232"); - sb.append("\ufda8\242\ufda8\245\372\251\u0113\001\002\000\102\073\ufd9e"); - sb.append("\112\ufd9e\127\ufd9e\130\ufd9e\131\ufd9e\132\ufd9e\150\ufd9e\151"); - sb.append("\ufd9e\152\ufd9e\153\ufd9e\154\ufd9e\155\ufd9e\156\ufd9e\163\u0112"); - sb.append("\164\u0111\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109\172"); - sb.append("\u0116\173\u0103\174\u010c\175\u010a\176\373\201\u0100\215\ufd9e"); - sb.append("\231\ufd9e\232\ufd9e\242\ufd9e\245\ufd9e\251\ufd9e\001\002\000"); - sb.append("\112\073\ufda2\112\ufda2\127\ufda2\130\ufda2\131\u0115\132\374"); - sb.append("\150\u0101\151\ufda2\152\375\153\u010e\154\376\155\u0107\156"); - sb.append("\u010f\157\u0114\160\u0108\161\371\162\u0106\163\u0112\164\u0111"); - sb.append("\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109\172\u0116\173"); - sb.append("\u0103\174\u010c\175\u010a\176\373\201\u0100\215\ufda2\231\ufda2"); - sb.append("\232\ufda2\242\377\245\372\251\u0113\001\002\000\100\073"); - sb.append("\ufd97\112\ufd97\127\ufd97\130\ufd97\131\ufd97\132\ufd97\150\ufd97"); - sb.append("\151\ufd97\152\ufd97\153\ufd97\154\ufd97\155\ufd97\156\ufd97\157"); - sb.append("\ufd97\160\ufd97\161\ufd97\162\ufd97\170\u010d\171\u0109\172\u0116"); - sb.append("\173\u0103\174\u010c\175\u010a\176\373\201\u0100\215\ufd97\231"); - sb.append("\ufd97\232\ufd97\242\ufd97\245\ufd97\251\ufd97\001\002\000\112"); - sb.append("\073\ufdb2\112\ufdb2\127\ufdb2\130\ufdb2\131\ufdb2\132\ufdb2\150"); - sb.append("\ufdb2\151\ufdb2\152\ufdb2\153\ufdb2\154\ufdb2\155\ufdb2\156\ufdb2"); - sb.append("\157\ufdb2\160\ufdb2\161\ufdb2\162\ufdb2\163\ufdb2\164\ufdb2\165"); - sb.append("\ufdb2\166\ufdb2\167\ufdb2\170\ufdb2\171\ufdb2\172\ufdb2\173\ufdb2"); - sb.append("\174\u010c\175\u010a\176\373\201\ufdb2\215\ufdb2\231\ufdb2\232"); - sb.append("\ufdb2\242\ufdb2\245\ufdb2\251\ufdb2\001\002\000\100\073\ufd9b"); - sb.append("\112\ufd9b\127\ufd9b\130\ufd9b\131\ufd9b\132\ufd9b\150\ufd9b\151"); - sb.append("\ufd9b\152\ufd9b\153\ufd9b\154\ufd9b\155\ufd9b\156\ufd9b\157\ufd9b"); - sb.append("\160\ufd9b\161\ufd9b\162\ufd9b\170\u010d\171\u0109\172\u0116\173"); - sb.append("\u0103\174\u010c\175\u010a\176\373\201\u0100\215\ufd9b\231\ufd9b"); - sb.append("\232\ufd9b\242\ufd9b\245\ufd9b\251\ufd9b\001\002\000\076\130"); - sb.append("\u0105\131\u0115\132\374\150\u0101\152\375\153\u010e\154\376"); - sb.append("\155\u0107\156\u010f\157\u0114\160\u0108\161\371\162\u0106\163"); - sb.append("\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109"); - sb.append("\172\u0116\173\u0103\174\u010c\175\u010a\176\373\201\u0100\232"); - sb.append("\u012e\242\377\245\372\251\u0113\001\002\000\070\006\156"); - sb.append("\007\175\010\357\015\364\016\356\075\351\077\123\100"); - sb.append("\012\101\206\102\041\103\144\104\117\105\141\115\136"); - sb.append("\116\046\121\160\172\362\173\352\177\347\200\354\214"); - sb.append("\360\222\341\230\366\236\060\253\147\254\064\255\055"); - sb.append("\001\002\000\112\073\ufd96\112\ufd96\127\ufd96\130\u0105\131"); - sb.append("\u0115\132\374\150\u0101\151\ufd96\152\375\153\u010e\154\376"); - sb.append("\155\u0107\156\u010f\157\u0114\160\u0108\161\371\162\u0106\163"); - sb.append("\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109"); - sb.append("\172\u0116\173\u0103\174\u010c\175\u010a\176\373\201\u0100\215"); - sb.append("\ufd96\231\ufd96\232\ufd96\242\377\245\372\251\u0113\001\002"); - sb.append("\000\070\006\156\007\175\010\357\015\364\016\356\075"); - sb.append("\351\077\123\100\012\101\206\102\041\103\144\104\117"); - sb.append("\105\141\115\136\116\046\121\160\172\362\173\352\177"); - sb.append("\347\200\354\214\360\222\341\230\366\236\060\253\147"); - sb.append("\254\064\255\055\001\002\000\112\073\ufd95\112\ufd95\127"); - sb.append("\ufd95\130\u0105\131\u0115\132\374\150\u0101\151\ufd95\152\375"); - sb.append("\153\u010e\154\376\155\u0107\156\u010f\157\u0114\160\u0108\161"); - sb.append("\371\162\u0106\163\u0112\164\u0111\165\u0104\166\u0102\167\u0110"); - sb.append("\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175\u010a\176"); - sb.append("\373\201\u0100\215\ufd95\231\ufd95\232\ufd95\242\377\245\372"); - sb.append("\251\u0113\001\002\000\112\073\ufda5\112\ufda5\127\ufda5\130"); - sb.append("\ufda5\131\ufda5\132\ufda5\150\ufda5\151\ufda5\152\ufda5\153\ufda5"); - sb.append("\154\ufda5\155\ufda5\156\ufda5\157\ufda5\160\ufda5\161\ufda5\162"); - sb.append("\ufda5\163\ufda5\164\ufda5\165\ufda5\166\ufda5\167\ufda5\170\ufda5"); - sb.append("\171\ufda5\172\ufda5\173\ufda5\174\u010c\175\u010a\176\373\201"); - sb.append("\ufda5\215\ufda5\231\ufda5\232\ufda5\242\ufda5\245\ufda5\251\ufda5"); - sb.append("\001\002\000\112\073\ufdb0\112\ufdb0\127\ufdb0\130\ufdb0\131"); - sb.append("\ufdb0\132\ufdb0\150\u0101\151\ufdb0\152\375\153\u010e\154\376"); - sb.append("\155\u0107\156\u010f\157\u0114\160\u0108\161\371\162\u0106\163"); - sb.append("\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109"); - sb.append("\172\u0116\173\u0103\174\u010c\175\u010a\176\373\201\u0100\215"); - sb.append("\ufdb0\231\ufdb0\232\ufdb0\242\377\245\372\251\u0113\001\002"); - sb.append("\000\112\073\ufdab\112\ufdab\127\ufdab\130\ufdab\131\ufdab\132"); - sb.append("\ufdab\150\ufdab\151\ufdab\152\ufdab\153\ufdab\154\ufdab\155\u0107"); - sb.append("\156\u010f\157\u0114\160\u0108\161\371\162\u0106\163\u0112\164"); - sb.append("\u0111\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109\172\u0116"); - sb.append("\173\u0103\174\u010c\175\u010a\176\373\201\u0100\215\ufdab\231"); - sb.append("\ufdab\232\ufdab\242\ufdab\245\372\251\u0113\001\002\000\112"); - sb.append("\073\ufda0\112\ufda0\127\ufda0\130\ufda0\131\ufda0\132\ufda0\150"); - sb.append("\ufda0\151\ufda0\152\ufda0\153\u010e\154\376\155\u0107\156\u010f"); - sb.append("\157\u0114\160\u0108\161\371\162\u0106\163\u0112\164\u0111\165"); - sb.append("\u0104\166\u0102\167\u0110\170\u010d\171\u0109\172\u0116\173\u0103"); - sb.append("\174\u010c\175\u010a\176\373\201\u0100\215\ufda0\231\ufda0\232"); - sb.append("\ufda0\242\ufda0\245\372\251\u0113\001\002\000\112\073\ufda3"); - sb.append("\112\ufda3\127\ufda3\130\ufda3\131\ufda3\132\ufda3\150\u0101\151"); - sb.append("\ufda3\152\375\153\u010e\154\376\155\u0107\156\u010f\157\u0114"); - sb.append("\160\u0108\161\371\162\u0106\163\u0112\164\u0111\165\u0104\166"); - sb.append("\u0102\167\u0110\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c"); - sb.append("\175\u010a\176\373\201\u0100\215\ufda3\231\ufda3\232\ufda3\242"); - sb.append("\377\245\372\251\u0113\001\002\000\112\073\ufdae\112\ufdae"); - sb.append("\127\ufdae\130\ufdae\131\ufdae\132\ufdae\150\ufdae\151\ufdae\152"); - sb.append("\ufdae\153\ufdae\154\ufdae\155\ufdae\156\ufdae\157\ufdae\160\ufdae"); - sb.append("\161\ufdae\162\ufdae\163\ufdae\164\ufdae\165\ufdae\166\ufdae\167"); - sb.append("\ufdae\170\ufdae\171\ufdae\172\ufdae\173\ufdae\174\ufdae\175\ufdae"); - sb.append("\176\ufdae\201\ufdae\215\ufdae\231\ufdae\232\ufdae\242\ufdae\245"); - sb.append("\ufdae\251\ufdae\001\002\000\112\073\ufd94\112\ufd94\127\ufd94"); - sb.append("\130\ufd94\131\ufd94\132\ufd94\150\ufd94\151\ufd94\152\ufd94\153"); - sb.append("\ufd94\154\ufd94\155\ufd94\156\ufd94\157\u0114\160\u0108\161\371"); - sb.append("\162\u0106\163\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170"); - sb.append("\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175\u010a\176\373"); - sb.append("\201\u0100\215\ufd94\231\ufd94\232\ufd94\242\ufd94\245\ufd94\251"); - sb.append("\ufd94\001\002\000\102\073\ufd9f\112\ufd9f\127\ufd9f\130\ufd9f"); - sb.append("\131\ufd9f\132\ufd9f\150\ufd9f\151\ufd9f\152\ufd9f\153\ufd9f\154"); - sb.append("\ufd9f\155\ufd9f\156\ufd9f\163\u0112\164\u0111\165\u0104\166\u0102"); - sb.append("\167\u0110\170\u010d\171\u0109\172\u0116\173\u0103\174\u010c\175"); - sb.append("\u010a\176\373\201\u0100\215\ufd9f\231\ufd9f\232\ufd9f\242\ufd9f"); - sb.append("\245\ufd9f\251\ufd9f\001\002\000\070\006\156\007\175\010"); - sb.append("\357\015\364\016\356\075\351\077\123\100\012\101\206"); + sb.append("\153\ufd9a\154\ufd9a\155\376\156\u0107\157\u010f\160\u0115\161"); + sb.append("\u0109\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102"); + sb.append("\170\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176"); + sb.append("\u010a\177\372\202\377\216\ufd9a\232\ufd9a\233\ufd9a\243\ufd9a"); + sb.append("\246\373\252\u0114\001\002\000\102\073\ufd97\112\ufd97\127"); + sb.append("\ufd97\130\ufd97\131\ufd97\132\ufd97\150\ufd97\151\ufd97\152\ufd97"); + sb.append("\153\ufd97\154\ufd97\155\ufd97\156\ufd97\157\ufd97\160\ufd97\161"); + sb.append("\ufd97\162\ufd97\163\ufd97\171\u010d\172\u0108\173\u0117\174\u0103"); + sb.append("\175\u010c\176\u010a\177\372\202\377\216\ufd97\232\ufd97\233"); + sb.append("\ufd97\243\ufd97\246\ufd97\252\ufd97\001\002\000\102\073\ufd98"); + sb.append("\112\ufd98\127\ufd98\130\ufd98\131\ufd98\132\ufd98\150\ufd98\151"); + sb.append("\ufd98\152\ufd98\153\ufd98\154\ufd98\155\ufd98\156\ufd98\157\ufd98"); + sb.append("\160\ufd98\161\ufd98\162\ufd98\163\ufd98\171\u010d\172\u0108\173"); + sb.append("\u0117\174\u0103\175\u010c\176\u010a\177\372\202\377\216\ufd98"); + sb.append("\232\ufd98\233\ufd98\243\ufd98\246\ufd98\252\ufd98\001\002\000"); + sb.append("\102\073\ufd96\112\ufd96\127\ufd96\130\ufd96\131\ufd96\132\ufd96"); + sb.append("\150\ufd96\151\ufd96\152\ufd96\153\ufd96\154\ufd96\155\ufd96\156"); + sb.append("\ufd96\157\ufd96\160\ufd96\161\ufd96\162\ufd96\163\ufd96\171\u010d"); + sb.append("\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a\177\372\202"); + sb.append("\377\216\ufd96\232\ufd96\233\ufd96\243\ufd96\246\ufd96\252\ufd96"); + sb.append("\001\002\000\114\073\ufda9\112\ufda9\127\ufda9\130\ufda9\131"); + sb.append("\ufda9\132\ufda9\150\ufda9\151\ufda9\152\ufda9\153\ufda9\154\ufda9"); + sb.append("\155\ufda9\156\ufda9\157\ufda9\160\u0115\161\u0109\162\371\163"); + sb.append("\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170\u0111\171\u010d"); + sb.append("\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a\177\372\202"); + sb.append("\377\216\ufda9\232\ufda9\233\ufda9\243\ufda9\246\373\252\u0114"); + sb.append("\001\002\000\114\073\ufda0\112\ufda0\127\ufda0\130\ufda0\131"); + sb.append("\ufda0\132\ufda0\150\ufda0\151\ufda0\152\ufda0\153\ufda0\154\u0113"); + sb.append("\155\376\156\u0107\157\u010f\160\u0115\161\u0109\162\371\163"); + sb.append("\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170\u0111\171\u010d"); + sb.append("\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a\177\372\202"); + sb.append("\377\216\ufda0\232\ufda0\233\ufda0\243\ufda0\246\373\252\u0114"); + sb.append("\001\002\000\114\073\ufda6\112\ufda6\127\ufda6\130\ufda6\131"); + sb.append("\ufda6\132\ufda6\150\ufda6\151\ufda6\152\ufda6\153\ufda6\154\ufda6"); + sb.append("\155\ufda6\156\ufda6\157\ufda6\160\ufda6\161\ufda6\162\ufda6\163"); + sb.append("\ufda6\164\ufda6\165\ufda6\166\ufda6\167\ufda6\170\ufda6\171\ufda6"); + sb.append("\172\ufda6\173\u0117\174\u0103\175\u010c\176\u010a\177\372\202"); + sb.append("\377\216\ufda6\232\ufda6\233\ufda6\243\ufda6\246\ufda6\252\ufda6"); + sb.append("\001\002\000\114\073\ufdb0\112\ufdb0\127\ufdb0\130\ufdb0\131"); + sb.append("\ufdb0\132\ufdb0\150\ufdb0\151\ufdb0\152\ufdb0\153\ufdb0\154\ufdb0"); + sb.append("\155\ufdb0\156\ufdb0\157\ufdb0\160\ufdb0\161\ufdb0\162\ufdb0\163"); + sb.append("\ufdb0\164\ufdb0\165\ufdb0\166\ufdb0\167\ufdb0\170\ufdb0\171\ufdb0"); + sb.append("\172\ufdb0\173\ufdb0\174\ufdb0\175\ufdb0\176\ufdb0\177\ufdb0\202"); + sb.append("\ufdb0\216\ufdb0\232\ufdb0\233\ufdb0\243\ufdb0\246\ufdb0\252\ufdb0"); + sb.append("\001\002\000\114\073\ufdae\112\ufdae\127\ufdae\130\ufdae\131"); + sb.append("\ufdae\132\ufdae\150\ufdae\151\ufdae\152\ufdae\153\ufdae\154\ufdae"); + sb.append("\155\ufdae\156\ufdae\157\ufdae\160\ufdae\161\ufdae\162\ufdae\163"); + sb.append("\ufdae\164\ufdae\165\ufdae\166\ufdae\167\ufdae\170\ufdae\171\ufdae"); + sb.append("\172\ufdae\173\ufdae\174\ufdae\175\ufdae\176\ufdae\177\ufdae\202"); + sb.append("\ufdae\216\ufdae\232\ufdae\233\ufdae\243\ufdae\246\ufdae\252\ufdae"); + sb.append("\001\002\000\104\073\ufd9b\112\ufd9b\127\ufd9b\130\ufd9b\131"); + sb.append("\ufd9b\132\ufd9b\150\ufd9b\151\ufd9b\152\ufd9b\153\ufd9b\154\ufd9b"); + sb.append("\155\ufd9b\156\ufd9b\157\ufd9b\164\u0112\165\u0110\166\u0104\167"); + sb.append("\u0102\170\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c"); + sb.append("\176\u010a\177\372\202\377\216\ufd9b\232\ufd9b\233\ufd9b\243"); + sb.append("\ufd9b\246\ufd9b\252\ufd9b\001\002\000\114\073\ufda5\112\ufda5"); + sb.append("\127\ufda5\130\ufda5\131\ufda5\132\ufda5\150\ufda5\151\ufda5\152"); + sb.append("\ufda5\153\ufda5\154\ufda5\155\ufda5\156\ufda5\157\ufda5\160\ufda5"); + sb.append("\161\ufda5\162\ufda5\163\ufda5\164\ufda5\165\ufda5\166\ufda5\167"); + sb.append("\ufda5\170\ufda5\171\ufda5\172\ufda5\173\u0117\174\u0103\175\u010c"); + sb.append("\176\u010a\177\372\202\377\216\ufda5\232\ufda5\233\ufda5\243"); + sb.append("\ufda5\246\ufda5\252\ufda5\001\002\000\114\073\ufda7\112\ufda7"); + sb.append("\127\ufda7\130\ufda7\131\ufda7\132\ufda7\150\ufda7\151\ufda7\152"); + sb.append("\ufda7\153\ufda7\154\ufda7\155\ufda7\156\ufda7\157\u010f\160\u0115"); + sb.append("\161\u0109\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167"); + sb.append("\u0102\170\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c"); + sb.append("\176\u010a\177\372\202\377\216\ufda7\232\ufda7\233\ufda7\243"); + sb.append("\ufda7\246\373\252\u0114\001\002\000\104\073\ufd9d\112\ufd9d"); + sb.append("\127\ufd9d\130\ufd9d\131\ufd9d\132\ufd9d\150\ufd9d\151\ufd9d\152"); + sb.append("\ufd9d\153\ufd9d\154\ufd9d\155\ufd9d\156\ufd9d\157\ufd9d\164\u0112"); + sb.append("\165\u0110\166\u0104\167\u0102\170\u0111\171\u010d\172\u0108\173"); + sb.append("\u0117\174\u0103\175\u010c\176\u010a\177\372\202\377\216\ufd9d"); + sb.append("\232\ufd9d\233\ufd9d\243\ufd9d\246\ufd9d\252\ufd9d\001\002\000"); + sb.append("\114\073\ufda1\112\ufda1\127\ufda1\130\ufda1\131\u0116\132\375"); + sb.append("\150\u0100\151\ufda1\152\374\153\u010e\154\u0113\155\376\156"); + sb.append("\u0107\157\u010f\160\u0115\161\u0109\162\371\163\u0106\164\u0112"); + sb.append("\165\u0110\166\u0104\167\u0102\170\u0111\171\u010d\172\u0108\173"); + sb.append("\u0117\174\u0103\175\u010c\176\u010a\177\372\202\377\216\ufda1"); + sb.append("\232\ufda1\233\ufda1\243\u0101\246\373\252\u0114\001\002\000"); + sb.append("\102\073\ufd95\112\ufd95\127\ufd95\130\ufd95\131\ufd95\132\ufd95"); + sb.append("\150\ufd95\151\ufd95\152\ufd95\153\ufd95\154\ufd95\155\ufd95\156"); + sb.append("\ufd95\157\ufd95\160\ufd95\161\ufd95\162\ufd95\163\ufd95\171\u010d"); + sb.append("\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a\177\372\202"); + sb.append("\377\216\ufd95\232\ufd95\233\ufd95\243\ufd95\246\ufd95\252\ufd95"); + sb.append("\001\002\000\114\073\ufdb1\112\ufdb1\127\ufdb1\130\ufdb1\131"); + sb.append("\ufdb1\132\ufdb1\150\ufdb1\151\ufdb1\152\ufdb1\153\ufdb1\154\ufdb1"); + sb.append("\155\ufdb1\156\ufdb1\157\ufdb1\160\ufdb1\161\ufdb1\162\ufdb1\163"); + sb.append("\ufdb1\164\ufdb1\165\ufdb1\166\ufdb1\167\ufdb1\170\ufdb1\171\ufdb1"); + sb.append("\172\ufdb1\173\ufdb1\174\ufdb1\175\u010c\176\u010a\177\372\202"); + sb.append("\ufdb1\216\ufdb1\232\ufdb1\233\ufdb1\243\ufdb1\246\ufdb1\252\ufdb1"); + sb.append("\001\002\000\102\073\ufd99\112\ufd99\127\ufd99\130\ufd99\131"); + sb.append("\ufd99\132\ufd99\150\ufd99\151\ufd99\152\ufd99\153\ufd99\154\ufd99"); + sb.append("\155\ufd99\156\ufd99\157\ufd99\160\ufd99\161\ufd99\162\ufd99\163"); + sb.append("\ufd99\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\216\ufd99\232\ufd99\233\ufd99\243\ufd99\246"); + sb.append("\ufd99\252\ufd99\001\002\000\114\073\ufdaf\112\ufdaf\127\ufdaf"); + sb.append("\130\ufdaf\131\ufdaf\132\ufdaf\150\u0100\151\ufdaf\152\374\153"); + sb.append("\u010e\154\u0113\155\376\156\u0107\157\u010f\160\u0115\161\u0109"); + sb.append("\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170"); + sb.append("\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\216\ufdaf\232\ufdaf\233\ufdaf\243\u0101\246"); + sb.append("\373\252\u0114\001\002\000\100\130\u0105\131\u0116\132\375"); + sb.append("\150\u0100\152\374\153\u010e\154\u0113\155\376\156\u0107\157"); + sb.append("\u010f\160\u0115\161\u0109\162\371\163\u0106\164\u0112\165\u0110"); + sb.append("\166\u0104\167\u0102\170\u0111\171\u010d\172\u0108\173\u0117\174"); + sb.append("\u0103\175\u010c\176\u010a\177\372\202\377\233\u0131\243\u0101"); + sb.append("\246\373\252\u0114\001\002\000\070\006\156\007\175\010"); + sb.append("\356\015\364\016\357\075\351\077\123\100\012\101\206"); sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); - sb.append("\160\172\362\173\352\177\347\200\354\214\360\222\341"); - sb.append("\230\366\236\060\253\147\254\064\255\055\001\002\000"); - sb.append("\070\006\156\007\175\010\357\015\364\016\356\075\351"); + sb.append("\160\173\362\174\352\200\347\201\354\215\360\223\341"); + sb.append("\231\366\237\060\254\147\255\064\256\055\001\002\000"); + sb.append("\114\073\ufd94\112\ufd94\127\ufd94\130\u0105\131\u0116\132\375"); + sb.append("\150\u0100\151\ufd94\152\374\153\u010e\154\u0113\155\376\156"); + sb.append("\u0107\157\u010f\160\u0115\161\u0109\162\371\163\u0106\164\u0112"); + sb.append("\165\u0110\166\u0104\167\u0102\170\u0111\171\u010d\172\u0108\173"); + sb.append("\u0117\174\u0103\175\u010c\176\u010a\177\372\202\377\216\ufd94"); + sb.append("\232\ufd94\233\ufd94\243\u0101\246\373\252\u0114\001\002\000"); + sb.append("\070\006\156\007\175\010\356\015\364\016\357\075\351"); sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); - sb.append("\141\115\136\116\046\121\160\172\362\173\352\177\347"); - sb.append("\200\354\214\360\222\341\230\366\236\060\253\147\254"); - sb.append("\064\255\055\001\002\000\116\073\ufd7b\111\ufd7b\112\ufd7b"); - sb.append("\127\ufd7b\130\ufd7b\131\ufd7b\132\ufd7b\150\ufd7b\151\ufd7b\152"); - sb.append("\ufd7b\153\ufd7b\154\ufd7b\155\ufd7b\156\ufd7b\157\ufd7b\160\ufd7b"); - sb.append("\161\ufd7b\162\ufd7b\163\ufd7b\164\ufd7b\165\ufd7b\166\ufd7b\167"); - sb.append("\ufd7b\170\ufd7b\171\ufd7b\172\ufd7b\173\ufd7b\174\ufd7b\175\ufd7b"); - sb.append("\176\ufd7b\201\ufd7b\214\ufd7b\215\ufd7b\231\ufd7b\232\ufd7b\242"); - sb.append("\ufd7b\245\ufd7b\251\ufd7b\001\002\000\076\130\u0105\131\u0115"); - sb.append("\132\374\150\u0101\152\375\153\u010e\154\376\155\u0107\156"); - sb.append("\u010f\157\u0114\160\u0108\161\371\162\u0106\163\u0112\164\u0111"); - sb.append("\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109\172\u0116\173"); - sb.append("\u0103\174\u010c\175\u010a\176\373\201\u0100\215\u013c\242\377"); - sb.append("\245\372\251\u0113\001\002\000\116\073\ufd33\111\ufd33\112"); - sb.append("\ufd33\127\ufd33\130\ufd33\131\ufd33\132\ufd33\150\ufd33\151\ufd33"); - sb.append("\152\ufd33\153\ufd33\154\ufd33\155\ufd33\156\ufd33\157\ufd33\160"); - sb.append("\ufd33\161\ufd33\162\ufd33\163\ufd33\164\ufd33\165\ufd33\166\ufd33"); - sb.append("\167\ufd33\170\ufd33\171\ufd33\172\ufd33\173\ufd33\174\ufd33\175"); - sb.append("\ufd33\176\ufd33\201\ufd33\214\ufd33\215\ufd33\231\ufd33\232\ufd33"); - sb.append("\242\ufd33\245\ufd33\251\ufd33\001\002\000\076\112\u013e\130"); - sb.append("\u0105\131\u0115\132\374\150\u0101\152\375\153\u010e\154\376"); - sb.append("\155\u0107\156\u010f\157\u0114\160\u0108\161\371\162\u0106\163"); - sb.append("\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109"); - sb.append("\172\u0116\173\u0103\174\u010c\175\u010a\176\373\201\u0100\242"); - sb.append("\377\245\372\251\u0113\001\002\000\116\073\ufd32\111\ufd32"); - sb.append("\112\ufd32\127\ufd32\130\ufd32\131\ufd32\132\ufd32\150\ufd32\151"); - sb.append("\ufd32\152\ufd32\153\ufd32\154\ufd32\155\ufd32\156\ufd32\157\ufd32"); - sb.append("\160\ufd32\161\ufd32\162\ufd32\163\ufd32\164\ufd32\165\ufd32\166"); - sb.append("\ufd32\167\ufd32\170\ufd32\171\ufd32\172\ufd32\173\ufd32\174\ufd32"); - sb.append("\175\ufd32\176\ufd32\201\ufd32\214\ufd32\215\ufd32\231\ufd32\232"); - sb.append("\ufd32\242\ufd32\245\ufd32\251\ufd32\001\002\000\112\073\ufdb5"); - sb.append("\112\ufdb5\127\ufdb5\130\ufdb5\131\ufdb5\132\ufdb5\150\ufdb5\151"); - sb.append("\ufdb5\152\ufdb5\153\ufdb5\154\ufdb5\155\ufdb5\156\ufdb5\157\ufdb5"); - sb.append("\160\ufdb5\161\ufdb5\162\ufdb5\163\ufdb5\164\ufdb5\165\ufdb5\166"); - sb.append("\ufdb5\167\ufdb5\170\ufdb5\171\ufdb5\172\ufdb5\173\ufdb5\174\ufdb5"); - sb.append("\175\ufdb5\176\ufdb5\201\ufdb5\215\ufdb5\231\ufdb5\232\ufdb5\242"); - sb.append("\ufdb5\245\ufdb5\251\ufdb5\001\002\000\112\073\ufd93\112\ufd93"); - sb.append("\127\ufd93\130\ufd93\131\ufd93\132\ufd93\150\ufd93\151\ufd93\152"); - sb.append("\ufd93\153\ufd93\154\ufd93\155\ufd93\156\ufd93\157\ufd93\160\ufd93"); - sb.append("\161\ufd93\162\ufd93\163\ufd93\164\ufd93\165\ufd93\166\ufd93\167"); - sb.append("\ufd93\170\ufd93\171\ufd93\172\ufd93\173\ufd93\174\u010c\175\u010a"); - sb.append("\176\373\201\ufd93\215\ufd93\231\ufd93\232\ufd93\242\ufd93\245"); - sb.append("\ufd93\251\ufd93\001\002\000\070\006\156\007\175\010\357"); - sb.append("\015\364\016\356\075\351\077\123\100\012\101\206\102"); - sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\172\362\173\352\177\347\200\354\214\360\222\341\230"); - sb.append("\366\236\060\253\147\254\064\255\055\001\002\000\010"); - sb.append("\127\u0148\215\ufd6e\231\ufd6e\001\002\000\004\215\u0147\001"); - sb.append("\002\000\012\073\u0145\127\ufd65\215\ufd65\231\ufd65\001\002"); - sb.append("\000\070\006\156\007\175\010\357\015\364\016\356\075"); - sb.append("\351\077\123\100\012\101\206\102\041\103\144\104\117"); - sb.append("\105\141\115\136\116\046\121\160\172\362\173\352\177"); - sb.append("\347\200\354\214\360\222\341\230\366\236\060\253\147"); - sb.append("\254\064\255\055\001\002\000\010\127\ufd67\215\ufd67\231"); - sb.append("\ufd67\001\002\000\116\073\ufd78\111\ufd78\112\ufd78\127\ufd78"); - sb.append("\130\ufd78\131\ufd78\132\ufd78\150\ufd78\151\ufd78\152\ufd78\153"); - sb.append("\ufd78\154\ufd78\155\ufd78\156\ufd78\157\ufd78\160\ufd78\161\ufd78"); - sb.append("\162\ufd78\163\ufd78\164\ufd78\165\ufd78\166\ufd78\167\ufd78\170"); - sb.append("\ufd78\171\ufd78\172\ufd78\173\ufd78\174\ufd78\175\ufd78\176\ufd78"); - sb.append("\201\ufd78\214\ufd78\215\ufd78\231\ufd78\232\ufd78\242\ufd78\245"); - sb.append("\ufd78\251\ufd78\001\002\000\076\006\156\007\175\010\357"); - sb.append("\015\364\016\356\075\351\077\123\100\012\101\206\102"); + sb.append("\141\115\136\116\046\121\160\173\362\174\352\200\347"); + sb.append("\201\354\215\360\223\341\231\366\237\060\254\147\255"); + sb.append("\064\256\055\001\002\000\114\073\ufd93\112\ufd93\127\ufd93"); + sb.append("\130\u0105\131\u0116\132\375\150\u0100\151\ufd93\152\374\153"); + sb.append("\u010e\154\u0113\155\376\156\u0107\157\u010f\160\u0115\161\u0109"); + sb.append("\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170"); + sb.append("\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\216\ufd93\232\ufd93\233\ufd93\243\u0101\246"); + sb.append("\373\252\u0114\001\002\000\114\073\ufda4\112\ufda4\127\ufda4"); + sb.append("\130\ufda4\131\ufda4\132\ufda4\150\ufda4\151\ufda4\152\ufda4\153"); + sb.append("\ufda4\154\ufda4\155\ufda4\156\ufda4\157\ufda4\160\ufda4\161\ufda4"); + sb.append("\162\ufda4\163\ufda4\164\ufda4\165\ufda4\166\ufda4\167\ufda4\170"); + sb.append("\ufda4\171\ufda4\172\ufda4\173\ufda4\174\ufda4\175\u010c\176\u010a"); + sb.append("\177\372\202\ufda4\216\ufda4\232\ufda4\233\ufda4\243\ufda4\246"); + sb.append("\ufda4\252\ufda4\001\002\000\114\073\ufdaa\112\ufdaa\127\ufdaa"); + sb.append("\130\ufdaa\131\ufdaa\132\ufdaa\150\ufdaa\151\ufdaa\152\ufdaa\153"); + sb.append("\ufdaa\154\ufdaa\155\ufdaa\156\u0107\157\u010f\160\u0115\161\u0109"); + sb.append("\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170"); + sb.append("\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\216\ufdaa\232\ufdaa\233\ufdaa\243\ufdaa\246"); + sb.append("\373\252\u0114\001\002\000\114\073\ufda2\112\ufda2\127\ufda2"); + sb.append("\130\ufda2\131\ufda2\132\ufda2\150\u0100\151\ufda2\152\374\153"); + sb.append("\u010e\154\u0113\155\376\156\u0107\157\u010f\160\u0115\161\u0109"); + sb.append("\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170"); + sb.append("\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\216\ufda2\232\ufda2\233\ufda2\243\u0101\246"); + sb.append("\373\252\u0114\001\002\000\114\073\ufd9f\112\ufd9f\127\ufd9f"); + sb.append("\130\ufd9f\131\ufd9f\132\ufd9f\150\ufd9f\151\ufd9f\152\ufd9f\153"); + sb.append("\u010e\154\u0113\155\376\156\u0107\157\u010f\160\u0115\161\u0109"); + sb.append("\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170"); + sb.append("\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\216\ufd9f\232\ufd9f\233\ufd9f\243\ufd9f\246"); + sb.append("\373\252\u0114\001\002\000\114\073\ufd92\112\ufd92\127\ufd92"); + sb.append("\130\ufd92\131\ufd92\132\ufd92\150\ufd92\151\ufd92\152\ufd92\153"); + sb.append("\ufd92\154\ufd92\155\ufd92\156\ufd92\157\ufd92\160\u0115\161\u0109"); + sb.append("\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170"); + sb.append("\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\216\ufd92\232\ufd92\233\ufd92\243\ufd92\246"); + sb.append("\ufd92\252\ufd92\001\002\000\114\073\ufdad\112\ufdad\127\ufdad"); + sb.append("\130\ufdad\131\ufdad\132\ufdad\150\ufdad\151\ufdad\152\ufdad\153"); + sb.append("\ufdad\154\ufdad\155\ufdad\156\ufdad\157\ufdad\160\ufdad\161\ufdad"); + sb.append("\162\ufdad\163\ufdad\164\ufdad\165\ufdad\166\ufdad\167\ufdad\170"); + sb.append("\ufdad\171\ufdad\172\ufdad\173\ufdad\174\ufdad\175\ufdad\176\ufdad"); + sb.append("\177\ufdad\202\ufdad\216\ufdad\232\ufdad\233\ufdad\243\ufdad\246"); + sb.append("\ufdad\252\ufdad\001\002\000\104\073\ufd9e\112\ufd9e\127\ufd9e"); + sb.append("\130\ufd9e\131\ufd9e\132\ufd9e\150\ufd9e\151\ufd9e\152\ufd9e\153"); + sb.append("\ufd9e\154\ufd9e\155\ufd9e\156\ufd9e\157\ufd9e\164\u0112\165\u0110"); + sb.append("\166\u0104\167\u0102\170\u0111\171\u010d\172\u0108\173\u0117\174"); + sb.append("\u0103\175\u010c\176\u010a\177\372\202\377\216\ufd9e\232\ufd9e"); + sb.append("\233\ufd9e\243\ufd9e\246\ufd9e\252\ufd9e\001\002\000\070\006"); + sb.append("\156\007\175\010\356\015\364\016\357\075\351\077\123"); + sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); + sb.append("\136\116\046\121\160\173\362\174\352\200\347\201\354"); + sb.append("\215\360\223\341\231\366\237\060\254\147\255\064\256"); + sb.append("\055\001\002\000\070\006\156\007\175\010\356\015\364"); + sb.append("\016\357\075\351\077\123\100\012\101\206\102\041\103"); + sb.append("\144\104\117\105\141\115\136\116\046\121\160\173\362"); + sb.append("\174\352\200\347\201\354\215\360\223\341\231\366\237"); + sb.append("\060\254\147\255\064\256\055\001\002\000\120\073\ufd79"); + sb.append("\111\ufd79\112\ufd79\127\ufd79\130\ufd79\131\ufd79\132\ufd79\150"); + sb.append("\ufd79\151\ufd79\152\ufd79\153\ufd79\154\ufd79\155\ufd79\156\ufd79"); + sb.append("\157\ufd79\160\ufd79\161\ufd79\162\ufd79\163\ufd79\164\ufd79\165"); + sb.append("\ufd79\166\ufd79\167\ufd79\170\ufd79\171\ufd79\172\ufd79\173\ufd79"); + sb.append("\174\ufd79\175\ufd79\176\ufd79\177\ufd79\202\ufd79\215\ufd79\216"); + sb.append("\ufd79\232\ufd79\233\ufd79\243\ufd79\246\ufd79\252\ufd79\001\002"); + sb.append("\000\100\130\u0105\131\u0116\132\375\150\u0100\152\374\153"); + sb.append("\u010e\154\u0113\155\376\156\u0107\157\u010f\160\u0115\161\u0109"); + sb.append("\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170"); + sb.append("\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a"); + sb.append("\177\372\202\377\216\u013e\243\u0101\246\373\252\u0114\001"); + sb.append("\002\000\120\073\ufd31\111\ufd31\112\ufd31\127\ufd31\130\ufd31"); + sb.append("\131\ufd31\132\ufd31\150\ufd31\151\ufd31\152\ufd31\153\ufd31\154"); + sb.append("\ufd31\155\ufd31\156\ufd31\157\ufd31\160\ufd31\161\ufd31\162\ufd31"); + sb.append("\163\ufd31\164\ufd31\165\ufd31\166\ufd31\167\ufd31\170\ufd31\171"); + sb.append("\ufd31\172\ufd31\173\ufd31\174\ufd31\175\ufd31\176\ufd31\177\ufd31"); + sb.append("\202\ufd31\215\ufd31\216\ufd31\232\ufd31\233\ufd31\243\ufd31\246"); + sb.append("\ufd31\252\ufd31\001\002\000\100\112\u0140\130\u0105\131\u0116"); + sb.append("\132\375\150\u0100\152\374\153\u010e\154\u0113\155\376\156"); + sb.append("\u0107\157\u010f\160\u0115\161\u0109\162\371\163\u0106\164\u0112"); + sb.append("\165\u0110\166\u0104\167\u0102\170\u0111\171\u010d\172\u0108\173"); + sb.append("\u0117\174\u0103\175\u010c\176\u010a\177\372\202\377\243\u0101"); + sb.append("\246\373\252\u0114\001\002\000\120\073\ufd30\111\ufd30\112"); + sb.append("\ufd30\127\ufd30\130\ufd30\131\ufd30\132\ufd30\150\ufd30\151\ufd30"); + sb.append("\152\ufd30\153\ufd30\154\ufd30\155\ufd30\156\ufd30\157\ufd30\160"); + sb.append("\ufd30\161\ufd30\162\ufd30\163\ufd30\164\ufd30\165\ufd30\166\ufd30"); + sb.append("\167\ufd30\170\ufd30\171\ufd30\172\ufd30\173\ufd30\174\ufd30\175"); + sb.append("\ufd30\176\ufd30\177\ufd30\202\ufd30\215\ufd30\216\ufd30\232\ufd30"); + sb.append("\233\ufd30\243\ufd30\246\ufd30\252\ufd30\001\002\000\114\073"); + sb.append("\ufdb4\112\ufdb4\127\ufdb4\130\ufdb4\131\ufdb4\132\ufdb4\150\ufdb4"); + sb.append("\151\ufdb4\152\ufdb4\153\ufdb4\154\ufdb4\155\ufdb4\156\ufdb4\157"); + sb.append("\ufdb4\160\ufdb4\161\ufdb4\162\ufdb4\163\ufdb4\164\ufdb4\165\ufdb4"); + sb.append("\166\ufdb4\167\ufdb4\170\ufdb4\171\ufdb4\172\ufdb4\173\ufdb4\174"); + sb.append("\ufdb4\175\ufdb4\176\ufdb4\177\ufdb4\202\ufdb4\216\ufdb4\232\ufdb4"); + sb.append("\233\ufdb4\243\ufdb4\246\ufdb4\252\ufdb4\001\002\000\114\073"); + sb.append("\ufd91\112\ufd91\127\ufd91\130\ufd91\131\ufd91\132\ufd91\150\ufd91"); + sb.append("\151\ufd91\152\ufd91\153\ufd91\154\ufd91\155\ufd91\156\ufd91\157"); + sb.append("\ufd91\160\ufd91\161\ufd91\162\ufd91\163\ufd91\164\ufd91\165\ufd91"); + sb.append("\166\ufd91\167\ufd91\170\ufd91\171\ufd91\172\ufd91\173\ufd91\174"); + sb.append("\ufd91\175\u010c\176\u010a\177\372\202\ufd91\216\ufd91\232\ufd91"); + sb.append("\233\ufd91\243\ufd91\246\ufd91\252\ufd91\001\002\000\070\006"); + sb.append("\156\007\175\010\356\015\364\016\357\075\351\077\123"); + sb.append("\100\012\101\206\102\041\103\144\104\117\105\141\115"); + sb.append("\136\116\046\121\160\173\362\174\352\200\347\201\354"); + sb.append("\215\360\223\341\231\366\237\060\254\147\255\064\256"); + sb.append("\055\001\002\000\010\127\u014a\216\ufd6c\232\ufd6c\001\002"); + sb.append("\000\004\216\u0149\001\002\000\012\073\u0147\127\ufd63\216"); + sb.append("\ufd63\232\ufd63\001\002\000\070\006\156\007\175\010\356"); + sb.append("\015\364\016\357\075\351\077\123\100\012\101\206\102"); sb.append("\041\103\144\104\117\105\141\115\136\116\046\121\160"); - sb.append("\172\362\173\352\177\347\200\354\214\360\215\ufd6d\222"); - sb.append("\341\230\366\231\ufd6d\236\060\244\u014a\253\147\254\064"); - sb.append("\255\055\001\002\000\006\215\ufd6f\231\ufd6f\001\002\000"); - sb.append("\070\006\156\007\175\010\357\015\364\016\356\075\351"); + sb.append("\173\362\174\352\200\347\201\354\215\360\223\341\231"); + sb.append("\366\237\060\254\147\255\064\256\055\001\002\000\010"); + sb.append("\127\ufd65\216\ufd65\232\ufd65\001\002\000\120\073\ufd76\111"); + sb.append("\ufd76\112\ufd76\127\ufd76\130\ufd76\131\ufd76\132\ufd76\150\ufd76"); + sb.append("\151\ufd76\152\ufd76\153\ufd76\154\ufd76\155\ufd76\156\ufd76\157"); + sb.append("\ufd76\160\ufd76\161\ufd76\162\ufd76\163\ufd76\164\ufd76\165\ufd76"); + sb.append("\166\ufd76\167\ufd76\170\ufd76\171\ufd76\172\ufd76\173\ufd76\174"); + sb.append("\ufd76\175\ufd76\176\ufd76\177\ufd76\202\ufd76\215\ufd76\216\ufd76"); + sb.append("\232\ufd76\233\ufd76\243\ufd76\246\ufd76\252\ufd76\001\002\000"); + sb.append("\076\006\156\007\175\010\356\015\364\016\357\075\351"); sb.append("\077\123\100\012\101\206\102\041\103\144\104\117\105"); - sb.append("\141\115\136\116\046\121\160\172\362\173\352\177\347"); - sb.append("\200\354\214\360\222\341\230\366\236\060\253\147\254"); - sb.append("\064\255\055\001\002\000\012\073\u014c\127\ufd69\215\ufd69"); - sb.append("\231\ufd69\001\002\000\070\006\156\007\175\010\357\015"); - sb.append("\364\016\356\075\351\077\123\100\012\101\206\102\041"); - sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\172"); - sb.append("\362\173\352\177\347\200\354\214\360\222\341\230\366"); - sb.append("\236\060\253\147\254\064\255\055\001\002\000\010\127"); - sb.append("\ufd6a\215\ufd6a\231\ufd6a\001\002\000\010\127\ufd68\215\ufd68"); - sb.append("\231\ufd68\001\002\000\010\127\ufd66\215\ufd66\231\ufd66\001"); - sb.append("\002\000\070\006\156\007\175\010\357\015\364\016\356"); - sb.append("\075\351\077\123\100\012\101\206\102\041\103\144\104"); - sb.append("\117\105\141\115\136\116\046\121\160\172\362\173\352"); - sb.append("\177\347\200\354\214\360\222\341\230\366\236\060\253"); - sb.append("\147\254\064\255\055\001\002\000\076\130\u0105\131\u0115"); - sb.append("\132\374\150\u0101\152\375\153\u010e\154\376\155\u0107\156"); - sb.append("\u010f\157\u0114\160\u0108\161\371\162\u0106\163\u0112\164\u0111"); - sb.append("\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109\172\u0116\173"); - sb.append("\u0103\174\u010c\175\u010a\176\373\201\u0100\215\u0152\242\377"); - sb.append("\245\372\251\u0113\001\002\000\114\073\ufd7d\112\ufd7d\127"); - sb.append("\ufd7d\130\ufd7d\131\ufd7d\132\ufd7d\150\ufd7d\151\ufd7d\152\ufd7d"); - sb.append("\153\ufd7d\154\ufd7d\155\ufd7d\156\ufd7d\157\ufd7d\160\ufd7d\161"); - sb.append("\ufd7d\162\ufd7d\163\ufd7d\164\ufd7d\165\ufd7d\166\ufd7d\167\ufd7d"); - sb.append("\170\ufd7d\171\ufd7d\172\ufd7d\173\ufd7d\174\ufd7d\175\ufd7d\176"); - sb.append("\ufd7d\201\ufd7d\214\ufd7d\215\ufd7d\231\ufd7d\232\ufd7d\242\ufd7d"); - sb.append("\245\ufd7d\251\ufd7d\001\002\000\112\073\ufdb4\112\ufdb4\127"); - sb.append("\ufdb4\130\ufdb4\131\ufdb4\132\ufdb4\150\ufdb4\151\ufdb4\152\ufdb4"); - sb.append("\153\ufdb4\154\ufdb4\155\ufdb4\156\ufdb4\157\ufdb4\160\ufdb4\161"); - sb.append("\ufdb4\162\ufdb4\163\ufdb4\164\ufdb4\165\ufdb4\166\ufdb4\167\ufdb4"); - sb.append("\170\ufdb4\171\ufdb4\172\ufdb4\173\ufdb4\174\ufdb4\175\ufdb4\176"); - sb.append("\ufdb4\201\ufdb4\215\ufdb4\231\ufdb4\232\ufdb4\242\ufdb4\245\ufdb4"); - sb.append("\251\ufdb4\001\002\000\070\006\156\007\175\010\357\015"); - sb.append("\364\016\356\075\351\077\123\100\012\101\206\102\041"); - sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\172"); - sb.append("\362\173\352\177\347\200\354\214\360\222\341\230\366"); - sb.append("\236\060\253\147\254\064\255\055\001\002\000\076\130"); - sb.append("\u0105\131\u0115\132\374\150\u0101\152\375\153\u010e\154\376"); - sb.append("\155\u0107\156\u010f\157\u0114\160\u0108\161\371\162\u0106\163"); - sb.append("\u0112\164\u0111\165\u0104\166\u0102\167\u0110\170\u010d\171\u0109"); - sb.append("\172\u0116\173\u0103\174\u010c\175\u010a\176\373\201\u0100\215"); - sb.append("\u0156\242\377\245\372\251\u0113\001\002\000\114\073\ufd7c"); - sb.append("\112\ufd7c\127\ufd7c\130\ufd7c\131\ufd7c\132\ufd7c\150\ufd7c\151"); - sb.append("\ufd7c\152\ufd7c\153\ufd7c\154\ufd7c\155\ufd7c\156\ufd7c\157\ufd7c"); - sb.append("\160\ufd7c\161\ufd7c\162\ufd7c\163\ufd7c\164\ufd7c\165\ufd7c\166"); - sb.append("\ufd7c\167\ufd7c\170\ufd7c\171\ufd7c\172\ufd7c\173\ufd7c\174\ufd7c"); - sb.append("\175\ufd7c\176\ufd7c\201\ufd7c\214\ufd7c\215\ufd7c\231\ufd7c\232"); - sb.append("\ufd7c\242\ufd7c\245\ufd7c\251\ufd7c\001\002\000\112\073\ufdac"); - sb.append("\112\ufdac\127\ufdac\130\ufdac\131\ufdac\132\ufdac\150\ufdac\151"); - sb.append("\ufdac\152\ufdac\153\ufdac\154\ufdac\155\ufdac\156\ufdac\157\ufdac"); - sb.append("\160\ufdac\161\ufdac\162\ufdac\163\ufdac\164\ufdac\165\ufdac\166"); - sb.append("\ufdac\167\ufdac\170\ufdac\171\ufdac\172\ufdac\173\ufdac\174\ufdac"); - sb.append("\175\ufdac\176\ufdac\201\ufdac\215\ufdac\231\ufdac\232\ufdac\242"); - sb.append("\ufdac\245\ufdac\251\ufdac\001\002\000\240\004\u01a2\005\u01ac"); - sb.append("\010\u016b\017\u0198\020\u0195\021\u0170\022\u0176\023\u016a\024"); - sb.append("\u018b\025\u0188\026\u0172\027\u01ad\030\u0191\031\u0175\032\u018a"); - sb.append("\033\u016c\034\u019b\035\u0187\036\u0160\037\u015d\040\u017a\041"); - sb.append("\u0177\042\u0196\043\u0182\044\u017c\045\u018d\046\u019d\047\u019f"); - sb.append("\050\u015f\052\u016d\053\u01a9\054\u01ab\055\u0179\056\u0166\057"); - sb.append("\u015e\060\u01aa\061\u0184\062\u01a6\063\u0168\065\u0169\066\u01a1"); - sb.append("\067\u0165\070\u0189\074\u01a7\075\u0161\076\u0163\077\u0164\100"); - sb.append("\u0192\101\u0171\102\u0173\103\u019c\104\u015b\111\u041f\114\u0185"); - sb.append("\115\u019a\116\u016e\121\u0178\122\u0167\123\u0181\124\u0174\125"); - sb.append("\u0199\126\u018c\130\u01a4\131\u01a5\132\u01a0\133\u017d\216\u0183"); - sb.append("\217\u017f\220\u0180\221\u0193\222\u016f\223\u017b\224\u0162\225"); - sb.append("\u0190\226\u018f\227\u019e\240\u0194\241\u018e\250\u015c\001\002"); - sb.append("\000\004\111\u041c\001\002\000\240\004\u01a2\005\u01ac\010"); - sb.append("\u016b\017\u0198\020\u0195\021\u0170\022\u0176\023\u016a\024\u018b"); - sb.append("\025\u0188\026\u0172\027\u01ad\030\u0191\031\u0175\032\u018a\033"); - sb.append("\u016c\034\u019b\035\u0187\036\u0160\037\u015d\040\u017a\041\u0177"); - sb.append("\042\u0196\043\u0182\044\u017c\045\u018d\046\u019d\047\u019f\050"); - sb.append("\u015f\052\u016d\053\u01a9\054\u01ab\055\u0179\056\u0166\057\u015e"); - sb.append("\060\u01aa\061\u0184\062\u01a6\063\u0168\065\u0169\066\u01a1\067"); - sb.append("\u0165\070\u0189\074\u01a7\075\u0161\076\u0163\077\u0164\100\u0192"); - sb.append("\101\u0171\102\u0173\103\u019c\104\u015b\111\u017e\114\u0185\115"); - sb.append("\u019a\116\u016e\121\u0178\122\u0167\123\u0181\124\u0174\125\u0199"); - sb.append("\126\u018c\130\u01a4\131\u01a5\132\u01a0\133\u017d\216\u0183\217"); - sb.append("\u017f\220\u0180\221\u0193\222\u016f\223\u017b\224\u0162\225\u0190"); - sb.append("\226\u018f\227\u019e\240\u0194\241\u018e\250\u015c\001\002\000"); - sb.append("\172\031\uffb2\033\uffb2\071\uffb2\072\uffb2\073\uffb2\111\uffb2"); - sb.append("\112\uffb2\113\uffb2\127\uffb2\130\uffb2\131\uffb2\132\uffb2\134"); - sb.append("\uffb2\135\uffb2\136\uffb2\137\uffb2\140\uffb2\141\uffb2\142\uffb2"); - sb.append("\143\uffb2\144\uffb2\145\uffb2\146\uffb2\147\uffb2\150\uffb2\151"); - sb.append("\uffb2\152\uffb2\153\uffb2\154\uffb2\155\uffb2\156\uffb2\157\uffb2"); - sb.append("\160\uffb2\161\uffb2\162\uffb2\163\uffb2\164\uffb2\165\uffb2\166"); - sb.append("\uffb2\167\uffb2\170\uffb2\171\uffb2\172\uffb2\173\uffb2\174\uffb2"); - sb.append("\175\uffb2\176\uffb2\201\uffb2\202\uffb2\203\uffb2\214\uffb2\215"); - sb.append("\uffb2\230\uffb2\231\uffb2\232\uffb2\242\uffb2\243\uffb2\245\uffb2"); - sb.append("\246\uffb2\251\uffb2\001\002\000\172\031\uffa8\033\uffa8\071"); - sb.append("\uffa8\072\uffa8\073\uffa8\111\uffa8\112\uffa8\113\uffa8\127\uffa8"); - sb.append("\130\uffa8\131\uffa8\132\uffa8\134\uffa8\135\uffa8\136\uffa8\137"); - sb.append("\uffa8\140\uffa8\141\uffa8\142\uffa8\143\uffa8\144\uffa8\145\uffa8"); - sb.append("\146\uffa8\147\uffa8\150\uffa8\151\uffa8\152\uffa8\153\uffa8\154"); - sb.append("\uffa8\155\uffa8\156\uffa8\157\uffa8\160\uffa8\161\uffa8\162\uffa8"); - sb.append("\163\uffa8\164\uffa8\165\uffa8\166\uffa8\167\uffa8\170\uffa8\171"); - sb.append("\uffa8\172\uffa8\173\uffa8\174\uffa8\175\uffa8\176\uffa8\201\uffa8"); - sb.append("\202\uffa8\203\uffa8\214\uffa8\215\uffa8\230\uffa8\231\uffa8\232"); - sb.append("\uffa8\242\uffa8\243\uffa8\245\uffa8\246\uffa8\251\uffa8\001\002"); - sb.append("\000\172\031\uffc1\033\uffc1\071\uffc1\072\uffc1\073\uffc1\111"); - sb.append("\uffc1\112\uffc1\113\uffc1\127\uffc1\130\uffc1\131\uffc1\132\uffc1"); - sb.append("\134\uffc1\135\uffc1\136\uffc1\137\uffc1\140\uffc1\141\uffc1\142"); - sb.append("\uffc1\143\uffc1\144\uffc1\145\uffc1\146\uffc1\147\uffc1\150\uffc1"); - sb.append("\151\uffc1\152\uffc1\153\uffc1\154\uffc1\155\uffc1\156\uffc1\157"); - sb.append("\uffc1\160\uffc1\161\uffc1\162\uffc1\163\uffc1\164\uffc1\165\uffc1"); - sb.append("\166\uffc1\167\uffc1\170\uffc1\171\uffc1\172\uffc1\173\uffc1\174"); - sb.append("\uffc1\175\uffc1\176\uffc1\201\uffc1\202\uffc1\203\uffc1\214\uffc1"); - sb.append("\215\uffc1\230\uffc1\231\uffc1\232\uffc1\242\uffc1\243\uffc1\245"); - sb.append("\uffc1\246\uffc1\251\uffc1\001\002\000\172\031\uffd2\033\uffd2"); - sb.append("\071\uffd2\072\uffd2\073\uffd2\111\uffd2\112\uffd2\113\uffd2\127"); - sb.append("\uffd2\130\uffd2\131\uffd2\132\uffd2\134\uffd2\135\uffd2\136\uffd2"); - sb.append("\137\uffd2\140\uffd2\141\uffd2\142\uffd2\143\uffd2\144\uffd2\145"); - sb.append("\uffd2\146\uffd2\147\uffd2\150\uffd2\151\uffd2\152\uffd2\153\uffd2"); - sb.append("\154\uffd2\155\uffd2\156\uffd2\157\uffd2\160\uffd2\161\uffd2\162"); - sb.append("\uffd2\163\uffd2\164\uffd2\165\uffd2\166\uffd2\167\uffd2\170\uffd2"); - sb.append("\171\uffd2\172\uffd2\173\uffd2\174\uffd2\175\uffd2\176\uffd2\201"); - sb.append("\uffd2\202\uffd2\203\uffd2\214\uffd2\215\uffd2\230\uffd2\231\uffd2"); - sb.append("\232\uffd2\242\uffd2\243\uffd2\245\uffd2\246\uffd2\251\uffd2\001"); - sb.append("\002\000\172\031\uffc6\033\uffc6\071\uffc6\072\uffc6\073\uffc6"); - sb.append("\111\uffc6\112\uffc6\113\uffc6\127\uffc6\130\uffc6\131\uffc6\132"); - sb.append("\uffc6\134\uffc6\135\uffc6\136\uffc6\137\uffc6\140\uffc6\141\uffc6"); - sb.append("\142\uffc6\143\uffc6\144\uffc6\145\uffc6\146\uffc6\147\uffc6\150"); - sb.append("\uffc6\151\uffc6\152\uffc6\153\uffc6\154\uffc6\155\uffc6\156\uffc6"); - sb.append("\157\uffc6\160\uffc6\161\uffc6\162\uffc6\163\uffc6\164\uffc6\165"); - sb.append("\uffc6\166\uffc6\167\uffc6\170\uffc6\171\uffc6\172\uffc6\173\uffc6"); - sb.append("\174\uffc6\175\uffc6\176\uffc6\201\uffc6\202\uffc6\203\uffc6\214"); - sb.append("\uffc6\215\uffc6\230\uffc6\231\uffc6\232\uffc6\242\uffc6\243\uffc6"); - sb.append("\245\uffc6\246\uffc6\251\uffc6\001\002\000\172\031\uffc4\033"); - sb.append("\uffc4\071\uffc4\072\uffc4\073\uffc4\111\uffc4\112\uffc4\113\uffc4"); - sb.append("\127\uffc4\130\uffc4\131\uffc4\132\uffc4\134\uffc4\135\uffc4\136"); - sb.append("\uffc4\137\uffc4\140\uffc4\141\uffc4\142\uffc4\143\uffc4\144\uffc4"); - sb.append("\145\uffc4\146\uffc4\147\uffc4\150\uffc4\151\uffc4\152\uffc4\153"); - sb.append("\uffc4\154\uffc4\155\uffc4\156\uffc4\157\uffc4\160\uffc4\161\uffc4"); - sb.append("\162\uffc4\163\uffc4\164\uffc4\165\uffc4\166\uffc4\167\uffc4\170"); - sb.append("\uffc4\171\uffc4\172\uffc4\173\uffc4\174\uffc4\175\uffc4\176\uffc4"); - sb.append("\201\uffc4\202\uffc4\203\uffc4\214\uffc4\215\uffc4\230\uffc4\231"); - sb.append("\uffc4\232\uffc4\242\uffc4\243\uffc4\245\uffc4\246\uffc4\251\uffc4"); - sb.append("\001\002\000\172\031\uffbe\033\uffbe\071\uffbe\072\uffbe\073"); - sb.append("\uffbe\111\uffbe\112\uffbe\113\uffbe\127\uffbe\130\uffbe\131\uffbe"); - sb.append("\132\uffbe\134\uffbe\135\uffbe\136\uffbe\137\uffbe\140\uffbe\141"); - sb.append("\uffbe\142\uffbe\143\uffbe\144\uffbe\145\uffbe\146\uffbe\147\uffbe"); - sb.append("\150\uffbe\151\uffbe\152\uffbe\153\uffbe\154\uffbe\155\uffbe\156"); - sb.append("\uffbe\157\uffbe\160\uffbe\161\uffbe\162\uffbe\163\uffbe\164\uffbe"); - sb.append("\165\uffbe\166\uffbe\167\uffbe\170\uffbe\171\uffbe\172\uffbe\173"); - sb.append("\uffbe\174\uffbe\175\uffbe\176\uffbe\201\uffbe\202\uffbe\203\uffbe"); - sb.append("\214\uffbe\215\uffbe\230\uffbe\231\uffbe\232\uffbe\242\uffbe\243"); - sb.append("\uffbe\245\uffbe\246\uffbe\251\uffbe\001\002\000\172\031\uffac"); - sb.append("\033\uffac\071\uffac\072\uffac\073\uffac\111\uffac\112\uffac\113"); - sb.append("\uffac\127\uffac\130\uffac\131\uffac\132\uffac\134\uffac\135\uffac"); - sb.append("\136\uffac\137\uffac\140\uffac\141\uffac\142\uffac\143\uffac\144"); - sb.append("\uffac\145\uffac\146\uffac\147\uffac\150\uffac\151\uffac\152\uffac"); - sb.append("\153\uffac\154\uffac\155\uffac\156\uffac\157\uffac\160\uffac\161"); - sb.append("\uffac\162\uffac\163\uffac\164\uffac\165\uffac\166\uffac\167\uffac"); - sb.append("\170\uffac\171\uffac\172\uffac\173\uffac\174\uffac\175\uffac\176"); - sb.append("\uffac\201\uffac\202\uffac\203\uffac\214\uffac\215\uffac\230\uffac"); - sb.append("\231\uffac\232\uffac\242\uffac\243\uffac\245\uffac\246\uffac\251"); - sb.append("\uffac\001\002\000\172\031\uffbd\033\uffbd\071\uffbd\072\uffbd"); - sb.append("\073\uffbd\111\uffbd\112\uffbd\113\uffbd\127\uffbd\130\uffbd\131"); - sb.append("\uffbd\132\uffbd\134\uffbd\135\uffbd\136\uffbd\137\uffbd\140\uffbd"); - sb.append("\141\uffbd\142\uffbd\143\uffbd\144\uffbd\145\uffbd\146\uffbd\147"); - sb.append("\uffbd\150\uffbd\151\uffbd\152\uffbd\153\uffbd\154\uffbd\155\uffbd"); - sb.append("\156\uffbd\157\uffbd\160\uffbd\161\uffbd\162\uffbd\163\uffbd\164"); - sb.append("\uffbd\165\uffbd\166\uffbd\167\uffbd\170\uffbd\171\uffbd\172\uffbd"); - sb.append("\173\uffbd\174\uffbd\175\uffbd\176\uffbd\201\uffbd\202\uffbd\203"); - sb.append("\uffbd\214\uffbd\215\uffbd\230\uffbd\231\uffbd\232\uffbd\242\uffbd"); - sb.append("\243\uffbd\245\uffbd\246\uffbd\251\uffbd\001\002\000\172\031"); - sb.append("\uffb7\033\uffb7\071\uffb7\072\uffb7\073\uffb7\111\uffb7\112\uffb7"); - sb.append("\113\uffb7\127\uffb7\130\uffb7\131\uffb7\132\uffb7\134\uffb7\135"); - sb.append("\uffb7\136\uffb7\137\uffb7\140\uffb7\141\uffb7\142\uffb7\143\uffb7"); - sb.append("\144\uffb7\145\uffb7\146\uffb7\147\uffb7\150\uffb7\151\uffb7\152"); - sb.append("\uffb7\153\uffb7\154\uffb7\155\uffb7\156\uffb7\157\uffb7\160\uffb7"); - sb.append("\161\uffb7\162\uffb7\163\uffb7\164\uffb7\165\uffb7\166\uffb7\167"); - sb.append("\uffb7\170\uffb7\171\uffb7\172\uffb7\173\uffb7\174\uffb7\175\uffb7"); - sb.append("\176\uffb7\201\uffb7\202\uffb7\203\uffb7\214\uffb7\215\uffb7\230"); - sb.append("\uffb7\231\uffb7\232\uffb7\242\uffb7\243\uffb7\245\uffb7\246\uffb7"); - sb.append("\251\uffb7\001\002\000\172\031\uffbc\033\uffbc\071\uffbc\072"); + sb.append("\141\115\136\116\046\121\160\173\362\174\352\200\347"); + sb.append("\201\354\215\360\216\ufd6b\223\341\231\366\232\ufd6b\237"); + sb.append("\060\245\u014c\254\147\255\064\256\055\001\002\000\006"); + sb.append("\216\ufd6d\232\ufd6d\001\002\000\070\006\156\007\175\010"); + sb.append("\356\015\364\016\357\075\351\077\123\100\012\101\206"); + sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); + sb.append("\160\173\362\174\352\200\347\201\354\215\360\223\341"); + sb.append("\231\366\237\060\254\147\255\064\256\055\001\002\000"); + sb.append("\012\073\u014e\127\ufd67\216\ufd67\232\ufd67\001\002\000\070"); + sb.append("\006\156\007\175\010\356\015\364\016\357\075\351\077"); + sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); + sb.append("\115\136\116\046\121\160\173\362\174\352\200\347\201"); + sb.append("\354\215\360\223\341\231\366\237\060\254\147\255\064"); + sb.append("\256\055\001\002\000\010\127\ufd68\216\ufd68\232\ufd68\001"); + sb.append("\002\000\010\127\ufd66\216\ufd66\232\ufd66\001\002\000\010"); + sb.append("\127\ufd64\216\ufd64\232\ufd64\001\002\000\114\073\ufdb3\112"); + sb.append("\ufdb3\127\ufdb3\130\ufdb3\131\ufdb3\132\ufdb3\150\ufdb3\151\ufdb3"); + sb.append("\152\ufdb3\153\ufdb3\154\ufdb3\155\ufdb3\156\ufdb3\157\ufdb3\160"); + sb.append("\ufdb3\161\ufdb3\162\ufdb3\163\ufdb3\164\ufdb3\165\ufdb3\166\ufdb3"); + sb.append("\167\ufdb3\170\ufdb3\171\ufdb3\172\ufdb3\173\ufdb3\174\ufdb3\175"); + sb.append("\ufdb3\176\ufdb3\177\ufdb3\202\ufdb3\216\ufdb3\232\ufdb3\233\ufdb3"); + sb.append("\243\ufdb3\246\ufdb3\252\ufdb3\001\002\000\070\006\156\007"); + sb.append("\175\010\356\015\364\016\357\075\351\077\123\100\012"); + sb.append("\101\206\102\041\103\144\104\117\105\141\115\136\116"); + sb.append("\046\121\160\173\362\174\352\200\347\201\354\215\360"); + sb.append("\223\341\231\366\237\060\254\147\255\064\256\055\001"); + sb.append("\002\000\100\130\u0105\131\u0116\132\375\150\u0100\152\374"); + sb.append("\153\u010e\154\u0113\155\376\156\u0107\157\u010f\160\u0115\161"); + sb.append("\u0109\162\371\163\u0106\164\u0112\165\u0110\166\u0104\167\u0102"); + sb.append("\170\u0111\171\u010d\172\u0108\173\u0117\174\u0103\175\u010c\176"); + sb.append("\u010a\177\372\202\377\216\u0155\243\u0101\246\373\252\u0114"); + sb.append("\001\002\000\116\073\ufd7b\112\ufd7b\127\ufd7b\130\ufd7b\131"); + sb.append("\ufd7b\132\ufd7b\150\ufd7b\151\ufd7b\152\ufd7b\153\ufd7b\154\ufd7b"); + sb.append("\155\ufd7b\156\ufd7b\157\ufd7b\160\ufd7b\161\ufd7b\162\ufd7b\163"); + sb.append("\ufd7b\164\ufd7b\165\ufd7b\166\ufd7b\167\ufd7b\170\ufd7b\171\ufd7b"); + sb.append("\172\ufd7b\173\ufd7b\174\ufd7b\175\ufd7b\176\ufd7b\177\ufd7b\202"); + sb.append("\ufd7b\215\ufd7b\216\ufd7b\232\ufd7b\233\ufd7b\243\ufd7b\246\ufd7b"); + sb.append("\252\ufd7b\001\002\000\070\006\156\007\175\010\356\015"); + sb.append("\364\016\357\075\351\077\123\100\012\101\206\102\041"); + sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\173"); + sb.append("\362\174\352\200\347\201\354\215\360\223\341\231\366"); + sb.append("\237\060\254\147\255\064\256\055\001\002\000\100\130"); + sb.append("\u0105\131\u0116\132\375\150\u0100\152\374\153\u010e\154\u0113"); + sb.append("\155\376\156\u0107\157\u010f\160\u0115\161\u0109\162\371\163"); + sb.append("\u0106\164\u0112\165\u0110\166\u0104\167\u0102\170\u0111\171\u010d"); + sb.append("\172\u0108\173\u0117\174\u0103\175\u010c\176\u010a\177\372\202"); + sb.append("\377\216\u0158\243\u0101\246\373\252\u0114\001\002\000\116"); + sb.append("\073\ufd7a\112\ufd7a\127\ufd7a\130\ufd7a\131\ufd7a\132\ufd7a\150"); + sb.append("\ufd7a\151\ufd7a\152\ufd7a\153\ufd7a\154\ufd7a\155\ufd7a\156\ufd7a"); + sb.append("\157\ufd7a\160\ufd7a\161\ufd7a\162\ufd7a\163\ufd7a\164\ufd7a\165"); + sb.append("\ufd7a\166\ufd7a\167\ufd7a\170\ufd7a\171\ufd7a\172\ufd7a\173\ufd7a"); + sb.append("\174\ufd7a\175\ufd7a\176\ufd7a\177\ufd7a\202\ufd7a\215\ufd7a\216"); + sb.append("\ufd7a\232\ufd7a\233\ufd7a\243\ufd7a\246\ufd7a\252\ufd7a\001\002"); + sb.append("\000\114\073\ufdab\112\ufdab\127\ufdab\130\ufdab\131\ufdab\132"); + sb.append("\ufdab\150\ufdab\151\ufdab\152\ufdab\153\ufdab\154\ufdab\155\ufdab"); + sb.append("\156\ufdab\157\ufdab\160\ufdab\161\ufdab\162\ufdab\163\ufdab\164"); + sb.append("\ufdab\165\ufdab\166\ufdab\167\ufdab\170\ufdab\171\ufdab\172\ufdab"); + sb.append("\173\ufdab\174\ufdab\175\ufdab\176\ufdab\177\ufdab\202\ufdab\216"); + sb.append("\ufdab\232\ufdab\233\ufdab\243\ufdab\246\ufdab\252\ufdab\001\002"); + sb.append("\000\240\004\u01a4\005\u01ae\010\u016d\017\u019a\020\u0197\021"); + sb.append("\u0172\022\u0178\023\u016c\024\u018d\025\u018a\026\u0174\027\u01af"); + sb.append("\030\u0193\031\u0177\032\u018c\033\u016e\034\u019d\035\u0189\036"); + sb.append("\u0162\037\u015f\040\u017c\041\u0179\042\u0198\043\u0184\044\u017e"); + sb.append("\045\u018f\046\u019f\047\u01a1\050\u0161\052\u016f\053\u01ab\054"); + sb.append("\u01ad\055\u017b\056\u0168\057\u0160\060\u01ac\061\u0186\062\u01a8"); + sb.append("\063\u016a\065\u016b\066\u01a3\067\u0167\070\u018b\074\u01a9\075"); + sb.append("\u0163\076\u0165\077\u0166\100\u0194\101\u0173\102\u0175\103\u019e"); + sb.append("\104\u015d\111\u0423\114\u0187\115\u019c\116\u0170\121\u017a\122"); + sb.append("\u0169\123\u0183\124\u0176\125\u019b\126\u018e\130\u01a6\131\u01a7"); + sb.append("\132\u01a2\133\u017f\217\u0185\220\u0181\221\u0182\222\u0195\223"); + sb.append("\u0171\224\u017d\225\u0164\226\u0192\227\u0191\230\u01a0\241\u0196"); + sb.append("\242\u0190\251\u015e\001\002\000\004\111\u0420\001\002\000"); + sb.append("\240\004\u01a4\005\u01ae\010\u016d\017\u019a\020\u0197\021\u0172"); + sb.append("\022\u0178\023\u016c\024\u018d\025\u018a\026\u0174\027\u01af\030"); + sb.append("\u0193\031\u0177\032\u018c\033\u016e\034\u019d\035\u0189\036\u0162"); + sb.append("\037\u015f\040\u017c\041\u0179\042\u0198\043\u0184\044\u017e\045"); + sb.append("\u018f\046\u019f\047\u01a1\050\u0161\052\u016f\053\u01ab\054\u01ad"); + sb.append("\055\u017b\056\u0168\057\u0160\060\u01ac\061\u0186\062\u01a8\063"); + sb.append("\u016a\065\u016b\066\u01a3\067\u0167\070\u018b\074\u01a9\075\u0163"); + sb.append("\076\u0165\077\u0166\100\u0194\101\u0173\102\u0175\103\u019e\104"); + sb.append("\u015d\111\u0180\114\u0187\115\u019c\116\u0170\121\u017a\122\u0169"); + sb.append("\123\u0183\124\u0176\125\u019b\126\u018e\130\u01a6\131\u01a7\132"); + sb.append("\u01a2\133\u017f\217\u0185\220\u0181\221\u0182\222\u0195\223\u0171"); + sb.append("\224\u017d\225\u0164\226\u0192\227\u0191\230\u01a0\241\u0196\242"); + sb.append("\u0190\251\u015e\001\002\000\174\031\uffb2\033\uffb2\071\uffb2"); + sb.append("\072\uffb2\073\uffb2\111\uffb2\112\uffb2\113\uffb2\127\uffb2\130"); + sb.append("\uffb2\131\uffb2\132\uffb2\134\uffb2\135\uffb2\136\uffb2\137\uffb2"); + sb.append("\140\uffb2\141\uffb2\142\uffb2\143\uffb2\144\uffb2\145\uffb2\146"); + sb.append("\uffb2\147\uffb2\150\uffb2\151\uffb2\152\uffb2\153\uffb2\154\uffb2"); + sb.append("\155\uffb2\156\uffb2\157\uffb2\160\uffb2\161\uffb2\162\uffb2\163"); + sb.append("\uffb2\164\uffb2\165\uffb2\166\uffb2\167\uffb2\170\uffb2\171\uffb2"); + sb.append("\172\uffb2\173\uffb2\174\uffb2\175\uffb2\176\uffb2\177\uffb2\202"); + sb.append("\uffb2\203\uffb2\204\uffb2\215\uffb2\216\uffb2\231\uffb2\232\uffb2"); + sb.append("\233\uffb2\243\uffb2\244\uffb2\246\uffb2\247\uffb2\252\uffb2\001"); + sb.append("\002\000\174\031\uffa8\033\uffa8\071\uffa8\072\uffa8\073\uffa8"); + sb.append("\111\uffa8\112\uffa8\113\uffa8\127\uffa8\130\uffa8\131\uffa8\132"); + sb.append("\uffa8\134\uffa8\135\uffa8\136\uffa8\137\uffa8\140\uffa8\141\uffa8"); + sb.append("\142\uffa8\143\uffa8\144\uffa8\145\uffa8\146\uffa8\147\uffa8\150"); + sb.append("\uffa8\151\uffa8\152\uffa8\153\uffa8\154\uffa8\155\uffa8\156\uffa8"); + sb.append("\157\uffa8\160\uffa8\161\uffa8\162\uffa8\163\uffa8\164\uffa8\165"); + sb.append("\uffa8\166\uffa8\167\uffa8\170\uffa8\171\uffa8\172\uffa8\173\uffa8"); + sb.append("\174\uffa8\175\uffa8\176\uffa8\177\uffa8\202\uffa8\203\uffa8\204"); + sb.append("\uffa8\215\uffa8\216\uffa8\231\uffa8\232\uffa8\233\uffa8\243\uffa8"); + sb.append("\244\uffa8\246\uffa8\247\uffa8\252\uffa8\001\002\000\174\031"); + sb.append("\uffc1\033\uffc1\071\uffc1\072\uffc1\073\uffc1\111\uffc1\112\uffc1"); + sb.append("\113\uffc1\127\uffc1\130\uffc1\131\uffc1\132\uffc1\134\uffc1\135"); + sb.append("\uffc1\136\uffc1\137\uffc1\140\uffc1\141\uffc1\142\uffc1\143\uffc1"); + sb.append("\144\uffc1\145\uffc1\146\uffc1\147\uffc1\150\uffc1\151\uffc1\152"); + sb.append("\uffc1\153\uffc1\154\uffc1\155\uffc1\156\uffc1\157\uffc1\160\uffc1"); + sb.append("\161\uffc1\162\uffc1\163\uffc1\164\uffc1\165\uffc1\166\uffc1\167"); + sb.append("\uffc1\170\uffc1\171\uffc1\172\uffc1\173\uffc1\174\uffc1\175\uffc1"); + sb.append("\176\uffc1\177\uffc1\202\uffc1\203\uffc1\204\uffc1\215\uffc1\216"); + sb.append("\uffc1\231\uffc1\232\uffc1\233\uffc1\243\uffc1\244\uffc1\246\uffc1"); + sb.append("\247\uffc1\252\uffc1\001\002\000\174\031\uffd2\033\uffd2\071"); + sb.append("\uffd2\072\uffd2\073\uffd2\111\uffd2\112\uffd2\113\uffd2\127\uffd2"); + sb.append("\130\uffd2\131\uffd2\132\uffd2\134\uffd2\135\uffd2\136\uffd2\137"); + sb.append("\uffd2\140\uffd2\141\uffd2\142\uffd2\143\uffd2\144\uffd2\145\uffd2"); + sb.append("\146\uffd2\147\uffd2\150\uffd2\151\uffd2\152\uffd2\153\uffd2\154"); + sb.append("\uffd2\155\uffd2\156\uffd2\157\uffd2\160\uffd2\161\uffd2\162\uffd2"); + sb.append("\163\uffd2\164\uffd2\165\uffd2\166\uffd2\167\uffd2\170\uffd2\171"); + sb.append("\uffd2\172\uffd2\173\uffd2\174\uffd2\175\uffd2\176\uffd2\177\uffd2"); + sb.append("\202\uffd2\203\uffd2\204\uffd2\215\uffd2\216\uffd2\231\uffd2\232"); + sb.append("\uffd2\233\uffd2\243\uffd2\244\uffd2\246\uffd2\247\uffd2\252\uffd2"); + sb.append("\001\002\000\174\031\uffc6\033\uffc6\071\uffc6\072\uffc6\073"); + sb.append("\uffc6\111\uffc6\112\uffc6\113\uffc6\127\uffc6\130\uffc6\131\uffc6"); + sb.append("\132\uffc6\134\uffc6\135\uffc6\136\uffc6\137\uffc6\140\uffc6\141"); + sb.append("\uffc6\142\uffc6\143\uffc6\144\uffc6\145\uffc6\146\uffc6\147\uffc6"); + sb.append("\150\uffc6\151\uffc6\152\uffc6\153\uffc6\154\uffc6\155\uffc6\156"); + sb.append("\uffc6\157\uffc6\160\uffc6\161\uffc6\162\uffc6\163\uffc6\164\uffc6"); + sb.append("\165\uffc6\166\uffc6\167\uffc6\170\uffc6\171\uffc6\172\uffc6\173"); + sb.append("\uffc6\174\uffc6\175\uffc6\176\uffc6\177\uffc6\202\uffc6\203\uffc6"); + sb.append("\204\uffc6\215\uffc6\216\uffc6\231\uffc6\232\uffc6\233\uffc6\243"); + sb.append("\uffc6\244\uffc6\246\uffc6\247\uffc6\252\uffc6\001\002\000\174"); + sb.append("\031\uffc4\033\uffc4\071\uffc4\072\uffc4\073\uffc4\111\uffc4\112"); + sb.append("\uffc4\113\uffc4\127\uffc4\130\uffc4\131\uffc4\132\uffc4\134\uffc4"); + sb.append("\135\uffc4\136\uffc4\137\uffc4\140\uffc4\141\uffc4\142\uffc4\143"); + sb.append("\uffc4\144\uffc4\145\uffc4\146\uffc4\147\uffc4\150\uffc4\151\uffc4"); + sb.append("\152\uffc4\153\uffc4\154\uffc4\155\uffc4\156\uffc4\157\uffc4\160"); + sb.append("\uffc4\161\uffc4\162\uffc4\163\uffc4\164\uffc4\165\uffc4\166\uffc4"); + sb.append("\167\uffc4\170\uffc4\171\uffc4\172\uffc4\173\uffc4\174\uffc4\175"); + sb.append("\uffc4\176\uffc4\177\uffc4\202\uffc4\203\uffc4\204\uffc4\215\uffc4"); + sb.append("\216\uffc4\231\uffc4\232\uffc4\233\uffc4\243\uffc4\244\uffc4\246"); + sb.append("\uffc4\247\uffc4\252\uffc4\001\002\000\174\031\uffbe\033\uffbe"); + sb.append("\071\uffbe\072\uffbe\073\uffbe\111\uffbe\112\uffbe\113\uffbe\127"); + sb.append("\uffbe\130\uffbe\131\uffbe\132\uffbe\134\uffbe\135\uffbe\136\uffbe"); + sb.append("\137\uffbe\140\uffbe\141\uffbe\142\uffbe\143\uffbe\144\uffbe\145"); + sb.append("\uffbe\146\uffbe\147\uffbe\150\uffbe\151\uffbe\152\uffbe\153\uffbe"); + sb.append("\154\uffbe\155\uffbe\156\uffbe\157\uffbe\160\uffbe\161\uffbe\162"); + sb.append("\uffbe\163\uffbe\164\uffbe\165\uffbe\166\uffbe\167\uffbe\170\uffbe"); + sb.append("\171\uffbe\172\uffbe\173\uffbe\174\uffbe\175\uffbe\176\uffbe\177"); + sb.append("\uffbe\202\uffbe\203\uffbe\204\uffbe\215\uffbe\216\uffbe\231\uffbe"); + sb.append("\232\uffbe\233\uffbe\243\uffbe\244\uffbe\246\uffbe\247\uffbe\252"); + sb.append("\uffbe\001\002\000\174\031\uffac\033\uffac\071\uffac\072\uffac"); + sb.append("\073\uffac\111\uffac\112\uffac\113\uffac\127\uffac\130\uffac\131"); + sb.append("\uffac\132\uffac\134\uffac\135\uffac\136\uffac\137\uffac\140\uffac"); + sb.append("\141\uffac\142\uffac\143\uffac\144\uffac\145\uffac\146\uffac\147"); + sb.append("\uffac\150\uffac\151\uffac\152\uffac\153\uffac\154\uffac\155\uffac"); + sb.append("\156\uffac\157\uffac\160\uffac\161\uffac\162\uffac\163\uffac\164"); + sb.append("\uffac\165\uffac\166\uffac\167\uffac\170\uffac\171\uffac\172\uffac"); + sb.append("\173\uffac\174\uffac\175\uffac\176\uffac\177\uffac\202\uffac\203"); + sb.append("\uffac\204\uffac\215\uffac\216\uffac\231\uffac\232\uffac\233\uffac"); + sb.append("\243\uffac\244\uffac\246\uffac\247\uffac\252\uffac\001\002\000"); + sb.append("\174\031\uffbd\033\uffbd\071\uffbd\072\uffbd\073\uffbd\111\uffbd"); + sb.append("\112\uffbd\113\uffbd\127\uffbd\130\uffbd\131\uffbd\132\uffbd\134"); + sb.append("\uffbd\135\uffbd\136\uffbd\137\uffbd\140\uffbd\141\uffbd\142\uffbd"); + sb.append("\143\uffbd\144\uffbd\145\uffbd\146\uffbd\147\uffbd\150\uffbd\151"); + sb.append("\uffbd\152\uffbd\153\uffbd\154\uffbd\155\uffbd\156\uffbd\157\uffbd"); + sb.append("\160\uffbd\161\uffbd\162\uffbd\163\uffbd\164\uffbd\165\uffbd\166"); + sb.append("\uffbd\167\uffbd\170\uffbd\171\uffbd\172\uffbd\173\uffbd\174\uffbd"); + sb.append("\175\uffbd\176\uffbd\177\uffbd\202\uffbd\203\uffbd\204\uffbd\215"); + sb.append("\uffbd\216\uffbd\231\uffbd\232\uffbd\233\uffbd\243\uffbd\244\uffbd"); + sb.append("\246\uffbd\247\uffbd\252\uffbd\001\002\000\174\031\uffb7\033"); + sb.append("\uffb7\071\uffb7\072\uffb7\073\uffb7\111\uffb7\112\uffb7\113\uffb7"); + sb.append("\127\uffb7\130\uffb7\131\uffb7\132\uffb7\134\uffb7\135\uffb7\136"); + sb.append("\uffb7\137\uffb7\140\uffb7\141\uffb7\142\uffb7\143\uffb7\144\uffb7"); + sb.append("\145\uffb7\146\uffb7\147\uffb7\150\uffb7\151\uffb7\152\uffb7\153"); + sb.append("\uffb7\154\uffb7\155\uffb7\156\uffb7\157\uffb7\160\uffb7\161\uffb7"); + sb.append("\162\uffb7\163\uffb7\164\uffb7\165\uffb7\166\uffb7\167\uffb7\170"); + sb.append("\uffb7\171\uffb7\172\uffb7\173\uffb7\174\uffb7\175\uffb7\176\uffb7"); + sb.append("\177\uffb7\202\uffb7\203\uffb7\204\uffb7\215\uffb7\216\uffb7\231"); + sb.append("\uffb7\232\uffb7\233\uffb7\243\uffb7\244\uffb7\246\uffb7\247\uffb7"); + sb.append("\252\uffb7\001\002\000\174\031\uffbc\033\uffbc\071\uffbc\072"); sb.append("\uffbc\073\uffbc\111\uffbc\112\uffbc\113\uffbc\127\uffbc\130\uffbc"); sb.append("\131\uffbc\132\uffbc\134\uffbc\135\uffbc\136\uffbc\137\uffbc\140"); sb.append("\uffbc\141\uffbc\142\uffbc\143\uffbc\144\uffbc\145\uffbc\146\uffbc"); sb.append("\147\uffbc\150\uffbc\151\uffbc\152\uffbc\153\uffbc\154\uffbc\155"); sb.append("\uffbc\156\uffbc\157\uffbc\160\uffbc\161\uffbc\162\uffbc\163\uffbc"); sb.append("\164\uffbc\165\uffbc\166\uffbc\167\uffbc\170\uffbc\171\uffbc\172"); - sb.append("\uffbc\173\uffbc\174\uffbc\175\uffbc\176\uffbc\201\uffbc\202\uffbc"); - sb.append("\203\uffbc\214\uffbc\215\uffbc\230\uffbc\231\uffbc\232\uffbc\242"); - sb.append("\uffbc\243\uffbc\245\uffbc\246\uffbc\251\uffbc\001\002\000\172"); - sb.append("\031\uffd4\033\uffd4\071\uffd4\072\uffd4\073\uffd4\111\uffd4\112"); - sb.append("\uffd4\113\uffd4\127\uffd4\130\uffd4\131\uffd4\132\uffd4\134\uffd4"); - sb.append("\135\uffd4\136\uffd4\137\uffd4\140\uffd4\141\uffd4\142\uffd4\143"); - sb.append("\uffd4\144\uffd4\145\uffd4\146\uffd4\147\uffd4\150\uffd4\151\uffd4"); - sb.append("\152\uffd4\153\uffd4\154\uffd4\155\uffd4\156\uffd4\157\uffd4\160"); - sb.append("\uffd4\161\uffd4\162\uffd4\163\uffd4\164\uffd4\165\uffd4\166\uffd4"); - sb.append("\167\uffd4\170\uffd4\171\uffd4\172\uffd4\173\uffd4\174\uffd4\175"); - sb.append("\uffd4\176\uffd4\201\uffd4\202\uffd4\203\uffd4\214\uffd4\215\uffd4"); - sb.append("\230\uffd4\231\uffd4\232\uffd4\242\uffd4\243\uffd4\245\uffd4\246"); - sb.append("\uffd4\251\uffd4\001\002\000\172\031\ufff3\033\ufff3\071\ufff3"); - sb.append("\072\ufff3\073\ufff3\111\ufff3\112\ufff3\113\ufff3\127\ufff3\130"); - sb.append("\ufff3\131\ufff3\132\ufff3\134\ufff3\135\ufff3\136\ufff3\137\ufff3"); - sb.append("\140\ufff3\141\ufff3\142\ufff3\143\ufff3\144\ufff3\145\ufff3\146"); - sb.append("\ufff3\147\ufff3\150\ufff3\151\ufff3\152\ufff3\153\ufff3\154\ufff3"); - sb.append("\155\ufff3\156\ufff3\157\ufff3\160\ufff3\161\ufff3\162\ufff3\163"); - sb.append("\ufff3\164\ufff3\165\ufff3\166\ufff3\167\ufff3\170\ufff3\171\ufff3"); - sb.append("\172\ufff3\173\ufff3\174\ufff3\175\ufff3\176\ufff3\201\ufff3\202"); - sb.append("\ufff3\203\ufff3\214\ufff3\215\ufff3\230\ufff3\231\ufff3\232\ufff3"); - sb.append("\242\ufff3\243\ufff3\245\ufff3\246\ufff3\251\ufff3\001\002\000"); - sb.append("\172\031\uffce\033\uffce\071\uffce\072\uffce\073\uffce\111\uffce"); - sb.append("\112\uffce\113\uffce\127\uffce\130\uffce\131\uffce\132\uffce\134"); - sb.append("\uffce\135\uffce\136\uffce\137\uffce\140\uffce\141\uffce\142\uffce"); - sb.append("\143\uffce\144\uffce\145\uffce\146\uffce\147\uffce\150\uffce\151"); - sb.append("\uffce\152\uffce\153\uffce\154\uffce\155\uffce\156\uffce\157\uffce"); - sb.append("\160\uffce\161\uffce\162\uffce\163\uffce\164\uffce\165\uffce\166"); - sb.append("\uffce\167\uffce\170\uffce\171\uffce\172\uffce\173\uffce\174\uffce"); - sb.append("\175\uffce\176\uffce\201\uffce\202\uffce\203\uffce\214\uffce\215"); - sb.append("\uffce\230\uffce\231\uffce\232\uffce\242\uffce\243\uffce\245\uffce"); - sb.append("\246\uffce\251\uffce\001\002\000\172\031\uffa6\033\uffa6\071"); - sb.append("\uffa6\072\uffa6\073\uffa6\111\uffa6\112\uffa6\113\uffa6\127\uffa6"); - sb.append("\130\uffa6\131\uffa6\132\uffa6\134\uffa6\135\uffa6\136\uffa6\137"); - sb.append("\uffa6\140\uffa6\141\uffa6\142\uffa6\143\uffa6\144\uffa6\145\uffa6"); - sb.append("\146\uffa6\147\uffa6\150\uffa6\151\uffa6\152\uffa6\153\uffa6\154"); - sb.append("\uffa6\155\uffa6\156\uffa6\157\uffa6\160\uffa6\161\uffa6\162\uffa6"); - sb.append("\163\uffa6\164\uffa6\165\uffa6\166\uffa6\167\uffa6\170\uffa6\171"); - sb.append("\uffa6\172\uffa6\173\uffa6\174\uffa6\175\uffa6\176\uffa6\201\uffa6"); - sb.append("\202\uffa6\203\uffa6\214\uffa6\215\uffa6\230\uffa6\231\uffa6\232"); - sb.append("\uffa6\242\uffa6\243\uffa6\245\uffa6\246\uffa6\251\uffa6\001\002"); - sb.append("\000\172\031\uffdf\033\uffdf\071\uffdf\072\uffdf\073\uffdf\111"); - sb.append("\uffdf\112\uffdf\113\uffdf\127\uffdf\130\uffdf\131\uffdf\132\uffdf"); - sb.append("\134\uffdf\135\uffdf\136\uffdf\137\uffdf\140\uffdf\141\uffdf\142"); - sb.append("\uffdf\143\uffdf\144\uffdf\145\uffdf\146\uffdf\147\uffdf\150\uffdf"); - sb.append("\151\uffdf\152\uffdf\153\uffdf\154\uffdf\155\uffdf\156\uffdf\157"); - sb.append("\uffdf\160\uffdf\161\uffdf\162\uffdf\163\uffdf\164\uffdf\165\uffdf"); - sb.append("\166\uffdf\167\uffdf\170\uffdf\171\uffdf\172\uffdf\173\uffdf\174"); - sb.append("\uffdf\175\uffdf\176\uffdf\201\uffdf\202\uffdf\203\uffdf\214\uffdf"); - sb.append("\215\uffdf\230\uffdf\231\uffdf\232\uffdf\242\uffdf\243\uffdf\245"); - sb.append("\uffdf\246\uffdf\251\uffdf\001\002\000\172\031\uffa5\033\uffa5"); - sb.append("\071\uffa5\072\uffa5\073\uffa5\111\uffa5\112\uffa5\113\uffa5\127"); - sb.append("\uffa5\130\uffa5\131\uffa5\132\uffa5\134\uffa5\135\uffa5\136\uffa5"); - sb.append("\137\uffa5\140\uffa5\141\uffa5\142\uffa5\143\uffa5\144\uffa5\145"); - sb.append("\uffa5\146\uffa5\147\uffa5\150\uffa5\151\uffa5\152\uffa5\153\uffa5"); - sb.append("\154\uffa5\155\uffa5\156\uffa5\157\uffa5\160\uffa5\161\uffa5\162"); - sb.append("\uffa5\163\uffa5\164\uffa5\165\uffa5\166\uffa5\167\uffa5\170\uffa5"); - sb.append("\171\uffa5\172\uffa5\173\uffa5\174\uffa5\175\uffa5\176\uffa5\201"); - sb.append("\uffa5\202\uffa5\203\uffa5\214\uffa5\215\uffa5\230\uffa5\231\uffa5"); - sb.append("\232\uffa5\242\uffa5\243\uffa5\245\uffa5\246\uffa5\251\uffa5\001"); - sb.append("\002\000\172\031\uffd9\033\uffd9\071\uffd9\072\uffd9\073\uffd9"); - sb.append("\111\uffd9\112\uffd9\113\uffd9\127\uffd9\130\uffd9\131\uffd9\132"); - sb.append("\uffd9\134\uffd9\135\uffd9\136\uffd9\137\uffd9\140\uffd9\141\uffd9"); - sb.append("\142\uffd9\143\uffd9\144\uffd9\145\uffd9\146\uffd9\147\uffd9\150"); - sb.append("\uffd9\151\uffd9\152\uffd9\153\uffd9\154\uffd9\155\uffd9\156\uffd9"); - sb.append("\157\uffd9\160\uffd9\161\uffd9\162\uffd9\163\uffd9\164\uffd9\165"); - sb.append("\uffd9\166\uffd9\167\uffd9\170\uffd9\171\uffd9\172\uffd9\173\uffd9"); - sb.append("\174\uffd9\175\uffd9\176\uffd9\201\uffd9\202\uffd9\203\uffd9\214"); - sb.append("\uffd9\215\uffd9\230\uffd9\231\uffd9\232\uffd9\242\uffd9\243\uffd9"); - sb.append("\245\uffd9\246\uffd9\251\uffd9\001\002\000\172\031\uffd8\033"); - sb.append("\uffd8\071\uffd8\072\uffd8\073\uffd8\111\uffd8\112\uffd8\113\uffd8"); - sb.append("\127\uffd8\130\uffd8\131\uffd8\132\uffd8\134\uffd8\135\uffd8\136"); - sb.append("\uffd8\137\uffd8\140\uffd8\141\uffd8\142\uffd8\143\uffd8\144\uffd8"); - sb.append("\145\uffd8\146\uffd8\147\uffd8\150\uffd8\151\uffd8\152\uffd8\153"); - sb.append("\uffd8\154\uffd8\155\uffd8\156\uffd8\157\uffd8\160\uffd8\161\uffd8"); - sb.append("\162\uffd8\163\uffd8\164\uffd8\165\uffd8\166\uffd8\167\uffd8\170"); - sb.append("\uffd8\171\uffd8\172\uffd8\173\uffd8\174\uffd8\175\uffd8\176\uffd8"); - sb.append("\201\uffd8\202\uffd8\203\uffd8\214\uffd8\215\uffd8\230\uffd8\231"); - sb.append("\uffd8\232\uffd8\242\uffd8\243\uffd8\245\uffd8\246\uffd8\251\uffd8"); - sb.append("\001\002\000\172\031\uffb1\033\uffb1\071\uffb1\072\uffb1\073"); - sb.append("\uffb1\111\uffb1\112\uffb1\113\uffb1\127\uffb1\130\uffb1\131\uffb1"); - sb.append("\132\uffb1\134\uffb1\135\uffb1\136\uffb1\137\uffb1\140\uffb1\141"); - sb.append("\uffb1\142\uffb1\143\uffb1\144\uffb1\145\uffb1\146\uffb1\147\uffb1"); - sb.append("\150\uffb1\151\uffb1\152\uffb1\153\uffb1\154\uffb1\155\uffb1\156"); - sb.append("\uffb1\157\uffb1\160\uffb1\161\uffb1\162\uffb1\163\uffb1\164\uffb1"); - sb.append("\165\uffb1\166\uffb1\167\uffb1\170\uffb1\171\uffb1\172\uffb1\173"); - sb.append("\uffb1\174\uffb1\175\uffb1\176\uffb1\201\uffb1\202\uffb1\203\uffb1"); - sb.append("\214\uffb1\215\uffb1\230\uffb1\231\uffb1\232\uffb1\242\uffb1\243"); - sb.append("\uffb1\245\uffb1\246\uffb1\251\uffb1\001\002\000\172\031\uffae"); - sb.append("\033\uffae\071\uffae\072\uffae\073\uffae\111\uffae\112\uffae\113"); - sb.append("\uffae\127\uffae\130\uffae\131\uffae\132\uffae\134\uffae\135\uffae"); - sb.append("\136\uffae\137\uffae\140\uffae\141\uffae\142\uffae\143\uffae\144"); - sb.append("\uffae\145\uffae\146\uffae\147\uffae\150\uffae\151\uffae\152\uffae"); - sb.append("\153\uffae\154\uffae\155\uffae\156\uffae\157\uffae\160\uffae\161"); - sb.append("\uffae\162\uffae\163\uffae\164\uffae\165\uffae\166\uffae\167\uffae"); - sb.append("\170\uffae\171\uffae\172\uffae\173\uffae\174\uffae\175\uffae\176"); - sb.append("\uffae\201\uffae\202\uffae\203\uffae\214\uffae\215\uffae\230\uffae"); - sb.append("\231\uffae\232\uffae\242\uffae\243\uffae\245\uffae\246\uffae\251"); - sb.append("\uffae\001\002\000\172\031\uffe1\033\uffe1\071\uffe1\072\uffe1"); - sb.append("\073\uffe1\111\uffe1\112\uffe1\113\uffe1\127\uffe1\130\uffe1\131"); - sb.append("\uffe1\132\uffe1\134\uffe1\135\uffe1\136\uffe1\137\uffe1\140\uffe1"); - sb.append("\141\uffe1\142\uffe1\143\uffe1\144\uffe1\145\uffe1\146\uffe1\147"); - sb.append("\uffe1\150\uffe1\151\uffe1\152\uffe1\153\uffe1\154\uffe1\155\uffe1"); - sb.append("\156\uffe1\157\uffe1\160\uffe1\161\uffe1\162\uffe1\163\uffe1\164"); - sb.append("\uffe1\165\uffe1\166\uffe1\167\uffe1\170\uffe1\171\uffe1\172\uffe1"); - sb.append("\173\uffe1\174\uffe1\175\uffe1\176\uffe1\201\uffe1\202\uffe1\203"); - sb.append("\uffe1\214\uffe1\215\uffe1\230\uffe1\231\uffe1\232\uffe1\242\uffe1"); - sb.append("\243\uffe1\245\uffe1\246\uffe1\251\uffe1\001\002\000\172\031"); - sb.append("\uffb4\033\uffb4\071\uffb4\072\uffb4\073\uffb4\111\uffb4\112\uffb4"); - sb.append("\113\uffb4\127\uffb4\130\uffb4\131\uffb4\132\uffb4\134\uffb4\135"); - sb.append("\uffb4\136\uffb4\137\uffb4\140\uffb4\141\uffb4\142\uffb4\143\uffb4"); - sb.append("\144\uffb4\145\uffb4\146\uffb4\147\uffb4\150\uffb4\151\uffb4\152"); - sb.append("\uffb4\153\uffb4\154\uffb4\155\uffb4\156\uffb4\157\uffb4\160\uffb4"); - sb.append("\161\uffb4\162\uffb4\163\uffb4\164\uffb4\165\uffb4\166\uffb4\167"); - sb.append("\uffb4\170\uffb4\171\uffb4\172\uffb4\173\uffb4\174\uffb4\175\uffb4"); - sb.append("\176\uffb4\201\uffb4\202\uffb4\203\uffb4\214\uffb4\215\uffb4\230"); - sb.append("\uffb4\231\uffb4\232\uffb4\242\uffb4\243\uffb4\245\uffb4\246\uffb4"); - sb.append("\251\uffb4\001\002\000\172\031\uffdc\033\uffdc\071\uffdc\072"); + sb.append("\uffbc\173\uffbc\174\uffbc\175\uffbc\176\uffbc\177\uffbc\202\uffbc"); + sb.append("\203\uffbc\204\uffbc\215\uffbc\216\uffbc\231\uffbc\232\uffbc\233"); + sb.append("\uffbc\243\uffbc\244\uffbc\246\uffbc\247\uffbc\252\uffbc\001\002"); + sb.append("\000\174\031\uffd4\033\uffd4\071\uffd4\072\uffd4\073\uffd4\111"); + sb.append("\uffd4\112\uffd4\113\uffd4\127\uffd4\130\uffd4\131\uffd4\132\uffd4"); + sb.append("\134\uffd4\135\uffd4\136\uffd4\137\uffd4\140\uffd4\141\uffd4\142"); + sb.append("\uffd4\143\uffd4\144\uffd4\145\uffd4\146\uffd4\147\uffd4\150\uffd4"); + sb.append("\151\uffd4\152\uffd4\153\uffd4\154\uffd4\155\uffd4\156\uffd4\157"); + sb.append("\uffd4\160\uffd4\161\uffd4\162\uffd4\163\uffd4\164\uffd4\165\uffd4"); + sb.append("\166\uffd4\167\uffd4\170\uffd4\171\uffd4\172\uffd4\173\uffd4\174"); + sb.append("\uffd4\175\uffd4\176\uffd4\177\uffd4\202\uffd4\203\uffd4\204\uffd4"); + sb.append("\215\uffd4\216\uffd4\231\uffd4\232\uffd4\233\uffd4\243\uffd4\244"); + sb.append("\uffd4\246\uffd4\247\uffd4\252\uffd4\001\002\000\174\031\ufff3"); + sb.append("\033\ufff3\071\ufff3\072\ufff3\073\ufff3\111\ufff3\112\ufff3\113"); + sb.append("\ufff3\127\ufff3\130\ufff3\131\ufff3\132\ufff3\134\ufff3\135\ufff3"); + sb.append("\136\ufff3\137\ufff3\140\ufff3\141\ufff3\142\ufff3\143\ufff3\144"); + sb.append("\ufff3\145\ufff3\146\ufff3\147\ufff3\150\ufff3\151\ufff3\152\ufff3"); + sb.append("\153\ufff3\154\ufff3\155\ufff3\156\ufff3\157\ufff3\160\ufff3\161"); + sb.append("\ufff3\162\ufff3\163\ufff3\164\ufff3\165\ufff3\166\ufff3\167\ufff3"); + sb.append("\170\ufff3\171\ufff3\172\ufff3\173\ufff3\174\ufff3\175\ufff3\176"); + sb.append("\ufff3\177\ufff3\202\ufff3\203\ufff3\204\ufff3\215\ufff3\216\ufff3"); + sb.append("\231\ufff3\232\ufff3\233\ufff3\243\ufff3\244\ufff3\246\ufff3\247"); + sb.append("\ufff3\252\ufff3\001\002\000\174\031\uffce\033\uffce\071\uffce"); + sb.append("\072\uffce\073\uffce\111\uffce\112\uffce\113\uffce\127\uffce\130"); + sb.append("\uffce\131\uffce\132\uffce\134\uffce\135\uffce\136\uffce\137\uffce"); + sb.append("\140\uffce\141\uffce\142\uffce\143\uffce\144\uffce\145\uffce\146"); + sb.append("\uffce\147\uffce\150\uffce\151\uffce\152\uffce\153\uffce\154\uffce"); + sb.append("\155\uffce\156\uffce\157\uffce\160\uffce\161\uffce\162\uffce\163"); + sb.append("\uffce\164\uffce\165\uffce\166\uffce\167\uffce\170\uffce\171\uffce"); + sb.append("\172\uffce\173\uffce\174\uffce\175\uffce\176\uffce\177\uffce\202"); + sb.append("\uffce\203\uffce\204\uffce\215\uffce\216\uffce\231\uffce\232\uffce"); + sb.append("\233\uffce\243\uffce\244\uffce\246\uffce\247\uffce\252\uffce\001"); + sb.append("\002\000\174\031\uffa6\033\uffa6\071\uffa6\072\uffa6\073\uffa6"); + sb.append("\111\uffa6\112\uffa6\113\uffa6\127\uffa6\130\uffa6\131\uffa6\132"); + sb.append("\uffa6\134\uffa6\135\uffa6\136\uffa6\137\uffa6\140\uffa6\141\uffa6"); + sb.append("\142\uffa6\143\uffa6\144\uffa6\145\uffa6\146\uffa6\147\uffa6\150"); + sb.append("\uffa6\151\uffa6\152\uffa6\153\uffa6\154\uffa6\155\uffa6\156\uffa6"); + sb.append("\157\uffa6\160\uffa6\161\uffa6\162\uffa6\163\uffa6\164\uffa6\165"); + sb.append("\uffa6\166\uffa6\167\uffa6\170\uffa6\171\uffa6\172\uffa6\173\uffa6"); + sb.append("\174\uffa6\175\uffa6\176\uffa6\177\uffa6\202\uffa6\203\uffa6\204"); + sb.append("\uffa6\215\uffa6\216\uffa6\231\uffa6\232\uffa6\233\uffa6\243\uffa6"); + sb.append("\244\uffa6\246\uffa6\247\uffa6\252\uffa6\001\002\000\174\031"); + sb.append("\uffdf\033\uffdf\071\uffdf\072\uffdf\073\uffdf\111\uffdf\112\uffdf"); + sb.append("\113\uffdf\127\uffdf\130\uffdf\131\uffdf\132\uffdf\134\uffdf\135"); + sb.append("\uffdf\136\uffdf\137\uffdf\140\uffdf\141\uffdf\142\uffdf\143\uffdf"); + sb.append("\144\uffdf\145\uffdf\146\uffdf\147\uffdf\150\uffdf\151\uffdf\152"); + sb.append("\uffdf\153\uffdf\154\uffdf\155\uffdf\156\uffdf\157\uffdf\160\uffdf"); + sb.append("\161\uffdf\162\uffdf\163\uffdf\164\uffdf\165\uffdf\166\uffdf\167"); + sb.append("\uffdf\170\uffdf\171\uffdf\172\uffdf\173\uffdf\174\uffdf\175\uffdf"); + sb.append("\176\uffdf\177\uffdf\202\uffdf\203\uffdf\204\uffdf\215\uffdf\216"); + sb.append("\uffdf\231\uffdf\232\uffdf\233\uffdf\243\uffdf\244\uffdf\246\uffdf"); + sb.append("\247\uffdf\252\uffdf\001\002\000\174\031\uffa5\033\uffa5\071"); + sb.append("\uffa5\072\uffa5\073\uffa5\111\uffa5\112\uffa5\113\uffa5\127\uffa5"); + sb.append("\130\uffa5\131\uffa5\132\uffa5\134\uffa5\135\uffa5\136\uffa5\137"); + sb.append("\uffa5\140\uffa5\141\uffa5\142\uffa5\143\uffa5\144\uffa5\145\uffa5"); + sb.append("\146\uffa5\147\uffa5\150\uffa5\151\uffa5\152\uffa5\153\uffa5\154"); + sb.append("\uffa5\155\uffa5\156\uffa5\157\uffa5\160\uffa5\161\uffa5\162\uffa5"); + sb.append("\163\uffa5\164\uffa5\165\uffa5\166\uffa5\167\uffa5\170\uffa5\171"); + sb.append("\uffa5\172\uffa5\173\uffa5\174\uffa5\175\uffa5\176\uffa5\177\uffa5"); + sb.append("\202\uffa5\203\uffa5\204\uffa5\215\uffa5\216\uffa5\231\uffa5\232"); + sb.append("\uffa5\233\uffa5\243\uffa5\244\uffa5\246\uffa5\247\uffa5\252\uffa5"); + sb.append("\001\002\000\174\031\uffd9\033\uffd9\071\uffd9\072\uffd9\073"); + sb.append("\uffd9\111\uffd9\112\uffd9\113\uffd9\127\uffd9\130\uffd9\131\uffd9"); + sb.append("\132\uffd9\134\uffd9\135\uffd9\136\uffd9\137\uffd9\140\uffd9\141"); + sb.append("\uffd9\142\uffd9\143\uffd9\144\uffd9\145\uffd9\146\uffd9\147\uffd9"); + sb.append("\150\uffd9\151\uffd9\152\uffd9\153\uffd9\154\uffd9\155\uffd9\156"); + sb.append("\uffd9\157\uffd9\160\uffd9\161\uffd9\162\uffd9\163\uffd9\164\uffd9"); + sb.append("\165\uffd9\166\uffd9\167\uffd9\170\uffd9\171\uffd9\172\uffd9\173"); + sb.append("\uffd9\174\uffd9\175\uffd9\176\uffd9\177\uffd9\202\uffd9\203\uffd9"); + sb.append("\204\uffd9\215\uffd9\216\uffd9\231\uffd9\232\uffd9\233\uffd9\243"); + sb.append("\uffd9\244\uffd9\246\uffd9\247\uffd9\252\uffd9\001\002\000\174"); + sb.append("\031\uffd8\033\uffd8\071\uffd8\072\uffd8\073\uffd8\111\uffd8\112"); + sb.append("\uffd8\113\uffd8\127\uffd8\130\uffd8\131\uffd8\132\uffd8\134\uffd8"); + sb.append("\135\uffd8\136\uffd8\137\uffd8\140\uffd8\141\uffd8\142\uffd8\143"); + sb.append("\uffd8\144\uffd8\145\uffd8\146\uffd8\147\uffd8\150\uffd8\151\uffd8"); + sb.append("\152\uffd8\153\uffd8\154\uffd8\155\uffd8\156\uffd8\157\uffd8\160"); + sb.append("\uffd8\161\uffd8\162\uffd8\163\uffd8\164\uffd8\165\uffd8\166\uffd8"); + sb.append("\167\uffd8\170\uffd8\171\uffd8\172\uffd8\173\uffd8\174\uffd8\175"); + sb.append("\uffd8\176\uffd8\177\uffd8\202\uffd8\203\uffd8\204\uffd8\215\uffd8"); + sb.append("\216\uffd8\231\uffd8\232\uffd8\233\uffd8\243\uffd8\244\uffd8\246"); + sb.append("\uffd8\247\uffd8\252\uffd8\001\002\000\174\031\uffb1\033\uffb1"); + sb.append("\071\uffb1\072\uffb1\073\uffb1\111\uffb1\112\uffb1\113\uffb1\127"); + sb.append("\uffb1\130\uffb1\131\uffb1\132\uffb1\134\uffb1\135\uffb1\136\uffb1"); + sb.append("\137\uffb1\140\uffb1\141\uffb1\142\uffb1\143\uffb1\144\uffb1\145"); + sb.append("\uffb1\146\uffb1\147\uffb1\150\uffb1\151\uffb1\152\uffb1\153\uffb1"); + sb.append("\154\uffb1\155\uffb1\156\uffb1\157\uffb1\160\uffb1\161\uffb1\162"); + sb.append("\uffb1\163\uffb1\164\uffb1\165\uffb1\166\uffb1\167\uffb1\170\uffb1"); + sb.append("\171\uffb1\172\uffb1\173\uffb1\174\uffb1\175\uffb1\176\uffb1\177"); + sb.append("\uffb1\202\uffb1\203\uffb1\204\uffb1\215\uffb1\216\uffb1\231\uffb1"); + sb.append("\232\uffb1\233\uffb1\243\uffb1\244\uffb1\246\uffb1\247\uffb1\252"); + sb.append("\uffb1\001\002\000\174\031\uffae\033\uffae\071\uffae\072\uffae"); + sb.append("\073\uffae\111\uffae\112\uffae\113\uffae\127\uffae\130\uffae\131"); + sb.append("\uffae\132\uffae\134\uffae\135\uffae\136\uffae\137\uffae\140\uffae"); + sb.append("\141\uffae\142\uffae\143\uffae\144\uffae\145\uffae\146\uffae\147"); + sb.append("\uffae\150\uffae\151\uffae\152\uffae\153\uffae\154\uffae\155\uffae"); + sb.append("\156\uffae\157\uffae\160\uffae\161\uffae\162\uffae\163\uffae\164"); + sb.append("\uffae\165\uffae\166\uffae\167\uffae\170\uffae\171\uffae\172\uffae"); + sb.append("\173\uffae\174\uffae\175\uffae\176\uffae\177\uffae\202\uffae\203"); + sb.append("\uffae\204\uffae\215\uffae\216\uffae\231\uffae\232\uffae\233\uffae"); + sb.append("\243\uffae\244\uffae\246\uffae\247\uffae\252\uffae\001\002\000"); + sb.append("\174\031\uffe1\033\uffe1\071\uffe1\072\uffe1\073\uffe1\111\uffe1"); + sb.append("\112\uffe1\113\uffe1\127\uffe1\130\uffe1\131\uffe1\132\uffe1\134"); + sb.append("\uffe1\135\uffe1\136\uffe1\137\uffe1\140\uffe1\141\uffe1\142\uffe1"); + sb.append("\143\uffe1\144\uffe1\145\uffe1\146\uffe1\147\uffe1\150\uffe1\151"); + sb.append("\uffe1\152\uffe1\153\uffe1\154\uffe1\155\uffe1\156\uffe1\157\uffe1"); + sb.append("\160\uffe1\161\uffe1\162\uffe1\163\uffe1\164\uffe1\165\uffe1\166"); + sb.append("\uffe1\167\uffe1\170\uffe1\171\uffe1\172\uffe1\173\uffe1\174\uffe1"); + sb.append("\175\uffe1\176\uffe1\177\uffe1\202\uffe1\203\uffe1\204\uffe1\215"); + sb.append("\uffe1\216\uffe1\231\uffe1\232\uffe1\233\uffe1\243\uffe1\244\uffe1"); + sb.append("\246\uffe1\247\uffe1\252\uffe1\001\002\000\174\031\uffb4\033"); + sb.append("\uffb4\071\uffb4\072\uffb4\073\uffb4\111\uffb4\112\uffb4\113\uffb4"); + sb.append("\127\uffb4\130\uffb4\131\uffb4\132\uffb4\134\uffb4\135\uffb4\136"); + sb.append("\uffb4\137\uffb4\140\uffb4\141\uffb4\142\uffb4\143\uffb4\144\uffb4"); + sb.append("\145\uffb4\146\uffb4\147\uffb4\150\uffb4\151\uffb4\152\uffb4\153"); + sb.append("\uffb4\154\uffb4\155\uffb4\156\uffb4\157\uffb4\160\uffb4\161\uffb4"); + sb.append("\162\uffb4\163\uffb4\164\uffb4\165\uffb4\166\uffb4\167\uffb4\170"); + sb.append("\uffb4\171\uffb4\172\uffb4\173\uffb4\174\uffb4\175\uffb4\176\uffb4"); + sb.append("\177\uffb4\202\uffb4\203\uffb4\204\uffb4\215\uffb4\216\uffb4\231"); + sb.append("\uffb4\232\uffb4\233\uffb4\243\uffb4\244\uffb4\246\uffb4\247\uffb4"); + sb.append("\252\uffb4\001\002\000\174\031\uffdc\033\uffdc\071\uffdc\072"); sb.append("\uffdc\073\uffdc\111\uffdc\112\uffdc\113\uffdc\127\uffdc\130\uffdc"); sb.append("\131\uffdc\132\uffdc\134\uffdc\135\uffdc\136\uffdc\137\uffdc\140"); sb.append("\uffdc\141\uffdc\142\uffdc\143\uffdc\144\uffdc\145\uffdc\146\uffdc"); sb.append("\147\uffdc\150\uffdc\151\uffdc\152\uffdc\153\uffdc\154\uffdc\155"); sb.append("\uffdc\156\uffdc\157\uffdc\160\uffdc\161\uffdc\162\uffdc\163\uffdc"); sb.append("\164\uffdc\165\uffdc\166\uffdc\167\uffdc\170\uffdc\171\uffdc\172"); - sb.append("\uffdc\173\uffdc\174\uffdc\175\uffdc\176\uffdc\201\uffdc\202\uffdc"); - sb.append("\203\uffdc\214\uffdc\215\uffdc\230\uffdc\231\uffdc\232\uffdc\242"); - sb.append("\uffdc\243\uffdc\245\uffdc\246\uffdc\251\uffdc\001\002\000\172"); - sb.append("\031\uffb5\033\uffb5\071\uffb5\072\uffb5\073\uffb5\111\uffb5\112"); - sb.append("\uffb5\113\uffb5\127\uffb5\130\uffb5\131\uffb5\132\uffb5\134\uffb5"); - sb.append("\135\uffb5\136\uffb5\137\uffb5\140\uffb5\141\uffb5\142\uffb5\143"); - sb.append("\uffb5\144\uffb5\145\uffb5\146\uffb5\147\uffb5\150\uffb5\151\uffb5"); - sb.append("\152\uffb5\153\uffb5\154\uffb5\155\uffb5\156\uffb5\157\uffb5\160"); - sb.append("\uffb5\161\uffb5\162\uffb5\163\uffb5\164\uffb5\165\uffb5\166\uffb5"); - sb.append("\167\uffb5\170\uffb5\171\uffb5\172\uffb5\173\uffb5\174\uffb5\175"); - sb.append("\uffb5\176\uffb5\201\uffb5\202\uffb5\203\uffb5\214\uffb5\215\uffb5"); - sb.append("\230\uffb5\231\uffb5\232\uffb5\242\uffb5\243\uffb5\245\uffb5\246"); - sb.append("\uffb5\251\uffb5\001\002\000\172\031\ufff1\033\ufff1\071\ufff1"); - sb.append("\072\ufff1\073\ufff1\111\ufff1\112\ufff1\113\ufff1\127\ufff1\130"); - sb.append("\ufff1\131\ufff1\132\ufff1\134\ufff1\135\ufff1\136\ufff1\137\ufff1"); - sb.append("\140\ufff1\141\ufff1\142\ufff1\143\ufff1\144\ufff1\145\ufff1\146"); - sb.append("\ufff1\147\ufff1\150\ufff1\151\ufff1\152\ufff1\153\ufff1\154\ufff1"); - sb.append("\155\ufff1\156\ufff1\157\ufff1\160\ufff1\161\ufff1\162\ufff1\163"); - sb.append("\ufff1\164\ufff1\165\ufff1\166\ufff1\167\ufff1\170\ufff1\171\ufff1"); - sb.append("\172\ufff1\173\ufff1\174\ufff1\175\ufff1\176\ufff1\201\ufff1\202"); - sb.append("\ufff1\203\ufff1\214\ufff1\215\ufff1\230\ufff1\231\ufff1\232\ufff1"); - sb.append("\242\ufff1\243\ufff1\245\ufff1\246\ufff1\251\ufff1\001\002\000"); - sb.append("\172\031\uffeb\033\uffeb\071\uffeb\072\uffeb\073\uffeb\111\uffeb"); - sb.append("\112\uffeb\113\uffeb\127\uffeb\130\uffeb\131\uffeb\132\uffeb\134"); - sb.append("\uffeb\135\uffeb\136\uffeb\137\uffeb\140\uffeb\141\uffeb\142\uffeb"); - sb.append("\143\uffeb\144\uffeb\145\uffeb\146\uffeb\147\uffeb\150\uffeb\151"); - sb.append("\uffeb\152\uffeb\153\uffeb\154\uffeb\155\uffeb\156\uffeb\157\uffeb"); - sb.append("\160\uffeb\161\uffeb\162\uffeb\163\uffeb\164\uffeb\165\uffeb\166"); - sb.append("\uffeb\167\uffeb\170\uffeb\171\uffeb\172\uffeb\173\uffeb\174\uffeb"); - sb.append("\175\uffeb\176\uffeb\201\uffeb\202\uffeb\203\uffeb\214\uffeb\215"); - sb.append("\uffeb\230\uffeb\231\uffeb\232\uffeb\242\uffeb\243\uffeb\245\uffeb"); - sb.append("\246\uffeb\251\uffeb\001\002\000\172\031\uffe0\033\uffe0\071"); - sb.append("\uffe0\072\uffe0\073\uffe0\111\uffe0\112\uffe0\113\uffe0\127\uffe0"); - sb.append("\130\uffe0\131\uffe0\132\uffe0\134\uffe0\135\uffe0\136\uffe0\137"); - sb.append("\uffe0\140\uffe0\141\uffe0\142\uffe0\143\uffe0\144\uffe0\145\uffe0"); - sb.append("\146\uffe0\147\uffe0\150\uffe0\151\uffe0\152\uffe0\153\uffe0\154"); - sb.append("\uffe0\155\uffe0\156\uffe0\157\uffe0\160\uffe0\161\uffe0\162\uffe0"); - sb.append("\163\uffe0\164\uffe0\165\uffe0\166\uffe0\167\uffe0\170\uffe0\171"); - sb.append("\uffe0\172\uffe0\173\uffe0\174\uffe0\175\uffe0\176\uffe0\201\uffe0"); - sb.append("\202\uffe0\203\uffe0\214\uffe0\215\uffe0\230\uffe0\231\uffe0\232"); - sb.append("\uffe0\242\uffe0\243\uffe0\245\uffe0\246\uffe0\251\uffe0\001\002"); - sb.append("\000\172\031\uffbf\033\uffbf\071\uffbf\072\uffbf\073\uffbf\111"); - sb.append("\uffbf\112\uffbf\113\uffbf\127\uffbf\130\uffbf\131\uffbf\132\uffbf"); - sb.append("\134\uffbf\135\uffbf\136\uffbf\137\uffbf\140\uffbf\141\uffbf\142"); - sb.append("\uffbf\143\uffbf\144\uffbf\145\uffbf\146\uffbf\147\uffbf\150\uffbf"); - sb.append("\151\uffbf\152\uffbf\153\uffbf\154\uffbf\155\uffbf\156\uffbf\157"); - sb.append("\uffbf\160\uffbf\161\uffbf\162\uffbf\163\uffbf\164\uffbf\165\uffbf"); - sb.append("\166\uffbf\167\uffbf\170\uffbf\171\uffbf\172\uffbf\173\uffbf\174"); - sb.append("\uffbf\175\uffbf\176\uffbf\201\uffbf\202\uffbf\203\uffbf\214\uffbf"); - sb.append("\215\uffbf\230\uffbf\231\uffbf\232\uffbf\242\uffbf\243\uffbf\245"); - sb.append("\uffbf\246\uffbf\251\uffbf\001\002\000\172\031\uffa4\033\uffa4"); - sb.append("\071\uffa4\072\uffa4\073\uffa4\111\uffa4\112\uffa4\113\uffa4\127"); - sb.append("\uffa4\130\uffa4\131\uffa4\132\uffa4\134\uffa4\135\uffa4\136\uffa4"); - sb.append("\137\uffa4\140\uffa4\141\uffa4\142\uffa4\143\uffa4\144\uffa4\145"); - sb.append("\uffa4\146\uffa4\147\uffa4\150\uffa4\151\uffa4\152\uffa4\153\uffa4"); - sb.append("\154\uffa4\155\uffa4\156\uffa4\157\uffa4\160\uffa4\161\uffa4\162"); - sb.append("\uffa4\163\uffa4\164\uffa4\165\uffa4\166\uffa4\167\uffa4\170\uffa4"); - sb.append("\171\uffa4\172\uffa4\173\uffa4\174\uffa4\175\uffa4\176\uffa4\201"); - sb.append("\uffa4\202\uffa4\203\uffa4\214\uffa4\215\uffa4\230\uffa4\231\uffa4"); - sb.append("\232\uffa4\242\uffa4\243\uffa4\245\uffa4\246\uffa4\251\uffa4\001"); - sb.append("\002\000\172\031\uffd6\033\uffd6\071\uffd6\072\uffd6\073\uffd6"); - sb.append("\111\uffd6\112\uffd6\113\uffd6\127\uffd6\130\uffd6\131\uffd6\132"); - sb.append("\uffd6\134\uffd6\135\uffd6\136\uffd6\137\uffd6\140\uffd6\141\uffd6"); - sb.append("\142\uffd6\143\uffd6\144\uffd6\145\uffd6\146\uffd6\147\uffd6\150"); - sb.append("\uffd6\151\uffd6\152\uffd6\153\uffd6\154\uffd6\155\uffd6\156\uffd6"); - sb.append("\157\uffd6\160\uffd6\161\uffd6\162\uffd6\163\uffd6\164\uffd6\165"); - sb.append("\uffd6\166\uffd6\167\uffd6\170\uffd6\171\uffd6\172\uffd6\173\uffd6"); - sb.append("\174\uffd6\175\uffd6\176\uffd6\201\uffd6\202\uffd6\203\uffd6\214"); - sb.append("\uffd6\215\uffd6\230\uffd6\231\uffd6\232\uffd6\242\uffd6\243\uffd6"); - sb.append("\245\uffd6\246\uffd6\251\uffd6\001\002\000\172\031\uffc0\033"); - sb.append("\uffc0\071\uffc0\072\uffc0\073\uffc0\111\uffc0\112\uffc0\113\uffc0"); - sb.append("\127\uffc0\130\uffc0\131\uffc0\132\uffc0\134\uffc0\135\uffc0\136"); - sb.append("\uffc0\137\uffc0\140\uffc0\141\uffc0\142\uffc0\143\uffc0\144\uffc0"); - sb.append("\145\uffc0\146\uffc0\147\uffc0\150\uffc0\151\uffc0\152\uffc0\153"); - sb.append("\uffc0\154\uffc0\155\uffc0\156\uffc0\157\uffc0\160\uffc0\161\uffc0"); - sb.append("\162\uffc0\163\uffc0\164\uffc0\165\uffc0\166\uffc0\167\uffc0\170"); - sb.append("\uffc0\171\uffc0\172\uffc0\173\uffc0\174\uffc0\175\uffc0\176\uffc0"); - sb.append("\201\uffc0\202\uffc0\203\uffc0\214\uffc0\215\uffc0\230\uffc0\231"); - sb.append("\uffc0\232\uffc0\242\uffc0\243\uffc0\245\uffc0\246\uffc0\251\uffc0"); - sb.append("\001\002\000\172\031\uffad\033\uffad\071\uffad\072\uffad\073"); - sb.append("\uffad\111\uffad\112\uffad\113\uffad\127\uffad\130\uffad\131\uffad"); - sb.append("\132\uffad\134\uffad\135\uffad\136\uffad\137\uffad\140\uffad\141"); - sb.append("\uffad\142\uffad\143\uffad\144\uffad\145\uffad\146\uffad\147\uffad"); - sb.append("\150\uffad\151\uffad\152\uffad\153\uffad\154\uffad\155\uffad\156"); - sb.append("\uffad\157\uffad\160\uffad\161\uffad\162\uffad\163\uffad\164\uffad"); - sb.append("\165\uffad\166\uffad\167\uffad\170\uffad\171\uffad\172\uffad\173"); - sb.append("\uffad\174\uffad\175\uffad\176\uffad\201\uffad\202\uffad\203\uffad"); - sb.append("\214\uffad\215\uffad\230\uffad\231\uffad\232\uffad\242\uffad\243"); - sb.append("\uffad\245\uffad\246\uffad\251\uffad\001\002\000\172\031\uffcb"); - sb.append("\033\uffcb\071\uffcb\072\uffcb\073\uffcb\111\uffcb\112\uffcb\113"); - sb.append("\uffcb\127\uffcb\130\uffcb\131\uffcb\132\uffcb\134\uffcb\135\uffcb"); - sb.append("\136\uffcb\137\uffcb\140\uffcb\141\uffcb\142\uffcb\143\uffcb\144"); - sb.append("\uffcb\145\uffcb\146\uffcb\147\uffcb\150\uffcb\151\uffcb\152\uffcb"); - sb.append("\153\uffcb\154\uffcb\155\uffcb\156\uffcb\157\uffcb\160\uffcb\161"); - sb.append("\uffcb\162\uffcb\163\uffcb\164\uffcb\165\uffcb\166\uffcb\167\uffcb"); - sb.append("\170\uffcb\171\uffcb\172\uffcb\173\uffcb\174\uffcb\175\uffcb\176"); - sb.append("\uffcb\201\uffcb\202\uffcb\203\uffcb\214\uffcb\215\uffcb\230\uffcb"); - sb.append("\231\uffcb\232\uffcb\242\uffcb\243\uffcb\245\uffcb\246\uffcb\251"); - sb.append("\uffcb\001\002\000\172\031\uffc7\033\uffc7\071\uffc7\072\uffc7"); - sb.append("\073\uffc7\111\uffc7\112\uffc7\113\uffc7\127\uffc7\130\uffc7\131"); - sb.append("\uffc7\132\uffc7\134\uffc7\135\uffc7\136\uffc7\137\uffc7\140\uffc7"); - sb.append("\141\uffc7\142\uffc7\143\uffc7\144\uffc7\145\uffc7\146\uffc7\147"); - sb.append("\uffc7\150\uffc7\151\uffc7\152\uffc7\153\uffc7\154\uffc7\155\uffc7"); - sb.append("\156\uffc7\157\uffc7\160\uffc7\161\uffc7\162\uffc7\163\uffc7\164"); - sb.append("\uffc7\165\uffc7\166\uffc7\167\uffc7\170\uffc7\171\uffc7\172\uffc7"); - sb.append("\173\uffc7\174\uffc7\175\uffc7\176\uffc7\201\uffc7\202\uffc7\203"); - sb.append("\uffc7\214\uffc7\215\uffc7\230\uffc7\231\uffc7\232\uffc7\242\uffc7"); - sb.append("\243\uffc7\245\uffc7\246\uffc7\251\uffc7\001\002\000\170\004"); - sb.append("\201\006\156\007\175\010\u01af\011\204\012\075\015\031"); - sb.append("\016\071\032\106\036\125\044\222\045\u01b1\054\026\062"); - sb.append("\210\063\010\074\051\075\166\077\123\100\012\101\206"); - sb.append("\102\041\103\144\104\117\105\141\115\136\116\046\121"); - sb.append("\160\122\013\123\065\124\124\125\116\126\131\133\020"); - sb.append("\172\104\173\176\177\130\200\067\202\054\203\120\204"); - sb.append("\207\205\154\206\216\207\151\210\142\211\155\212\063"); - sb.append("\213\074\214\114\216\101\222\u01b0\230\u01b3\233\152\234"); - sb.append("\015\235\073\236\060\247\021\253\147\254\064\255\055"); - sb.append("\001\002\000\172\031\uffe4\033\uffe4\071\uffe4\072\uffe4\073"); - sb.append("\uffe4\111\uffe4\112\uffe4\113\uffe4\127\uffe4\130\uffe4\131\uffe4"); - sb.append("\132\uffe4\134\uffe4\135\uffe4\136\uffe4\137\uffe4\140\uffe4\141"); - sb.append("\uffe4\142\uffe4\143\uffe4\144\uffe4\145\uffe4\146\uffe4\147\uffe4"); - sb.append("\150\uffe4\151\uffe4\152\uffe4\153\uffe4\154\uffe4\155\uffe4\156"); - sb.append("\uffe4\157\uffe4\160\uffe4\161\uffe4\162\uffe4\163\uffe4\164\uffe4"); - sb.append("\165\uffe4\166\uffe4\167\uffe4\170\uffe4\171\uffe4\172\uffe4\173"); - sb.append("\uffe4\174\uffe4\175\uffe4\176\uffe4\201\uffe4\202\uffe4\203\uffe4"); - sb.append("\214\uffe4\215\uffe4\230\uffe4\231\uffe4\232\uffe4\242\uffe4\243"); - sb.append("\uffe4\245\uffe4\246\uffe4\251\uffe4\001\002\000\172\031\uffe6"); + sb.append("\uffdc\173\uffdc\174\uffdc\175\uffdc\176\uffdc\177\uffdc\202\uffdc"); + sb.append("\203\uffdc\204\uffdc\215\uffdc\216\uffdc\231\uffdc\232\uffdc\233"); + sb.append("\uffdc\243\uffdc\244\uffdc\246\uffdc\247\uffdc\252\uffdc\001\002"); + sb.append("\000\174\031\uffb5\033\uffb5\071\uffb5\072\uffb5\073\uffb5\111"); + sb.append("\uffb5\112\uffb5\113\uffb5\127\uffb5\130\uffb5\131\uffb5\132\uffb5"); + sb.append("\134\uffb5\135\uffb5\136\uffb5\137\uffb5\140\uffb5\141\uffb5\142"); + sb.append("\uffb5\143\uffb5\144\uffb5\145\uffb5\146\uffb5\147\uffb5\150\uffb5"); + sb.append("\151\uffb5\152\uffb5\153\uffb5\154\uffb5\155\uffb5\156\uffb5\157"); + sb.append("\uffb5\160\uffb5\161\uffb5\162\uffb5\163\uffb5\164\uffb5\165\uffb5"); + sb.append("\166\uffb5\167\uffb5\170\uffb5\171\uffb5\172\uffb5\173\uffb5\174"); + sb.append("\uffb5\175\uffb5\176\uffb5\177\uffb5\202\uffb5\203\uffb5\204\uffb5"); + sb.append("\215\uffb5\216\uffb5\231\uffb5\232\uffb5\233\uffb5\243\uffb5\244"); + sb.append("\uffb5\246\uffb5\247\uffb5\252\uffb5\001\002\000\174\031\ufff1"); + sb.append("\033\ufff1\071\ufff1\072\ufff1\073\ufff1\111\ufff1\112\ufff1\113"); + sb.append("\ufff1\127\ufff1\130\ufff1\131\ufff1\132\ufff1\134\ufff1\135\ufff1"); + sb.append("\136\ufff1\137\ufff1\140\ufff1\141\ufff1\142\ufff1\143\ufff1\144"); + sb.append("\ufff1\145\ufff1\146\ufff1\147\ufff1\150\ufff1\151\ufff1\152\ufff1"); + sb.append("\153\ufff1\154\ufff1\155\ufff1\156\ufff1\157\ufff1\160\ufff1\161"); + sb.append("\ufff1\162\ufff1\163\ufff1\164\ufff1\165\ufff1\166\ufff1\167\ufff1"); + sb.append("\170\ufff1\171\ufff1\172\ufff1\173\ufff1\174\ufff1\175\ufff1\176"); + sb.append("\ufff1\177\ufff1\202\ufff1\203\ufff1\204\ufff1\215\ufff1\216\ufff1"); + sb.append("\231\ufff1\232\ufff1\233\ufff1\243\ufff1\244\ufff1\246\ufff1\247"); + sb.append("\ufff1\252\ufff1\001\002\000\174\031\uffeb\033\uffeb\071\uffeb"); + sb.append("\072\uffeb\073\uffeb\111\uffeb\112\uffeb\113\uffeb\127\uffeb\130"); + sb.append("\uffeb\131\uffeb\132\uffeb\134\uffeb\135\uffeb\136\uffeb\137\uffeb"); + sb.append("\140\uffeb\141\uffeb\142\uffeb\143\uffeb\144\uffeb\145\uffeb\146"); + sb.append("\uffeb\147\uffeb\150\uffeb\151\uffeb\152\uffeb\153\uffeb\154\uffeb"); + sb.append("\155\uffeb\156\uffeb\157\uffeb\160\uffeb\161\uffeb\162\uffeb\163"); + sb.append("\uffeb\164\uffeb\165\uffeb\166\uffeb\167\uffeb\170\uffeb\171\uffeb"); + sb.append("\172\uffeb\173\uffeb\174\uffeb\175\uffeb\176\uffeb\177\uffeb\202"); + sb.append("\uffeb\203\uffeb\204\uffeb\215\uffeb\216\uffeb\231\uffeb\232\uffeb"); + sb.append("\233\uffeb\243\uffeb\244\uffeb\246\uffeb\247\uffeb\252\uffeb\001"); + sb.append("\002\000\174\031\uffe0\033\uffe0\071\uffe0\072\uffe0\073\uffe0"); + sb.append("\111\uffe0\112\uffe0\113\uffe0\127\uffe0\130\uffe0\131\uffe0\132"); + sb.append("\uffe0\134\uffe0\135\uffe0\136\uffe0\137\uffe0\140\uffe0\141\uffe0"); + sb.append("\142\uffe0\143\uffe0\144\uffe0\145\uffe0\146\uffe0\147\uffe0\150"); + sb.append("\uffe0\151\uffe0\152\uffe0\153\uffe0\154\uffe0\155\uffe0\156\uffe0"); + sb.append("\157\uffe0\160\uffe0\161\uffe0\162\uffe0\163\uffe0\164\uffe0\165"); + sb.append("\uffe0\166\uffe0\167\uffe0\170\uffe0\171\uffe0\172\uffe0\173\uffe0"); + sb.append("\174\uffe0\175\uffe0\176\uffe0\177\uffe0\202\uffe0\203\uffe0\204"); + sb.append("\uffe0\215\uffe0\216\uffe0\231\uffe0\232\uffe0\233\uffe0\243\uffe0"); + sb.append("\244\uffe0\246\uffe0\247\uffe0\252\uffe0\001\002\000\174\031"); + sb.append("\uffbf\033\uffbf\071\uffbf\072\uffbf\073\uffbf\111\uffbf\112\uffbf"); + sb.append("\113\uffbf\127\uffbf\130\uffbf\131\uffbf\132\uffbf\134\uffbf\135"); + sb.append("\uffbf\136\uffbf\137\uffbf\140\uffbf\141\uffbf\142\uffbf\143\uffbf"); + sb.append("\144\uffbf\145\uffbf\146\uffbf\147\uffbf\150\uffbf\151\uffbf\152"); + sb.append("\uffbf\153\uffbf\154\uffbf\155\uffbf\156\uffbf\157\uffbf\160\uffbf"); + sb.append("\161\uffbf\162\uffbf\163\uffbf\164\uffbf\165\uffbf\166\uffbf\167"); + sb.append("\uffbf\170\uffbf\171\uffbf\172\uffbf\173\uffbf\174\uffbf\175\uffbf"); + sb.append("\176\uffbf\177\uffbf\202\uffbf\203\uffbf\204\uffbf\215\uffbf\216"); + sb.append("\uffbf\231\uffbf\232\uffbf\233\uffbf\243\uffbf\244\uffbf\246\uffbf"); + sb.append("\247\uffbf\252\uffbf\001\002\000\174\031\uffa4\033\uffa4\071"); + sb.append("\uffa4\072\uffa4\073\uffa4\111\uffa4\112\uffa4\113\uffa4\127\uffa4"); + sb.append("\130\uffa4\131\uffa4\132\uffa4\134\uffa4\135\uffa4\136\uffa4\137"); + sb.append("\uffa4\140\uffa4\141\uffa4\142\uffa4\143\uffa4\144\uffa4\145\uffa4"); + sb.append("\146\uffa4\147\uffa4\150\uffa4\151\uffa4\152\uffa4\153\uffa4\154"); + sb.append("\uffa4\155\uffa4\156\uffa4\157\uffa4\160\uffa4\161\uffa4\162\uffa4"); + sb.append("\163\uffa4\164\uffa4\165\uffa4\166\uffa4\167\uffa4\170\uffa4\171"); + sb.append("\uffa4\172\uffa4\173\uffa4\174\uffa4\175\uffa4\176\uffa4\177\uffa4"); + sb.append("\202\uffa4\203\uffa4\204\uffa4\215\uffa4\216\uffa4\231\uffa4\232"); + sb.append("\uffa4\233\uffa4\243\uffa4\244\uffa4\246\uffa4\247\uffa4\252\uffa4"); + sb.append("\001\002\000\174\031\uffd6\033\uffd6\071\uffd6\072\uffd6\073"); + sb.append("\uffd6\111\uffd6\112\uffd6\113\uffd6\127\uffd6\130\uffd6\131\uffd6"); + sb.append("\132\uffd6\134\uffd6\135\uffd6\136\uffd6\137\uffd6\140\uffd6\141"); + sb.append("\uffd6\142\uffd6\143\uffd6\144\uffd6\145\uffd6\146\uffd6\147\uffd6"); + sb.append("\150\uffd6\151\uffd6\152\uffd6\153\uffd6\154\uffd6\155\uffd6\156"); + sb.append("\uffd6\157\uffd6\160\uffd6\161\uffd6\162\uffd6\163\uffd6\164\uffd6"); + sb.append("\165\uffd6\166\uffd6\167\uffd6\170\uffd6\171\uffd6\172\uffd6\173"); + sb.append("\uffd6\174\uffd6\175\uffd6\176\uffd6\177\uffd6\202\uffd6\203\uffd6"); + sb.append("\204\uffd6\215\uffd6\216\uffd6\231\uffd6\232\uffd6\233\uffd6\243"); + sb.append("\uffd6\244\uffd6\246\uffd6\247\uffd6\252\uffd6\001\002\000\174"); + sb.append("\031\uffc0\033\uffc0\071\uffc0\072\uffc0\073\uffc0\111\uffc0\112"); + sb.append("\uffc0\113\uffc0\127\uffc0\130\uffc0\131\uffc0\132\uffc0\134\uffc0"); + sb.append("\135\uffc0\136\uffc0\137\uffc0\140\uffc0\141\uffc0\142\uffc0\143"); + sb.append("\uffc0\144\uffc0\145\uffc0\146\uffc0\147\uffc0\150\uffc0\151\uffc0"); + sb.append("\152\uffc0\153\uffc0\154\uffc0\155\uffc0\156\uffc0\157\uffc0\160"); + sb.append("\uffc0\161\uffc0\162\uffc0\163\uffc0\164\uffc0\165\uffc0\166\uffc0"); + sb.append("\167\uffc0\170\uffc0\171\uffc0\172\uffc0\173\uffc0\174\uffc0\175"); + sb.append("\uffc0\176\uffc0\177\uffc0\202\uffc0\203\uffc0\204\uffc0\215\uffc0"); + sb.append("\216\uffc0\231\uffc0\232\uffc0\233\uffc0\243\uffc0\244\uffc0\246"); + sb.append("\uffc0\247\uffc0\252\uffc0\001\002\000\174\031\uffad\033\uffad"); + sb.append("\071\uffad\072\uffad\073\uffad\111\uffad\112\uffad\113\uffad\127"); + sb.append("\uffad\130\uffad\131\uffad\132\uffad\134\uffad\135\uffad\136\uffad"); + sb.append("\137\uffad\140\uffad\141\uffad\142\uffad\143\uffad\144\uffad\145"); + sb.append("\uffad\146\uffad\147\uffad\150\uffad\151\uffad\152\uffad\153\uffad"); + sb.append("\154\uffad\155\uffad\156\uffad\157\uffad\160\uffad\161\uffad\162"); + sb.append("\uffad\163\uffad\164\uffad\165\uffad\166\uffad\167\uffad\170\uffad"); + sb.append("\171\uffad\172\uffad\173\uffad\174\uffad\175\uffad\176\uffad\177"); + sb.append("\uffad\202\uffad\203\uffad\204\uffad\215\uffad\216\uffad\231\uffad"); + sb.append("\232\uffad\233\uffad\243\uffad\244\uffad\246\uffad\247\uffad\252"); + sb.append("\uffad\001\002\000\174\031\uffcb\033\uffcb\071\uffcb\072\uffcb"); + sb.append("\073\uffcb\111\uffcb\112\uffcb\113\uffcb\127\uffcb\130\uffcb\131"); + sb.append("\uffcb\132\uffcb\134\uffcb\135\uffcb\136\uffcb\137\uffcb\140\uffcb"); + sb.append("\141\uffcb\142\uffcb\143\uffcb\144\uffcb\145\uffcb\146\uffcb\147"); + sb.append("\uffcb\150\uffcb\151\uffcb\152\uffcb\153\uffcb\154\uffcb\155\uffcb"); + sb.append("\156\uffcb\157\uffcb\160\uffcb\161\uffcb\162\uffcb\163\uffcb\164"); + sb.append("\uffcb\165\uffcb\166\uffcb\167\uffcb\170\uffcb\171\uffcb\172\uffcb"); + sb.append("\173\uffcb\174\uffcb\175\uffcb\176\uffcb\177\uffcb\202\uffcb\203"); + sb.append("\uffcb\204\uffcb\215\uffcb\216\uffcb\231\uffcb\232\uffcb\233\uffcb"); + sb.append("\243\uffcb\244\uffcb\246\uffcb\247\uffcb\252\uffcb\001\002\000"); + sb.append("\174\031\uffc7\033\uffc7\071\uffc7\072\uffc7\073\uffc7\111\uffc7"); + sb.append("\112\uffc7\113\uffc7\127\uffc7\130\uffc7\131\uffc7\132\uffc7\134"); + sb.append("\uffc7\135\uffc7\136\uffc7\137\uffc7\140\uffc7\141\uffc7\142\uffc7"); + sb.append("\143\uffc7\144\uffc7\145\uffc7\146\uffc7\147\uffc7\150\uffc7\151"); + sb.append("\uffc7\152\uffc7\153\uffc7\154\uffc7\155\uffc7\156\uffc7\157\uffc7"); + sb.append("\160\uffc7\161\uffc7\162\uffc7\163\uffc7\164\uffc7\165\uffc7\166"); + sb.append("\uffc7\167\uffc7\170\uffc7\171\uffc7\172\uffc7\173\uffc7\174\uffc7"); + sb.append("\175\uffc7\176\uffc7\177\uffc7\202\uffc7\203\uffc7\204\uffc7\215"); + sb.append("\uffc7\216\uffc7\231\uffc7\232\uffc7\233\uffc7\243\uffc7\244\uffc7"); + sb.append("\246\uffc7\247\uffc7\252\uffc7\001\002\000\170\004\202\006"); + sb.append("\156\007\175\010\u01b1\011\204\012\075\015\031\016\071"); + sb.append("\032\106\036\125\044\222\045\u01b3\054\026\062\210\063"); + sb.append("\010\074\051\075\166\077\123\100\012\101\206\102\041"); + sb.append("\103\144\104\117\105\141\115\136\116\046\121\160\122"); + sb.append("\013\123\065\124\124\125\116\126\131\133\020\173\104"); + sb.append("\174\176\200\130\201\067\203\054\204\120\205\207\206"); + sb.append("\154\207\216\210\151\211\142\212\155\213\063\214\074"); + sb.append("\215\114\217\101\223\u01b2\231\u01b5\234\152\235\015\236"); + sb.append("\073\237\060\250\021\254\147\255\064\256\055\001\002"); + sb.append("\000\174\031\uffe4\033\uffe4\071\uffe4\072\uffe4\073\uffe4\111"); + sb.append("\uffe4\112\uffe4\113\uffe4\127\uffe4\130\uffe4\131\uffe4\132\uffe4"); + sb.append("\134\uffe4\135\uffe4\136\uffe4\137\uffe4\140\uffe4\141\uffe4\142"); + sb.append("\uffe4\143\uffe4\144\uffe4\145\uffe4\146\uffe4\147\uffe4\150\uffe4"); + sb.append("\151\uffe4\152\uffe4\153\uffe4\154\uffe4\155\uffe4\156\uffe4\157"); + sb.append("\uffe4\160\uffe4\161\uffe4\162\uffe4\163\uffe4\164\uffe4\165\uffe4"); + sb.append("\166\uffe4\167\uffe4\170\uffe4\171\uffe4\172\uffe4\173\uffe4\174"); + sb.append("\uffe4\175\uffe4\176\uffe4\177\uffe4\202\uffe4\203\uffe4\204\uffe4"); + sb.append("\215\uffe4\216\uffe4\231\uffe4\232\uffe4\233\uffe4\243\uffe4\244"); + sb.append("\uffe4\246\uffe4\247\uffe4\252\uffe4\001\002\000\174\031\uffe6"); sb.append("\033\uffe6\071\uffe6\072\uffe6\073\uffe6\111\uffe6\112\uffe6\113"); sb.append("\uffe6\127\uffe6\130\uffe6\131\uffe6\132\uffe6\134\uffe6\135\uffe6"); sb.append("\136\uffe6\137\uffe6\140\uffe6\141\uffe6\142\uffe6\143\uffe6\144"); @@ -2211,667 +2246,569 @@ protected EncodedActionTable1() { sb.append("\153\uffe6\154\uffe6\155\uffe6\156\uffe6\157\uffe6\160\uffe6\161"); sb.append("\uffe6\162\uffe6\163\uffe6\164\uffe6\165\uffe6\166\uffe6\167\uffe6"); sb.append("\170\uffe6\171\uffe6\172\uffe6\173\uffe6\174\uffe6\175\uffe6\176"); - sb.append("\uffe6\201\uffe6\202\uffe6\203\uffe6\214\uffe6\215\uffe6\230\uffe6"); - sb.append("\231\uffe6\232\uffe6\242\uffe6\243\uffe6\245\uffe6\246\uffe6\251"); - sb.append("\uffe6\001\002\000\172\031\ufff2\033\ufff2\071\ufff2\072\ufff2"); - sb.append("\073\ufff2\111\ufff2\112\ufff2\113\ufff2\127\ufff2\130\ufff2\131"); - sb.append("\ufff2\132\ufff2\134\ufff2\135\ufff2\136\ufff2\137\ufff2\140\ufff2"); - sb.append("\141\ufff2\142\ufff2\143\ufff2\144\ufff2\145\ufff2\146\ufff2\147"); - sb.append("\ufff2\150\ufff2\151\ufff2\152\ufff2\153\ufff2\154\ufff2\155\ufff2"); - sb.append("\156\ufff2\157\ufff2\160\ufff2\161\ufff2\162\ufff2\163\ufff2\164"); - sb.append("\ufff2\165\ufff2\166\ufff2\167\ufff2\170\ufff2\171\ufff2\172\ufff2"); - sb.append("\173\ufff2\174\ufff2\175\ufff2\176\ufff2\201\ufff2\202\ufff2\203"); - sb.append("\ufff2\214\ufff2\215\ufff2\230\ufff2\231\ufff2\232\ufff2\242\ufff2"); - sb.append("\243\ufff2\245\ufff2\246\ufff2\251\ufff2\001\002\000\172\031"); - sb.append("\uffcc\033\uffcc\071\uffcc\072\uffcc\073\uffcc\111\uffcc\112\uffcc"); - sb.append("\113\uffcc\127\uffcc\130\uffcc\131\uffcc\132\uffcc\134\uffcc\135"); - sb.append("\uffcc\136\uffcc\137\uffcc\140\uffcc\141\uffcc\142\uffcc\143\uffcc"); - sb.append("\144\uffcc\145\uffcc\146\uffcc\147\uffcc\150\uffcc\151\uffcc\152"); - sb.append("\uffcc\153\uffcc\154\uffcc\155\uffcc\156\uffcc\157\uffcc\160\uffcc"); - sb.append("\161\uffcc\162\uffcc\163\uffcc\164\uffcc\165\uffcc\166\uffcc\167"); - sb.append("\uffcc\170\uffcc\171\uffcc\172\uffcc\173\uffcc\174\uffcc\175\uffcc"); - sb.append("\176\uffcc\201\uffcc\202\uffcc\203\uffcc\214\uffcc\215\uffcc\230"); - sb.append("\uffcc\231\uffcc\232\uffcc\242\uffcc\243\uffcc\245\uffcc\246\uffcc"); - sb.append("\251\uffcc\001\002\000\172\031\uffea\033\uffea\071\uffea\072"); - sb.append("\uffea\073\uffea\111\uffea\112\uffea\113\uffea\127\uffea\130\uffea"); - sb.append("\131\uffea\132\uffea\134\uffea\135\uffea\136\uffea\137\uffea\140"); - sb.append("\uffea\141\uffea\142\uffea\143\uffea\144\uffea\145\uffea\146\uffea"); - sb.append("\147\uffea\150\uffea\151\uffea\152\uffea\153\uffea\154\uffea\155"); - sb.append("\uffea\156\uffea\157\uffea\160\uffea\161\uffea\162\uffea\163\uffea"); - sb.append("\164\uffea\165\uffea\166\uffea\167\uffea\170\uffea\171\uffea\172"); - sb.append("\uffea\173\uffea\174\uffea\175\uffea\176\uffea\201\uffea\202\uffea"); - sb.append("\203\uffea\214\uffea\215\uffea\230\uffea\231\uffea\232\uffea\242"); - sb.append("\uffea\243\uffea\245\uffea\246\uffea\251\uffea\001\002\000\172"); - sb.append("\031\uffd0\033\uffd0\071\uffd0\072\uffd0\073\uffd0\111\uffd0\112"); - sb.append("\uffd0\113\uffd0\127\uffd0\130\uffd0\131\uffd0\132\uffd0\134\uffd0"); - sb.append("\135\uffd0\136\uffd0\137\uffd0\140\uffd0\141\uffd0\142\uffd0\143"); - sb.append("\uffd0\144\uffd0\145\uffd0\146\uffd0\147\uffd0\150\uffd0\151\uffd0"); - sb.append("\152\uffd0\153\uffd0\154\uffd0\155\uffd0\156\uffd0\157\uffd0\160"); - sb.append("\uffd0\161\uffd0\162\uffd0\163\uffd0\164\uffd0\165\uffd0\166\uffd0"); - sb.append("\167\uffd0\170\uffd0\171\uffd0\172\uffd0\173\uffd0\174\uffd0\175"); - sb.append("\uffd0\176\uffd0\201\uffd0\202\uffd0\203\uffd0\214\uffd0\215\uffd0"); - sb.append("\230\uffd0\231\uffd0\232\uffd0\242\uffd0\243\uffd0\245\uffd0\246"); - sb.append("\uffd0\251\uffd0\001\002\000\172\031\uffba\033\uffba\071\uffba"); - sb.append("\072\uffba\073\uffba\111\uffba\112\uffba\113\uffba\127\uffba\130"); - sb.append("\uffba\131\uffba\132\uffba\134\uffba\135\uffba\136\uffba\137\uffba"); - sb.append("\140\uffba\141\uffba\142\uffba\143\uffba\144\uffba\145\uffba\146"); - sb.append("\uffba\147\uffba\150\uffba\151\uffba\152\uffba\153\uffba\154\uffba"); - sb.append("\155\uffba\156\uffba\157\uffba\160\uffba\161\uffba\162\uffba\163"); - sb.append("\uffba\164\uffba\165\uffba\166\uffba\167\uffba\170\uffba\171\uffba"); - sb.append("\172\uffba\173\uffba\174\uffba\175\uffba\176\uffba\201\uffba\202"); - sb.append("\uffba\203\uffba\214\uffba\215\uffba\230\uffba\231\uffba\232\uffba"); - sb.append("\242\uffba\243\uffba\245\uffba\246\uffba\251\uffba\001\002\000"); - sb.append("\120\071\ufd89\072\ufd89\073\ufd89\112\ufd89\113\ufd89\127\ufd89"); - sb.append("\130\ufd89\131\ufd89\132\ufd89\150\ufd89\151\ufd89\152\ufd89\153"); - sb.append("\ufd89\154\ufd89\155\ufd89\156\ufd89\157\ufd89\160\ufd89\161\ufd89"); - sb.append("\162\ufd89\163\ufd89\164\ufd89\165\ufd89\166\ufd89\167\ufd89\170"); - sb.append("\ufd89\171\ufd89\172\ufd89\173\ufd89\174\ufd89\175\ufd89\176\ufd89"); - sb.append("\201\ufd89\215\ufd89\231\ufd89\232\ufd89\242\ufd89\245\ufd89\251"); - sb.append("\ufd89\001\002\000\172\031\uffc2\033\uffc2\071\uffc2\072\uffc2"); - sb.append("\073\uffc2\111\uffc2\112\uffc2\113\uffc2\127\uffc2\130\uffc2\131"); - sb.append("\uffc2\132\uffc2\134\uffc2\135\uffc2\136\uffc2\137\uffc2\140\uffc2"); - sb.append("\141\uffc2\142\uffc2\143\uffc2\144\uffc2\145\uffc2\146\uffc2\147"); - sb.append("\uffc2\150\uffc2\151\uffc2\152\uffc2\153\uffc2\154\uffc2\155\uffc2"); - sb.append("\156\uffc2\157\uffc2\160\uffc2\161\uffc2\162\uffc2\163\uffc2\164"); - sb.append("\uffc2\165\uffc2\166\uffc2\167\uffc2\170\uffc2\171\uffc2\172\uffc2"); - sb.append("\173\uffc2\174\uffc2\175\uffc2\176\uffc2\201\uffc2\202\uffc2\203"); - sb.append("\uffc2\214\uffc2\215\uffc2\230\uffc2\231\uffc2\232\uffc2\242\uffc2"); - sb.append("\243\uffc2\245\uffc2\246\uffc2\251\uffc2\001\002\000\172\031"); - sb.append("\uffdd\033\uffdd\071\uffdd\072\uffdd\073\uffdd\111\uffdd\112\uffdd"); - sb.append("\113\uffdd\127\uffdd\130\uffdd\131\uffdd\132\uffdd\134\uffdd\135"); - sb.append("\uffdd\136\uffdd\137\uffdd\140\uffdd\141\uffdd\142\uffdd\143\uffdd"); - sb.append("\144\uffdd\145\uffdd\146\uffdd\147\uffdd\150\uffdd\151\uffdd\152"); - sb.append("\uffdd\153\uffdd\154\uffdd\155\uffdd\156\uffdd\157\uffdd\160\uffdd"); - sb.append("\161\uffdd\162\uffdd\163\uffdd\164\uffdd\165\uffdd\166\uffdd\167"); - sb.append("\uffdd\170\uffdd\171\uffdd\172\uffdd\173\uffdd\174\uffdd\175\uffdd"); - sb.append("\176\uffdd\201\uffdd\202\uffdd\203\uffdd\214\uffdd\215\uffdd\230"); - sb.append("\uffdd\231\uffdd\232\uffdd\242\uffdd\243\uffdd\245\uffdd\246\uffdd"); - sb.append("\251\uffdd\001\002\000\172\031\uffbb\033\uffbb\071\uffbb\072"); - sb.append("\uffbb\073\uffbb\111\uffbb\112\uffbb\113\uffbb\127\uffbb\130\uffbb"); - sb.append("\131\uffbb\132\uffbb\134\uffbb\135\uffbb\136\uffbb\137\uffbb\140"); - sb.append("\uffbb\141\uffbb\142\uffbb\143\uffbb\144\uffbb\145\uffbb\146\uffbb"); - sb.append("\147\uffbb\150\uffbb\151\uffbb\152\uffbb\153\uffbb\154\uffbb\155"); - sb.append("\uffbb\156\uffbb\157\uffbb\160\uffbb\161\uffbb\162\uffbb\163\uffbb"); - sb.append("\164\uffbb\165\uffbb\166\uffbb\167\uffbb\170\uffbb\171\uffbb\172"); - sb.append("\uffbb\173\uffbb\174\uffbb\175\uffbb\176\uffbb\201\uffbb\202\uffbb"); - sb.append("\203\uffbb\214\uffbb\215\uffbb\230\uffbb\231\uffbb\232\uffbb\242"); - sb.append("\uffbb\243\uffbb\245\uffbb\246\uffbb\251\uffbb\001\002\000\172"); - sb.append("\031\uffe9\033\uffe9\071\uffe9\072\uffe9\073\uffe9\111\uffe9\112"); - sb.append("\uffe9\113\uffe9\127\uffe9\130\uffe9\131\uffe9\132\uffe9\134\uffe9"); - sb.append("\135\uffe9\136\uffe9\137\uffe9\140\uffe9\141\uffe9\142\uffe9\143"); - sb.append("\uffe9\144\uffe9\145\uffe9\146\uffe9\147\uffe9\150\uffe9\151\uffe9"); - sb.append("\152\uffe9\153\uffe9\154\uffe9\155\uffe9\156\uffe9\157\uffe9\160"); - sb.append("\uffe9\161\uffe9\162\uffe9\163\uffe9\164\uffe9\165\uffe9\166\uffe9"); - sb.append("\167\uffe9\170\uffe9\171\uffe9\172\uffe9\173\uffe9\174\uffe9\175"); - sb.append("\uffe9\176\uffe9\201\uffe9\202\uffe9\203\uffe9\214\uffe9\215\uffe9"); - sb.append("\230\uffe9\231\uffe9\232\uffe9\242\uffe9\243\uffe9\245\uffe9\246"); - sb.append("\uffe9\251\uffe9\001\002\000\172\031\uffde\033\uffde\071\uffde"); - sb.append("\072\uffde\073\uffde\111\uffde\112\uffde\113\uffde\127\uffde\130"); - sb.append("\uffde\131\uffde\132\uffde\134\uffde\135\uffde\136\uffde\137\uffde"); - sb.append("\140\uffde\141\uffde\142\uffde\143\uffde\144\uffde\145\uffde\146"); - sb.append("\uffde\147\uffde\150\uffde\151\uffde\152\uffde\153\uffde\154\uffde"); - sb.append("\155\uffde\156\uffde\157\uffde\160\uffde\161\uffde\162\uffde\163"); - sb.append("\uffde\164\uffde\165\uffde\166\uffde\167\uffde\170\uffde\171\uffde"); - sb.append("\172\uffde\173\uffde\174\uffde\175\uffde\176\uffde\201\uffde\202"); - sb.append("\uffde\203\uffde\214\uffde\215\uffde\230\uffde\231\uffde\232\uffde"); - sb.append("\242\uffde\243\uffde\245\uffde\246\uffde\251\uffde\001\002\000"); - sb.append("\172\031\uffef\033\uffef\071\uffef\072\uffef\073\uffef\111\uffef"); - sb.append("\112\uffef\113\uffef\127\uffef\130\uffef\131\uffef\132\uffef\134"); - sb.append("\uffef\135\uffef\136\uffef\137\uffef\140\uffef\141\uffef\142\uffef"); - sb.append("\143\uffef\144\uffef\145\uffef\146\uffef\147\uffef\150\uffef\151"); - sb.append("\uffef\152\uffef\153\uffef\154\uffef\155\uffef\156\uffef\157\uffef"); - sb.append("\160\uffef\161\uffef\162\uffef\163\uffef\164\uffef\165\uffef\166"); - sb.append("\uffef\167\uffef\170\uffef\171\uffef\172\uffef\173\uffef\174\uffef"); - sb.append("\175\uffef\176\uffef\201\uffef\202\uffef\203\uffef\214\uffef\215"); - sb.append("\uffef\230\uffef\231\uffef\232\uffef\242\uffef\243\uffef\245\uffef"); - sb.append("\246\uffef\251\uffef\001\002\000\172\031\uffca\033\uffca\071"); + sb.append("\uffe6\177\uffe6\202\uffe6\203\uffe6\204\uffe6\215\uffe6\216\uffe6"); + sb.append("\231\uffe6\232\uffe6\233\uffe6\243\uffe6\244\uffe6\246\uffe6\247"); + sb.append("\uffe6\252\uffe6\001\002\000\174\031\ufff2\033\ufff2\071\ufff2"); + sb.append("\072\ufff2\073\ufff2\111\ufff2\112\ufff2\113\ufff2\127\ufff2\130"); + sb.append("\ufff2\131\ufff2\132\ufff2\134\ufff2\135\ufff2\136\ufff2\137\ufff2"); + sb.append("\140\ufff2\141\ufff2\142\ufff2\143\ufff2\144\ufff2\145\ufff2\146"); + sb.append("\ufff2\147\ufff2\150\ufff2\151\ufff2\152\ufff2\153\ufff2\154\ufff2"); + sb.append("\155\ufff2\156\ufff2\157\ufff2\160\ufff2\161\ufff2\162\ufff2\163"); + sb.append("\ufff2\164\ufff2\165\ufff2\166\ufff2\167\ufff2\170\ufff2\171\ufff2"); + sb.append("\172\ufff2\173\ufff2\174\ufff2\175\ufff2\176\ufff2\177\ufff2\202"); + sb.append("\ufff2\203\ufff2\204\ufff2\215\ufff2\216\ufff2\231\ufff2\232\ufff2"); + sb.append("\233\ufff2\243\ufff2\244\ufff2\246\ufff2\247\ufff2\252\ufff2\001"); + sb.append("\002\000\174\031\uffcc\033\uffcc\071\uffcc\072\uffcc\073\uffcc"); + sb.append("\111\uffcc\112\uffcc\113\uffcc\127\uffcc\130\uffcc\131\uffcc\132"); + sb.append("\uffcc\134\uffcc\135\uffcc\136\uffcc\137\uffcc\140\uffcc\141\uffcc"); + sb.append("\142\uffcc\143\uffcc\144\uffcc\145\uffcc\146\uffcc\147\uffcc\150"); + sb.append("\uffcc\151\uffcc\152\uffcc\153\uffcc\154\uffcc\155\uffcc\156\uffcc"); + sb.append("\157\uffcc\160\uffcc\161\uffcc\162\uffcc\163\uffcc\164\uffcc\165"); + sb.append("\uffcc\166\uffcc\167\uffcc\170\uffcc\171\uffcc\172\uffcc\173\uffcc"); + sb.append("\174\uffcc\175\uffcc\176\uffcc\177\uffcc\202\uffcc\203\uffcc\204"); + sb.append("\uffcc\215\uffcc\216\uffcc\231\uffcc\232\uffcc\233\uffcc\243\uffcc"); + sb.append("\244\uffcc\246\uffcc\247\uffcc\252\uffcc\001\002\000\174\031"); + sb.append("\uffea\033\uffea\071\uffea\072\uffea\073\uffea\111\uffea\112\uffea"); + sb.append("\113\uffea\127\uffea\130\uffea\131\uffea\132\uffea\134\uffea\135"); + sb.append("\uffea\136\uffea\137\uffea\140\uffea\141\uffea\142\uffea\143\uffea"); + sb.append("\144\uffea\145\uffea\146\uffea\147\uffea\150\uffea\151\uffea\152"); + sb.append("\uffea\153\uffea\154\uffea\155\uffea\156\uffea\157\uffea\160\uffea"); + sb.append("\161\uffea\162\uffea\163\uffea\164\uffea\165\uffea\166\uffea\167"); + sb.append("\uffea\170\uffea\171\uffea\172\uffea\173\uffea\174\uffea\175\uffea"); + sb.append("\176\uffea\177\uffea\202\uffea\203\uffea\204\uffea\215\uffea\216"); + sb.append("\uffea\231\uffea\232\uffea\233\uffea\243\uffea\244\uffea\246\uffea"); + sb.append("\247\uffea\252\uffea\001\002\000\174\031\uffd0\033\uffd0\071"); + sb.append("\uffd0\072\uffd0\073\uffd0\111\uffd0\112\uffd0\113\uffd0\127\uffd0"); + sb.append("\130\uffd0\131\uffd0\132\uffd0\134\uffd0\135\uffd0\136\uffd0\137"); + sb.append("\uffd0\140\uffd0\141\uffd0\142\uffd0\143\uffd0\144\uffd0\145\uffd0"); + sb.append("\146\uffd0\147\uffd0\150\uffd0\151\uffd0\152\uffd0\153\uffd0\154"); + sb.append("\uffd0\155\uffd0\156\uffd0\157\uffd0\160\uffd0\161\uffd0\162\uffd0"); + sb.append("\163\uffd0\164\uffd0\165\uffd0\166\uffd0\167\uffd0\170\uffd0\171"); + sb.append("\uffd0\172\uffd0\173\uffd0\174\uffd0\175\uffd0\176\uffd0\177\uffd0"); + sb.append("\202\uffd0\203\uffd0\204\uffd0\215\uffd0\216\uffd0\231\uffd0\232"); + sb.append("\uffd0\233\uffd0\243\uffd0\244\uffd0\246\uffd0\247\uffd0\252\uffd0"); + sb.append("\001\002\000\174\031\uffba\033\uffba\071\uffba\072\uffba\073"); + sb.append("\uffba\111\uffba\112\uffba\113\uffba\127\uffba\130\uffba\131\uffba"); + sb.append("\132\uffba\134\uffba\135\uffba\136\uffba\137\uffba\140\uffba\141"); + sb.append("\uffba\142\uffba\143\uffba\144\uffba\145\uffba\146\uffba\147\uffba"); + sb.append("\150\uffba\151\uffba\152\uffba\153\uffba\154\uffba\155\uffba\156"); + sb.append("\uffba\157\uffba\160\uffba\161\uffba\162\uffba\163\uffba\164\uffba"); + sb.append("\165\uffba\166\uffba\167\uffba\170\uffba\171\uffba\172\uffba\173"); + sb.append("\uffba\174\uffba\175\uffba\176\uffba\177\uffba\202\uffba\203\uffba"); + sb.append("\204\uffba\215\uffba\216\uffba\231\uffba\232\uffba\233\uffba\243"); + sb.append("\uffba\244\uffba\246\uffba\247\uffba\252\uffba\001\002\000\122"); + sb.append("\071\ufd87\072\ufd87\073\ufd87\112\ufd87\113\ufd87\127\ufd87\130"); + sb.append("\ufd87\131\ufd87\132\ufd87\150\ufd87\151\ufd87\152\ufd87\153\ufd87"); + sb.append("\154\ufd87\155\ufd87\156\ufd87\157\ufd87\160\ufd87\161\ufd87\162"); + sb.append("\ufd87\163\ufd87\164\ufd87\165\ufd87\166\ufd87\167\ufd87\170\ufd87"); + sb.append("\171\ufd87\172\ufd87\173\ufd87\174\ufd87\175\ufd87\176\ufd87\177"); + sb.append("\ufd87\202\ufd87\216\ufd87\232\ufd87\233\ufd87\243\ufd87\246\ufd87"); + sb.append("\252\ufd87\001\002\000\174\031\uffc2\033\uffc2\071\uffc2\072"); + sb.append("\uffc2\073\uffc2\111\uffc2\112\uffc2\113\uffc2\127\uffc2\130\uffc2"); + sb.append("\131\uffc2\132\uffc2\134\uffc2\135\uffc2\136\uffc2\137\uffc2\140"); + sb.append("\uffc2\141\uffc2\142\uffc2\143\uffc2\144\uffc2\145\uffc2\146\uffc2"); + sb.append("\147\uffc2\150\uffc2\151\uffc2\152\uffc2\153\uffc2\154\uffc2\155"); + sb.append("\uffc2\156\uffc2\157\uffc2\160\uffc2\161\uffc2\162\uffc2\163\uffc2"); + sb.append("\164\uffc2\165\uffc2\166\uffc2\167\uffc2\170\uffc2\171\uffc2\172"); + sb.append("\uffc2\173\uffc2\174\uffc2\175\uffc2\176\uffc2\177\uffc2\202\uffc2"); + sb.append("\203\uffc2\204\uffc2\215\uffc2\216\uffc2\231\uffc2\232\uffc2\233"); + sb.append("\uffc2\243\uffc2\244\uffc2\246\uffc2\247\uffc2\252\uffc2\001\002"); + sb.append("\000\174\031\uffdd\033\uffdd\071\uffdd\072\uffdd\073\uffdd\111"); + sb.append("\uffdd\112\uffdd\113\uffdd\127\uffdd\130\uffdd\131\uffdd\132\uffdd"); + sb.append("\134\uffdd\135\uffdd\136\uffdd\137\uffdd\140\uffdd\141\uffdd\142"); + sb.append("\uffdd\143\uffdd\144\uffdd\145\uffdd\146\uffdd\147\uffdd\150\uffdd"); + sb.append("\151\uffdd\152\uffdd\153\uffdd\154\uffdd\155\uffdd\156\uffdd\157"); + sb.append("\uffdd\160\uffdd\161\uffdd\162\uffdd\163\uffdd\164\uffdd\165\uffdd"); + sb.append("\166\uffdd\167\uffdd\170\uffdd\171\uffdd\172\uffdd\173\uffdd\174"); + sb.append("\uffdd\175\uffdd\176\uffdd\177\uffdd\202\uffdd\203\uffdd\204\uffdd"); + sb.append("\215\uffdd\216\uffdd\231\uffdd\232\uffdd\233\uffdd\243\uffdd\244"); + sb.append("\uffdd\246\uffdd\247\uffdd\252\uffdd\001\002\000\174\031\uffbb"); + sb.append("\033\uffbb\071\uffbb\072\uffbb\073\uffbb\111\uffbb\112\uffbb\113"); + sb.append("\uffbb\127\uffbb\130\uffbb\131\uffbb\132\uffbb\134\uffbb\135\uffbb"); + sb.append("\136\uffbb\137\uffbb\140\uffbb\141\uffbb\142\uffbb\143\uffbb\144"); + sb.append("\uffbb\145\uffbb\146\uffbb\147\uffbb\150\uffbb\151\uffbb\152\uffbb"); + sb.append("\153\uffbb\154\uffbb\155\uffbb\156\uffbb\157\uffbb\160\uffbb\161"); + sb.append("\uffbb\162\uffbb\163\uffbb\164\uffbb\165\uffbb\166\uffbb\167\uffbb"); + sb.append("\170\uffbb\171\uffbb\172\uffbb\173\uffbb\174\uffbb\175\uffbb\176"); + sb.append("\uffbb\177\uffbb\202\uffbb\203\uffbb\204\uffbb\215\uffbb\216\uffbb"); + sb.append("\231\uffbb\232\uffbb\233\uffbb\243\uffbb\244\uffbb\246\uffbb\247"); + sb.append("\uffbb\252\uffbb\001\002\000\174\031\uffe9\033\uffe9\071\uffe9"); + sb.append("\072\uffe9\073\uffe9\111\uffe9\112\uffe9\113\uffe9\127\uffe9\130"); + sb.append("\uffe9\131\uffe9\132\uffe9\134\uffe9\135\uffe9\136\uffe9\137\uffe9"); + sb.append("\140\uffe9\141\uffe9\142\uffe9\143\uffe9\144\uffe9\145\uffe9\146"); + sb.append("\uffe9\147\uffe9\150\uffe9\151\uffe9\152\uffe9\153\uffe9\154\uffe9"); + sb.append("\155\uffe9\156\uffe9\157\uffe9\160\uffe9\161\uffe9\162\uffe9\163"); + sb.append("\uffe9\164\uffe9\165\uffe9\166\uffe9\167\uffe9\170\uffe9\171\uffe9"); + sb.append("\172\uffe9\173\uffe9\174\uffe9\175\uffe9\176\uffe9\177\uffe9\202"); + sb.append("\uffe9\203\uffe9\204\uffe9\215\uffe9\216\uffe9\231\uffe9\232\uffe9"); + sb.append("\233\uffe9\243\uffe9\244\uffe9\246\uffe9\247\uffe9\252\uffe9\001"); + sb.append("\002\000\174\031\uffde\033\uffde\071\uffde\072\uffde\073\uffde"); + sb.append("\111\uffde\112\uffde\113\uffde\127\uffde\130\uffde\131\uffde\132"); + sb.append("\uffde\134\uffde\135\uffde\136\uffde\137\uffde\140\uffde\141\uffde"); + sb.append("\142\uffde\143\uffde\144\uffde\145\uffde\146\uffde\147\uffde\150"); + sb.append("\uffde\151\uffde\152\uffde\153\uffde\154\uffde\155\uffde\156\uffde"); + sb.append("\157\uffde\160\uffde\161\uffde\162\uffde\163\uffde\164\uffde\165"); + sb.append("\uffde\166\uffde\167\uffde\170\uffde\171\uffde\172\uffde\173\uffde"); + sb.append("\174\uffde\175\uffde\176\uffde\177\uffde\202\uffde\203\uffde\204"); + sb.append("\uffde\215\uffde\216\uffde\231\uffde\232\uffde\233\uffde\243\uffde"); + sb.append("\244\uffde\246\uffde\247\uffde\252\uffde\001\002\000\174\031"); + sb.append("\uffef\033\uffef\071\uffef\072\uffef\073\uffef\111\uffef\112\uffef"); + sb.append("\113\uffef\127\uffef\130\uffef\131\uffef\132\uffef\134\uffef\135"); + sb.append("\uffef\136\uffef\137\uffef\140\uffef\141\uffef\142\uffef\143\uffef"); + sb.append("\144\uffef\145\uffef\146\uffef\147\uffef\150\uffef\151\uffef\152"); + sb.append("\uffef\153\uffef\154\uffef\155\uffef\156\uffef\157\uffef\160\uffef"); + sb.append("\161\uffef\162\uffef\163\uffef\164\uffef\165\uffef\166\uffef\167"); + sb.append("\uffef\170\uffef\171\uffef\172\uffef\173\uffef\174\uffef\175\uffef"); + sb.append("\176\uffef\177\uffef\202\uffef\203\uffef\204\uffef\215\uffef\216"); + sb.append("\uffef\231\uffef\232\uffef\233\uffef\243\uffef\244\uffef\246\uffef"); + sb.append("\247\uffef\252\uffef\001\002\000\174\031\uffca\033\uffca\071"); sb.append("\uffca\072\uffca\073\uffca\111\uffca\112\uffca\113\uffca\127\uffca"); sb.append("\130\uffca\131\uffca\132\uffca\134\uffca\135\uffca\136\uffca\137"); sb.append("\uffca\140\uffca\141\uffca\142\uffca\143\uffca\144\uffca\145\uffca"); sb.append("\146\uffca\147\uffca\150\uffca\151\uffca\152\uffca\153\uffca\154"); sb.append("\uffca\155\uffca\156\uffca\157\uffca\160\uffca\161\uffca\162\uffca"); sb.append("\163\uffca\164\uffca\165\uffca\166\uffca\167\uffca\170\uffca\171"); - sb.append("\uffca\172\uffca\173\uffca\174\uffca\175\uffca\176\uffca\201\uffca"); - sb.append("\202\uffca\203\uffca\214\uffca\215\uffca\230\uffca\231\uffca\232"); - sb.append("\uffca\242\uffca\243\uffca\245\uffca\246\uffca\251\uffca\001\002"); - sb.append("\000\172\031\uffd3\033\uffd3\071\uffd3\072\uffd3\073\uffd3\111"); - sb.append("\uffd3\112\uffd3\113\uffd3\127\uffd3\130\uffd3\131\uffd3\132\uffd3"); - sb.append("\134\uffd3\135\uffd3\136\uffd3\137\uffd3\140\uffd3\141\uffd3\142"); - sb.append("\uffd3\143\uffd3\144\uffd3\145\uffd3\146\uffd3\147\uffd3\150\uffd3"); - sb.append("\151\uffd3\152\uffd3\153\uffd3\154\uffd3\155\uffd3\156\uffd3\157"); - sb.append("\uffd3\160\uffd3\161\uffd3\162\uffd3\163\uffd3\164\uffd3\165\uffd3"); - sb.append("\166\uffd3\167\uffd3\170\uffd3\171\uffd3\172\uffd3\173\uffd3\174"); - sb.append("\uffd3\175\uffd3\176\uffd3\201\uffd3\202\uffd3\203\uffd3\214\uffd3"); - sb.append("\215\uffd3\230\uffd3\231\uffd3\232\uffd3\242\uffd3\243\uffd3\245"); - sb.append("\uffd3\246\uffd3\251\uffd3\001\002\000\172\031\uffaa\033\uffaa"); - sb.append("\071\uffaa\072\uffaa\073\uffaa\111\uffaa\112\uffaa\113\uffaa\127"); - sb.append("\uffaa\130\uffaa\131\uffaa\132\uffaa\134\uffaa\135\uffaa\136\uffaa"); - sb.append("\137\uffaa\140\uffaa\141\uffaa\142\uffaa\143\uffaa\144\uffaa\145"); - sb.append("\uffaa\146\uffaa\147\uffaa\150\uffaa\151\uffaa\152\uffaa\153\uffaa"); - sb.append("\154\uffaa\155\uffaa\156\uffaa\157\uffaa\160\uffaa\161\uffaa\162"); - sb.append("\uffaa\163\uffaa\164\uffaa\165\uffaa\166\uffaa\167\uffaa\170\uffaa"); - sb.append("\171\uffaa\172\uffaa\173\uffaa\174\uffaa\175\uffaa\176\uffaa\201"); - sb.append("\uffaa\202\uffaa\203\uffaa\214\uffaa\215\uffaa\230\uffaa\231\uffaa"); - sb.append("\232\uffaa\242\uffaa\243\uffaa\245\uffaa\246\uffaa\251\uffaa\001"); - sb.append("\002\000\172\031\uffab\033\uffab\071\uffab\072\uffab\073\uffab"); - sb.append("\111\uffab\112\uffab\113\uffab\127\uffab\130\uffab\131\uffab\132"); - sb.append("\uffab\134\uffab\135\uffab\136\uffab\137\uffab\140\uffab\141\uffab"); - sb.append("\142\uffab\143\uffab\144\uffab\145\uffab\146\uffab\147\uffab\150"); - sb.append("\uffab\151\uffab\152\uffab\153\uffab\154\uffab\155\uffab\156\uffab"); - sb.append("\157\uffab\160\uffab\161\uffab\162\uffab\163\uffab\164\uffab\165"); - sb.append("\uffab\166\uffab\167\uffab\170\uffab\171\uffab\172\uffab\173\uffab"); - sb.append("\174\uffab\175\uffab\176\uffab\201\uffab\202\uffab\203\uffab\214"); - sb.append("\uffab\215\uffab\230\uffab\231\uffab\232\uffab\242\uffab\243\uffab"); - sb.append("\245\uffab\246\uffab\251\uffab\001\002\000\172\031\uffda\033"); - sb.append("\uffda\071\uffda\072\uffda\073\uffda\111\uffda\112\uffda\113\uffda"); - sb.append("\127\uffda\130\uffda\131\uffda\132\uffda\134\uffda\135\uffda\136"); - sb.append("\uffda\137\uffda\140\uffda\141\uffda\142\uffda\143\uffda\144\uffda"); - sb.append("\145\uffda\146\uffda\147\uffda\150\uffda\151\uffda\152\uffda\153"); - sb.append("\uffda\154\uffda\155\uffda\156\uffda\157\uffda\160\uffda\161\uffda"); - sb.append("\162\uffda\163\uffda\164\uffda\165\uffda\166\uffda\167\uffda\170"); - sb.append("\uffda\171\uffda\172\uffda\173\uffda\174\uffda\175\uffda\176\uffda"); - sb.append("\201\uffda\202\uffda\203\uffda\214\uffda\215\uffda\230\uffda\231"); - sb.append("\uffda\232\uffda\242\uffda\243\uffda\245\uffda\246\uffda\251\uffda"); - sb.append("\001\002\000\172\031\uffb6\033\uffb6\071\uffb6\072\uffb6\073"); - sb.append("\uffb6\111\uffb6\112\uffb6\113\uffb6\127\uffb6\130\uffb6\131\uffb6"); - sb.append("\132\uffb6\134\uffb6\135\uffb6\136\uffb6\137\uffb6\140\uffb6\141"); - sb.append("\uffb6\142\uffb6\143\uffb6\144\uffb6\145\uffb6\146\uffb6\147\uffb6"); - sb.append("\150\uffb6\151\uffb6\152\uffb6\153\uffb6\154\uffb6\155\uffb6\156"); - sb.append("\uffb6\157\uffb6\160\uffb6\161\uffb6\162\uffb6\163\uffb6\164\uffb6"); - sb.append("\165\uffb6\166\uffb6\167\uffb6\170\uffb6\171\uffb6\172\uffb6\173"); - sb.append("\uffb6\174\uffb6\175\uffb6\176\uffb6\201\uffb6\202\uffb6\203\uffb6"); - sb.append("\214\uffb6\215\uffb6\230\uffb6\231\uffb6\232\uffb6\242\uffb6\243"); - sb.append("\uffb6\245\uffb6\246\uffb6\251\uffb6\001\002\000\172\031\uffe5"); - sb.append("\033\uffe5\071\uffe5\072\uffe5\073\uffe5\111\uffe5\112\uffe5\113"); - sb.append("\uffe5\127\uffe5\130\uffe5\131\uffe5\132\uffe5\134\uffe5\135\uffe5"); - sb.append("\136\uffe5\137\uffe5\140\uffe5\141\uffe5\142\uffe5\143\uffe5\144"); - sb.append("\uffe5\145\uffe5\146\uffe5\147\uffe5\150\uffe5\151\uffe5\152\uffe5"); - sb.append("\153\uffe5\154\uffe5\155\uffe5\156\uffe5\157\uffe5\160\uffe5\161"); - sb.append("\uffe5\162\uffe5\163\uffe5\164\uffe5\165\uffe5\166\uffe5\167\uffe5"); - sb.append("\170\uffe5\171\uffe5\172\uffe5\173\uffe5\174\uffe5\175\uffe5\176"); - sb.append("\uffe5\201\uffe5\202\uffe5\203\uffe5\214\uffe5\215\uffe5\230\uffe5"); - sb.append("\231\uffe5\232\uffe5\242\uffe5\243\uffe5\245\uffe5\246\uffe5\251"); - sb.append("\uffe5\001\002\000\172\031\uffb9\033\uffb9\071\uffb9\072\uffb9"); - sb.append("\073\uffb9\111\uffb9\112\uffb9\113\uffb9\127\uffb9\130\uffb9\131"); - sb.append("\uffb9\132\uffb9\134\uffb9\135\uffb9\136\uffb9\137\uffb9\140\uffb9"); - sb.append("\141\uffb9\142\uffb9\143\uffb9\144\uffb9\145\uffb9\146\uffb9\147"); - sb.append("\uffb9\150\uffb9\151\uffb9\152\uffb9\153\uffb9\154\uffb9\155\uffb9"); - sb.append("\156\uffb9\157\uffb9\160\uffb9\161\uffb9\162\uffb9\163\uffb9\164"); - sb.append("\uffb9\165\uffb9\166\uffb9\167\uffb9\170\uffb9\171\uffb9\172\uffb9"); - sb.append("\173\uffb9\174\uffb9\175\uffb9\176\uffb9\201\uffb9\202\uffb9\203"); - sb.append("\uffb9\214\uffb9\215\uffb9\230\uffb9\231\uffb9\232\uffb9\242\uffb9"); - sb.append("\243\uffb9\245\uffb9\246\uffb9\251\uffb9\001\002\000\172\031"); - sb.append("\uffe2\033\uffe2\071\uffe2\072\uffe2\073\uffe2\111\uffe2\112\uffe2"); - sb.append("\113\uffe2\127\uffe2\130\uffe2\131\uffe2\132\uffe2\134\uffe2\135"); - sb.append("\uffe2\136\uffe2\137\uffe2\140\uffe2\141\uffe2\142\uffe2\143\uffe2"); - sb.append("\144\uffe2\145\uffe2\146\uffe2\147\uffe2\150\uffe2\151\uffe2\152"); - sb.append("\uffe2\153\uffe2\154\uffe2\155\uffe2\156\uffe2\157\uffe2\160\uffe2"); - sb.append("\161\uffe2\162\uffe2\163\uffe2\164\uffe2\165\uffe2\166\uffe2\167"); - sb.append("\uffe2\170\uffe2\171\uffe2\172\uffe2\173\uffe2\174\uffe2\175\uffe2"); - sb.append("\176\uffe2\201\uffe2\202\uffe2\203\uffe2\214\uffe2\215\uffe2\230"); - sb.append("\uffe2\231\uffe2\232\uffe2\242\uffe2\243\uffe2\245\uffe2\246\uffe2"); - sb.append("\251\uffe2\001\002\000\172\031\uffcd\033\uffcd\071\uffcd\072"); - sb.append("\uffcd\073\uffcd\111\uffcd\112\uffcd\113\uffcd\127\uffcd\130\uffcd"); - sb.append("\131\uffcd\132\uffcd\134\uffcd\135\uffcd\136\uffcd\137\uffcd\140"); - sb.append("\uffcd\141\uffcd\142\uffcd\143\uffcd\144\uffcd\145\uffcd\146\uffcd"); - sb.append("\147\uffcd\150\uffcd\151\uffcd\152\uffcd\153\uffcd\154\uffcd\155"); - sb.append("\uffcd\156\uffcd\157\uffcd\160\uffcd\161\uffcd\162\uffcd\163\uffcd"); - sb.append("\164\uffcd\165\uffcd\166\uffcd\167\uffcd\170\uffcd\171\uffcd\172"); - sb.append("\uffcd\173\uffcd\174\uffcd\175\uffcd\176\uffcd\201\uffcd\202\uffcd"); - sb.append("\203\uffcd\214\uffcd\215\uffcd\230\uffcd\231\uffcd\232\uffcd\242"); - sb.append("\uffcd\243\uffcd\245\uffcd\246\uffcd\251\uffcd\001\002\000\172"); - sb.append("\031\uffa7\033\uffa7\071\uffa7\072\uffa7\073\uffa7\111\uffa7\112"); - sb.append("\uffa7\113\uffa7\127\uffa7\130\uffa7\131\uffa7\132\uffa7\134\uffa7"); - sb.append("\135\uffa7\136\uffa7\137\uffa7\140\uffa7\141\uffa7\142\uffa7\143"); - sb.append("\uffa7\144\uffa7\145\uffa7\146\uffa7\147\uffa7\150\uffa7\151\uffa7"); - sb.append("\152\uffa7\153\uffa7\154\uffa7\155\uffa7\156\uffa7\157\uffa7\160"); - sb.append("\uffa7\161\uffa7\162\uffa7\163\uffa7\164\uffa7\165\uffa7\166\uffa7"); - sb.append("\167\uffa7\170\uffa7\171\uffa7\172\uffa7\173\uffa7\174\uffa7\175"); - sb.append("\uffa7\176\uffa7\201\uffa7\202\uffa7\203\uffa7\214\uffa7\215\uffa7"); - sb.append("\230\uffa7\231\uffa7\232\uffa7\242\uffa7\243\uffa7\245\uffa7\246"); - sb.append("\uffa7\251\uffa7\001\002\000\172\031\uffe3\033\uffe3\071\uffe3"); - sb.append("\072\uffe3\073\uffe3\111\uffe3\112\uffe3\113\uffe3\127\uffe3\130"); - sb.append("\uffe3\131\uffe3\132\uffe3\134\uffe3\135\uffe3\136\uffe3\137\uffe3"); - sb.append("\140\uffe3\141\uffe3\142\uffe3\143\uffe3\144\uffe3\145\uffe3\146"); - sb.append("\uffe3\147\uffe3\150\uffe3\151\uffe3\152\uffe3\153\uffe3\154\uffe3"); - sb.append("\155\uffe3\156\uffe3\157\uffe3\160\uffe3\161\uffe3\162\uffe3\163"); - sb.append("\uffe3\164\uffe3\165\uffe3\166\uffe3\167\uffe3\170\uffe3\171\uffe3"); - sb.append("\172\uffe3\173\uffe3\174\uffe3\175\uffe3\176\uffe3\201\uffe3\202"); - sb.append("\uffe3\203\uffe3\214\uffe3\215\uffe3\230\uffe3\231\uffe3\232\uffe3"); - sb.append("\242\uffe3\243\uffe3\245\uffe3\246\uffe3\251\uffe3\001\002\000"); - sb.append("\172\031\ufff0\033\ufff0\071\ufff0\072\ufff0\073\ufff0\111\ufff0"); - sb.append("\112\ufff0\113\ufff0\127\ufff0\130\ufff0\131\ufff0\132\ufff0\134"); - sb.append("\ufff0\135\ufff0\136\ufff0\137\ufff0\140\ufff0\141\ufff0\142\ufff0"); - sb.append("\143\ufff0\144\ufff0\145\ufff0\146\ufff0\147\ufff0\150\ufff0\151"); - sb.append("\ufff0\152\ufff0\153\ufff0\154\ufff0\155\ufff0\156\ufff0\157\ufff0"); - sb.append("\160\ufff0\161\ufff0\162\ufff0\163\ufff0\164\ufff0\165\ufff0\166"); - sb.append("\ufff0\167\ufff0\170\ufff0\171\ufff0\172\ufff0\173\ufff0\174\ufff0"); - sb.append("\175\ufff0\176\ufff0\201\ufff0\202\ufff0\203\ufff0\214\ufff0\215"); - sb.append("\ufff0\230\ufff0\231\ufff0\232\ufff0\242\ufff0\243\ufff0\245\ufff0"); - sb.append("\246\ufff0\251\ufff0\001\002\000\172\031\uffb0\033\uffb0\071"); + sb.append("\uffca\172\uffca\173\uffca\174\uffca\175\uffca\176\uffca\177\uffca"); + sb.append("\202\uffca\203\uffca\204\uffca\215\uffca\216\uffca\231\uffca\232"); + sb.append("\uffca\233\uffca\243\uffca\244\uffca\246\uffca\247\uffca\252\uffca"); + sb.append("\001\002\000\174\031\uffd3\033\uffd3\071\uffd3\072\uffd3\073"); + sb.append("\uffd3\111\uffd3\112\uffd3\113\uffd3\127\uffd3\130\uffd3\131\uffd3"); + sb.append("\132\uffd3\134\uffd3\135\uffd3\136\uffd3\137\uffd3\140\uffd3\141"); + sb.append("\uffd3\142\uffd3\143\uffd3\144\uffd3\145\uffd3\146\uffd3\147\uffd3"); + sb.append("\150\uffd3\151\uffd3\152\uffd3\153\uffd3\154\uffd3\155\uffd3\156"); + sb.append("\uffd3\157\uffd3\160\uffd3\161\uffd3\162\uffd3\163\uffd3\164\uffd3"); + sb.append("\165\uffd3\166\uffd3\167\uffd3\170\uffd3\171\uffd3\172\uffd3\173"); + sb.append("\uffd3\174\uffd3\175\uffd3\176\uffd3\177\uffd3\202\uffd3\203\uffd3"); + sb.append("\204\uffd3\215\uffd3\216\uffd3\231\uffd3\232\uffd3\233\uffd3\243"); + sb.append("\uffd3\244\uffd3\246\uffd3\247\uffd3\252\uffd3\001\002\000\174"); + sb.append("\031\uffaa\033\uffaa\071\uffaa\072\uffaa\073\uffaa\111\uffaa\112"); + sb.append("\uffaa\113\uffaa\127\uffaa\130\uffaa\131\uffaa\132\uffaa\134\uffaa"); + sb.append("\135\uffaa\136\uffaa\137\uffaa\140\uffaa\141\uffaa\142\uffaa\143"); + sb.append("\uffaa\144\uffaa\145\uffaa\146\uffaa\147\uffaa\150\uffaa\151\uffaa"); + sb.append("\152\uffaa\153\uffaa\154\uffaa\155\uffaa\156\uffaa\157\uffaa\160"); + sb.append("\uffaa\161\uffaa\162\uffaa\163\uffaa\164\uffaa\165\uffaa\166\uffaa"); + sb.append("\167\uffaa\170\uffaa\171\uffaa\172\uffaa\173\uffaa\174\uffaa\175"); + sb.append("\uffaa\176\uffaa\177\uffaa\202\uffaa\203\uffaa\204\uffaa\215\uffaa"); + sb.append("\216\uffaa\231\uffaa\232\uffaa\233\uffaa\243\uffaa\244\uffaa\246"); + sb.append("\uffaa\247\uffaa\252\uffaa\001\002\000\174\031\uffab\033\uffab"); + sb.append("\071\uffab\072\uffab\073\uffab\111\uffab\112\uffab\113\uffab\127"); + sb.append("\uffab\130\uffab\131\uffab\132\uffab\134\uffab\135\uffab\136\uffab"); + sb.append("\137\uffab\140\uffab\141\uffab\142\uffab\143\uffab\144\uffab\145"); + sb.append("\uffab\146\uffab\147\uffab\150\uffab\151\uffab\152\uffab\153\uffab"); + sb.append("\154\uffab\155\uffab\156\uffab\157\uffab\160\uffab\161\uffab\162"); + sb.append("\uffab\163\uffab\164\uffab\165\uffab\166\uffab\167\uffab\170\uffab"); + sb.append("\171\uffab\172\uffab\173\uffab\174\uffab\175\uffab\176\uffab\177"); + sb.append("\uffab\202\uffab\203\uffab\204\uffab\215\uffab\216\uffab\231\uffab"); + sb.append("\232\uffab\233\uffab\243\uffab\244\uffab\246\uffab\247\uffab\252"); + sb.append("\uffab\001\002\000\174\031\uffda\033\uffda\071\uffda\072\uffda"); + sb.append("\073\uffda\111\uffda\112\uffda\113\uffda\127\uffda\130\uffda\131"); + sb.append("\uffda\132\uffda\134\uffda\135\uffda\136\uffda\137\uffda\140\uffda"); + sb.append("\141\uffda\142\uffda\143\uffda\144\uffda\145\uffda\146\uffda\147"); + sb.append("\uffda\150\uffda\151\uffda\152\uffda\153\uffda\154\uffda\155\uffda"); + sb.append("\156\uffda\157\uffda\160\uffda\161\uffda\162\uffda\163\uffda\164"); + sb.append("\uffda\165\uffda\166\uffda\167\uffda\170\uffda\171\uffda\172\uffda"); + sb.append("\173\uffda\174\uffda\175\uffda\176\uffda\177\uffda\202\uffda\203"); + sb.append("\uffda\204\uffda\215\uffda\216\uffda\231\uffda\232\uffda\233\uffda"); + sb.append("\243\uffda\244\uffda\246\uffda\247\uffda\252\uffda\001\002\000"); + sb.append("\174\031\uffb6\033\uffb6\071\uffb6\072\uffb6\073\uffb6\111\uffb6"); + sb.append("\112\uffb6\113\uffb6\127\uffb6\130\uffb6\131\uffb6\132\uffb6\134"); + sb.append("\uffb6\135\uffb6\136\uffb6\137\uffb6\140\uffb6\141\uffb6\142\uffb6"); + sb.append("\143\uffb6\144\uffb6\145\uffb6\146\uffb6\147\uffb6\150\uffb6\151"); + sb.append("\uffb6\152\uffb6\153\uffb6\154\uffb6\155\uffb6\156\uffb6\157\uffb6"); + sb.append("\160\uffb6\161\uffb6\162\uffb6\163\uffb6\164\uffb6\165\uffb6\166"); + sb.append("\uffb6\167\uffb6\170\uffb6\171\uffb6\172\uffb6\173\uffb6\174\uffb6"); + sb.append("\175\uffb6\176\uffb6\177\uffb6\202\uffb6\203\uffb6\204\uffb6\215"); + sb.append("\uffb6\216\uffb6\231\uffb6\232\uffb6\233\uffb6\243\uffb6\244\uffb6"); + sb.append("\246\uffb6\247\uffb6\252\uffb6\001\002\000\174\031\uffe5\033"); + sb.append("\uffe5\071\uffe5\072\uffe5\073\uffe5\111\uffe5\112\uffe5\113\uffe5"); + sb.append("\127\uffe5\130\uffe5\131\uffe5\132\uffe5\134\uffe5\135\uffe5\136"); + sb.append("\uffe5\137\uffe5\140\uffe5\141\uffe5\142\uffe5\143\uffe5\144\uffe5"); + sb.append("\145\uffe5\146\uffe5\147\uffe5\150\uffe5\151\uffe5\152\uffe5\153"); + sb.append("\uffe5\154\uffe5\155\uffe5\156\uffe5\157\uffe5\160\uffe5\161\uffe5"); + sb.append("\162\uffe5\163\uffe5\164\uffe5\165\uffe5\166\uffe5\167\uffe5\170"); + sb.append("\uffe5\171\uffe5\172\uffe5\173\uffe5\174\uffe5\175\uffe5\176\uffe5"); + sb.append("\177\uffe5\202\uffe5\203\uffe5\204\uffe5\215\uffe5\216\uffe5\231"); + sb.append("\uffe5\232\uffe5\233\uffe5\243\uffe5\244\uffe5\246\uffe5\247\uffe5"); + sb.append("\252\uffe5\001\002\000\174\031\uffb9\033\uffb9\071\uffb9\072"); + sb.append("\uffb9\073\uffb9\111\uffb9\112\uffb9\113\uffb9\127\uffb9\130\uffb9"); + sb.append("\131\uffb9\132\uffb9\134\uffb9\135\uffb9\136\uffb9\137\uffb9\140"); + sb.append("\uffb9\141\uffb9\142\uffb9\143\uffb9\144\uffb9\145\uffb9\146\uffb9"); + sb.append("\147\uffb9\150\uffb9\151\uffb9\152\uffb9\153\uffb9\154\uffb9\155"); + sb.append("\uffb9\156\uffb9\157\uffb9\160\uffb9\161\uffb9\162\uffb9\163\uffb9"); + sb.append("\164\uffb9\165\uffb9\166\uffb9\167\uffb9\170\uffb9\171\uffb9\172"); + sb.append("\uffb9\173\uffb9\174\uffb9\175\uffb9\176\uffb9\177\uffb9\202\uffb9"); + sb.append("\203\uffb9\204\uffb9\215\uffb9\216\uffb9\231\uffb9\232\uffb9\233"); + sb.append("\uffb9\243\uffb9\244\uffb9\246\uffb9\247\uffb9\252\uffb9\001\002"); + sb.append("\000\174\031\uffe2\033\uffe2\071\uffe2\072\uffe2\073\uffe2\111"); + sb.append("\uffe2\112\uffe2\113\uffe2\127\uffe2\130\uffe2\131\uffe2\132\uffe2"); + sb.append("\134\uffe2\135\uffe2\136\uffe2\137\uffe2\140\uffe2\141\uffe2\142"); + sb.append("\uffe2\143\uffe2\144\uffe2\145\uffe2\146\uffe2\147\uffe2\150\uffe2"); + sb.append("\151\uffe2\152\uffe2\153\uffe2\154\uffe2\155\uffe2\156\uffe2\157"); + sb.append("\uffe2\160\uffe2\161\uffe2\162\uffe2\163\uffe2\164\uffe2\165\uffe2"); + sb.append("\166\uffe2\167\uffe2\170\uffe2\171\uffe2\172\uffe2\173\uffe2\174"); + sb.append("\uffe2\175\uffe2\176\uffe2\177\uffe2\202\uffe2\203\uffe2\204\uffe2"); + sb.append("\215\uffe2\216\uffe2\231\uffe2\232\uffe2\233\uffe2\243\uffe2\244"); + sb.append("\uffe2\246\uffe2\247\uffe2\252\uffe2\001\002\000\174\031\uffcd"); + sb.append("\033\uffcd\071\uffcd\072\uffcd\073\uffcd\111\uffcd\112\uffcd\113"); + sb.append("\uffcd\127\uffcd\130\uffcd\131\uffcd\132\uffcd\134\uffcd\135\uffcd"); + sb.append("\136\uffcd\137\uffcd\140\uffcd\141\uffcd\142\uffcd\143\uffcd\144"); + sb.append("\uffcd\145\uffcd\146\uffcd\147\uffcd\150\uffcd\151\uffcd\152\uffcd"); + sb.append("\153\uffcd\154\uffcd\155\uffcd\156\uffcd\157\uffcd\160\uffcd\161"); + sb.append("\uffcd\162\uffcd\163\uffcd\164\uffcd\165\uffcd\166\uffcd\167\uffcd"); + sb.append("\170\uffcd\171\uffcd\172\uffcd\173\uffcd\174\uffcd\175\uffcd\176"); + sb.append("\uffcd\177\uffcd\202\uffcd\203\uffcd\204\uffcd\215\uffcd\216\uffcd"); + sb.append("\231\uffcd\232\uffcd\233\uffcd\243\uffcd\244\uffcd\246\uffcd\247"); + sb.append("\uffcd\252\uffcd\001\002\000\174\031\uffa7\033\uffa7\071\uffa7"); + sb.append("\072\uffa7\073\uffa7\111\uffa7\112\uffa7\113\uffa7\127\uffa7\130"); + sb.append("\uffa7\131\uffa7\132\uffa7\134\uffa7\135\uffa7\136\uffa7\137\uffa7"); + sb.append("\140\uffa7\141\uffa7\142\uffa7\143\uffa7\144\uffa7\145\uffa7\146"); + sb.append("\uffa7\147\uffa7\150\uffa7\151\uffa7\152\uffa7\153\uffa7\154\uffa7"); + sb.append("\155\uffa7\156\uffa7\157\uffa7\160\uffa7\161\uffa7\162\uffa7\163"); + sb.append("\uffa7\164\uffa7\165\uffa7\166\uffa7\167\uffa7\170\uffa7\171\uffa7"); + sb.append("\172\uffa7\173\uffa7\174\uffa7\175\uffa7\176\uffa7\177\uffa7\202"); + sb.append("\uffa7\203\uffa7\204\uffa7\215\uffa7\216\uffa7\231\uffa7\232\uffa7"); + sb.append("\233\uffa7\243\uffa7\244\uffa7\246\uffa7\247\uffa7\252\uffa7\001"); + sb.append("\002\000\174\031\uffe3\033\uffe3\071\uffe3\072\uffe3\073\uffe3"); + sb.append("\111\uffe3\112\uffe3\113\uffe3\127\uffe3\130\uffe3\131\uffe3\132"); + sb.append("\uffe3\134\uffe3\135\uffe3\136\uffe3\137\uffe3\140\uffe3\141\uffe3"); + sb.append("\142\uffe3\143\uffe3\144\uffe3\145\uffe3\146\uffe3\147\uffe3\150"); + sb.append("\uffe3\151\uffe3\152\uffe3\153\uffe3\154\uffe3\155\uffe3\156\uffe3"); + sb.append("\157\uffe3\160\uffe3\161\uffe3\162\uffe3\163\uffe3\164\uffe3\165"); + sb.append("\uffe3\166\uffe3\167\uffe3\170\uffe3\171\uffe3\172\uffe3\173\uffe3"); + sb.append("\174\uffe3\175\uffe3\176\uffe3\177\uffe3\202\uffe3\203\uffe3\204"); + sb.append("\uffe3\215\uffe3\216\uffe3\231\uffe3\232\uffe3\233\uffe3\243\uffe3"); + sb.append("\244\uffe3\246\uffe3\247\uffe3\252\uffe3\001\002\000\174\031"); + sb.append("\ufff0\033\ufff0\071\ufff0\072\ufff0\073\ufff0\111\ufff0\112\ufff0"); + sb.append("\113\ufff0\127\ufff0\130\ufff0\131\ufff0\132\ufff0\134\ufff0\135"); + sb.append("\ufff0\136\ufff0\137\ufff0\140\ufff0\141\ufff0\142\ufff0\143\ufff0"); + sb.append("\144\ufff0\145\ufff0\146\ufff0\147\ufff0\150\ufff0\151\ufff0\152"); + sb.append("\ufff0\153\ufff0\154\ufff0\155\ufff0\156\ufff0\157\ufff0\160\ufff0"); + sb.append("\161\ufff0\162\ufff0\163\ufff0\164\ufff0\165\ufff0\166\ufff0\167"); + sb.append("\ufff0\170\ufff0\171\ufff0\172\ufff0\173\ufff0\174\ufff0\175\ufff0"); + sb.append("\176\ufff0\177\ufff0\202\ufff0\203\ufff0\204\ufff0\215\ufff0\216"); + sb.append("\ufff0\231\ufff0\232\ufff0\233\ufff0\243\ufff0\244\ufff0\246\ufff0"); + sb.append("\247\ufff0\252\ufff0\001\002\000\174\031\uffb0\033\uffb0\071"); sb.append("\uffb0\072\uffb0\073\uffb0\111\uffb0\112\uffb0\113\uffb0\127\uffb0"); sb.append("\130\uffb0\131\uffb0\132\uffb0\134\uffb0\135\uffb0\136\uffb0\137"); sb.append("\uffb0\140\uffb0\141\uffb0\142\uffb0\143\uffb0\144\uffb0\145\uffb0"); sb.append("\146\uffb0\147\uffb0\150\uffb0\151\uffb0\152\uffb0\153\uffb0\154"); sb.append("\uffb0\155\uffb0\156\uffb0\157\uffb0\160\uffb0\161\uffb0\162\uffb0"); sb.append("\163\uffb0\164\uffb0\165\uffb0\166\uffb0\167\uffb0\170\uffb0\171"); - sb.append("\uffb0\172\uffb0\173\uffb0\174\uffb0\175\uffb0\176\uffb0\201\uffb0"); - sb.append("\202\uffb0\203\uffb0\214\uffb0\215\uffb0\230\uffb0\231\uffb0\232"); - sb.append("\uffb0\242\uffb0\243\uffb0\245\uffb0\246\uffb0\251\uffb0\001\002"); - sb.append("\000\172\031\uffc3\033\uffc3\071\uffc3\072\uffc3\073\uffc3\111"); - sb.append("\uffc3\112\uffc3\113\uffc3\127\uffc3\130\uffc3\131\uffc3\132\uffc3"); - sb.append("\134\uffc3\135\uffc3\136\uffc3\137\uffc3\140\uffc3\141\uffc3\142"); - sb.append("\uffc3\143\uffc3\144\uffc3\145\uffc3\146\uffc3\147\uffc3\150\uffc3"); - sb.append("\151\uffc3\152\uffc3\153\uffc3\154\uffc3\155\uffc3\156\uffc3\157"); - sb.append("\uffc3\160\uffc3\161\uffc3\162\uffc3\163\uffc3\164\uffc3\165\uffc3"); - sb.append("\166\uffc3\167\uffc3\170\uffc3\171\uffc3\172\uffc3\173\uffc3\174"); - sb.append("\uffc3\175\uffc3\176\uffc3\201\uffc3\202\uffc3\203\uffc3\214\uffc3"); - sb.append("\215\uffc3\230\uffc3\231\uffc3\232\uffc3\242\uffc3\243\uffc3\245"); - sb.append("\uffc3\246\uffc3\251\uffc3\001\002\000\172\031\uffb3\033\uffb3"); - sb.append("\071\uffb3\072\uffb3\073\uffb3\111\uffb3\112\uffb3\113\uffb3\127"); - sb.append("\uffb3\130\uffb3\131\uffb3\132\uffb3\134\uffb3\135\uffb3\136\uffb3"); - sb.append("\137\uffb3\140\uffb3\141\uffb3\142\uffb3\143\uffb3\144\uffb3\145"); - sb.append("\uffb3\146\uffb3\147\uffb3\150\uffb3\151\uffb3\152\uffb3\153\uffb3"); - sb.append("\154\uffb3\155\uffb3\156\uffb3\157\uffb3\160\uffb3\161\uffb3\162"); - sb.append("\uffb3\163\uffb3\164\uffb3\165\uffb3\166\uffb3\167\uffb3\170\uffb3"); - sb.append("\171\uffb3\172\uffb3\173\uffb3\174\uffb3\175\uffb3\176\uffb3\201"); - sb.append("\uffb3\202\uffb3\203\uffb3\214\uffb3\215\uffb3\230\uffb3\231\uffb3"); - sb.append("\232\uffb3\242\uffb3\243\uffb3\245\uffb3\246\uffb3\251\uffb3\001"); - sb.append("\002\000\172\031\uffc9\033\uffc9\071\uffc9\072\uffc9\073\uffc9"); - sb.append("\111\uffc9\112\uffc9\113\uffc9\127\uffc9\130\uffc9\131\uffc9\132"); - sb.append("\uffc9\134\uffc9\135\uffc9\136\uffc9\137\uffc9\140\uffc9\141\uffc9"); - sb.append("\142\uffc9\143\uffc9\144\uffc9\145\uffc9\146\uffc9\147\uffc9\150"); - sb.append("\uffc9\151\uffc9\152\uffc9\153\uffc9\154\uffc9\155\uffc9\156\uffc9"); - sb.append("\157\uffc9\160\uffc9\161\uffc9\162\uffc9\163\uffc9\164\uffc9\165"); - sb.append("\uffc9\166\uffc9\167\uffc9\170\uffc9\171\uffc9\172\uffc9\173\uffc9"); - sb.append("\174\uffc9\175\uffc9\176\uffc9\201\uffc9\202\uffc9\203\uffc9\214"); - sb.append("\uffc9\215\uffc9\230\uffc9\231\uffc9\232\uffc9\242\uffc9\243\uffc9"); - sb.append("\245\uffc9\246\uffc9\251\uffc9\001\002\000\172\031\uffa9\033"); - sb.append("\uffa9\071\uffa9\072\uffa9\073\uffa9\111\uffa9\112\uffa9\113\uffa9"); - sb.append("\127\uffa9\130\uffa9\131\uffa9\132\uffa9\134\uffa9\135\uffa9\136"); - sb.append("\uffa9\137\uffa9\140\uffa9\141\uffa9\142\uffa9\143\uffa9\144\uffa9"); - sb.append("\145\uffa9\146\uffa9\147\uffa9\150\uffa9\151\uffa9\152\uffa9\153"); - sb.append("\uffa9\154\uffa9\155\uffa9\156\uffa9\157\uffa9\160\uffa9\161\uffa9"); - sb.append("\162\uffa9\163\uffa9\164\uffa9\165\uffa9\166\uffa9\167\uffa9\170"); - sb.append("\uffa9\171\uffa9\172\uffa9\173\uffa9\174\uffa9\175\uffa9\176\uffa9"); - sb.append("\201\uffa9\202\uffa9\203\uffa9\214\uffa9\215\uffa9\230\uffa9\231"); - sb.append("\uffa9\232\uffa9\242\uffa9\243\uffa9\245\uffa9\246\uffa9\251\uffa9"); - sb.append("\001\002\000\172\031\uffc8\033\uffc8\071\uffc8\072\uffc8\073"); - sb.append("\uffc8\111\uffc8\112\uffc8\113\uffc8\127\uffc8\130\uffc8\131\uffc8"); - sb.append("\132\uffc8\134\uffc8\135\uffc8\136\uffc8\137\uffc8\140\uffc8\141"); - sb.append("\uffc8\142\uffc8\143\uffc8\144\uffc8\145\uffc8\146\uffc8\147\uffc8"); - sb.append("\150\uffc8\151\uffc8\152\uffc8\153\uffc8\154\uffc8\155\uffc8\156"); - sb.append("\uffc8\157\uffc8\160\uffc8\161\uffc8\162\uffc8\163\uffc8\164\uffc8"); - sb.append("\165\uffc8\166\uffc8\167\uffc8\170\uffc8\171\uffc8\172\uffc8\173"); - sb.append("\uffc8\174\uffc8\175\uffc8\176\uffc8\201\uffc8\202\uffc8\203\uffc8"); - sb.append("\214\uffc8\215\uffc8\230\uffc8\231\uffc8\232\uffc8\242\uffc8\243"); - sb.append("\uffc8\245\uffc8\246\uffc8\251\uffc8\001\002\000\172\031\uffec"); - sb.append("\033\uffec\071\uffec\072\uffec\073\uffec\111\uffec\112\uffec\113"); - sb.append("\uffec\127\uffec\130\uffec\131\uffec\132\uffec\134\uffec\135\uffec"); - sb.append("\136\uffec\137\uffec\140\uffec\141\uffec\142\uffec\143\uffec\144"); - sb.append("\uffec\145\uffec\146\uffec\147\uffec\150\uffec\151\uffec\152\uffec"); - sb.append("\153\uffec\154\uffec\155\uffec\156\uffec\157\uffec\160\uffec\161"); - sb.append("\uffec\162\uffec\163\uffec\164\uffec\165\uffec\166\uffec\167\uffec"); - sb.append("\170\uffec\171\uffec\172\uffec\173\uffec\174\uffec\175\uffec\176"); - sb.append("\uffec\201\uffec\202\uffec\203\uffec\214\uffec\215\uffec\230\uffec"); - sb.append("\231\uffec\232\uffec\242\uffec\243\uffec\245\uffec\246\uffec\251"); - sb.append("\uffec\001\002\000\172\031\uffb8\033\uffb8\071\uffb8\072\uffb8"); - sb.append("\073\uffb8\111\uffb8\112\uffb8\113\uffb8\127\uffb8\130\uffb8\131"); - sb.append("\uffb8\132\uffb8\134\uffb8\135\uffb8\136\uffb8\137\uffb8\140\uffb8"); - sb.append("\141\uffb8\142\uffb8\143\uffb8\144\uffb8\145\uffb8\146\uffb8\147"); - sb.append("\uffb8\150\uffb8\151\uffb8\152\uffb8\153\uffb8\154\uffb8\155\uffb8"); - sb.append("\156\uffb8\157\uffb8\160\uffb8\161\uffb8\162\uffb8\163\uffb8\164"); - sb.append("\uffb8\165\uffb8\166\uffb8\167\uffb8\170\uffb8\171\uffb8\172\uffb8"); - sb.append("\173\uffb8\174\uffb8\175\uffb8\176\uffb8\201\uffb8\202\uffb8\203"); - sb.append("\uffb8\214\uffb8\215\uffb8\230\uffb8\231\uffb8\232\uffb8\242\uffb8"); - sb.append("\243\uffb8\245\uffb8\246\uffb8\251\uffb8\001\002\000\172\031"); - sb.append("\uffe8\033\uffe8\071\uffe8\072\uffe8\073\uffe8\111\uffe8\112\uffe8"); - sb.append("\113\uffe8\127\uffe8\130\uffe8\131\uffe8\132\uffe8\134\uffe8\135"); - sb.append("\uffe8\136\uffe8\137\uffe8\140\uffe8\141\uffe8\142\uffe8\143\uffe8"); - sb.append("\144\uffe8\145\uffe8\146\uffe8\147\uffe8\150\uffe8\151\uffe8\152"); - sb.append("\uffe8\153\uffe8\154\uffe8\155\uffe8\156\uffe8\157\uffe8\160\uffe8"); - sb.append("\161\uffe8\162\uffe8\163\uffe8\164\uffe8\165\uffe8\166\uffe8\167"); - sb.append("\uffe8\170\uffe8\171\uffe8\172\uffe8\173\uffe8\174\uffe8\175\uffe8"); - sb.append("\176\uffe8\201\uffe8\202\uffe8\203\uffe8\214\uffe8\215\uffe8\230"); - sb.append("\uffe8\231\uffe8\232\uffe8\242\uffe8\243\uffe8\245\uffe8\246\uffe8"); - sb.append("\251\uffe8\001\002\000\172\031\uffaf\033\uffaf\071\uffaf\072"); - sb.append("\uffaf\073\uffaf\111\uffaf\112\uffaf\113\uffaf\127\uffaf\130\uffaf"); - sb.append("\131\uffaf\132\uffaf\134\uffaf\135\uffaf\136\uffaf\137\uffaf\140"); - sb.append("\uffaf\141\uffaf\142\uffaf\143\uffaf\144\uffaf\145\uffaf\146\uffaf"); - sb.append("\147\uffaf\150\uffaf\151\uffaf\152\uffaf\153\uffaf\154\uffaf\155"); - sb.append("\uffaf\156\uffaf\157\uffaf\160\uffaf\161\uffaf\162\uffaf\163\uffaf"); - sb.append("\164\uffaf\165\uffaf\166\uffaf\167\uffaf\170\uffaf\171\uffaf\172"); - sb.append("\uffaf\173\uffaf\174\uffaf\175\uffaf\176\uffaf\201\uffaf\202\uffaf"); - sb.append("\203\uffaf\214\uffaf\215\uffaf\230\uffaf\231\uffaf\232\uffaf\242"); - sb.append("\uffaf\243\uffaf\245\uffaf\246\uffaf\251\uffaf\001\002\000\172"); - sb.append("\031\uffee\033\uffee\071\uffee\072\uffee\073\uffee\111\uffee\112"); - sb.append("\uffee\113\uffee\127\uffee\130\uffee\131\uffee\132\uffee\134\uffee"); - sb.append("\135\uffee\136\uffee\137\uffee\140\uffee\141\uffee\142\uffee\143"); - sb.append("\uffee\144\uffee\145\uffee\146\uffee\147\uffee\150\uffee\151\uffee"); - sb.append("\152\uffee\153\uffee\154\uffee\155\uffee\156\uffee\157\uffee\160"); - sb.append("\uffee\161\uffee\162\uffee\163\uffee\164\uffee\165\uffee\166\uffee"); - sb.append("\167\uffee\170\uffee\171\uffee\172\uffee\173\uffee\174\uffee\175"); - sb.append("\uffee\176\uffee\201\uffee\202\uffee\203\uffee\214\uffee\215\uffee"); - sb.append("\230\uffee\231\uffee\232\uffee\242\uffee\243\uffee\245\uffee\246"); - sb.append("\uffee\251\uffee\001\002\000\172\031\uffed\033\uffed\071\uffed"); - sb.append("\072\uffed\073\uffed\111\uffed\112\uffed\113\uffed\127\uffed\130"); - sb.append("\uffed\131\uffed\132\uffed\134\uffed\135\uffed\136\uffed\137\uffed"); - sb.append("\140\uffed\141\uffed\142\uffed\143\uffed\144\uffed\145\uffed\146"); - sb.append("\uffed\147\uffed\150\uffed\151\uffed\152\uffed\153\uffed\154\uffed"); - sb.append("\155\uffed\156\uffed\157\uffed\160\uffed\161\uffed\162\uffed\163"); - sb.append("\uffed\164\uffed\165\uffed\166\uffed\167\uffed\170\uffed\171\uffed"); - sb.append("\172\uffed\173\uffed\174\uffed\175\uffed\176\uffed\201\uffed\202"); - sb.append("\uffed\203\uffed\214\uffed\215\uffed\230\uffed\231\uffed\232\uffed"); - sb.append("\242\uffed\243\uffed\245\uffed\246\uffed\251\uffed\001\002\000"); - sb.append("\172\031\uffcf\033\uffcf\071\uffcf\072\uffcf\073\uffcf\111\uffcf"); - sb.append("\112\uffcf\113\uffcf\127\uffcf\130\uffcf\131\uffcf\132\uffcf\134"); - sb.append("\uffcf\135\uffcf\136\uffcf\137\uffcf\140\uffcf\141\uffcf\142\uffcf"); - sb.append("\143\uffcf\144\uffcf\145\uffcf\146\uffcf\147\uffcf\150\uffcf\151"); - sb.append("\uffcf\152\uffcf\153\uffcf\154\uffcf\155\uffcf\156\uffcf\157\uffcf"); - sb.append("\160\uffcf\161\uffcf\162\uffcf\163\uffcf\164\uffcf\165\uffcf\166"); - sb.append("\uffcf\167\uffcf\170\uffcf\171\uffcf\172\uffcf\173\uffcf\174\uffcf"); - sb.append("\175\uffcf\176\uffcf\201\uffcf\202\uffcf\203\uffcf\214\uffcf\215"); - sb.append("\uffcf\230\uffcf\231\uffcf\232\uffcf\242\uffcf\243\uffcf\245\uffcf"); - sb.append("\246\uffcf\251\uffcf\001\002\000\172\031\uffc5\033\uffc5\071"); + sb.append("\uffb0\172\uffb0\173\uffb0\174\uffb0\175\uffb0\176\uffb0\177\uffb0"); + sb.append("\202\uffb0\203\uffb0\204\uffb0\215\uffb0\216\uffb0\231\uffb0\232"); + sb.append("\uffb0\233\uffb0\243\uffb0\244\uffb0\246\uffb0\247\uffb0\252\uffb0"); + sb.append("\001\002\000\174\031\uffc3\033\uffc3\071\uffc3\072\uffc3\073"); + sb.append("\uffc3\111\uffc3\112\uffc3\113\uffc3\127\uffc3\130\uffc3\131\uffc3"); + sb.append("\132\uffc3\134\uffc3\135\uffc3\136\uffc3\137\uffc3\140\uffc3\141"); + sb.append("\uffc3\142\uffc3\143\uffc3\144\uffc3\145\uffc3\146\uffc3\147\uffc3"); + sb.append("\150\uffc3\151\uffc3\152\uffc3\153\uffc3\154\uffc3\155\uffc3\156"); + sb.append("\uffc3\157\uffc3\160\uffc3\161\uffc3\162\uffc3\163\uffc3\164\uffc3"); + sb.append("\165\uffc3\166\uffc3\167\uffc3\170\uffc3\171\uffc3\172\uffc3\173"); + sb.append("\uffc3\174\uffc3\175\uffc3\176\uffc3\177\uffc3\202\uffc3\203\uffc3"); + sb.append("\204\uffc3\215\uffc3\216\uffc3\231\uffc3\232\uffc3\233\uffc3\243"); + sb.append("\uffc3\244\uffc3\246\uffc3\247\uffc3\252\uffc3\001\002\000\174"); + sb.append("\031\uffb3\033\uffb3\071\uffb3\072\uffb3\073\uffb3\111\uffb3\112"); + sb.append("\uffb3\113\uffb3\127\uffb3\130\uffb3\131\uffb3\132\uffb3\134\uffb3"); + sb.append("\135\uffb3\136\uffb3\137\uffb3\140\uffb3\141\uffb3\142\uffb3\143"); + sb.append("\uffb3\144\uffb3\145\uffb3\146\uffb3\147\uffb3\150\uffb3\151\uffb3"); + sb.append("\152\uffb3\153\uffb3\154\uffb3\155\uffb3\156\uffb3\157\uffb3\160"); + sb.append("\uffb3\161\uffb3\162\uffb3\163\uffb3\164\uffb3\165\uffb3\166\uffb3"); + sb.append("\167\uffb3\170\uffb3\171\uffb3\172\uffb3\173\uffb3\174\uffb3\175"); + sb.append("\uffb3\176\uffb3\177\uffb3\202\uffb3\203\uffb3\204\uffb3\215\uffb3"); + sb.append("\216\uffb3\231\uffb3\232\uffb3\233\uffb3\243\uffb3\244\uffb3\246"); + sb.append("\uffb3\247\uffb3\252\uffb3\001\002\000\174\031\uffc9\033\uffc9"); + sb.append("\071\uffc9\072\uffc9\073\uffc9\111\uffc9\112\uffc9\113\uffc9\127"); + sb.append("\uffc9\130\uffc9\131\uffc9\132\uffc9\134\uffc9\135\uffc9\136\uffc9"); + sb.append("\137\uffc9\140\uffc9\141\uffc9\142\uffc9\143\uffc9\144\uffc9\145"); + sb.append("\uffc9\146\uffc9\147\uffc9\150\uffc9\151\uffc9\152\uffc9\153\uffc9"); + sb.append("\154\uffc9\155\uffc9\156\uffc9\157\uffc9\160\uffc9\161\uffc9\162"); + sb.append("\uffc9\163\uffc9\164\uffc9\165\uffc9\166\uffc9\167\uffc9\170\uffc9"); + sb.append("\171\uffc9\172\uffc9\173\uffc9\174\uffc9\175\uffc9\176\uffc9\177"); + sb.append("\uffc9\202\uffc9\203\uffc9\204\uffc9\215\uffc9\216\uffc9\231\uffc9"); + sb.append("\232\uffc9\233\uffc9\243\uffc9\244\uffc9\246\uffc9\247\uffc9\252"); + sb.append("\uffc9\001\002\000\174\031\uffa9\033\uffa9\071\uffa9\072\uffa9"); + sb.append("\073\uffa9\111\uffa9\112\uffa9\113\uffa9\127\uffa9\130\uffa9\131"); + sb.append("\uffa9\132\uffa9\134\uffa9\135\uffa9\136\uffa9\137\uffa9\140\uffa9"); + sb.append("\141\uffa9\142\uffa9\143\uffa9\144\uffa9\145\uffa9\146\uffa9\147"); + sb.append("\uffa9\150\uffa9\151\uffa9\152\uffa9\153\uffa9\154\uffa9\155\uffa9"); + sb.append("\156\uffa9\157\uffa9\160\uffa9\161\uffa9\162\uffa9\163\uffa9\164"); + sb.append("\uffa9\165\uffa9\166\uffa9\167\uffa9\170\uffa9\171\uffa9\172\uffa9"); + sb.append("\173\uffa9\174\uffa9\175\uffa9\176\uffa9\177\uffa9\202\uffa9\203"); + sb.append("\uffa9\204\uffa9\215\uffa9\216\uffa9\231\uffa9\232\uffa9\233\uffa9"); + sb.append("\243\uffa9\244\uffa9\246\uffa9\247\uffa9\252\uffa9\001\002\000"); + sb.append("\174\031\uffc8\033\uffc8\071\uffc8\072\uffc8\073\uffc8\111\uffc8"); + sb.append("\112\uffc8\113\uffc8\127\uffc8\130\uffc8\131\uffc8\132\uffc8\134"); + sb.append("\uffc8\135\uffc8\136\uffc8\137\uffc8\140\uffc8\141\uffc8\142\uffc8"); + sb.append("\143\uffc8\144\uffc8\145\uffc8\146\uffc8\147\uffc8\150\uffc8\151"); + sb.append("\uffc8\152\uffc8\153\uffc8\154\uffc8\155\uffc8\156\uffc8\157\uffc8"); + sb.append("\160\uffc8\161\uffc8\162\uffc8\163\uffc8\164\uffc8\165\uffc8\166"); + sb.append("\uffc8\167\uffc8\170\uffc8\171\uffc8\172\uffc8\173\uffc8\174\uffc8"); + sb.append("\175\uffc8\176\uffc8\177\uffc8\202\uffc8\203\uffc8\204\uffc8\215"); + sb.append("\uffc8\216\uffc8\231\uffc8\232\uffc8\233\uffc8\243\uffc8\244\uffc8"); + sb.append("\246\uffc8\247\uffc8\252\uffc8\001\002\000\174\031\uffec\033"); + sb.append("\uffec\071\uffec\072\uffec\073\uffec\111\uffec\112\uffec\113\uffec"); + sb.append("\127\uffec\130\uffec\131\uffec\132\uffec\134\uffec\135\uffec\136"); + sb.append("\uffec\137\uffec\140\uffec\141\uffec\142\uffec\143\uffec\144\uffec"); + sb.append("\145\uffec\146\uffec\147\uffec\150\uffec\151\uffec\152\uffec\153"); + sb.append("\uffec\154\uffec\155\uffec\156\uffec\157\uffec\160\uffec\161\uffec"); + sb.append("\162\uffec\163\uffec\164\uffec\165\uffec\166\uffec\167\uffec\170"); + sb.append("\uffec\171\uffec\172\uffec\173\uffec\174\uffec\175\uffec\176\uffec"); + sb.append("\177\uffec\202\uffec\203\uffec\204\uffec\215\uffec\216\uffec\231"); + sb.append("\uffec\232\uffec\233\uffec\243\uffec\244\uffec\246\uffec\247\uffec"); + sb.append("\252\uffec\001\002\000\174\031\uffb8\033\uffb8\071\uffb8\072"); + sb.append("\uffb8\073\uffb8\111\uffb8\112\uffb8\113\uffb8\127\uffb8\130\uffb8"); + sb.append("\131\uffb8\132\uffb8\134\uffb8\135\uffb8\136\uffb8\137\uffb8\140"); + sb.append("\uffb8\141\uffb8\142\uffb8\143\uffb8\144\uffb8\145\uffb8\146\uffb8"); + sb.append("\147\uffb8\150\uffb8\151\uffb8\152\uffb8\153\uffb8\154\uffb8\155"); + sb.append("\uffb8\156\uffb8\157\uffb8\160\uffb8\161\uffb8\162\uffb8\163\uffb8"); + sb.append("\164\uffb8\165\uffb8\166\uffb8\167\uffb8\170\uffb8\171\uffb8\172"); + sb.append("\uffb8\173\uffb8\174\uffb8\175\uffb8\176\uffb8\177\uffb8\202\uffb8"); + sb.append("\203\uffb8\204\uffb8\215\uffb8\216\uffb8\231\uffb8\232\uffb8\233"); + sb.append("\uffb8\243\uffb8\244\uffb8\246\uffb8\247\uffb8\252\uffb8\001\002"); + sb.append("\000\174\031\uffe8\033\uffe8\071\uffe8\072\uffe8\073\uffe8\111"); + sb.append("\uffe8\112\uffe8\113\uffe8\127\uffe8\130\uffe8\131\uffe8\132\uffe8"); + sb.append("\134\uffe8\135\uffe8\136\uffe8\137\uffe8\140\uffe8\141\uffe8\142"); + sb.append("\uffe8\143\uffe8\144\uffe8\145\uffe8\146\uffe8\147\uffe8\150\uffe8"); + sb.append("\151\uffe8\152\uffe8\153\uffe8\154\uffe8\155\uffe8\156\uffe8\157"); + sb.append("\uffe8\160\uffe8\161\uffe8\162\uffe8\163\uffe8\164\uffe8\165\uffe8"); + sb.append("\166\uffe8\167\uffe8\170\uffe8\171\uffe8\172\uffe8\173\uffe8\174"); + sb.append("\uffe8\175\uffe8\176\uffe8\177\uffe8\202\uffe8\203\uffe8\204\uffe8"); + sb.append("\215\uffe8\216\uffe8\231\uffe8\232\uffe8\233\uffe8\243\uffe8\244"); + sb.append("\uffe8\246\uffe8\247\uffe8\252\uffe8\001\002\000\174\031\uffaf"); + sb.append("\033\uffaf\071\uffaf\072\uffaf\073\uffaf\111\uffaf\112\uffaf\113"); + sb.append("\uffaf\127\uffaf\130\uffaf\131\uffaf\132\uffaf\134\uffaf\135\uffaf"); + sb.append("\136\uffaf\137\uffaf\140\uffaf\141\uffaf\142\uffaf\143\uffaf\144"); + sb.append("\uffaf\145\uffaf\146\uffaf\147\uffaf\150\uffaf\151\uffaf\152\uffaf"); + sb.append("\153\uffaf\154\uffaf\155\uffaf\156\uffaf\157\uffaf\160\uffaf\161"); + sb.append("\uffaf\162\uffaf\163\uffaf\164\uffaf\165\uffaf\166\uffaf\167\uffaf"); + sb.append("\170\uffaf\171\uffaf\172\uffaf\173\uffaf\174\uffaf\175\uffaf\176"); + sb.append("\uffaf\177\uffaf\202\uffaf\203\uffaf\204\uffaf\215\uffaf\216\uffaf"); + sb.append("\231\uffaf\232\uffaf\233\uffaf\243\uffaf\244\uffaf\246\uffaf\247"); + sb.append("\uffaf\252\uffaf\001\002\000\174\031\uffee\033\uffee\071\uffee"); + sb.append("\072\uffee\073\uffee\111\uffee\112\uffee\113\uffee\127\uffee\130"); + sb.append("\uffee\131\uffee\132\uffee\134\uffee\135\uffee\136\uffee\137\uffee"); + sb.append("\140\uffee\141\uffee\142\uffee\143\uffee\144\uffee\145\uffee\146"); + sb.append("\uffee\147\uffee\150\uffee\151\uffee\152\uffee\153\uffee\154\uffee"); + sb.append("\155\uffee\156\uffee\157\uffee\160\uffee\161\uffee\162\uffee\163"); + sb.append("\uffee\164\uffee\165\uffee\166\uffee\167\uffee\170\uffee\171\uffee"); + sb.append("\172\uffee\173\uffee\174\uffee\175\uffee\176\uffee\177\uffee\202"); + sb.append("\uffee\203\uffee\204\uffee\215\uffee\216\uffee\231\uffee\232\uffee"); + sb.append("\233\uffee\243\uffee\244\uffee\246\uffee\247\uffee\252\uffee\001"); + sb.append("\002\000\174\031\uffed\033\uffed\071\uffed\072\uffed\073\uffed"); + sb.append("\111\uffed\112\uffed\113\uffed\127\uffed\130\uffed\131\uffed\132"); + sb.append("\uffed\134\uffed\135\uffed\136\uffed\137\uffed\140\uffed\141\uffed"); + sb.append("\142\uffed\143\uffed\144\uffed\145\uffed\146\uffed\147\uffed\150"); + sb.append("\uffed\151\uffed\152\uffed\153\uffed\154\uffed\155\uffed\156\uffed"); + sb.append("\157\uffed\160\uffed\161\uffed\162\uffed\163\uffed\164\uffed\165"); + sb.append("\uffed\166\uffed\167\uffed\170\uffed\171\uffed\172\uffed\173\uffed"); + sb.append("\174\uffed\175\uffed\176\uffed\177\uffed\202\uffed\203\uffed\204"); + sb.append("\uffed\215\uffed\216\uffed\231\uffed\232\uffed\233\uffed\243\uffed"); + sb.append("\244\uffed\246\uffed\247\uffed\252\uffed\001\002\000\174\031"); + sb.append("\uffcf\033\uffcf\071\uffcf\072\uffcf\073\uffcf\111\uffcf\112\uffcf"); + sb.append("\113\uffcf\127\uffcf\130\uffcf\131\uffcf\132\uffcf\134\uffcf\135"); + sb.append("\uffcf\136\uffcf\137\uffcf\140\uffcf\141\uffcf\142\uffcf\143\uffcf"); + sb.append("\144\uffcf\145\uffcf\146\uffcf\147\uffcf\150\uffcf\151\uffcf\152"); + sb.append("\uffcf\153\uffcf\154\uffcf\155\uffcf\156\uffcf\157\uffcf\160\uffcf"); + sb.append("\161\uffcf\162\uffcf\163\uffcf\164\uffcf\165\uffcf\166\uffcf\167"); + sb.append("\uffcf\170\uffcf\171\uffcf\172\uffcf\173\uffcf\174\uffcf\175\uffcf"); + sb.append("\176\uffcf\177\uffcf\202\uffcf\203\uffcf\204\uffcf\215\uffcf\216"); + sb.append("\uffcf\231\uffcf\232\uffcf\233\uffcf\243\uffcf\244\uffcf\246\uffcf"); + sb.append("\247\uffcf\252\uffcf\001\002\000\174\031\uffc5\033\uffc5\071"); sb.append("\uffc5\072\uffc5\073\uffc5\111\uffc5\112\uffc5\113\uffc5\127\uffc5"); sb.append("\130\uffc5\131\uffc5\132\uffc5\134\uffc5\135\uffc5\136\uffc5\137"); sb.append("\uffc5\140\uffc5\141\uffc5\142\uffc5\143\uffc5\144\uffc5\145\uffc5"); sb.append("\146\uffc5\147\uffc5\150\uffc5\151\uffc5\152\uffc5\153\uffc5\154"); sb.append("\uffc5\155\uffc5\156\uffc5\157\uffc5\160\uffc5\161\uffc5\162\uffc5"); sb.append("\163\uffc5\164\uffc5\165\uffc5\166\uffc5\167\uffc5\170\uffc5\171"); - sb.append("\uffc5\172\uffc5\173\uffc5\174\uffc5\175\uffc5\176\uffc5\201\uffc5"); - sb.append("\202\uffc5\203\uffc5\214\uffc5\215\uffc5\230\uffc5\231\uffc5\232"); - sb.append("\uffc5\242\uffc5\243\uffc5\245\uffc5\246\uffc5\251\uffc5\001\002"); - sb.append("\000\172\031\uffa3\033\uffa3\071\uffa3\072\uffa3\073\uffa3\111"); - sb.append("\uffa3\112\uffa3\113\uffa3\127\uffa3\130\uffa3\131\uffa3\132\uffa3"); - sb.append("\134\uffa3\135\uffa3\136\uffa3\137\uffa3\140\uffa3\141\uffa3\142"); - sb.append("\uffa3\143\uffa3\144\uffa3\145\uffa3\146\uffa3\147\uffa3\150\uffa3"); - sb.append("\151\uffa3\152\uffa3\153\uffa3\154\uffa3\155\uffa3\156\uffa3\157"); - sb.append("\uffa3\160\uffa3\161\uffa3\162\uffa3\163\uffa3\164\uffa3\165\uffa3"); - sb.append("\166\uffa3\167\uffa3\170\uffa3\171\uffa3\172\uffa3\173\uffa3\174"); - sb.append("\uffa3\175\uffa3\176\uffa3\201\uffa3\202\uffa3\203\uffa3\214\uffa3"); - sb.append("\215\uffa3\230\uffa3\231\uffa3\232\uffa3\242\uffa3\243\uffa3\245"); - sb.append("\uffa3\246\uffa3\251\uffa3\001\002\000\172\031\uffd7\033\uffd7"); - sb.append("\071\uffd7\072\uffd7\073\uffd7\111\uffd7\112\uffd7\113\uffd7\127"); - sb.append("\uffd7\130\uffd7\131\uffd7\132\uffd7\134\uffd7\135\uffd7\136\uffd7"); - sb.append("\137\uffd7\140\uffd7\141\uffd7\142\uffd7\143\uffd7\144\uffd7\145"); - sb.append("\uffd7\146\uffd7\147\uffd7\150\uffd7\151\uffd7\152\uffd7\153\uffd7"); - sb.append("\154\uffd7\155\uffd7\156\uffd7\157\uffd7\160\uffd7\161\uffd7\162"); - sb.append("\uffd7\163\uffd7\164\uffd7\165\uffd7\166\uffd7\167\uffd7\170\uffd7"); - sb.append("\171\uffd7\172\uffd7\173\uffd7\174\uffd7\175\uffd7\176\uffd7\201"); - sb.append("\uffd7\202\uffd7\203\uffd7\214\uffd7\215\uffd7\230\uffd7\231\uffd7"); - sb.append("\232\uffd7\242\uffd7\243\uffd7\245\uffd7\246\uffd7\251\uffd7\001"); - sb.append("\002\000\172\031\uffd1\033\uffd1\071\uffd1\072\uffd1\073\uffd1"); - sb.append("\111\uffd1\112\uffd1\113\uffd1\127\uffd1\130\uffd1\131\uffd1\132"); - sb.append("\uffd1\134\uffd1\135\uffd1\136\uffd1\137\uffd1\140\uffd1\141\uffd1"); - sb.append("\142\uffd1\143\uffd1\144\uffd1\145\uffd1\146\uffd1\147\uffd1\150"); - sb.append("\uffd1\151\uffd1\152\uffd1\153\uffd1\154\uffd1\155\uffd1\156\uffd1"); - sb.append("\157\uffd1\160\uffd1\161\uffd1\162\uffd1\163\uffd1\164\uffd1\165"); - sb.append("\uffd1\166\uffd1\167\uffd1\170\uffd1\171\uffd1\172\uffd1\173\uffd1"); - sb.append("\174\uffd1\175\uffd1\176\uffd1\201\uffd1\202\uffd1\203\uffd1\214"); - sb.append("\uffd1\215\uffd1\230\uffd1\231\uffd1\232\uffd1\242\uffd1\243\uffd1"); - sb.append("\245\uffd1\246\uffd1\251\uffd1\001\002\000\172\031\uffd5\033"); - sb.append("\uffd5\071\uffd5\072\uffd5\073\uffd5\111\uffd5\112\uffd5\113\uffd5"); - sb.append("\127\uffd5\130\uffd5\131\uffd5\132\uffd5\134\uffd5\135\uffd5\136"); - sb.append("\uffd5\137\uffd5\140\uffd5\141\uffd5\142\uffd5\143\uffd5\144\uffd5"); - sb.append("\145\uffd5\146\uffd5\147\uffd5\150\uffd5\151\uffd5\152\uffd5\153"); - sb.append("\uffd5\154\uffd5\155\uffd5\156\uffd5\157\uffd5\160\uffd5\161\uffd5"); - sb.append("\162\uffd5\163\uffd5\164\uffd5\165\uffd5\166\uffd5\167\uffd5\170"); - sb.append("\uffd5\171\uffd5\172\uffd5\173\uffd5\174\uffd5\175\uffd5\176\uffd5"); - sb.append("\201\uffd5\202\uffd5\203\uffd5\214\uffd5\215\uffd5\230\uffd5\231"); - sb.append("\uffd5\232\uffd5\242\uffd5\243\uffd5\245\uffd5\246\uffd5\251\uffd5"); - sb.append("\001\002\000\172\031\uffe7\033\uffe7\071\uffe7\072\uffe7\073"); - sb.append("\uffe7\111\uffe7\112\uffe7\113\uffe7\127\uffe7\130\uffe7\131\uffe7"); - sb.append("\132\uffe7\134\uffe7\135\uffe7\136\uffe7\137\uffe7\140\uffe7\141"); - sb.append("\uffe7\142\uffe7\143\uffe7\144\uffe7\145\uffe7\146\uffe7\147\uffe7"); - sb.append("\150\uffe7\151\uffe7\152\uffe7\153\uffe7\154\uffe7\155\uffe7\156"); - sb.append("\uffe7\157\uffe7\160\uffe7\161\uffe7\162\uffe7\163\uffe7\164\uffe7"); - sb.append("\165\uffe7\166\uffe7\167\uffe7\170\uffe7\171\uffe7\172\uffe7\173"); - sb.append("\uffe7\174\uffe7\175\uffe7\176\uffe7\201\uffe7\202\uffe7\203\uffe7"); - sb.append("\214\uffe7\215\uffe7\230\uffe7\231\uffe7\232\uffe7\242\uffe7\243"); - sb.append("\uffe7\245\uffe7\246\uffe7\251\uffe7\001\002\000\172\031\uffdb"); - sb.append("\033\uffdb\071\uffdb\072\uffdb\073\uffdb\111\uffdb\112\uffdb\113"); - sb.append("\uffdb\127\uffdb\130\uffdb\131\uffdb\132\uffdb\134\uffdb\135\uffdb"); - sb.append("\136\uffdb\137\uffdb\140\uffdb\141\uffdb\142\uffdb\143\uffdb\144"); - sb.append("\uffdb\145\uffdb\146\uffdb\147\uffdb\150\uffdb\151\uffdb\152\uffdb"); - sb.append("\153\uffdb\154\uffdb\155\uffdb\156\uffdb\157\uffdb\160\uffdb\161"); - sb.append("\uffdb\162\uffdb\163\uffdb\164\uffdb\165\uffdb\166\uffdb\167\uffdb"); - sb.append("\170\uffdb\171\uffdb\172\uffdb\173\uffdb\174\uffdb\175\uffdb\176"); - sb.append("\uffdb\201\uffdb\202\uffdb\203\uffdb\214\uffdb\215\uffdb\230\uffdb"); - sb.append("\231\uffdb\232\uffdb\242\uffdb\243\uffdb\245\uffdb\246\uffdb\251"); - sb.append("\uffdb\001\002\000\100\031\u01d2\112\u041b\130\u01c9\131\u01da"); - sb.append("\132\u01c1\150\u01c4\152\u01c0\153\u01d3\154\u01c2\155\u01cb\156"); - sb.append("\u01d4\157\u01d9\160\u01cd\161\u01bd\162\u01ca\163\u01d7\164\u01d5"); - sb.append("\165\u01c8\166\u01c6\167\u01d6\170\u01d1\171\u01cc\172\u01db\173"); - sb.append("\u01c7\174\u01d0\175\u01ce\176\u01be\201\u01c3\242\u01c5\245\u01bf"); - sb.append("\251\u01d8\001\002\000\132\031\ufff8\033\ufff8\071\ufde0\072"); - sb.append("\ufde0\073\ufff8\111\u026f\112\ufff8\113\ufde0\127\ufff8\130\ufff8"); - sb.append("\131\ufff8\132\ufff8\150\ufff8\151\ufff8\152\ufff8\153\ufff8\154"); - sb.append("\ufff8\155\ufff8\156\ufff8\157\ufff8\160\ufff8\161\ufff8\162\ufff8"); - sb.append("\163\ufff8\164\ufff8\165\ufff8\166\ufff8\167\ufff8\170\ufff8\171"); - sb.append("\ufff8\172\ufff8\173\ufff8\174\ufff8\175\ufff8\176\ufff8\201\ufff8"); - sb.append("\214\u0270\215\ufff8\230\ufde0\231\ufff8\232\ufff8\242\ufff8\245"); - sb.append("\ufff8\251\ufff8\001\002\000\014\044\u0397\045\u0398\071\ufde2"); - sb.append("\072\ufde2\113\ufde2\001\002\000\010\156\u0224\230\uff43\251"); - sb.append("\u0227\001\002\000\012\044\222\045\u01b1\222\u03aa\247\021"); - sb.append("\001\002\000\170\004\201\006\156\007\175\010\u01af\011"); - sb.append("\204\012\075\015\031\016\071\032\u01b9\036\125\044\222"); - sb.append("\045\u01b1\054\026\062\210\063\010\074\051\075\166\077"); - sb.append("\123\100\012\101\206\102\041\103\144\104\117\105\141"); - sb.append("\115\136\116\046\121\160\122\013\123\065\124\124\125"); - sb.append("\116\126\131\133\020\172\104\173\176\177\130\200\067"); - sb.append("\202\054\203\120\204\207\205\154\206\216\207\151\210"); - sb.append("\142\211\155\212\063\213\074\214\114\216\u01b8\222\u01b0"); - sb.append("\230\u01b3\233\152\234\015\235\073\236\060\247\021\253"); - sb.append("\147\254\064\255\055\001\002\000\076\031\u01d2\130\u01c9"); - sb.append("\131\u01da\132\u01c1\150\u01c4\152\u01c0\153\u01d3\154\u01c2\155"); - sb.append("\u01cb\156\u01d4\157\u01d9\160\u01cd\161\u01bd\162\u01ca\163\u01d7"); - sb.append("\164\u01d5\165\u01c8\166\u01c6\167\u01d6\170\u01d1\171\u01cc\172"); - sb.append("\u01db\173\u01c7\174\u01d0\175\u01ce\176\u01be\201\u01c3\242\u01c5"); - sb.append("\245\u01bf\251\u01d8\001\002\000\140\031\ufd50\130\ufd50\131"); - sb.append("\ufd50\132\ufd50\134\u0371\135\u0376\136\u0372\137\u037c\140\u0375"); - sb.append("\141\u037b\142\u0378\143\u037a\144\u0374\145\u0370\146\u0377\147"); - sb.append("\u0379\150\ufd50\152\ufd50\153\ufd50\154\ufd50\155\ufd50\156\ufd50"); - sb.append("\157\ufd50\160\ufd50\161\ufd50\162\ufd50\163\ufd50\164\ufd50\165"); - sb.append("\ufd50\166\ufd50\167\ufd50\170\ufd50\171\ufd50\172\ufd50\173\ufd50"); - sb.append("\174\ufd50\175\ufd50\176\ufd50\201\ufd50\202\ufd4e\203\ufd4e\231"); - sb.append("\u041a\242\ufd50\243\u0373\245\ufd50\246\u037d\251\ufd50\001\002"); - sb.append("\000\004\231\u0419\001\002\000\114\031\ufe5f\071\ufcc7\072"); - sb.append("\ufcc7\111\ufcc7\113\ufcc7\130\ufe5f\131\ufe5f\132\ufe5f\150\ufe5f"); - sb.append("\152\ufe5f\153\ufe5f\154\ufe5f\155\ufe5f\156\ufe5f\157\ufe5f\160"); - sb.append("\ufe5f\161\ufe5f\162\ufe5f\163\ufe5f\164\ufe5f\165\ufe5f\166\ufe5f"); - sb.append("\167\ufe5f\170\ufe5f\171\ufe5f\172\ufe5f\173\ufe5f\174\ufe5f\175"); - sb.append("\ufe5f\176\ufe5f\201\ufe5f\214\ufcc7\230\ufcc7\231\u0418\242\ufe5f"); - sb.append("\245\ufe5f\251\ufe5f\001\002\000\036\010\244\012\075\065"); - sb.append("\u01f8\075\166\121\237\214\u01ec\216\u01ef\222\341\230\u01f4"); - sb.append("\233\152\247\021\253\241\254\240\255\245\001\002\000"); - sb.append("\170\004\201\006\156\007\175\010\u01af\011\204\012\075"); - sb.append("\015\031\016\071\032\106\036\125\044\222\045\u01b1\054"); - sb.append("\026\062\210\063\010\074\051\075\166\077\123\100\012"); - sb.append("\101\206\102\041\103\144\104\117\105\141\115\136\116"); - sb.append("\046\121\160\122\013\123\065\124\124\125\116\126\131"); - sb.append("\133\020\172\104\173\176\177\130\200\067\202\054\203"); - sb.append("\120\204\207\205\154\206\216\207\151\210\142\211\155"); - sb.append("\212\063\213\074\214\114\216\101\222\u01b0\230\u01b3\233"); - sb.append("\152\234\015\235\073\236\060\247\021\253\147\254\064"); - sb.append("\255\055\001\002\000\100\031\ufe60\130\ufe60\131\ufe60\132"); - sb.append("\ufe60\150\ufe60\152\ufe60\153\ufe60\154\ufe60\155\ufe60\156\ufe60"); - sb.append("\157\ufe60\160\ufe60\161\ufe60\162\ufe60\163\ufe60\164"); - sb.append("\ufe60"); - sb.append("\165"); - sb.append("\ufe60"); - sb.append("\166"); - sb.append("\ufe60"); - sb.append("\167"); - sb.append("\ufe60"); - sb.append("\170"); - sb.append("\ufe60"); - sb.append("\171"); - sb.append("\ufe60"); - sb.append("\172"); - sb.append("\ufe60"); - sb.append("\173"); - sb.append("\ufe60"); - sb.append("\174"); - sb.append("\ufe60"); - sb.append("\175"); - sb.append("\ufe60"); - sb.append("\176"); - sb.append("\ufe60"); - sb.append("\201"); - sb.append("\ufe60"); - sb.append("\231"); - sb.append("\ufd5a"); - sb.append("\242"); - sb.append("\ufe60"); - sb.append("\245"); - sb.append("\ufe60"); - sb.append("\251"); - sb.append("\ufe60"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\ufd59"); + sb.append("\uffc5\172\uffc5\173\uffc5\174\uffc5\175\uffc5\176\uffc5\177\uffc5"); + sb.append("\202\uffc5\203\uffc5\204\uffc5\215\uffc5\216\uffc5\231\uffc5\232"); + sb.append("\uffc5\233\uffc5\243\uffc5\244\uffc5\246\uffc5\247\uffc5\252\uffc5"); + sb.append("\001\002\000\174\031\uffa3\033\uffa3\071\uffa3\072\uffa3\073"); + sb.append("\uffa3\111\uffa3\112\uffa3\113\uffa3\127\uffa3\130\uffa3\131\uffa3"); + sb.append("\132\uffa3\134\uffa3\135\uffa3\136\uffa3\137\uffa3\140\uffa3\141"); + sb.append("\uffa3\142\uffa3\143\uffa3\144\uffa3\145\uffa3\146\uffa3\147\uffa3"); + sb.append("\150\uffa3\151\uffa3\152\uffa3\153\uffa3\154\uffa3\155\uffa3\156"); + sb.append("\uffa3\157\uffa3\160\uffa3\161\uffa3\162\uffa3\163\uffa3\164\uffa3"); + sb.append("\165\uffa3\166\uffa3\167\uffa3\170\uffa3\171\uffa3\172\uffa3\173"); + sb.append("\uffa3\174\uffa3\175\uffa3\176\uffa3\177\uffa3\202\uffa3\203\uffa3"); + sb.append("\204\uffa3\215\uffa3\216\uffa3\231\uffa3\232\uffa3\233\uffa3\243"); + sb.append("\uffa3\244\uffa3\246\uffa3\247\uffa3\252\uffa3\001\002\000\174"); + sb.append("\031\uffd7\033\uffd7\071\uffd7\072\uffd7\073\uffd7\111\uffd7\112"); + sb.append("\uffd7\113\uffd7\127\uffd7\130\uffd7\131\uffd7\132\uffd7\134\uffd7"); + sb.append("\135\uffd7\136\uffd7\137\uffd7\140\uffd7\141\uffd7\142\uffd7\143"); + sb.append("\uffd7\144\uffd7\145\uffd7\146\uffd7\147\uffd7\150\uffd7\151\uffd7"); + sb.append("\152\uffd7\153\uffd7\154\uffd7\155\uffd7\156\uffd7\157\uffd7\160"); + sb.append("\uffd7\161\uffd7\162\uffd7\163\uffd7\164\uffd7\165\uffd7\166\uffd7"); + sb.append("\167\uffd7\170\uffd7\171\uffd7\172\uffd7\173\uffd7\174\uffd7\175"); + sb.append("\uffd7\176\uffd7\177\uffd7\202\uffd7\203\uffd7\204\uffd7\215\uffd7"); + sb.append("\216\uffd7\231\uffd7\232\uffd7\233\uffd7\243\uffd7\244\uffd7\246"); + sb.append("\uffd7\247\uffd7\252\uffd7\001\002\000\174\031\uffd1\033\uffd1"); + sb.append("\071\uffd1\072\uffd1\073\uffd1\111\uffd1\112\uffd1\113\uffd1\127"); + sb.append("\uffd1\130\uffd1\131\uffd1\132\uffd1\134\uffd1\135\uffd1\136\uffd1"); + sb.append("\137\uffd1\140\uffd1\141\uffd1\142\uffd1\143\uffd1\144\uffd1\145"); + sb.append("\uffd1\146\uffd1\147\uffd1\150\uffd1\151\uffd1\152\uffd1\153\uffd1"); + sb.append("\154\uffd1\155\uffd1\156\uffd1\157\uffd1\160\uffd1\161\uffd1\162"); + sb.append("\uffd1\163\uffd1\164\uffd1\165\uffd1\166\uffd1\167\uffd1\170\uffd1"); + sb.append("\171\uffd1\172\uffd1\173\uffd1\174\uffd1\175\uffd1\176\uffd1\177"); + sb.append("\uffd1\202\uffd1\203\uffd1\204\uffd1\215\uffd1\216\uffd1\231\uffd1"); + sb.append("\232\uffd1\233\uffd1\243\uffd1\244\uffd1\246\uffd1\247\uffd1\252"); + sb.append("\uffd1\001\002\000\174\031\uffd5\033\uffd5\071\uffd5\072\uffd5"); + sb.append("\073\uffd5\111\uffd5\112\uffd5\113\uffd5\127\uffd5\130\uffd5\131"); + sb.append("\uffd5\132\uffd5\134\uffd5\135\uffd5\136\uffd5\137\uffd5\140\uffd5"); + sb.append("\141\uffd5\142\uffd5\143\uffd5\144\uffd5\145\uffd5\146\uffd5\147"); + sb.append("\uffd5\150\uffd5\151\uffd5\152\uffd5\153\uffd5\154\uffd5\155\uffd5"); + sb.append("\156\uffd5\157\uffd5\160\uffd5\161\uffd5\162\uffd5\163\uffd5\164"); + sb.append("\uffd5\165\uffd5\166\uffd5\167\uffd5\170\uffd5\171\uffd5\172\uffd5"); + sb.append("\173\uffd5\174\uffd5\175\uffd5\176\uffd5\177\uffd5\202\uffd5\203"); + sb.append("\uffd5\204\uffd5\215\uffd5\216\uffd5\231\uffd5\232\uffd5\233\uffd5"); + sb.append("\243\uffd5\244\uffd5\246\uffd5\247\uffd5\252\uffd5\001\002\000"); + sb.append("\174\031\uffe7\033\uffe7\071\uffe7\072\uffe7\073\uffe7\111\uffe7"); + sb.append("\112\uffe7\113\uffe7\127\uffe7\130\uffe7\131\uffe7\132\uffe7\134"); + sb.append("\uffe7\135\uffe7\136\uffe7\137\uffe7\140\uffe7\141\uffe7\142\uffe7"); + sb.append("\143\uffe7\144\uffe7\145\uffe7\146\uffe7\147\uffe7\150\uffe7\151"); + sb.append("\uffe7\152\uffe7\153\uffe7\154\uffe7\155\uffe7\156\uffe7\157\uffe7"); + sb.append("\160\uffe7\161\uffe7\162\uffe7\163\uffe7\164\uffe7\165\uffe7\166"); + sb.append("\uffe7\167\uffe7\170\uffe7\171\uffe7\172\uffe7\173\uffe7\174\uffe7"); + sb.append("\175\uffe7\176\uffe7\177\uffe7\202\uffe7\203\uffe7\204\uffe7\215"); + sb.append("\uffe7\216\uffe7\231\uffe7\232\uffe7\233\uffe7\243\uffe7\244\uffe7"); + sb.append("\246\uffe7\247\uffe7\252\uffe7\001\002\000\174\031\uffdb\033"); + sb.append("\uffdb\071\uffdb\072\uffdb\073\uffdb\111\uffdb\112\uffdb\113\uffdb"); + sb.append("\127\uffdb\130\uffdb\131\uffdb\132\uffdb\134\uffdb\135\uffdb\136"); + sb.append("\uffdb\137\uffdb\140\uffdb\141\uffdb\142\uffdb\143\uffdb\144\uffdb"); + sb.append("\145\uffdb\146\uffdb\147\uffdb\150\uffdb\151\uffdb\152\uffdb\153"); + sb.append("\uffdb\154\uffdb\155\uffdb\156\uffdb\157\uffdb\160\uffdb\161\uffdb"); + sb.append("\162\uffdb\163\uffdb\164\uffdb\165\uffdb\166\uffdb\167\uffdb\170"); + sb.append("\uffdb\171\uffdb\172\uffdb\173\uffdb\174\uffdb\175\uffdb\176\uffdb"); + sb.append("\177\uffdb\202\uffdb\203\uffdb\204\uffdb\215\uffdb\216\uffdb\231"); + sb.append("\uffdb\232\uffdb\233\uffdb\243\uffdb\244\uffdb\246\uffdb\247\uffdb"); + sb.append("\252\uffdb\001\002\000\102\031\u01d4\112\u041f\130\u01cb\131"); + sb.append("\u01dd\132\u01c3\150\u01c6\152\u01c2\153\u01d5\154\u01d9\155\u01c4"); + sb.append("\156\u01cd\157\u01d6\160\u01dc\161\u01cf\162\u01bf\163\u01cc\164"); + sb.append("\u01da\165\u01d8\166\u01ca\167\u01c8\170\u01d7\171\u01d3\172\u01ce"); + sb.append("\173\u01de\174\u01c9\175\u01d2\176\u01d0\177\u01c1\202\u01c5\243"); + sb.append("\u01c7\246\u01c0\252\u01db\001\002\000\134\031\ufff8\033\ufff8"); + sb.append("\071\ufddf\072\ufddf\073\ufff8\111\u0273\112\ufff8\113\ufddf\127"); + sb.append("\ufff8"); sb.append("\130"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\131"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\132"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\150"); - sb.append("\ufd59"); + sb.append("\ufff8"); + sb.append("\151"); + sb.append("\ufff8"); sb.append("\152"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\153"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\154"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\155"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\156"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\157"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\160"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\161"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\162"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\163"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\164"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\165"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\166"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\167"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\170"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\171"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\172"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\173"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\174"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\175"); - sb.append("\ufd59"); + sb.append("\ufff8"); sb.append("\176"); - sb.append("\ufd59"); - sb.append("\201"); - sb.append("\ufd59"); + sb.append("\ufff8"); + sb.append("\177"); + sb.append("\ufff8"); + sb.append("\202"); + sb.append("\ufff8"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufff8"); sb.append("\231"); - sb.append("\ufd5b"); - sb.append("\242"); - sb.append("\ufd59"); - sb.append("\245"); - sb.append("\ufd59"); - sb.append("\251"); - sb.append("\ufd59"); + sb.append("\ufddf"); + sb.append("\232"); + sb.append("\ufff8"); + sb.append("\233"); + sb.append("\ufff8"); + sb.append("\243"); + sb.append("\ufff8"); + sb.append("\246"); + sb.append("\ufff8"); + sb.append("\252"); + sb.append("\ufff8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\ufe5d"); - sb.append("\130"); - sb.append("\ufe5d"); - sb.append("\131"); - sb.append("\ufe5d"); - sb.append("\132"); - sb.append("\ufe5d"); - sb.append("\150"); - sb.append("\ufe5d"); - sb.append("\152"); - sb.append("\ufe5d"); - sb.append("\153"); - sb.append("\ufe5d"); - sb.append("\154"); - sb.append("\ufe5d"); - sb.append("\155"); - sb.append("\ufe5d"); - sb.append("\156"); - sb.append("\ufe5d"); + sb.append("\014"); + sb.append("\044"); + sb.append("\u039b"); + sb.append("\045"); + sb.append("\u039c"); + sb.append("\071"); + sb.append("\ufde1"); + sb.append("\072"); + sb.append("\ufde1"); + sb.append("\113"); + sb.append("\ufde1"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); sb.append("\157"); - sb.append("\ufe5d"); - sb.append("\160"); - sb.append("\ufe5d"); - sb.append("\161"); - sb.append("\ufe5d"); - sb.append("\162"); - sb.append("\ufe5d"); - sb.append("\163"); - sb.append("\ufe5d"); - sb.append("\164"); - sb.append("\ufe5d"); - sb.append("\165"); - sb.append("\ufe5d"); - sb.append("\166"); - sb.append("\ufe5d"); - sb.append("\167"); - sb.append("\ufe5d"); - sb.append("\170"); - sb.append("\ufe5d"); - sb.append("\171"); - sb.append("\ufe5d"); - sb.append("\172"); - sb.append("\ufe5d"); - sb.append("\173"); - sb.append("\ufe5d"); - sb.append("\174"); - sb.append("\ufe5d"); - sb.append("\175"); - sb.append("\ufe5d"); - sb.append("\176"); - sb.append("\ufe5d"); - sb.append("\201"); - sb.append("\ufe5d"); + sb.append("\u0228"); sb.append("\231"); - sb.append("\u01cf"); - sb.append("\242"); - sb.append("\ufe5d"); - sb.append("\245"); - sb.append("\ufe5d"); - sb.append("\251"); - sb.append("\ufe5d"); + sb.append("\uff43"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\223"); + sb.append("\u03ae"); + sb.append("\250"); + sb.append("\021"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2881,13 +2818,13 @@ protected EncodedActionTable1() { sb.append("\016"); sb.append("\071"); sb.append("\032"); - sb.append("\106"); + sb.append("\u01bb"); sb.append("\036"); sb.append("\125"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2930,70 +2867,354 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\217"); + sb.append("\u01ba"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\100"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\142"); + sb.append("\031"); + sb.append("\ufd4e"); + sb.append("\130"); + sb.append("\ufd4e"); + sb.append("\131"); + sb.append("\ufd4e"); + sb.append("\132"); + sb.append("\ufd4e"); + sb.append("\134"); + sb.append("\u0375"); + sb.append("\135"); + sb.append("\u037a"); + sb.append("\136"); + sb.append("\u0376"); + sb.append("\137"); + sb.append("\u0380"); + sb.append("\140"); + sb.append("\u0379"); + sb.append("\141"); + sb.append("\u037f"); + sb.append("\142"); + sb.append("\u037c"); + sb.append("\143"); + sb.append("\u037e"); + sb.append("\144"); + sb.append("\u0378"); + sb.append("\145"); + sb.append("\u0374"); + sb.append("\146"); + sb.append("\u037b"); + sb.append("\147"); + sb.append("\u037d"); + sb.append("\150"); + sb.append("\ufd4e"); + sb.append("\152"); + sb.append("\ufd4e"); + sb.append("\153"); + sb.append("\ufd4e"); + sb.append("\154"); + sb.append("\ufd4e"); + sb.append("\155"); + sb.append("\ufd4e"); + sb.append("\156"); + sb.append("\ufd4e"); + sb.append("\157"); + sb.append("\ufd4e"); + sb.append("\160"); + sb.append("\ufd4e"); + sb.append("\161"); + sb.append("\ufd4e"); + sb.append("\162"); + sb.append("\ufd4e"); + sb.append("\163"); + sb.append("\ufd4e"); + sb.append("\164"); + sb.append("\ufd4e"); + sb.append("\165"); + sb.append("\ufd4e"); + sb.append("\166"); + sb.append("\ufd4e"); + sb.append("\167"); + sb.append("\ufd4e"); + sb.append("\170"); + sb.append("\ufd4e"); + sb.append("\171"); + sb.append("\ufd4e"); + sb.append("\172"); + sb.append("\ufd4e"); + sb.append("\173"); + sb.append("\ufd4e"); + sb.append("\174"); + sb.append("\ufd4e"); + sb.append("\175"); + sb.append("\ufd4e"); + sb.append("\176"); + sb.append("\ufd4e"); + sb.append("\177"); + sb.append("\ufd4e"); + sb.append("\202"); + sb.append("\ufd4e"); + sb.append("\203"); + sb.append("\ufd4c"); + sb.append("\204"); + sb.append("\ufd4c"); + sb.append("\232"); + sb.append("\u041e"); + sb.append("\243"); + sb.append("\ufd4e"); + sb.append("\244"); + sb.append("\u0377"); + sb.append("\246"); + sb.append("\ufd4e"); + sb.append("\247"); + sb.append("\u0381"); + sb.append("\252"); + sb.append("\ufd4e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u041d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\116"); + sb.append("\031"); + sb.append("\ufe5f"); + sb.append("\071"); + sb.append("\ufcc5"); + sb.append("\072"); + sb.append("\ufcc5"); + sb.append("\111"); + sb.append("\ufcc5"); + sb.append("\113"); + sb.append("\ufcc5"); + sb.append("\130"); + sb.append("\ufe5f"); + sb.append("\131"); + sb.append("\ufe5f"); + sb.append("\132"); + sb.append("\ufe5f"); + sb.append("\150"); + sb.append("\ufe5f"); + sb.append("\152"); + sb.append("\ufe5f"); + sb.append("\153"); + sb.append("\ufe5f"); + sb.append("\154"); + sb.append("\ufe5f"); + sb.append("\155"); + sb.append("\ufe5f"); + sb.append("\156"); + sb.append("\ufe5f"); + sb.append("\157"); + sb.append("\ufe5f"); + sb.append("\160"); + sb.append("\ufe5f"); + sb.append("\161"); + sb.append("\ufe5f"); + sb.append("\162"); + sb.append("\ufe5f"); + sb.append("\163"); + sb.append("\ufe5f"); + sb.append("\164"); + sb.append("\ufe5f"); + sb.append("\165"); + sb.append("\ufe5f"); + sb.append("\166"); + sb.append("\ufe5f"); + sb.append("\167"); + sb.append("\ufe5f"); + sb.append("\170"); + sb.append("\ufe5f"); + sb.append("\171"); + sb.append("\ufe5f"); + sb.append("\172"); + sb.append("\ufe5f"); + sb.append("\173"); + sb.append("\ufe5f"); + sb.append("\174"); + sb.append("\ufe5f"); + sb.append("\175"); + sb.append("\ufe5f"); + sb.append("\176"); + sb.append("\ufe5f"); + sb.append("\177"); + sb.append("\ufe5f"); + sb.append("\202"); + sb.append("\ufe5f"); + sb.append("\215"); + sb.append("\ufcc5"); + sb.append("\231"); + sb.append("\ufcc5"); + sb.append("\232"); + sb.append("\u041c"); + sb.append("\243"); + sb.append("\ufe5f"); + sb.append("\246"); + sb.append("\ufe5f"); + sb.append("\252"); + sb.append("\ufe5f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\036"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\065"); + sb.append("\u01fc"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01f8"); + sb.append("\234"); + sb.append("\152"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3009,7 +3230,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3052,558 +3273,274 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); + sb.append("\031"); + sb.append("\ufe60"); sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); + sb.append("\ufe60"); + sb.append("\131"); + sb.append("\ufe60"); + sb.append("\132"); + sb.append("\ufe60"); + sb.append("\150"); + sb.append("\ufe60"); + sb.append("\152"); + sb.append("\ufe60"); + sb.append("\153"); + sb.append("\ufe60"); sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); + sb.append("\ufe60"); sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); + sb.append("\ufe60"); sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); + sb.append("\ufe60"); + sb.append("\157"); + sb.append("\ufe60"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufe60"); + sb.append("\161"); + sb.append("\ufe60"); + sb.append("\162"); + sb.append("\ufe60"); + sb.append("\163"); + sb.append("\ufe60"); + sb.append("\164"); + sb.append("\ufe60"); + sb.append("\165"); + sb.append("\ufe60"); + sb.append("\166"); + sb.append("\ufe60"); + sb.append("\167"); + sb.append("\ufe60"); + sb.append("\170"); + sb.append("\ufe60"); + sb.append("\171"); + sb.append("\ufe60"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufe60"); sb.append("\173"); + sb.append("\ufe60"); + sb.append("\174"); + sb.append("\ufe60"); + sb.append("\175"); + sb.append("\ufe60"); sb.append("\176"); + sb.append("\ufe60"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufe60"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufe60"); + sb.append("\232"); + sb.append("\ufd58"); + sb.append("\243"); + sb.append("\ufe60"); + sb.append("\246"); + sb.append("\ufe60"); + sb.append("\252"); + sb.append("\ufe60"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\031"); + sb.append("\ufd57"); + sb.append("\130"); + sb.append("\ufd57"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufd57"); + sb.append("\132"); + sb.append("\ufd57"); + sb.append("\150"); + sb.append("\ufd57"); + sb.append("\152"); + sb.append("\ufd57"); + sb.append("\153"); + sb.append("\ufd57"); + sb.append("\154"); + sb.append("\ufd57"); + sb.append("\155"); + sb.append("\ufd57"); + sb.append("\156"); + sb.append("\ufd57"); + sb.append("\157"); + sb.append("\ufd57"); + sb.append("\160"); + sb.append("\ufd57"); + sb.append("\161"); + sb.append("\ufd57"); + sb.append("\162"); + sb.append("\ufd57"); + sb.append("\163"); + sb.append("\ufd57"); + sb.append("\164"); + sb.append("\ufd57"); + sb.append("\165"); + sb.append("\ufd57"); + sb.append("\166"); + sb.append("\ufd57"); + sb.append("\167"); + sb.append("\ufd57"); + sb.append("\170"); + sb.append("\ufd57"); + sb.append("\171"); + sb.append("\ufd57"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufd57"); sb.append("\173"); + sb.append("\ufd57"); + sb.append("\174"); + sb.append("\ufd57"); + sb.append("\175"); + sb.append("\ufd57"); sb.append("\176"); + sb.append("\ufd57"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufd57"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd57"); + sb.append("\232"); + sb.append("\ufd59"); + sb.append("\243"); + sb.append("\ufd57"); + sb.append("\246"); + sb.append("\ufd57"); + sb.append("\252"); + sb.append("\ufd57"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\031"); + sb.append("\ufe5d"); + sb.append("\130"); + sb.append("\ufe5d"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufe5d"); + sb.append("\132"); + sb.append("\ufe5d"); + sb.append("\150"); + sb.append("\ufe5d"); + sb.append("\152"); + sb.append("\ufe5d"); + sb.append("\153"); + sb.append("\ufe5d"); + sb.append("\154"); + sb.append("\ufe5d"); + sb.append("\155"); + sb.append("\ufe5d"); + sb.append("\156"); + sb.append("\ufe5d"); + sb.append("\157"); + sb.append("\ufe5d"); + sb.append("\160"); + sb.append("\ufe5d"); + sb.append("\161"); + sb.append("\ufe5d"); + sb.append("\162"); + sb.append("\ufe5d"); + sb.append("\163"); + sb.append("\ufe5d"); + sb.append("\164"); + sb.append("\ufe5d"); + sb.append("\165"); + sb.append("\ufe5d"); + sb.append("\166"); + sb.append("\ufe5d"); + sb.append("\167"); + sb.append("\ufe5d"); + sb.append("\170"); + sb.append("\ufe5d"); + sb.append("\171"); + sb.append("\ufe5d"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufe5d"); sb.append("\173"); + sb.append("\ufe5d"); + sb.append("\174"); + sb.append("\ufe5d"); + sb.append("\175"); + sb.append("\ufe5d"); sb.append("\176"); + sb.append("\ufe5d"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufe5d"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufe5d"); + sb.append("\232"); + sb.append("\u01d1"); + sb.append("\243"); + sb.append("\ufe5d"); + sb.append("\246"); + sb.append("\ufe5d"); + sb.append("\252"); + sb.append("\ufe5d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3619,7 +3556,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3662,70 +3599,70 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3741,7 +3678,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3784,72 +3721,70 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\232"); - sb.append("\u040a"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3865,7 +3800,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3908,70 +3843,70 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3987,7 +3922,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -4030,70 +3965,70 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -4109,7 +4044,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -4152,70 +4087,70 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -4231,7 +4166,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -4274,70 +4209,70 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -4353,7 +4288,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -4396,70 +4331,70 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\172"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -4475,7 +4410,7 @@ protected EncodedActionTable1() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -4518,15 +4453,81 @@ protected EncodedActionTable1() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); + sb.append("\203"); sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\233"); + sb.append("\u040e"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java index 6c6baebd6f03..2af1cdbe4844 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,4505 +29,4505 @@ public String getTableData() { } protected EncodedActionTable10() { sb = new StringBuilder(); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufebc"); - sb.append("\231"); - sb.append("\ufebc"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\104"); + sb.append("\u01ce"); sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); sb.append("\176"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\u01c5"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufe4c"); + sb.append("\232"); + sb.append("\ufe4c"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufebd"); - sb.append("\231"); - sb.append("\ufebd"); + sb.append("\ufe4c"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe11"); + sb.append("\ufe51"); sb.append("\073"); - sb.append("\ufe11"); + sb.append("\ufe51"); sb.append("\112"); - sb.append("\ufe11"); + sb.append("\ufe51"); sb.append("\127"); - sb.append("\ufe11"); + sb.append("\ufe51"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufe51"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufe51"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufe51"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe11"); + sb.append("\ufe51"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe11"); - sb.append("\231"); - sb.append("\ufe11"); - sb.append("\232"); - sb.append("\ufe11"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\216"); + sb.append("\ufe51"); + sb.append("\232"); + sb.append("\ufe51"); + sb.append("\233"); + sb.append("\ufe51"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\230"); - sb.append("\uff43"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe4d"); + sb.append("\073"); + sb.append("\ufe4d"); + sb.append("\112"); + sb.append("\ufe4d"); + sb.append("\127"); + sb.append("\ufe4d"); + sb.append("\130"); + sb.append("\ufe4d"); + sb.append("\131"); + sb.append("\ufe4d"); + sb.append("\132"); + sb.append("\ufe4d"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe4d"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u0224"); - sb.append("\230"); - sb.append("\uff43"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u039a"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe4d"); + sb.append("\232"); + sb.append("\ufe4d"); + sb.append("\233"); + sb.append("\ufe4d"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\056"); - sb.append("\010"); - sb.append("\ufef5"); - sb.append("\012"); - sb.append("\ufef5"); - sb.append("\075"); - sb.append("\ufef5"); - sb.append("\076"); - sb.append("\ufef5"); - sb.append("\121"); - sb.append("\ufef5"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe56"); + sb.append("\073"); + sb.append("\ufe56"); + sb.append("\112"); + sb.append("\ufe56"); + sb.append("\127"); + sb.append("\ufe56"); + sb.append("\130"); + sb.append("\ufe56"); + sb.append("\131"); + sb.append("\ufe56"); + sb.append("\132"); + sb.append("\ufe56"); sb.append("\150"); - sb.append("\ufef5"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe56"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufef5"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\230"); - sb.append("\ufef5"); - sb.append("\231"); - sb.append("\ufefa"); - sb.append("\244"); - sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\251"); - sb.append("\ufef5"); - sb.append("\253"); - sb.append("\ufef5"); - sb.append("\254"); - sb.append("\ufef5"); - sb.append("\255"); - sb.append("\ufef5"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe56"); + sb.append("\232"); + sb.append("\ufe56"); + sb.append("\233"); + sb.append("\ufe56"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u039c"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe53"); + sb.append("\073"); + sb.append("\ufe53"); + sb.append("\112"); + sb.append("\ufe53"); + sb.append("\127"); + sb.append("\ufe53"); + sb.append("\130"); + sb.append("\ufe53"); + sb.append("\131"); + sb.append("\ufe53"); + sb.append("\132"); + sb.append("\ufe53"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe53"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe53"); + sb.append("\232"); + sb.append("\ufe53"); + sb.append("\233"); + sb.append("\ufe53"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); - sb.append("\056"); - sb.append("\u039d"); - sb.append("\111"); - sb.append("\ufe02"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe4f"); + sb.append("\073"); + sb.append("\ufe4f"); + sb.append("\112"); + sb.append("\ufe4f"); + sb.append("\127"); + sb.append("\ufe4f"); + sb.append("\130"); + sb.append("\ufe4f"); + sb.append("\131"); + sb.append("\ufe4f"); + sb.append("\132"); + sb.append("\ufe4f"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe4f"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe4f"); sb.append("\232"); - sb.append("\ufe02"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u03b1"); + sb.append("\ufe4f"); + sb.append("\233"); + sb.append("\ufe4f"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\ufee2"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe57"); + sb.append("\073"); + sb.append("\ufe57"); + sb.append("\112"); + sb.append("\ufe57"); + sb.append("\127"); + sb.append("\ufe57"); + sb.append("\130"); + sb.append("\ufe57"); + sb.append("\131"); + sb.append("\ufe57"); + sb.append("\132"); + sb.append("\ufe57"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe57"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe57"); sb.append("\232"); - sb.append("\u0242"); + sb.append("\ufe57"); + sb.append("\233"); + sb.append("\ufe57"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\111"); - sb.append("\u03a0"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe55"); + sb.append("\073"); + sb.append("\ufe55"); + sb.append("\112"); + sb.append("\ufe55"); + sb.append("\127"); + sb.append("\ufe55"); + sb.append("\130"); + sb.append("\ufe55"); + sb.append("\131"); + sb.append("\ufe55"); + sb.append("\132"); + sb.append("\ufe55"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe55"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe55"); + sb.append("\232"); + sb.append("\ufe55"); + sb.append("\233"); + sb.append("\ufe55"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\uff7c"); - sb.append("\004"); - sb.append("\uff7c"); - sb.append("\005"); - sb.append("\uff7c"); - sb.append("\006"); - sb.append("\uff7c"); - sb.append("\007"); - sb.append("\uff7c"); + sb.append("\034"); sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); + sb.append("\244"); sb.append("\012"); - sb.append("\uff7c"); - sb.append("\014"); - sb.append("\uff7c"); - sb.append("\015"); - sb.append("\uff7c"); + sb.append("\075"); sb.append("\016"); - sb.append("\uff7c"); - sb.append("\017"); - sb.append("\uff7c"); - sb.append("\020"); - sb.append("\uff7c"); - sb.append("\021"); - sb.append("\uff7c"); - sb.append("\023"); - sb.append("\uff7c"); - sb.append("\025"); - sb.append("\uff7c"); - sb.append("\027"); - sb.append("\uff7c"); - sb.append("\032"); - sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); - sb.append("\036"); - sb.append("\uff7c"); - sb.append("\041"); - sb.append("\uff7c"); - sb.append("\042"); - sb.append("\uff7c"); - sb.append("\043"); - sb.append("\uff7c"); - sb.append("\044"); - sb.append("\uff7c"); - sb.append("\045"); - sb.append("\uff7c"); - sb.append("\047"); - sb.append("\uff7c"); - sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); - sb.append("\052"); - sb.append("\uff7c"); - sb.append("\054"); - sb.append("\uff7c"); - sb.append("\056"); - sb.append("\uff7c"); - sb.append("\057"); - sb.append("\uff7c"); - sb.append("\061"); - sb.append("\uff7c"); - sb.append("\062"); - sb.append("\uff7c"); - sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); - sb.append("\074"); - sb.append("\uff7c"); + sb.append("\u033c"); sb.append("\075"); - sb.append("\uff7c"); - sb.append("\077"); - sb.append("\uff7c"); - sb.append("\100"); - sb.append("\uff7c"); - sb.append("\101"); - sb.append("\uff7c"); - sb.append("\102"); - sb.append("\uff7c"); - sb.append("\103"); - sb.append("\uff7c"); - sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); - sb.append("\111"); - sb.append("\uff7c"); - sb.append("\112"); - sb.append("\uff7c"); - sb.append("\115"); - sb.append("\uff7c"); - sb.append("\116"); - sb.append("\uff7c"); - sb.append("\120"); - sb.append("\uff7c"); + sb.append("\166"); sb.append("\121"); - sb.append("\uff7c"); - sb.append("\122"); - sb.append("\uff7c"); - sb.append("\123"); - sb.append("\uff7c"); - sb.append("\124"); - sb.append("\uff7c"); - sb.append("\125"); - sb.append("\uff7c"); - sb.append("\126"); - sb.append("\uff7c"); - sb.append("\133"); - sb.append("\uff7c"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u0390"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe5a"); + sb.append("\033"); + sb.append("\ufe5a"); + sb.append("\073"); + sb.append("\ufe5a"); + sb.append("\112"); + sb.append("\ufe5a"); + sb.append("\127"); + sb.append("\ufe5a"); + sb.append("\130"); + sb.append("\ufe5a"); + sb.append("\131"); + sb.append("\ufe5a"); + sb.append("\132"); + sb.append("\ufe5a"); + sb.append("\150"); + sb.append("\ufe5a"); sb.append("\151"); - sb.append("\uff7c"); + sb.append("\ufe5a"); + sb.append("\152"); + sb.append("\ufe5a"); + sb.append("\153"); + sb.append("\ufe5a"); + sb.append("\154"); + sb.append("\ufe5a"); + sb.append("\155"); + sb.append("\ufe5a"); + sb.append("\156"); + sb.append("\ufe5a"); + sb.append("\157"); + sb.append("\ufe5a"); + sb.append("\160"); + sb.append("\ufe5a"); + sb.append("\161"); + sb.append("\ufe5a"); + sb.append("\162"); + sb.append("\ufe5a"); + sb.append("\163"); + sb.append("\ufe5a"); + sb.append("\164"); + sb.append("\ufe5a"); + sb.append("\165"); + sb.append("\ufe5a"); + sb.append("\166"); + sb.append("\ufe5a"); + sb.append("\167"); + sb.append("\ufe5a"); + sb.append("\170"); + sb.append("\ufe5a"); + sb.append("\171"); + sb.append("\ufe5a"); sb.append("\172"); - sb.append("\uff7c"); + sb.append("\ufe5a"); sb.append("\173"); - sb.append("\uff7c"); + sb.append("\ufe5a"); + sb.append("\174"); + sb.append("\ufe5a"); + sb.append("\175"); + sb.append("\ufe5a"); + sb.append("\176"); + sb.append("\ufe5a"); sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); + sb.append("\ufe5a"); sb.append("\202"); - sb.append("\uff7c"); - sb.append("\203"); - sb.append("\uff7c"); - sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); + sb.append("\ufe5a"); sb.append("\216"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); - sb.append("\223"); - sb.append("\uff7c"); - sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); + sb.append("\ufe5a"); + sb.append("\232"); + sb.append("\ufe5a"); sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); - sb.append("\250"); - sb.append("\uff7c"); + sb.append("\ufe5a"); + sb.append("\243"); + sb.append("\ufe5a"); + sb.append("\246"); + sb.append("\ufe5a"); sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); - sb.append("\254"); - sb.append("\uff7c"); - sb.append("\255"); - sb.append("\uff7c"); + sb.append("\ufe5a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\211"); - sb.append("\004"); - sb.append("\201"); - sb.append("\005"); - sb.append("\164"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\036"); sb.append("\010"); - sb.append("\217"); - sb.append("\011"); - sb.append("\204"); + sb.append("\244"); sb.append("\012"); sb.append("\075"); - sb.append("\014"); - sb.append("\007"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\023"); - sb.append("\145"); - sb.append("\025"); - sb.append("\200"); - sb.append("\027"); - sb.append("\203"); - sb.append("\032"); - sb.append("\106"); - sb.append("\034"); - sb.append("\113"); - sb.append("\036"); - sb.append("\125"); - sb.append("\041"); - sb.append("\033"); - sb.append("\042"); - sb.append("\040"); - sb.append("\043"); - sb.append("\226"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\023"); - sb.append("\047"); - sb.append("\212"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\052"); - sb.append("\057"); - sb.append("\054"); - sb.append("\026"); - sb.append("\056"); - sb.append("\u03a5"); - sb.append("\057"); - sb.append("\016"); - sb.append("\061"); - sb.append("\110"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); sb.append("\065"); - sb.append("\027"); - sb.append("\066"); - sb.append("\111"); - sb.append("\074"); - sb.append("\051"); + sb.append("\u01fc"); sb.append("\075"); sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\111"); - sb.append("\157"); - sb.append("\112"); - sb.append("\u03a3"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\120"); - sb.append("\172"); sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01f8"); + sb.append("\234"); + sb.append("\152"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe59"); + sb.append("\033"); + sb.append("\ufe59"); + sb.append("\073"); + sb.append("\ufe59"); + sb.append("\112"); + sb.append("\ufe59"); + sb.append("\127"); + sb.append("\ufe59"); + sb.append("\130"); + sb.append("\ufe59"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufe59"); + sb.append("\132"); + sb.append("\ufe59"); + sb.append("\150"); + sb.append("\ufe59"); sb.append("\151"); + sb.append("\ufe59"); + sb.append("\152"); + sb.append("\ufe59"); + sb.append("\153"); + sb.append("\ufe59"); + sb.append("\154"); + sb.append("\ufe59"); + sb.append("\155"); + sb.append("\ufe59"); + sb.append("\156"); + sb.append("\ufe59"); + sb.append("\157"); + sb.append("\ufe59"); + sb.append("\160"); + sb.append("\ufe59"); + sb.append("\161"); + sb.append("\ufe59"); + sb.append("\162"); + sb.append("\ufe59"); + sb.append("\163"); + sb.append("\ufe59"); + sb.append("\164"); + sb.append("\ufe59"); + sb.append("\165"); + sb.append("\ufe59"); + sb.append("\166"); + sb.append("\ufe59"); + sb.append("\167"); + sb.append("\ufe59"); + sb.append("\170"); + sb.append("\ufe59"); sb.append("\171"); + sb.append("\ufe59"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufe59"); sb.append("\173"); + sb.append("\ufe59"); + sb.append("\174"); + sb.append("\ufe59"); + sb.append("\175"); + sb.append("\ufe59"); sb.append("\176"); + sb.append("\ufe59"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufe59"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); + sb.append("\ufe59"); sb.append("\216"); - sb.append("\207"); + sb.append("\ufe59"); + sb.append("\232"); + sb.append("\ufe59"); + sb.append("\233"); + sb.append("\ufe59"); + sb.append("\243"); + sb.append("\ufe59"); + sb.append("\246"); + sb.append("\ufe59"); + sb.append("\252"); + sb.append("\ufe59"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\122"); + sb.append("\031"); + sb.append("\ufdcd"); + sb.append("\033"); + sb.append("\ufdcd"); + sb.append("\073"); + sb.append("\ufdcd"); + sb.append("\112"); + sb.append("\ufdcd"); + sb.append("\127"); + sb.append("\ufdcd"); + sb.append("\130"); + sb.append("\ufdcd"); + sb.append("\131"); + sb.append("\ufdcd"); + sb.append("\132"); + sb.append("\ufdcd"); + sb.append("\150"); + sb.append("\ufdcd"); sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); + sb.append("\ufdcd"); + sb.append("\152"); + sb.append("\ufdcd"); + sb.append("\153"); + sb.append("\ufdcd"); + sb.append("\154"); + sb.append("\ufdcd"); sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufdcd"); + sb.append("\156"); + sb.append("\ufdcd"); + sb.append("\157"); + sb.append("\ufdcd"); + sb.append("\160"); + sb.append("\ufdcd"); + sb.append("\161"); + sb.append("\ufdcd"); + sb.append("\162"); + sb.append("\ufdcd"); + sb.append("\163"); + sb.append("\ufdcd"); + sb.append("\164"); + sb.append("\ufdcd"); + sb.append("\165"); + sb.append("\ufdcd"); + sb.append("\166"); + sb.append("\ufdcd"); + sb.append("\167"); + sb.append("\ufdcd"); + sb.append("\170"); + sb.append("\ufdcd"); + sb.append("\171"); + sb.append("\ufdcd"); + sb.append("\172"); + sb.append("\ufdcd"); + sb.append("\173"); + sb.append("\ufdcd"); + sb.append("\174"); + sb.append("\ufdcd"); + sb.append("\175"); + sb.append("\ufdcd"); + sb.append("\176"); + sb.append("\ufdcd"); + sb.append("\177"); + sb.append("\ufdcd"); + sb.append("\202"); + sb.append("\ufdcd"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); + sb.append("\ufdcd"); sb.append("\231"); + sb.append("\u01ff"); + sb.append("\232"); + sb.append("\ufdcd"); + sb.append("\233"); + sb.append("\ufdcd"); + sb.append("\243"); + sb.append("\ufdcd"); + sb.append("\246"); + sb.append("\ufdcd"); sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufdcd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\312"); - sb.append("\003"); - sb.append("\uff7d"); - sb.append("\004"); - sb.append("\uff7d"); - sb.append("\005"); - sb.append("\uff7d"); - sb.append("\006"); - sb.append("\uff7d"); - sb.append("\007"); - sb.append("\uff7d"); - sb.append("\010"); - sb.append("\uff7d"); - sb.append("\011"); - sb.append("\uff7d"); - sb.append("\012"); - sb.append("\uff7d"); - sb.append("\014"); - sb.append("\uff7d"); - sb.append("\015"); - sb.append("\uff7d"); - sb.append("\016"); - sb.append("\uff7d"); - sb.append("\017"); - sb.append("\uff7d"); - sb.append("\020"); - sb.append("\uff7d"); - sb.append("\021"); - sb.append("\uff7d"); - sb.append("\022"); - sb.append("\uff7d"); - sb.append("\023"); - sb.append("\uff7d"); - sb.append("\024"); - sb.append("\uff7d"); - sb.append("\025"); - sb.append("\uff7d"); - sb.append("\026"); - sb.append("\uff7d"); - sb.append("\027"); - sb.append("\uff7d"); - sb.append("\030"); - sb.append("\uff7d"); - sb.append("\032"); - sb.append("\uff7d"); - sb.append("\034"); - sb.append("\uff7d"); - sb.append("\035"); - sb.append("\uff7d"); - sb.append("\036"); - sb.append("\uff7d"); - sb.append("\037"); - sb.append("\uff7d"); - sb.append("\040"); - sb.append("\uff7d"); - sb.append("\041"); - sb.append("\uff7d"); - sb.append("\042"); - sb.append("\uff7d"); - sb.append("\043"); - sb.append("\uff7d"); - sb.append("\044"); - sb.append("\uff7d"); - sb.append("\045"); - sb.append("\uff7d"); - sb.append("\047"); - sb.append("\uff7d"); - sb.append("\050"); - sb.append("\uff7d"); - sb.append("\051"); - sb.append("\uff7d"); - sb.append("\052"); - sb.append("\uff7d"); - sb.append("\054"); - sb.append("\uff7d"); - sb.append("\056"); - sb.append("\uff7d"); - sb.append("\057"); - sb.append("\uff7d"); - sb.append("\061"); - sb.append("\uff7d"); - sb.append("\062"); - sb.append("\uff7d"); - sb.append("\063"); - sb.append("\uff7d"); - sb.append("\065"); - sb.append("\uff7d"); - sb.append("\066"); - sb.append("\uff7d"); - sb.append("\074"); - sb.append("\uff7d"); - sb.append("\075"); - sb.append("\uff7d"); - sb.append("\077"); - sb.append("\uff7d"); - sb.append("\100"); - sb.append("\uff7d"); - sb.append("\101"); - sb.append("\uff7d"); - sb.append("\102"); - sb.append("\uff7d"); - sb.append("\103"); - sb.append("\uff7d"); - sb.append("\104"); - sb.append("\uff7d"); - sb.append("\105"); - sb.append("\uff7d"); - sb.append("\111"); - sb.append("\uff7d"); - sb.append("\112"); - sb.append("\uff7d"); - sb.append("\115"); - sb.append("\uff7d"); - sb.append("\116"); - sb.append("\uff7d"); sb.append("\120"); - sb.append("\uff7d"); - sb.append("\121"); - sb.append("\uff7d"); - sb.append("\122"); - sb.append("\uff7d"); - sb.append("\123"); - sb.append("\uff7d"); - sb.append("\124"); - sb.append("\uff7d"); - sb.append("\125"); - sb.append("\uff7d"); - sb.append("\126"); - sb.append("\uff7d"); - sb.append("\133"); - sb.append("\uff7d"); + sb.append("\031"); + sb.append("\ufe58"); + sb.append("\033"); + sb.append("\ufe58"); + sb.append("\073"); + sb.append("\ufe58"); + sb.append("\112"); + sb.append("\ufe58"); + sb.append("\127"); + sb.append("\ufe58"); + sb.append("\130"); + sb.append("\ufe58"); + sb.append("\131"); + sb.append("\ufe58"); + sb.append("\132"); + sb.append("\ufe58"); + sb.append("\150"); + sb.append("\ufe58"); sb.append("\151"); - sb.append("\uff7d"); + sb.append("\ufe58"); + sb.append("\152"); + sb.append("\ufe58"); + sb.append("\153"); + sb.append("\ufe58"); + sb.append("\154"); + sb.append("\ufe58"); + sb.append("\155"); + sb.append("\ufe58"); + sb.append("\156"); + sb.append("\ufe58"); + sb.append("\157"); + sb.append("\ufe58"); + sb.append("\160"); + sb.append("\ufe58"); + sb.append("\161"); + sb.append("\ufe58"); + sb.append("\162"); + sb.append("\ufe58"); + sb.append("\163"); + sb.append("\ufe58"); + sb.append("\164"); + sb.append("\ufe58"); + sb.append("\165"); + sb.append("\ufe58"); + sb.append("\166"); + sb.append("\ufe58"); + sb.append("\167"); + sb.append("\ufe58"); + sb.append("\170"); + sb.append("\ufe58"); + sb.append("\171"); + sb.append("\ufe58"); sb.append("\172"); - sb.append("\uff7d"); + sb.append("\ufe58"); sb.append("\173"); - sb.append("\uff7d"); + sb.append("\ufe58"); + sb.append("\174"); + sb.append("\ufe58"); + sb.append("\175"); + sb.append("\ufe58"); + sb.append("\176"); + sb.append("\ufe58"); sb.append("\177"); - sb.append("\uff7d"); - sb.append("\200"); - sb.append("\uff7d"); + sb.append("\ufe58"); sb.append("\202"); - sb.append("\uff7d"); - sb.append("\203"); - sb.append("\uff7d"); - sb.append("\204"); - sb.append("\uff7d"); - sb.append("\205"); - sb.append("\uff7d"); - sb.append("\206"); - sb.append("\uff7d"); - sb.append("\207"); - sb.append("\uff7d"); - sb.append("\210"); - sb.append("\uff7d"); - sb.append("\211"); - sb.append("\uff7d"); - sb.append("\212"); - sb.append("\uff7d"); - sb.append("\213"); - sb.append("\uff7d"); - sb.append("\214"); - sb.append("\uff7d"); + sb.append("\ufe58"); sb.append("\216"); - sb.append("\uff7d"); - sb.append("\217"); - sb.append("\uff7d"); - sb.append("\220"); - sb.append("\uff7d"); - sb.append("\221"); - sb.append("\uff7d"); - sb.append("\222"); - sb.append("\uff7d"); - sb.append("\223"); - sb.append("\uff7d"); - sb.append("\224"); - sb.append("\uff7d"); - sb.append("\230"); - sb.append("\uff7d"); + sb.append("\ufe58"); + sb.append("\232"); + sb.append("\ufe58"); sb.append("\233"); - sb.append("\uff7d"); - sb.append("\234"); - sb.append("\uff7d"); - sb.append("\235"); - sb.append("\uff7d"); - sb.append("\236"); - sb.append("\uff7d"); - sb.append("\240"); - sb.append("\uff7d"); - sb.append("\247"); - sb.append("\uff7d"); - sb.append("\250"); - sb.append("\uff7d"); + sb.append("\ufe58"); + sb.append("\243"); + sb.append("\ufe58"); + sb.append("\246"); + sb.append("\ufe58"); sb.append("\252"); - sb.append("\uff7d"); - sb.append("\253"); - sb.append("\uff7d"); - sb.append("\254"); - sb.append("\uff7d"); - sb.append("\255"); - sb.append("\uff7d"); + sb.append("\ufe58"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufe0e"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe0e"); + sb.append("\ufe4e"); sb.append("\073"); - sb.append("\ufe0e"); + sb.append("\ufe4e"); sb.append("\112"); - sb.append("\ufe0e"); + sb.append("\ufe4e"); sb.append("\127"); - sb.append("\ufe0e"); + sb.append("\ufe4e"); sb.append("\130"); - sb.append("\ufe0e"); + sb.append("\ufe4e"); sb.append("\131"); - sb.append("\ufe0e"); + sb.append("\ufe4e"); sb.append("\132"); - sb.append("\ufe0e"); + sb.append("\ufe4e"); sb.append("\150"); - sb.append("\ufe0e"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe0e"); + sb.append("\ufe4e"); sb.append("\152"); - sb.append("\ufe0e"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufe0e"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufe0e"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufe0e"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufe0e"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufe0e"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufe0e"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufe0e"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufe0e"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufe0e"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufe0e"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufe0e"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufe0e"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufe0e"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufe0e"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufe0e"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufe0e"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufe0e"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufe0e"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufe0e"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufe0e"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe4e"); + sb.append("\232"); + sb.append("\ufe4e"); + sb.append("\233"); + sb.append("\ufe4e"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufebb"); + sb.append("\232"); + sb.append("\ufebb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufe0e"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe0e"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe0e"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufebc"); sb.append("\232"); - sb.append("\ufe0e"); - sb.append("\242"); - sb.append("\ufe0e"); - sb.append("\245"); - sb.append("\ufe0e"); - sb.append("\251"); - sb.append("\ufe0e"); + sb.append("\ufebc"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\312"); - sb.append("\003"); - sb.append("\uff7b"); + sb.append("\170"); sb.append("\004"); - sb.append("\uff7b"); - sb.append("\005"); - sb.append("\uff7b"); + sb.append("\202"); sb.append("\006"); - sb.append("\uff7b"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff7b"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff7b"); + sb.append("\u01b1"); sb.append("\011"); - sb.append("\uff7b"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff7b"); - sb.append("\014"); - sb.append("\uff7b"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff7b"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff7b"); - sb.append("\017"); - sb.append("\uff7b"); - sb.append("\020"); - sb.append("\uff7b"); - sb.append("\021"); - sb.append("\uff7b"); - sb.append("\022"); - sb.append("\uff7b"); - sb.append("\023"); - sb.append("\uff7b"); - sb.append("\024"); - sb.append("\uff7b"); - sb.append("\025"); - sb.append("\uff7b"); - sb.append("\026"); - sb.append("\uff7b"); - sb.append("\027"); - sb.append("\uff7b"); - sb.append("\030"); - sb.append("\uff7b"); + sb.append("\071"); sb.append("\032"); - sb.append("\uff7b"); - sb.append("\034"); - sb.append("\uff7b"); - sb.append("\035"); - sb.append("\uff7b"); + sb.append("\106"); sb.append("\036"); - sb.append("\uff7b"); - sb.append("\037"); - sb.append("\uff7b"); - sb.append("\040"); - sb.append("\uff7b"); - sb.append("\041"); - sb.append("\uff7b"); - sb.append("\042"); - sb.append("\uff7b"); - sb.append("\043"); - sb.append("\uff7b"); + sb.append("\125"); sb.append("\044"); - sb.append("\uff7b"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff7b"); - sb.append("\047"); - sb.append("\uff7b"); - sb.append("\050"); - sb.append("\uff7b"); - sb.append("\051"); - sb.append("\uff7b"); - sb.append("\052"); - sb.append("\uff7b"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\uff7b"); - sb.append("\056"); - sb.append("\uff7b"); - sb.append("\057"); - sb.append("\uff7b"); - sb.append("\061"); - sb.append("\uff7b"); + sb.append("\026"); sb.append("\062"); - sb.append("\uff7b"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff7b"); - sb.append("\065"); - sb.append("\uff7b"); - sb.append("\066"); - sb.append("\uff7b"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff7b"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff7b"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff7b"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff7b"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff7b"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff7b"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff7b"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff7b"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff7b"); - sb.append("\111"); - sb.append("\uff7b"); - sb.append("\112"); - sb.append("\uff7b"); + sb.append("\141"); sb.append("\115"); - sb.append("\uff7b"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff7b"); - sb.append("\120"); - sb.append("\uff7b"); + sb.append("\046"); sb.append("\121"); - sb.append("\uff7b"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff7b"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff7b"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff7b"); sb.append("\125"); - sb.append("\uff7b"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff7b"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff7b"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); sb.append("\151"); - sb.append("\uff7b"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufebd"); + sb.append("\232"); + sb.append("\ufebd"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe10"); + sb.append("\073"); + sb.append("\ufe10"); + sb.append("\112"); + sb.append("\ufe10"); + sb.append("\127"); + sb.append("\ufe10"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe10"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\uff7b"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\uff7b"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\uff7b"); - sb.append("\200"); - sb.append("\uff7b"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\uff7b"); - sb.append("\203"); - sb.append("\uff7b"); - sb.append("\204"); - sb.append("\uff7b"); - sb.append("\205"); - sb.append("\uff7b"); - sb.append("\206"); - sb.append("\uff7b"); - sb.append("\207"); - sb.append("\uff7b"); - sb.append("\210"); - sb.append("\uff7b"); - sb.append("\211"); - sb.append("\uff7b"); - sb.append("\212"); - sb.append("\uff7b"); - sb.append("\213"); - sb.append("\uff7b"); - sb.append("\214"); - sb.append("\uff7b"); + sb.append("\u01c5"); sb.append("\216"); - sb.append("\uff7b"); - sb.append("\217"); - sb.append("\uff7b"); - sb.append("\220"); - sb.append("\uff7b"); - sb.append("\221"); - sb.append("\uff7b"); - sb.append("\222"); - sb.append("\uff7b"); - sb.append("\223"); - sb.append("\uff7b"); - sb.append("\224"); - sb.append("\uff7b"); - sb.append("\230"); - sb.append("\uff7b"); + sb.append("\ufe10"); + sb.append("\232"); + sb.append("\ufe10"); sb.append("\233"); - sb.append("\uff7b"); - sb.append("\234"); - sb.append("\uff7b"); - sb.append("\235"); - sb.append("\uff7b"); - sb.append("\236"); - sb.append("\uff7b"); - sb.append("\240"); - sb.append("\uff7b"); - sb.append("\247"); - sb.append("\uff7b"); + sb.append("\ufe10"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\231"); + sb.append("\uff43"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\231"); + sb.append("\uff43"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u039e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\056"); + sb.append("\010"); + sb.append("\ufef5"); + sb.append("\012"); + sb.append("\ufef5"); + sb.append("\075"); + sb.append("\ufef5"); + sb.append("\076"); + sb.append("\ufef5"); + sb.append("\121"); + sb.append("\ufef5"); + sb.append("\150"); + sb.append("\ufef5"); + sb.append("\157"); + sb.append("\ufef5"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\231"); + sb.append("\ufef5"); + sb.append("\232"); + sb.append("\ufefa"); + sb.append("\245"); + sb.append("\ufef5"); sb.append("\250"); - sb.append("\uff7b"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); sb.append("\252"); - sb.append("\uff7b"); - sb.append("\253"); - sb.append("\uff7b"); + sb.append("\ufef5"); sb.append("\254"); - sb.append("\uff7b"); + sb.append("\ufef5"); sb.append("\255"); - sb.append("\uff7b"); + sb.append("\ufef5"); + sb.append("\256"); + sb.append("\ufef5"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u03a0"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\056"); + sb.append("\u03a1"); + sb.append("\111"); + sb.append("\ufe01"); + sb.append("\233"); + sb.append("\ufe01"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u03b5"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\016"); - sb.append("\u03ad"); - sb.append("\230"); - sb.append("\u03ab"); + sb.append("\111"); + sb.append("\ufee2"); + sb.append("\233"); + sb.append("\u0246"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\312"); + sb.append("\004"); + sb.append("\111"); + sb.append("\u03a4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uff7a"); - sb.append("\022"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uff7a"); - sb.append("\024"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uff7a"); - sb.append("\026"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uff7a"); - sb.append("\030"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uff7a"); - sb.append("\035"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\uff7a"); - sb.append("\037"); - sb.append("\uff7a"); - sb.append("\040"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\112"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff7a"); - sb.append("\172"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff7a"); - sb.append("\177"); - sb.append("\uff7a"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff7a"); - sb.append("\202"); - sb.append("\uff7a"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\uff7a"); - sb.append("\216"); - sb.append("\uff7a"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); sb.append("\217"); - sb.append("\uff7a"); - sb.append("\220"); - sb.append("\uff7a"); - sb.append("\221"); - sb.append("\uff7a"); - sb.append("\222"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff7a"); - sb.append("\230"); - sb.append("\uff7a"); - sb.append("\233"); - sb.append("\uff7a"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\uff7a"); - sb.append("\240"); - sb.append("\uff7a"); - sb.append("\247"); - sb.append("\uff7a"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\uff7a"); - sb.append("\252"); - sb.append("\uff7a"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\uff7a"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\uff7a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\030"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\023"); - sb.append("\065"); - sb.append("\027"); - sb.append("\066"); - sb.append("\111"); - sb.append("\222"); - sb.append("\u03aa"); - sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe13"); - sb.append("\033"); - sb.append("\ufe13"); - sb.append("\073"); - sb.append("\ufe13"); - sb.append("\112"); - sb.append("\ufe13"); - sb.append("\127"); - sb.append("\ufe13"); - sb.append("\130"); - sb.append("\ufe13"); - sb.append("\131"); - sb.append("\ufe13"); - sb.append("\132"); - sb.append("\ufe13"); - sb.append("\150"); - sb.append("\ufe13"); - sb.append("\151"); - sb.append("\ufe13"); - sb.append("\152"); - sb.append("\ufe13"); - sb.append("\153"); - sb.append("\ufe13"); - sb.append("\154"); - sb.append("\ufe13"); - sb.append("\155"); - sb.append("\ufe13"); - sb.append("\156"); - sb.append("\ufe13"); - sb.append("\157"); - sb.append("\ufe13"); - sb.append("\160"); - sb.append("\ufe13"); - sb.append("\161"); - sb.append("\ufe13"); - sb.append("\162"); - sb.append("\ufe13"); - sb.append("\163"); - sb.append("\ufe13"); - sb.append("\164"); - sb.append("\ufe13"); - sb.append("\165"); - sb.append("\ufe13"); - sb.append("\166"); - sb.append("\ufe13"); - sb.append("\167"); - sb.append("\ufe13"); - sb.append("\170"); - sb.append("\ufe13"); - sb.append("\171"); - sb.append("\ufe13"); - sb.append("\172"); - sb.append("\ufe13"); - sb.append("\173"); - sb.append("\ufe13"); - sb.append("\174"); - sb.append("\ufe13"); - sb.append("\175"); - sb.append("\ufe13"); - sb.append("\176"); - sb.append("\ufe13"); - sb.append("\201"); - sb.append("\ufe13"); - sb.append("\215"); - sb.append("\ufe13"); - sb.append("\231"); - sb.append("\ufe13"); - sb.append("\232"); - sb.append("\ufe13"); - sb.append("\242"); - sb.append("\ufe13"); - sb.append("\245"); - sb.append("\ufe13"); - sb.append("\251"); - sb.append("\ufe13"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\312"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff79"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff79"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff79"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff79"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff79"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff79"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff79"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff79"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff79"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff79"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff79"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff79"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff79"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff79"); - sb.append("\022"); - sb.append("\uff79"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff79"); - sb.append("\024"); - sb.append("\uff79"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff79"); - sb.append("\026"); - sb.append("\uff79"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff79"); - sb.append("\030"); - sb.append("\uff79"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff79"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff79"); - sb.append("\035"); - sb.append("\uff79"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff79"); - sb.append("\037"); - sb.append("\uff79"); - sb.append("\040"); - sb.append("\uff79"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff79"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff79"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff79"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff79"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff79"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff79"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff79"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff79"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff79"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff79"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff79"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff79"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff79"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff79"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff79"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff79"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff79"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff79"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff79"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff79"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff79"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff79"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff79"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff79"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff79"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff79"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff79"); + sb.append("\157"); sb.append("\112"); - sb.append("\uff79"); + sb.append("\u03a7"); sb.append("\115"); - sb.append("\uff79"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff79"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff79"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff79"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff79"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff79"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff79"); sb.append("\125"); - sb.append("\uff79"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff79"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff79"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff79"); - sb.append("\172"); - sb.append("\uff79"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff79"); - sb.append("\177"); - sb.append("\uff79"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff79"); - sb.append("\202"); - sb.append("\uff79"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff79"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff79"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff79"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff79"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff79"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff79"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff79"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff79"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff79"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff79"); - sb.append("\216"); - sb.append("\uff79"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff79"); - sb.append("\220"); - sb.append("\uff79"); - sb.append("\221"); - sb.append("\uff79"); - sb.append("\222"); - sb.append("\uff79"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff79"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff79"); - sb.append("\230"); - sb.append("\uff79"); - sb.append("\233"); - sb.append("\uff79"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff79"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff79"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff79"); - sb.append("\240"); - sb.append("\uff79"); - sb.append("\247"); - sb.append("\uff79"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); sb.append("\250"); - sb.append("\uff79"); - sb.append("\252"); - sb.append("\uff79"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\uff79"); + sb.append("\227"); sb.append("\254"); - sb.append("\uff79"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff79"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\044"); - sb.append("\u0397"); - sb.append("\045"); - sb.append("\u0398"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\016"); - sb.append("\u03af"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u03ae"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\uff47"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff62"); + sb.append("\312"); sb.append("\003"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\004"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\005"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\006"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\007"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\010"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\011"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\012"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\014"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\015"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\016"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\017"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\020"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\021"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\022"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\023"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\024"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\025"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\026"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\027"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\030"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\032"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\034"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\035"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\036"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\037"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\040"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\041"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\042"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\043"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\044"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\045"); - sb.append("\uff62"); - sb.append("\046"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\047"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\050"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\051"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\052"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\054"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\056"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\057"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\061"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\062"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\063"); - sb.append("\uff62"); - sb.append("\064"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\065"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\066"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\074"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\075"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\077"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\100"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\101"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\102"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\103"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\104"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\105"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\111"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\112"); - sb.append("\uff62"); - sb.append("\114"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\115"); - sb.append("\uff62"); + sb.append("\uff7d"); sb.append("\116"); - sb.append("\uff62"); - sb.append("\120"); - sb.append("\uff62"); - sb.append("\121"); - sb.append("\uff62"); - sb.append("\122"); - sb.append("\uff62"); - sb.append("\123"); - sb.append("\uff62"); - sb.append("\124"); - sb.append("\uff62"); - sb.append("\125"); - sb.append("\uff62"); - sb.append("\126"); - sb.append("\uff62"); - sb.append("\133"); - sb.append("\uff62"); - sb.append("\151"); - sb.append("\uff62"); - sb.append("\172"); - sb.append("\uff62"); - sb.append("\173"); - sb.append("\uff62"); - sb.append("\177"); - sb.append("\uff62"); - sb.append("\200"); - sb.append("\uff62"); - sb.append("\202"); - sb.append("\uff62"); - sb.append("\203"); - sb.append("\uff62"); - sb.append("\204"); - sb.append("\uff62"); - sb.append("\205"); - sb.append("\uff62"); - sb.append("\206"); - sb.append("\uff62"); - sb.append("\207"); - sb.append("\uff62"); - sb.append("\210"); - sb.append("\uff62"); - sb.append("\211"); - sb.append("\uff62"); - sb.append("\212"); - sb.append("\uff62"); - sb.append("\213"); - sb.append("\uff62"); - sb.append("\214"); - sb.append("\uff62"); - sb.append("\216"); - sb.append("\uff62"); - sb.append("\217"); - sb.append("\uff62"); - sb.append("\220"); - sb.append("\uff62"); - sb.append("\221"); - sb.append("\uff62"); - sb.append("\222"); - sb.append("\uff62"); - sb.append("\223"); - sb.append("\uff62"); - sb.append("\224"); - sb.append("\uff62"); - sb.append("\230"); - sb.append("\uff62"); - sb.append("\233"); - sb.append("\uff62"); - sb.append("\234"); - sb.append("\uff62"); - sb.append("\235"); - sb.append("\uff62"); - sb.append("\236"); - sb.append("\uff62"); - sb.append("\240"); - sb.append("\uff62"); - sb.append("\247"); - sb.append("\uff62"); - sb.append("\250"); - sb.append("\uff62"); - sb.append("\252"); - sb.append("\uff62"); - sb.append("\253"); - sb.append("\uff62"); - sb.append("\254"); - sb.append("\uff62"); - sb.append("\255"); - sb.append("\uff62"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u03b0"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\uff46"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\012"); - sb.append("\u03b3"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u03b6"); - sb.append("\231"); - sb.append("\ufd6e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufdfe"); - sb.append("\231"); - sb.append("\ufdfe"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\012"); - sb.append("\u03b5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufdfd"); - sb.append("\231"); - sb.append("\ufdfd"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\012"); - sb.append("\u03ba"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\231"); - sb.append("\ufd6d"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u03b8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\ufe01"); - sb.append("\232"); - sb.append("\ufe01"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\012"); - sb.append("\u03bb"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufe00"); - sb.append("\231"); - sb.append("\ufe00"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufdff"); - sb.append("\231"); - sb.append("\ufdff"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u03bd"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\056"); - sb.append("\010"); - sb.append("\ufef5"); - sb.append("\012"); - sb.append("\ufef5"); - sb.append("\075"); - sb.append("\ufef5"); - sb.append("\076"); - sb.append("\ufef5"); + sb.append("\uff7d"); + sb.append("\120"); + sb.append("\uff7d"); sb.append("\121"); - sb.append("\ufef5"); - sb.append("\150"); - sb.append("\ufef5"); - sb.append("\156"); - sb.append("\ufef5"); + sb.append("\uff7d"); + sb.append("\122"); + sb.append("\uff7d"); + sb.append("\123"); + sb.append("\uff7d"); + sb.append("\124"); + sb.append("\uff7d"); + sb.append("\125"); + sb.append("\uff7d"); + sb.append("\126"); + sb.append("\uff7d"); + sb.append("\133"); + sb.append("\uff7d"); + sb.append("\151"); + sb.append("\uff7d"); + sb.append("\173"); + sb.append("\uff7d"); + sb.append("\174"); + sb.append("\uff7d"); + sb.append("\200"); + sb.append("\uff7d"); + sb.append("\201"); + sb.append("\uff7d"); + sb.append("\203"); + sb.append("\uff7d"); + sb.append("\204"); + sb.append("\uff7d"); + sb.append("\205"); + sb.append("\uff7d"); + sb.append("\206"); + sb.append("\uff7d"); + sb.append("\207"); + sb.append("\uff7d"); + sb.append("\210"); + sb.append("\uff7d"); + sb.append("\211"); + sb.append("\uff7d"); + sb.append("\212"); + sb.append("\uff7d"); + sb.append("\213"); + sb.append("\uff7d"); + sb.append("\214"); + sb.append("\uff7d"); + sb.append("\215"); + sb.append("\uff7d"); + sb.append("\217"); + sb.append("\uff7d"); + sb.append("\220"); + sb.append("\uff7d"); + sb.append("\221"); + sb.append("\uff7d"); + sb.append("\222"); + sb.append("\uff7d"); + sb.append("\223"); + sb.append("\uff7d"); + sb.append("\224"); + sb.append("\uff7d"); sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\230"); - sb.append("\ufef5"); + sb.append("\uff7d"); sb.append("\231"); - sb.append("\ufefa"); - sb.append("\244"); - sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff7d"); + sb.append("\234"); + sb.append("\uff7d"); + sb.append("\235"); + sb.append("\uff7d"); + sb.append("\236"); + sb.append("\uff7d"); + sb.append("\237"); + sb.append("\uff7d"); + sb.append("\241"); + sb.append("\uff7d"); sb.append("\250"); - sb.append("\254"); + sb.append("\uff7d"); sb.append("\251"); - sb.append("\ufef5"); + sb.append("\uff7d"); sb.append("\253"); - sb.append("\ufef5"); + sb.append("\uff7d"); sb.append("\254"); - sb.append("\ufef5"); + sb.append("\uff7d"); sb.append("\255"); - sb.append("\ufef5"); + sb.append("\uff7d"); sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u03bf"); + sb.append("\uff7d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe0d"); + sb.append("\033"); + sb.append("\ufe0d"); sb.append("\073"); - sb.append("\ufee2"); + sb.append("\ufe0d"); + sb.append("\112"); + sb.append("\ufe0d"); + sb.append("\127"); + sb.append("\ufe0d"); + sb.append("\130"); + sb.append("\ufe0d"); + sb.append("\131"); + sb.append("\ufe0d"); + sb.append("\132"); + sb.append("\ufe0d"); + sb.append("\150"); + sb.append("\ufe0d"); + sb.append("\151"); + sb.append("\ufe0d"); + sb.append("\152"); + sb.append("\ufe0d"); + sb.append("\153"); + sb.append("\ufe0d"); + sb.append("\154"); + sb.append("\ufe0d"); + sb.append("\155"); + sb.append("\ufe0d"); + sb.append("\156"); + sb.append("\ufe0d"); + sb.append("\157"); + sb.append("\ufe0d"); + sb.append("\160"); + sb.append("\ufe0d"); + sb.append("\161"); + sb.append("\ufe0d"); + sb.append("\162"); + sb.append("\ufe0d"); + sb.append("\163"); + sb.append("\ufe0d"); + sb.append("\164"); + sb.append("\ufe0d"); + sb.append("\165"); + sb.append("\ufe0d"); + sb.append("\166"); + sb.append("\ufe0d"); + sb.append("\167"); + sb.append("\ufe0d"); + sb.append("\170"); + sb.append("\ufe0d"); + sb.append("\171"); + sb.append("\ufe0d"); + sb.append("\172"); + sb.append("\ufe0d"); + sb.append("\173"); + sb.append("\ufe0d"); + sb.append("\174"); + sb.append("\ufe0d"); + sb.append("\175"); + sb.append("\ufe0d"); + sb.append("\176"); + sb.append("\ufe0d"); + sb.append("\177"); + sb.append("\ufe0d"); + sb.append("\202"); + sb.append("\ufe0d"); + sb.append("\216"); + sb.append("\ufe0d"); sb.append("\232"); - sb.append("\u0242"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\073"); - sb.append("\u03c1"); + sb.append("\ufe0d"); + sb.append("\233"); + sb.append("\ufe0d"); + sb.append("\243"); + sb.append("\ufe0d"); + sb.append("\246"); + sb.append("\ufe0d"); + sb.append("\252"); + sb.append("\ufe0d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\176"); + sb.append("\312"); sb.append("\003"); - sb.append("\u0247"); + sb.append("\uff7b"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff7b"); + sb.append("\005"); + sb.append("\uff7b"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff7b"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff7b"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\uff7b"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff7b"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff7b"); + sb.append("\014"); + sb.append("\uff7b"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff7b"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff7b"); + sb.append("\017"); + sb.append("\uff7b"); + sb.append("\020"); + sb.append("\uff7b"); + sb.append("\021"); + sb.append("\uff7b"); + sb.append("\022"); + sb.append("\uff7b"); + sb.append("\023"); + sb.append("\uff7b"); + sb.append("\024"); + sb.append("\uff7b"); + sb.append("\025"); + sb.append("\uff7b"); + sb.append("\026"); + sb.append("\uff7b"); + sb.append("\027"); + sb.append("\uff7b"); + sb.append("\030"); + sb.append("\uff7b"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff7b"); + sb.append("\034"); + sb.append("\uff7b"); + sb.append("\035"); + sb.append("\uff7b"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff7b"); + sb.append("\037"); + sb.append("\uff7b"); + sb.append("\040"); + sb.append("\uff7b"); + sb.append("\041"); + sb.append("\uff7b"); + sb.append("\042"); + sb.append("\uff7b"); + sb.append("\043"); + sb.append("\uff7b"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff7b"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff7b"); + sb.append("\047"); + sb.append("\uff7b"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff7b"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff7b"); + sb.append("\052"); + sb.append("\uff7b"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff7b"); + sb.append("\056"); + sb.append("\uff7b"); + sb.append("\057"); + sb.append("\uff7b"); + sb.append("\061"); + sb.append("\uff7b"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff7b"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff7b"); + sb.append("\065"); + sb.append("\uff7b"); + sb.append("\066"); + sb.append("\uff7b"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff7b"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff7b"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff7b"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff7b"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff7b"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff7b"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff7b"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff7b"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff7b"); + sb.append("\111"); + sb.append("\uff7b"); + sb.append("\112"); + sb.append("\uff7b"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff7b"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff7b"); + sb.append("\120"); + sb.append("\uff7b"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff7b"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff7b"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff7b"); sb.append("\124"); + sb.append("\uff7b"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff7b"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff7b"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff7b"); + sb.append("\151"); + sb.append("\uff7b"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff7b"); + sb.append("\174"); + sb.append("\uff7b"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff7b"); + sb.append("\201"); + sb.append("\uff7b"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff7b"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff7b"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff7b"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff7b"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff7b"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff7b"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff7b"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff7b"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff7b"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff7b"); + sb.append("\215"); + sb.append("\uff7b"); + sb.append("\217"); + sb.append("\uff7b"); + sb.append("\220"); + sb.append("\uff7b"); + sb.append("\221"); + sb.append("\uff7b"); sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff7b"); + sb.append("\223"); + sb.append("\uff7b"); + sb.append("\224"); + sb.append("\uff7b"); + sb.append("\225"); + sb.append("\uff7b"); + sb.append("\231"); + sb.append("\uff7b"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff7b"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff7b"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe0c"); - sb.append("\033"); - sb.append("\ufe0c"); - sb.append("\073"); - sb.append("\ufe0c"); - sb.append("\112"); - sb.append("\ufe0c"); - sb.append("\127"); - sb.append("\ufe0c"); - sb.append("\130"); - sb.append("\ufe0c"); - sb.append("\131"); - sb.append("\ufe0c"); - sb.append("\132"); - sb.append("\ufe0c"); - sb.append("\150"); - sb.append("\ufe0c"); - sb.append("\151"); - sb.append("\ufe0c"); - sb.append("\152"); - sb.append("\ufe0c"); - sb.append("\153"); - sb.append("\ufe0c"); - sb.append("\154"); - sb.append("\ufe0c"); - sb.append("\155"); - sb.append("\ufe0c"); - sb.append("\156"); - sb.append("\ufe0c"); - sb.append("\157"); - sb.append("\ufe0c"); - sb.append("\160"); - sb.append("\ufe0c"); - sb.append("\161"); - sb.append("\ufe0c"); - sb.append("\162"); - sb.append("\ufe0c"); - sb.append("\163"); - sb.append("\ufe0c"); - sb.append("\164"); - sb.append("\ufe0c"); - sb.append("\165"); - sb.append("\ufe0c"); - sb.append("\166"); - sb.append("\ufe0c"); - sb.append("\167"); - sb.append("\ufe0c"); - sb.append("\170"); - sb.append("\ufe0c"); - sb.append("\171"); - sb.append("\ufe0c"); - sb.append("\172"); - sb.append("\ufe0c"); - sb.append("\173"); - sb.append("\ufe0c"); - sb.append("\174"); - sb.append("\ufe0c"); - sb.append("\175"); - sb.append("\ufe0c"); - sb.append("\176"); - sb.append("\ufe0c"); - sb.append("\201"); - sb.append("\ufe0c"); - sb.append("\215"); - sb.append("\ufe0c"); - sb.append("\231"); - sb.append("\ufe0c"); - sb.append("\232"); - sb.append("\ufe0c"); - sb.append("\242"); - sb.append("\ufe0c"); - sb.append("\245"); - sb.append("\ufe0c"); - sb.append("\251"); - sb.append("\ufe0c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u03c4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\056"); - sb.append("\010"); - sb.append("\ufef5"); - sb.append("\012"); - sb.append("\ufef5"); - sb.append("\075"); - sb.append("\ufef5"); - sb.append("\076"); - sb.append("\ufef5"); - sb.append("\121"); - sb.append("\ufef5"); - sb.append("\150"); - sb.append("\ufef5"); - sb.append("\156"); - sb.append("\ufef5"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\230"); - sb.append("\ufef5"); - sb.append("\231"); - sb.append("\ufefa"); - sb.append("\244"); - sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff7b"); + sb.append("\237"); + sb.append("\uff7b"); + sb.append("\241"); + sb.append("\uff7b"); sb.append("\250"); - sb.append("\254"); + sb.append("\uff7b"); sb.append("\251"); - sb.append("\ufef5"); + sb.append("\uff7b"); sb.append("\253"); - sb.append("\ufef5"); + sb.append("\uff7b"); sb.append("\254"); - sb.append("\ufef5"); + sb.append("\uff7b"); sb.append("\255"); - sb.append("\ufef5"); + sb.append("\uff7b"); sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u03c6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\056"); - sb.append("\u039d"); - sb.append("\111"); - sb.append("\ufe02"); - sb.append("\232"); - sb.append("\ufe02"); + sb.append("\uff7b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\111"); - sb.append("\ufee2"); - sb.append("\232"); - sb.append("\u0242"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\111"); - sb.append("\u03c9"); + sb.append("\016"); + sb.append("\u03b1"); + sb.append("\231"); + sb.append("\u03af"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); + sb.append("\312"); sb.append("\003"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\004"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\005"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\006"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\007"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\010"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\011"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\012"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\014"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\015"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\016"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\017"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\020"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\021"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\022"); + sb.append("\uff7a"); sb.append("\023"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\024"); + sb.append("\uff7a"); sb.append("\025"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\026"); + sb.append("\uff7a"); sb.append("\027"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\030"); + sb.append("\uff7a"); sb.append("\032"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\034"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\035"); + sb.append("\uff7a"); sb.append("\036"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\037"); + sb.append("\uff7a"); + sb.append("\040"); + sb.append("\uff7a"); sb.append("\041"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\042"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\043"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\044"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\045"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\047"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\050"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\051"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\052"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\054"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\056"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\057"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\061"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\062"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\063"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\065"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\066"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\074"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\075"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\077"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\100"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\101"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\102"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\103"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\104"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\105"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\111"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\112"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\115"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\116"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\120"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\121"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\122"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\123"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\124"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\125"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\126"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\133"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\174"); + sb.append("\uff7a"); sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\201"); + sb.append("\uff7a"); sb.append("\203"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\204"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\205"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\206"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\207"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\210"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\211"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\212"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\213"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\215"); + sb.append("\uff7a"); + sb.append("\217"); + sb.append("\uff7a"); + sb.append("\220"); + sb.append("\uff7a"); + sb.append("\221"); + sb.append("\uff7a"); sb.append("\222"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\225"); + sb.append("\uff7a"); + sb.append("\231"); + sb.append("\uff7a"); sb.append("\234"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\235"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\237"); + sb.append("\uff7a"); + sb.append("\241"); + sb.append("\uff7a"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\251"); + sb.append("\uff7a"); sb.append("\253"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\254"); - sb.append("\uff7c"); + sb.append("\uff7a"); sb.append("\255"); - sb.append("\uff7c"); + sb.append("\uff7a"); + sb.append("\256"); + sb.append("\uff7a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\030"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\023"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); + sb.append("\111"); + sb.append("\223"); + sb.append("\u03ae"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); + sb.append("\253"); + sb.append("\227"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe12"); + sb.append("\033"); + sb.append("\ufe12"); + sb.append("\073"); + sb.append("\ufe12"); + sb.append("\112"); + sb.append("\ufe12"); + sb.append("\127"); + sb.append("\ufe12"); + sb.append("\130"); + sb.append("\ufe12"); + sb.append("\131"); + sb.append("\ufe12"); + sb.append("\132"); + sb.append("\ufe12"); + sb.append("\150"); + sb.append("\ufe12"); + sb.append("\151"); + sb.append("\ufe12"); + sb.append("\152"); + sb.append("\ufe12"); + sb.append("\153"); + sb.append("\ufe12"); + sb.append("\154"); + sb.append("\ufe12"); + sb.append("\155"); + sb.append("\ufe12"); + sb.append("\156"); + sb.append("\ufe12"); + sb.append("\157"); + sb.append("\ufe12"); + sb.append("\160"); + sb.append("\ufe12"); + sb.append("\161"); + sb.append("\ufe12"); + sb.append("\162"); + sb.append("\ufe12"); + sb.append("\163"); + sb.append("\ufe12"); + sb.append("\164"); + sb.append("\ufe12"); + sb.append("\165"); + sb.append("\ufe12"); + sb.append("\166"); + sb.append("\ufe12"); + sb.append("\167"); + sb.append("\ufe12"); + sb.append("\170"); + sb.append("\ufe12"); + sb.append("\171"); + sb.append("\ufe12"); + sb.append("\172"); + sb.append("\ufe12"); + sb.append("\173"); + sb.append("\ufe12"); + sb.append("\174"); + sb.append("\ufe12"); + sb.append("\175"); + sb.append("\ufe12"); + sb.append("\176"); + sb.append("\ufe12"); + sb.append("\177"); + sb.append("\ufe12"); + sb.append("\202"); + sb.append("\ufe12"); + sb.append("\216"); + sb.append("\ufe12"); + sb.append("\232"); + sb.append("\ufe12"); + sb.append("\233"); + sb.append("\ufe12"); + sb.append("\243"); + sb.append("\ufe12"); + sb.append("\246"); + sb.append("\ufe12"); + sb.append("\252"); + sb.append("\ufe12"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); + sb.append("\312"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff79"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff79"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff79"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff79"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff79"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff79"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff79"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff79"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff79"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff79"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff79"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff79"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff79"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff79"); + sb.append("\022"); + sb.append("\uff79"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff79"); + sb.append("\024"); + sb.append("\uff79"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff79"); + sb.append("\026"); + sb.append("\uff79"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff79"); + sb.append("\030"); + sb.append("\uff79"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff79"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff79"); + sb.append("\035"); + sb.append("\uff79"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff79"); + sb.append("\037"); + sb.append("\uff79"); + sb.append("\040"); + sb.append("\uff79"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff79"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff79"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff79"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff79"); sb.append("\045"); - sb.append("\023"); + sb.append("\uff79"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff79"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff79"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff79"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff79"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff79"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff79"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff79"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff79"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff79"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff79"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff79"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff79"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff79"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff79"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff79"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff79"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff79"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff79"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff79"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff79"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff79"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff79"); sb.append("\112"); - sb.append("\u03cb"); + sb.append("\uff79"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff79"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff79"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff79"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff79"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff79"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff79"); sb.append("\124"); + sb.append("\uff79"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff79"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff79"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff79"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff79"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff79"); + sb.append("\174"); + sb.append("\uff79"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff79"); + sb.append("\201"); + sb.append("\uff79"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff79"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff79"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff79"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff79"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff79"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff79"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff79"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff79"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff79"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff79"); + sb.append("\215"); + sb.append("\uff79"); + sb.append("\217"); + sb.append("\uff79"); + sb.append("\220"); + sb.append("\uff79"); + sb.append("\221"); + sb.append("\uff79"); sb.append("\222"); - sb.append("\025"); + sb.append("\uff79"); sb.append("\223"); - sb.append("\030"); + sb.append("\uff79"); sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff79"); + sb.append("\225"); + sb.append("\uff79"); + sb.append("\231"); + sb.append("\uff79"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff79"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff79"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff79"); + sb.append("\237"); + sb.append("\uff79"); + sb.append("\241"); + sb.append("\uff79"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe0f"); - sb.append("\033"); - sb.append("\ufe0f"); - sb.append("\073"); - sb.append("\ufe0f"); - sb.append("\112"); - sb.append("\ufe0f"); - sb.append("\127"); - sb.append("\ufe0f"); - sb.append("\130"); - sb.append("\ufe0f"); - sb.append("\131"); - sb.append("\ufe0f"); - sb.append("\132"); - sb.append("\ufe0f"); - sb.append("\150"); - sb.append("\ufe0f"); - sb.append("\151"); - sb.append("\ufe0f"); - sb.append("\152"); - sb.append("\ufe0f"); - sb.append("\153"); - sb.append("\ufe0f"); - sb.append("\154"); - sb.append("\ufe0f"); - sb.append("\155"); - sb.append("\ufe0f"); - sb.append("\156"); - sb.append("\ufe0f"); - sb.append("\157"); - sb.append("\ufe0f"); - sb.append("\160"); - sb.append("\ufe0f"); - sb.append("\161"); - sb.append("\ufe0f"); - sb.append("\162"); - sb.append("\ufe0f"); - sb.append("\163"); - sb.append("\ufe0f"); - sb.append("\164"); - sb.append("\ufe0f"); - sb.append("\165"); - sb.append("\ufe0f"); - sb.append("\166"); - sb.append("\ufe0f"); - sb.append("\167"); - sb.append("\ufe0f"); - sb.append("\170"); - sb.append("\ufe0f"); - sb.append("\171"); - sb.append("\ufe0f"); - sb.append("\172"); - sb.append("\ufe0f"); - sb.append("\173"); - sb.append("\ufe0f"); - sb.append("\174"); - sb.append("\ufe0f"); - sb.append("\175"); - sb.append("\ufe0f"); - sb.append("\176"); - sb.append("\ufe0f"); - sb.append("\201"); - sb.append("\ufe0f"); - sb.append("\215"); - sb.append("\ufe0f"); - sb.append("\231"); - sb.append("\ufe0f"); - sb.append("\232"); - sb.append("\ufe0f"); - sb.append("\242"); - sb.append("\ufe0f"); - sb.append("\245"); - sb.append("\ufe0f"); + sb.append("\uff79"); sb.append("\251"); - sb.append("\ufe0f"); + sb.append("\uff79"); + sb.append("\253"); + sb.append("\uff79"); + sb.append("\254"); + sb.append("\uff79"); + sb.append("\255"); + sb.append("\uff79"); + sb.append("\256"); + sb.append("\uff79"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe15"); - sb.append("\073"); - sb.append("\ufe15"); - sb.append("\112"); - sb.append("\ufe15"); - sb.append("\127"); - sb.append("\ufe15"); - sb.append("\130"); - sb.append("\ufe15"); - sb.append("\131"); - sb.append("\ufe15"); - sb.append("\132"); - sb.append("\ufe15"); - sb.append("\150"); - sb.append("\u01c4"); + sb.append("\006"); + sb.append("\044"); + sb.append("\u039b"); + sb.append("\045"); + sb.append("\u039c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\016"); + sb.append("\u03b3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); sb.append("\151"); - sb.append("\ufe15"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe15"); - sb.append("\231"); - sb.append("\ufe15"); - sb.append("\232"); - sb.append("\ufe15"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u03b2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufce2"); - sb.append("\073"); - sb.append("\ufce2"); - sb.append("\112"); - sb.append("\ufce2"); - sb.append("\127"); - sb.append("\ufce2"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); + sb.append("\004"); sb.append("\151"); - sb.append("\ufce2"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufce2"); - sb.append("\231"); - sb.append("\ufce2"); - sb.append("\232"); - sb.append("\ufce2"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\uff47"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff62"); + sb.append("\003"); + sb.append("\uff62"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff62"); + sb.append("\005"); + sb.append("\uff62"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff62"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff62"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\uff62"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff62"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff62"); + sb.append("\014"); + sb.append("\uff62"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff62"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff62"); + sb.append("\017"); + sb.append("\uff62"); + sb.append("\020"); + sb.append("\uff62"); + sb.append("\021"); + sb.append("\uff62"); + sb.append("\022"); + sb.append("\uff62"); + sb.append("\023"); + sb.append("\uff62"); + sb.append("\024"); + sb.append("\uff62"); + sb.append("\025"); + sb.append("\uff62"); + sb.append("\026"); + sb.append("\uff62"); + sb.append("\027"); + sb.append("\uff62"); + sb.append("\030"); + sb.append("\uff62"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff62"); + sb.append("\034"); + sb.append("\uff62"); + sb.append("\035"); + sb.append("\uff62"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff62"); + sb.append("\037"); + sb.append("\uff62"); + sb.append("\040"); + sb.append("\uff62"); + sb.append("\041"); + sb.append("\uff62"); + sb.append("\042"); + sb.append("\uff62"); + sb.append("\043"); + sb.append("\uff62"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff62"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff62"); + sb.append("\046"); + sb.append("\uff62"); + sb.append("\047"); + sb.append("\uff62"); + sb.append("\050"); + sb.append("\uff62"); + sb.append("\051"); + sb.append("\uff62"); + sb.append("\052"); + sb.append("\uff62"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff62"); + sb.append("\056"); + sb.append("\uff62"); + sb.append("\057"); + sb.append("\uff62"); + sb.append("\061"); + sb.append("\uff62"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff62"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff62"); + sb.append("\064"); + sb.append("\uff62"); + sb.append("\065"); + sb.append("\uff62"); + sb.append("\066"); + sb.append("\uff62"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff62"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff62"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff62"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff62"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff62"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff62"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff62"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff62"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff62"); + sb.append("\111"); + sb.append("\uff62"); + sb.append("\112"); + sb.append("\uff62"); + sb.append("\114"); + sb.append("\uff62"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff62"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff62"); + sb.append("\120"); + sb.append("\uff62"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff62"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff62"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff62"); sb.append("\124"); + sb.append("\uff62"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff62"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff62"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff62"); + sb.append("\151"); + sb.append("\uff62"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff62"); + sb.append("\174"); + sb.append("\uff62"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff62"); + sb.append("\201"); + sb.append("\uff62"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff62"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff62"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff62"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff62"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff62"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff62"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff62"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff62"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff62"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff62"); + sb.append("\215"); + sb.append("\uff62"); + sb.append("\217"); + sb.append("\uff62"); + sb.append("\220"); + sb.append("\uff62"); + sb.append("\221"); + sb.append("\uff62"); sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff62"); + sb.append("\223"); + sb.append("\uff62"); + sb.append("\224"); + sb.append("\uff62"); + sb.append("\225"); + sb.append("\uff62"); + sb.append("\231"); + sb.append("\uff62"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff62"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff62"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff62"); + sb.append("\237"); + sb.append("\uff62"); + sb.append("\241"); + sb.append("\uff62"); + sb.append("\250"); + sb.append("\uff62"); + sb.append("\251"); + sb.append("\uff62"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff62"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff62"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff62"); + sb.append("\256"); + sb.append("\uff62"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\140"); - sb.append("\031"); - sb.append("\ufd50"); - sb.append("\130"); - sb.append("\ufd50"); - sb.append("\131"); - sb.append("\ufd50"); - sb.append("\132"); - sb.append("\ufd50"); - sb.append("\134"); - sb.append("\u0371"); - sb.append("\135"); - sb.append("\u0376"); - sb.append("\136"); - sb.append("\u0372"); - sb.append("\137"); - sb.append("\u037c"); - sb.append("\140"); - sb.append("\u0375"); - sb.append("\141"); - sb.append("\u037b"); - sb.append("\142"); - sb.append("\u0378"); - sb.append("\143"); - sb.append("\u037a"); - sb.append("\144"); - sb.append("\u0374"); - sb.append("\145"); - sb.append("\u0370"); - sb.append("\146"); - sb.append("\u0377"); - sb.append("\147"); - sb.append("\u0379"); - sb.append("\150"); - sb.append("\ufd50"); - sb.append("\152"); - sb.append("\ufd50"); - sb.append("\153"); - sb.append("\ufd50"); - sb.append("\154"); - sb.append("\ufd50"); - sb.append("\155"); - sb.append("\ufd50"); - sb.append("\156"); - sb.append("\ufd50"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u03b4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\uff46"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\012"); + sb.append("\u03b8"); sb.append("\157"); - sb.append("\ufd50"); - sb.append("\160"); - sb.append("\ufd50"); - sb.append("\161"); - sb.append("\ufd50"); - sb.append("\162"); - sb.append("\ufd50"); - sb.append("\163"); - sb.append("\ufd50"); - sb.append("\164"); - sb.append("\ufd50"); - sb.append("\165"); - sb.append("\ufd50"); - sb.append("\166"); - sb.append("\ufd50"); - sb.append("\167"); - sb.append("\ufd50"); - sb.append("\170"); - sb.append("\ufd50"); - sb.append("\171"); - sb.append("\ufd50"); - sb.append("\172"); - sb.append("\ufd50"); - sb.append("\173"); - sb.append("\ufd50"); - sb.append("\174"); - sb.append("\ufd50"); - sb.append("\175"); - sb.append("\ufd50"); - sb.append("\176"); - sb.append("\ufd50"); - sb.append("\201"); - sb.append("\ufd50"); - sb.append("\202"); - sb.append("\ufd4e"); - sb.append("\203"); - sb.append("\ufd4e"); - sb.append("\231"); - sb.append("\u03d2"); - sb.append("\242"); - sb.append("\ufd50"); - sb.append("\243"); - sb.append("\u0373"); - sb.append("\245"); - sb.append("\ufd50"); - sb.append("\246"); - sb.append("\u037d"); - sb.append("\251"); - sb.append("\ufd50"); + sb.append("\u0228"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u03ba"); + sb.append("\232"); + sb.append("\ufd6c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\012"); + sb.append("\u03b9"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufdfd"); + sb.append("\232"); + sb.append("\ufdfd"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufdfc"); + sb.append("\232"); + sb.append("\ufdfc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\012"); + sb.append("\u03bd"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\232"); + sb.append("\ufd6b"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u03bc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\ufe00"); + sb.append("\233"); + sb.append("\ufe00"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufdff"); + sb.append("\232"); + sb.append("\ufdff"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\012"); + sb.append("\u03bf"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufdfe"); + sb.append("\232"); + sb.append("\ufdfe"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\ufd58"); - sb.append("\130"); - sb.append("\ufd58"); - sb.append("\131"); - sb.append("\ufd58"); - sb.append("\132"); - sb.append("\ufd58"); - sb.append("\150"); - sb.append("\ufd58"); - sb.append("\152"); - sb.append("\ufd58"); - sb.append("\153"); - sb.append("\ufd58"); - sb.append("\154"); - sb.append("\ufd58"); - sb.append("\155"); - sb.append("\ufd58"); - sb.append("\156"); - sb.append("\ufd58"); - sb.append("\157"); - sb.append("\ufd58"); - sb.append("\160"); - sb.append("\ufd58"); - sb.append("\161"); - sb.append("\ufd58"); - sb.append("\162"); - sb.append("\ufd58"); - sb.append("\163"); - sb.append("\ufd58"); - sb.append("\164"); - sb.append("\ufd58"); - sb.append("\165"); - sb.append("\ufd58"); - sb.append("\166"); - sb.append("\ufd58"); - sb.append("\167"); - sb.append("\ufd58"); - sb.append("\170"); - sb.append("\ufd58"); - sb.append("\171"); - sb.append("\ufd58"); - sb.append("\172"); - sb.append("\ufd58"); - sb.append("\173"); - sb.append("\ufd58"); - sb.append("\174"); - sb.append("\ufd58"); - sb.append("\175"); - sb.append("\ufd58"); - sb.append("\176"); - sb.append("\ufd58"); - sb.append("\201"); - sb.append("\ufd58"); + sb.append("\004"); sb.append("\231"); - sb.append("\u03d1"); - sb.append("\242"); - sb.append("\ufd58"); - sb.append("\245"); - sb.append("\ufd58"); - sb.append("\251"); - sb.append("\ufd58"); + sb.append("\u03c1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufce3"); - sb.append("\033"); - sb.append("\ufce3"); - sb.append("\073"); - sb.append("\ufce3"); - sb.append("\112"); - sb.append("\ufce3"); - sb.append("\127"); - sb.append("\ufce3"); - sb.append("\130"); - sb.append("\ufce3"); - sb.append("\131"); - sb.append("\ufce3"); - sb.append("\132"); - sb.append("\ufce3"); + sb.append("\056"); + sb.append("\010"); + sb.append("\ufef5"); + sb.append("\012"); + sb.append("\ufef5"); + sb.append("\075"); + sb.append("\ufef5"); + sb.append("\076"); + sb.append("\ufef5"); + sb.append("\121"); + sb.append("\ufef5"); sb.append("\150"); - sb.append("\ufce3"); - sb.append("\151"); - sb.append("\ufce3"); - sb.append("\152"); - sb.append("\ufce3"); - sb.append("\153"); - sb.append("\ufce3"); - sb.append("\154"); - sb.append("\ufce3"); - sb.append("\155"); - sb.append("\ufce3"); - sb.append("\156"); - sb.append("\ufce3"); + sb.append("\ufef5"); sb.append("\157"); - sb.append("\ufce3"); - sb.append("\160"); - sb.append("\ufce3"); - sb.append("\161"); - sb.append("\ufce3"); - sb.append("\162"); - sb.append("\ufce3"); - sb.append("\163"); - sb.append("\ufce3"); - sb.append("\164"); - sb.append("\ufce3"); - sb.append("\165"); - sb.append("\ufce3"); - sb.append("\166"); - sb.append("\ufce3"); - sb.append("\167"); - sb.append("\ufce3"); - sb.append("\170"); - sb.append("\ufce3"); - sb.append("\171"); - sb.append("\ufce3"); - sb.append("\172"); - sb.append("\ufce3"); - sb.append("\173"); - sb.append("\ufce3"); - sb.append("\174"); - sb.append("\ufce3"); - sb.append("\175"); - sb.append("\ufce3"); - sb.append("\176"); - sb.append("\ufce3"); - sb.append("\201"); - sb.append("\ufce3"); - sb.append("\215"); - sb.append("\ufce3"); + sb.append("\ufef5"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); sb.append("\231"); - sb.append("\ufce3"); + sb.append("\ufef5"); sb.append("\232"); - sb.append("\ufce3"); - sb.append("\242"); - sb.append("\ufce3"); + sb.append("\ufefa"); sb.append("\245"); - sb.append("\ufce3"); + sb.append("\ufef5"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufce3"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufef5"); + sb.append("\254"); + sb.append("\ufef5"); + sb.append("\255"); + sb.append("\ufef5"); + sb.append("\256"); + sb.append("\ufef5"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufce4"); - sb.append("\033"); - sb.append("\ufce4"); - sb.append("\073"); - sb.append("\ufce4"); - sb.append("\112"); - sb.append("\ufce4"); - sb.append("\127"); - sb.append("\ufce4"); - sb.append("\130"); - sb.append("\ufce4"); - sb.append("\131"); - sb.append("\ufce4"); - sb.append("\132"); - sb.append("\ufce4"); - sb.append("\150"); - sb.append("\ufce4"); - sb.append("\151"); - sb.append("\ufce4"); - sb.append("\152"); - sb.append("\ufce4"); - sb.append("\153"); - sb.append("\ufce4"); - sb.append("\154"); - sb.append("\ufce4"); - sb.append("\155"); - sb.append("\ufce4"); - sb.append("\156"); - sb.append("\ufce4"); - sb.append("\157"); - sb.append("\ufce4"); - sb.append("\160"); - sb.append("\ufce4"); - sb.append("\161"); - sb.append("\ufce4"); - sb.append("\162"); - sb.append("\ufce4"); - sb.append("\163"); - sb.append("\ufce4"); - sb.append("\164"); - sb.append("\ufce4"); - sb.append("\165"); - sb.append("\ufce4"); - sb.append("\166"); - sb.append("\ufce4"); - sb.append("\167"); - sb.append("\ufce4"); - sb.append("\170"); - sb.append("\ufce4"); - sb.append("\171"); - sb.append("\ufce4"); - sb.append("\172"); - sb.append("\ufce4"); - sb.append("\173"); - sb.append("\ufce4"); - sb.append("\174"); - sb.append("\ufce4"); - sb.append("\175"); - sb.append("\ufce4"); - sb.append("\176"); - sb.append("\ufce4"); - sb.append("\201"); - sb.append("\ufce4"); - sb.append("\215"); - sb.append("\ufce4"); - sb.append("\231"); - sb.append("\ufce4"); + sb.append("\004"); sb.append("\232"); - sb.append("\ufce4"); - sb.append("\242"); - sb.append("\ufce4"); - sb.append("\245"); - sb.append("\ufce4"); - sb.append("\251"); - sb.append("\ufce4"); + sb.append("\u03c3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\130"); - sb.append("\031"); - sb.append("\ufd1a"); - sb.append("\033"); - sb.append("\ufd1a"); - sb.append("\071"); - sb.append("\ufd1a"); - sb.append("\072"); - sb.append("\ufd1a"); + sb.append("\006"); sb.append("\073"); - sb.append("\ufd1a"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd1a"); - sb.append("\127"); - sb.append("\ufd1a"); - sb.append("\130"); - sb.append("\ufd1a"); - sb.append("\131"); - sb.append("\ufd1a"); - sb.append("\132"); - sb.append("\ufd1a"); - sb.append("\150"); - sb.append("\ufd1a"); - sb.append("\151"); - sb.append("\ufd1a"); - sb.append("\152"); - sb.append("\ufd1a"); - sb.append("\153"); - sb.append("\ufd1a"); - sb.append("\154"); - sb.append("\ufd1a"); - sb.append("\155"); - sb.append("\ufd1a"); + sb.append("\ufee2"); + sb.append("\233"); + sb.append("\u0246"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\073"); + sb.append("\u03c5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\176"); + sb.append("\003"); + sb.append("\u024b"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\ufd1a"); - sb.append("\157"); - sb.append("\ufd1a"); - sb.append("\160"); - sb.append("\ufd1a"); - sb.append("\161"); - sb.append("\ufd1a"); - sb.append("\162"); - sb.append("\ufd1a"); - sb.append("\163"); - sb.append("\ufd1a"); - sb.append("\164"); - sb.append("\ufd1a"); - sb.append("\165"); - sb.append("\ufd1a"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\ufd1a"); - sb.append("\167"); - sb.append("\ufd1a"); - sb.append("\170"); - sb.append("\ufd1a"); - sb.append("\171"); - sb.append("\ufd1a"); - sb.append("\172"); - sb.append("\ufd1a"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\ufd1a"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd1a"); - sb.append("\175"); - sb.append("\ufd1a"); sb.append("\176"); - sb.append("\ufd1a"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd1a"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\u0270"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd1a"); - sb.append("\230"); - sb.append("\ufd1a"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufd1a"); - sb.append("\232"); - sb.append("\ufd1a"); - sb.append("\242"); - sb.append("\ufd1a"); - sb.append("\245"); - sb.append("\ufd1a"); - sb.append("\251"); - sb.append("\ufd1a"); + sb.append("\047"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\033"); - sb.append("\ufd12"); - sb.append("\071"); - sb.append("\ufd12"); - sb.append("\072"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\073"); - sb.append("\ufd12"); - sb.append("\111"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\112"); - sb.append("\ufd12"); - sb.append("\113"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\127"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\130"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\131"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\132"); - sb.append("\ufd12"); - sb.append("\134"); - sb.append("\ufd12"); - sb.append("\135"); - sb.append("\ufd12"); - sb.append("\136"); - sb.append("\ufd12"); - sb.append("\137"); - sb.append("\ufd12"); - sb.append("\140"); - sb.append("\ufd12"); - sb.append("\141"); - sb.append("\ufd12"); - sb.append("\142"); - sb.append("\ufd12"); - sb.append("\143"); - sb.append("\ufd12"); - sb.append("\144"); - sb.append("\ufd12"); - sb.append("\145"); - sb.append("\ufd12"); - sb.append("\146"); - sb.append("\ufd12"); - sb.append("\147"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\150"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\151"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\152"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\153"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\154"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\155"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\156"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\157"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\160"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\161"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\162"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\163"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\164"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\165"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\166"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\167"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\170"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\171"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\172"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\173"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\174"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\175"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\176"); - sb.append("\ufd12"); - sb.append("\201"); - sb.append("\ufd12"); + sb.append("\ufe0b"); + sb.append("\177"); + sb.append("\ufe0b"); sb.append("\202"); - sb.append("\ufd12"); - sb.append("\203"); - sb.append("\ufd12"); - sb.append("\214"); - sb.append("\ufd12"); - sb.append("\215"); - sb.append("\ufd12"); - sb.append("\230"); - sb.append("\ufd12"); - sb.append("\231"); - sb.append("\ufd12"); + sb.append("\ufe0b"); + sb.append("\216"); + sb.append("\ufe0b"); sb.append("\232"); - sb.append("\ufd12"); - sb.append("\242"); - sb.append("\ufd12"); + sb.append("\ufe0b"); + sb.append("\233"); + sb.append("\ufe0b"); sb.append("\243"); - sb.append("\ufd12"); - sb.append("\245"); - sb.append("\ufd12"); + sb.append("\ufe0b"); sb.append("\246"); - sb.append("\ufd12"); - sb.append("\251"); - sb.append("\ufd12"); + sb.append("\ufe0b"); + sb.append("\252"); + sb.append("\ufe0b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); - sb.append("\067"); - sb.append("\u03d6"); - sb.append("\070"); - sb.append("\uff25"); - sb.append("\111"); - sb.append("\uff25"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u03c8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\014"); + sb.append("\056"); sb.append("\010"); - sb.append("\244"); + sb.append("\ufef5"); + sb.append("\012"); + sb.append("\ufef5"); + sb.append("\075"); + sb.append("\ufef5"); + sb.append("\076"); + sb.append("\ufef5"); sb.append("\121"); - sb.append("\237"); - sb.append("\253"); - sb.append("\241"); + sb.append("\ufef5"); + sb.append("\150"); + sb.append("\ufef5"); + sb.append("\157"); + sb.append("\ufef5"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\231"); + sb.append("\ufef5"); + sb.append("\232"); + sb.append("\ufefa"); + sb.append("\245"); + sb.append("\ufef5"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); sb.append("\254"); - sb.append("\240"); + sb.append("\252"); + sb.append("\ufef5"); + sb.append("\254"); + sb.append("\ufef5"); sb.append("\255"); - sb.append("\245"); + sb.append("\ufef5"); + sb.append("\256"); + sb.append("\ufef5"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\070"); - sb.append("\236"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u03ca"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\056"); + sb.append("\u03a1"); sb.append("\111"); - sb.append("\uff20"); + sb.append("\ufe01"); + sb.append("\233"); + sb.append("\ufe01"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\006"); sb.append("\111"); - sb.append("\u03d9"); + sb.append("\ufee2"); + sb.append("\233"); + sb.append("\u0246"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\ufead"); - sb.append("\045"); - sb.append("\ufead"); - sb.append("\046"); - sb.append("\ufead"); - sb.append("\056"); - sb.append("\ufead"); - sb.append("\060"); - sb.append("\ufead"); - sb.append("\112"); - sb.append("\ufead"); - sb.append("\120"); - sb.append("\ufead"); - sb.append("\222"); - sb.append("\ufead"); - sb.append("\223"); - sb.append("\ufead"); - sb.append("\224"); - sb.append("\ufead"); - sb.append("\225"); - sb.append("\ufead"); - sb.append("\226"); - sb.append("\ufead"); - sb.append("\227"); - sb.append("\ufead"); - sb.append("\247"); - sb.append("\ufead"); - sb.append("\250"); - sb.append("\ufead"); - sb.append("\256"); - sb.append("\ufead"); - sb.append("\257"); - sb.append("\ufead"); - sb.append("\260"); - sb.append("\ufead"); + sb.append("\004"); + sb.append("\111"); + sb.append("\u03cd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\274"); + sb.append("\266"); + sb.append("\003"); + sb.append("\uff7c"); + sb.append("\004"); + sb.append("\uff7c"); + sb.append("\005"); + sb.append("\uff7c"); + sb.append("\006"); + sb.append("\uff7c"); + sb.append("\007"); + sb.append("\uff7c"); + sb.append("\010"); + sb.append("\uff7c"); + sb.append("\011"); + sb.append("\uff7c"); + sb.append("\012"); + sb.append("\uff7c"); + sb.append("\014"); + sb.append("\uff7c"); + sb.append("\015"); + sb.append("\uff7c"); + sb.append("\016"); + sb.append("\uff7c"); + sb.append("\017"); + sb.append("\uff7c"); + sb.append("\020"); + sb.append("\uff7c"); + sb.append("\021"); + sb.append("\uff7c"); + sb.append("\023"); + sb.append("\uff7c"); + sb.append("\025"); + sb.append("\uff7c"); + sb.append("\027"); + sb.append("\uff7c"); + sb.append("\032"); + sb.append("\uff7c"); + sb.append("\034"); + sb.append("\uff7c"); + sb.append("\036"); + sb.append("\uff7c"); + sb.append("\041"); + sb.append("\uff7c"); + sb.append("\042"); + sb.append("\uff7c"); + sb.append("\043"); + sb.append("\uff7c"); + sb.append("\044"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\ufe84"); - sb.append("\046"); - sb.append("\ufe88"); + sb.append("\uff7c"); + sb.append("\047"); + sb.append("\uff7c"); + sb.append("\050"); + sb.append("\uff7c"); + sb.append("\051"); + sb.append("\uff7c"); + sb.append("\052"); + sb.append("\uff7c"); + sb.append("\054"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\304"); - sb.append("\060"); - sb.append("\306"); + sb.append("\uff7c"); + sb.append("\057"); + sb.append("\uff7c"); + sb.append("\061"); + sb.append("\uff7c"); + sb.append("\062"); + sb.append("\uff7c"); + sb.append("\063"); + sb.append("\uff7c"); + sb.append("\065"); + sb.append("\uff7c"); + sb.append("\066"); + sb.append("\uff7c"); + sb.append("\074"); + sb.append("\uff7c"); + sb.append("\075"); + sb.append("\uff7c"); + sb.append("\077"); + sb.append("\uff7c"); + sb.append("\100"); + sb.append("\uff7c"); + sb.append("\101"); + sb.append("\uff7c"); + sb.append("\102"); + sb.append("\uff7c"); + sb.append("\103"); + sb.append("\uff7c"); + sb.append("\104"); + sb.append("\uff7c"); + sb.append("\105"); + sb.append("\uff7c"); + sb.append("\111"); + sb.append("\uff7c"); sb.append("\112"); - sb.append("\u03db"); + sb.append("\uff7c"); + sb.append("\115"); + sb.append("\uff7c"); + sb.append("\116"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\300"); - sb.append("\222"); - sb.append("\303"); + sb.append("\uff7c"); + sb.append("\121"); + sb.append("\uff7c"); + sb.append("\122"); + sb.append("\uff7c"); + sb.append("\123"); + sb.append("\uff7c"); + sb.append("\124"); + sb.append("\uff7c"); + sb.append("\125"); + sb.append("\uff7c"); + sb.append("\126"); + sb.append("\uff7c"); + sb.append("\133"); + sb.append("\uff7c"); + sb.append("\151"); + sb.append("\uff7c"); + sb.append("\173"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); + sb.append("\200"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); + sb.append("\203"); + sb.append("\uff7c"); + sb.append("\204"); + sb.append("\uff7c"); + sb.append("\205"); + sb.append("\uff7c"); + sb.append("\206"); + sb.append("\uff7c"); + sb.append("\207"); + sb.append("\uff7c"); + sb.append("\210"); + sb.append("\uff7c"); + sb.append("\211"); + sb.append("\uff7c"); + sb.append("\212"); + sb.append("\uff7c"); + sb.append("\213"); + sb.append("\uff7c"); + sb.append("\214"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); + sb.append("\217"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\264"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\265"); + sb.append("\uff7c"); sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); + sb.append("\234"); + sb.append("\uff7c"); + sb.append("\235"); + sb.append("\uff7c"); + sb.append("\236"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); + sb.append("\253"); + sb.append("\uff7c"); sb.append("\254"); + sb.append("\uff7c"); + sb.append("\255"); + sb.append("\uff7c"); sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\132"); + sb.append("\266"); + sb.append("\003"); + sb.append("\211"); + sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\217"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\014"); + sb.append("\007"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufcca"); - sb.append("\033"); - sb.append("\ufcca"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufcca"); - sb.append("\072"); - sb.append("\ufcca"); - sb.append("\073"); - sb.append("\ufcca"); - sb.append("\111"); - sb.append("\ufcca"); - sb.append("\112"); - sb.append("\ufcca"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); + sb.append("\032"); + sb.append("\106"); + sb.append("\034"); sb.append("\113"); - sb.append("\ufcca"); - sb.append("\127"); - sb.append("\ufcca"); - sb.append("\130"); - sb.append("\ufcca"); - sb.append("\131"); - sb.append("\ufcca"); - sb.append("\132"); - sb.append("\ufcca"); - sb.append("\150"); - sb.append("\ufcca"); - sb.append("\151"); - sb.append("\ufcca"); - sb.append("\152"); - sb.append("\ufcca"); - sb.append("\153"); - sb.append("\ufcca"); - sb.append("\154"); - sb.append("\ufcca"); - sb.append("\155"); - sb.append("\ufcca"); - sb.append("\156"); - sb.append("\ufcca"); - sb.append("\157"); - sb.append("\ufcca"); - sb.append("\160"); - sb.append("\ufcca"); - sb.append("\161"); - sb.append("\ufcca"); - sb.append("\162"); - sb.append("\ufcca"); - sb.append("\163"); - sb.append("\ufcca"); - sb.append("\164"); - sb.append("\ufcca"); - sb.append("\165"); - sb.append("\ufcca"); - sb.append("\166"); - sb.append("\ufcca"); - sb.append("\167"); - sb.append("\ufcca"); - sb.append("\170"); - sb.append("\ufcca"); - sb.append("\171"); - sb.append("\ufcca"); - sb.append("\172"); - sb.append("\ufcca"); + sb.append("\036"); + sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\023"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); sb.append("\173"); - sb.append("\ufcca"); - sb.append("\174"); - sb.append("\ufcca"); - sb.append("\175"); - sb.append("\ufcca"); - sb.append("\176"); - sb.append("\ufcca"); - sb.append("\201"); - sb.append("\ufcca"); + sb.append("\051"); sb.append("\214"); - sb.append("\ufcca"); - sb.append("\215"); - sb.append("\ufcca"); - sb.append("\230"); - sb.append("\ufcca"); - sb.append("\231"); - sb.append("\ufcca"); - sb.append("\232"); - sb.append("\ufcca"); - sb.append("\242"); - sb.append("\ufcca"); - sb.append("\245"); - sb.append("\ufcca"); - sb.append("\251"); - sb.append("\ufcca"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\070"); - sb.append("\uff24"); - sb.append("\111"); - sb.append("\uff24"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\067"); - sb.append("\ufdce"); - sb.append("\070"); - sb.append("\ufdce"); - sb.append("\111"); - sb.append("\ufdce"); - sb.append("\230"); - sb.append("\u023e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\052"); + sb.append("\057"); + sb.append("\054"); + sb.append("\026"); + sb.append("\056"); + sb.append("\u03a9"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); sb.append("\010"); - sb.append("\067"); - sb.append("\u03d6"); - sb.append("\070"); - sb.append("\uff25"); - sb.append("\111"); - sb.append("\uff25"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\070"); - sb.append("\236"); - sb.append("\111"); - sb.append("\uff20"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); sb.append("\111"); - sb.append("\u03e1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\ufead"); - sb.append("\045"); - sb.append("\ufead"); - sb.append("\046"); - sb.append("\ufead"); - sb.append("\056"); - sb.append("\ufead"); - sb.append("\060"); - sb.append("\ufead"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\111"); + sb.append("\157"); sb.append("\112"); - sb.append("\ufead"); - sb.append("\120"); - sb.append("\ufead"); - sb.append("\222"); - sb.append("\ufead"); - sb.append("\223"); - sb.append("\ufead"); - sb.append("\224"); - sb.append("\ufead"); - sb.append("\225"); - sb.append("\ufead"); - sb.append("\226"); - sb.append("\ufead"); - sb.append("\227"); - sb.append("\ufead"); - sb.append("\247"); - sb.append("\ufead"); - sb.append("\250"); - sb.append("\ufead"); - sb.append("\256"); - sb.append("\ufead"); - sb.append("\257"); - sb.append("\ufead"); - sb.append("\260"); - sb.append("\ufead"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\274"); - sb.append("\045"); - sb.append("\ufe84"); + sb.append("\u03cf"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); sb.append("\046"); - sb.append("\ufe88"); - sb.append("\056"); - sb.append("\304"); - sb.append("\060"); - sb.append("\306"); - sb.append("\112"); - sb.append("\u03e3"); sb.append("\120"); - sb.append("\300"); - sb.append("\222"); - sb.append("\303"); - sb.append("\223"); - sb.append("\264"); - sb.append("\224"); - sb.append("\265"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\132"); - sb.append("\031"); - sb.append("\ufcc9"); - sb.append("\033"); - sb.append("\ufcc9"); - sb.append("\071"); - sb.append("\ufcc9"); - sb.append("\072"); - sb.append("\ufcc9"); - sb.append("\073"); - sb.append("\ufcc9"); - sb.append("\111"); - sb.append("\ufcc9"); - sb.append("\112"); - sb.append("\ufcc9"); - sb.append("\113"); - sb.append("\ufcc9"); - sb.append("\127"); - sb.append("\ufcc9"); - sb.append("\130"); - sb.append("\ufcc9"); + sb.append("\172"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); sb.append("\131"); - sb.append("\ufcc9"); - sb.append("\132"); - sb.append("\ufcc9"); - sb.append("\150"); - sb.append("\ufcc9"); + sb.append("\133"); + sb.append("\020"); sb.append("\151"); - sb.append("\ufcc9"); - sb.append("\152"); - sb.append("\ufcc9"); - sb.append("\153"); - sb.append("\ufcc9"); - sb.append("\154"); - sb.append("\ufcc9"); - sb.append("\155"); - sb.append("\ufcc9"); - sb.append("\156"); - sb.append("\ufcc9"); - sb.append("\157"); - sb.append("\ufcc9"); - sb.append("\160"); - sb.append("\ufcc9"); - sb.append("\161"); - sb.append("\ufcc9"); - sb.append("\162"); - sb.append("\ufcc9"); - sb.append("\163"); - sb.append("\ufcc9"); - sb.append("\164"); - sb.append("\ufcc9"); - sb.append("\165"); - sb.append("\ufcc9"); - sb.append("\166"); - sb.append("\ufcc9"); - sb.append("\167"); - sb.append("\ufcc9"); - sb.append("\170"); - sb.append("\ufcc9"); sb.append("\171"); - sb.append("\ufcc9"); - sb.append("\172"); - sb.append("\ufcc9"); sb.append("\173"); - sb.append("\ufcc9"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufcc9"); - sb.append("\175"); - sb.append("\ufcc9"); sb.append("\176"); - sb.append("\ufcc9"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufcc9"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\ufcc9"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufcc9"); - sb.append("\230"); - sb.append("\ufcc9"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\025"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); sb.append("\231"); - sb.append("\ufcc9"); - sb.append("\232"); - sb.append("\ufcc9"); - sb.append("\242"); - sb.append("\ufcc9"); - sb.append("\245"); - sb.append("\ufcc9"); + sb.append("\047"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufcc9"); + sb.append("\231"); + sb.append("\253"); + sb.append("\227"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\033"); - sb.append("\ufd1b"); - sb.append("\071"); - sb.append("\ufd1b"); - sb.append("\072"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\073"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\112"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\127"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\130"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\131"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\132"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\150"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\151"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\152"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\153"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\154"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\155"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\156"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\157"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\160"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\161"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\162"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\163"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\164"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\165"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\166"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\167"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\170"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\171"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\172"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\173"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\174"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\175"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); sb.append("\176"); - sb.append("\ufd1b"); - sb.append("\201"); - sb.append("\ufd1b"); - sb.append("\215"); - sb.append("\ufd1b"); - sb.append("\230"); - sb.append("\ufd1b"); - sb.append("\231"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); + sb.append("\177"); + sb.append("\ufe0e"); + sb.append("\202"); + sb.append("\ufe0e"); + sb.append("\216"); + sb.append("\ufe0e"); sb.append("\232"); - sb.append("\ufd1b"); - sb.append("\242"); - sb.append("\ufd1b"); - sb.append("\245"); - sb.append("\ufd1b"); - sb.append("\251"); - sb.append("\ufd1b"); + sb.append("\ufe0e"); + sb.append("\233"); + sb.append("\ufe0e"); + sb.append("\243"); + sb.append("\ufe0e"); + sb.append("\246"); + sb.append("\ufe0e"); + sb.append("\252"); + sb.append("\ufe0e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\130"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd18"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd18"); - sb.append("\071"); - sb.append("\ufd18"); - sb.append("\072"); - sb.append("\ufd18"); + sb.append("\ufe14"); sb.append("\073"); - sb.append("\ufd18"); - sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufe14"); sb.append("\112"); - sb.append("\ufd18"); + sb.append("\ufe14"); sb.append("\127"); - sb.append("\ufd18"); + sb.append("\ufe14"); sb.append("\130"); - sb.append("\ufd18"); + sb.append("\ufe14"); sb.append("\131"); - sb.append("\ufd18"); + sb.append("\ufe14"); sb.append("\132"); - sb.append("\ufd18"); + sb.append("\ufe14"); sb.append("\150"); - sb.append("\ufd18"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufd18"); + sb.append("\ufe14"); sb.append("\152"); - sb.append("\ufd18"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd18"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd18"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd18"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd18"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd18"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd18"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd18"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd18"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd18"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd18"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd18"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd18"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd18"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd18"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd18"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd18"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd18"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd18"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd18"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd18"); - sb.append("\201"); - sb.append("\ufd18"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd18"); - sb.append("\230"); - sb.append("\ufd18"); - sb.append("\231"); - sb.append("\ufd18"); - sb.append("\232"); - sb.append("\ufd18"); - sb.append("\242"); - sb.append("\ufd18"); - sb.append("\245"); - sb.append("\ufd18"); - sb.append("\251"); - sb.append("\ufd18"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe14"); + sb.append("\232"); + sb.append("\ufe14"); sb.append("\233"); - sb.append("\152"); + sb.append("\ufe14"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufdd4"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufdd4"); - sb.append("\071"); - sb.append("\ufdd4"); - sb.append("\072"); - sb.append("\ufdd4"); + sb.append("\ufce0"); sb.append("\073"); - sb.append("\ufdd4"); + sb.append("\ufce0"); sb.append("\112"); - sb.append("\ufdd4"); + sb.append("\ufce0"); sb.append("\127"); - sb.append("\ufdd4"); + sb.append("\ufce0"); sb.append("\130"); - sb.append("\ufdd4"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufdd4"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufdd4"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufdd4"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufdd4"); + sb.append("\ufce0"); sb.append("\152"); - sb.append("\ufdd4"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufdd4"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufdd4"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufdd4"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufdd4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufdd4"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufdd4"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufdd4"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufdd4"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufdd4"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufdd4"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufdd4"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufdd4"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufdd4"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufdd4"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufdd4"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufdd4"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufdd4"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufdd4"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufdd4"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufdd4"); - sb.append("\201"); - sb.append("\ufdd4"); - sb.append("\215"); - sb.append("\ufdd4"); - sb.append("\230"); - sb.append("\ufdd4"); - sb.append("\231"); - sb.append("\ufdd4"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufce0"); sb.append("\232"); - sb.append("\ufdd4"); - sb.append("\242"); - sb.append("\ufdd4"); - sb.append("\245"); - sb.append("\ufdd4"); - sb.append("\251"); - sb.append("\ufdd4"); + sb.append("\ufce0"); + sb.append("\233"); + sb.append("\ufce0"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufdd9"); - sb.append("\033"); - sb.append("\ufdd9"); + sb.append("\016"); sb.append("\071"); - sb.append("\u03ec"); - sb.append("\072"); - sb.append("\u03ea"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); sb.append("\073"); - sb.append("\ufdd9"); - sb.append("\112"); - sb.append("\ufdd9"); - sb.append("\127"); - sb.append("\ufdd9"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\142"); + sb.append("\031"); + sb.append("\ufd4e"); sb.append("\130"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\131"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\132"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); + sb.append("\134"); + sb.append("\u0375"); + sb.append("\135"); + sb.append("\u037a"); + sb.append("\136"); + sb.append("\u0376"); + sb.append("\137"); + sb.append("\u0380"); + sb.append("\140"); + sb.append("\u0379"); + sb.append("\141"); + sb.append("\u037f"); + sb.append("\142"); + sb.append("\u037c"); + sb.append("\143"); + sb.append("\u037e"); + sb.append("\144"); + sb.append("\u0378"); + sb.append("\145"); + sb.append("\u0374"); + sb.append("\146"); + sb.append("\u037b"); + sb.append("\147"); + sb.append("\u037d"); sb.append("\150"); - sb.append("\ufdd9"); - sb.append("\151"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\152"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\153"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\154"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\155"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\156"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\157"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\160"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\161"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\162"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\163"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\164"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\165"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\166"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\167"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\170"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\171"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\172"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\173"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\174"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\175"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); sb.append("\176"); - sb.append("\ufdd9"); - sb.append("\201"); - sb.append("\ufdd9"); - sb.append("\215"); - sb.append("\ufdd9"); - sb.append("\230"); - sb.append("\ufdd9"); - sb.append("\231"); - sb.append("\ufdd9"); + sb.append("\ufd4e"); + sb.append("\177"); + sb.append("\ufd4e"); + sb.append("\202"); + sb.append("\ufd4e"); + sb.append("\203"); + sb.append("\ufd4c"); + sb.append("\204"); + sb.append("\ufd4c"); sb.append("\232"); - sb.append("\ufdd9"); - sb.append("\242"); - sb.append("\ufdd9"); - sb.append("\245"); - sb.append("\ufdd9"); - sb.append("\251"); - sb.append("\ufdd9"); + sb.append("\u03d6"); + sb.append("\243"); + sb.append("\ufd4e"); + sb.append("\244"); + sb.append("\u0377"); + sb.append("\246"); + sb.append("\ufd4e"); + sb.append("\247"); + sb.append("\u0381"); + sb.append("\252"); + sb.append("\ufd4e"); sb.append("\001"); sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\ufd56"); + sb.append("\130"); + sb.append("\ufd56"); + sb.append("\131"); + sb.append("\ufd56"); + sb.append("\132"); + sb.append("\ufd56"); + sb.append("\150"); + sb.append("\ufd56"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java index 8450db19da1e..f7615d551ad6 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,1074 +29,342 @@ public String getTableData() { } protected EncodedActionTable11() { sb = new StringBuilder(); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\124"); - sb.append("\031"); - sb.append("\ufdd5"); - sb.append("\033"); - sb.append("\ufdd5"); - sb.append("\071"); - sb.append("\ufdd5"); - sb.append("\072"); - sb.append("\ufdd5"); - sb.append("\073"); - sb.append("\ufdd5"); - sb.append("\112"); - sb.append("\ufdd5"); - sb.append("\127"); - sb.append("\ufdd5"); - sb.append("\130"); - sb.append("\ufdd5"); - sb.append("\131"); - sb.append("\ufdd5"); - sb.append("\132"); - sb.append("\ufdd5"); - sb.append("\150"); - sb.append("\ufdd5"); - sb.append("\151"); - sb.append("\ufdd5"); sb.append("\152"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\153"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\154"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\155"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\156"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\157"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\160"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\161"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\162"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\163"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\164"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\165"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\166"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\167"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\170"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\171"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\172"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\173"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\174"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\175"); - sb.append("\ufdd5"); + sb.append("\ufd56"); sb.append("\176"); - sb.append("\ufdd5"); - sb.append("\201"); - sb.append("\ufdd5"); - sb.append("\215"); - sb.append("\ufdd5"); - sb.append("\230"); - sb.append("\ufdd5"); - sb.append("\231"); - sb.append("\ufdd5"); + sb.append("\ufd56"); + sb.append("\177"); + sb.append("\ufd56"); + sb.append("\202"); + sb.append("\ufd56"); sb.append("\232"); - sb.append("\ufdd5"); - sb.append("\242"); - sb.append("\ufdd5"); - sb.append("\245"); - sb.append("\ufdd5"); - sb.append("\251"); - sb.append("\ufdd5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u03d5"); + sb.append("\243"); + sb.append("\ufd56"); + sb.append("\246"); + sb.append("\ufd56"); + sb.append("\252"); + sb.append("\ufd56"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\033"); - sb.append("\ufdd3"); - sb.append("\071"); - sb.append("\ufdd3"); - sb.append("\072"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\073"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\112"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\127"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\130"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\131"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\132"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\150"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\151"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\152"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\153"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\154"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\155"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\156"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\157"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\160"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\161"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\162"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\163"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\164"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\165"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\166"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\167"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\170"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\171"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\172"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\173"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\174"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\175"); - sb.append("\ufdd3"); + sb.append("\ufce1"); sb.append("\176"); - sb.append("\ufdd3"); - sb.append("\201"); - sb.append("\ufdd3"); - sb.append("\215"); - sb.append("\ufdd3"); - sb.append("\230"); - sb.append("\ufdd3"); - sb.append("\231"); - sb.append("\ufdd3"); + sb.append("\ufce1"); + sb.append("\177"); + sb.append("\ufce1"); + sb.append("\202"); + sb.append("\ufce1"); + sb.append("\216"); + sb.append("\ufce1"); sb.append("\232"); - sb.append("\ufdd3"); - sb.append("\242"); - sb.append("\ufdd3"); - sb.append("\245"); - sb.append("\ufdd3"); - sb.append("\251"); - sb.append("\ufdd3"); + sb.append("\ufce1"); + sb.append("\233"); + sb.append("\ufce1"); + sb.append("\243"); + sb.append("\ufce1"); + sb.append("\246"); + sb.append("\ufce1"); + sb.append("\252"); + sb.append("\ufce1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\033"); - sb.append("\ufdd2"); - sb.append("\071"); - sb.append("\ufdd2"); - sb.append("\072"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\073"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\112"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\127"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\130"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\131"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\132"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\150"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\151"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\152"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\153"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\154"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\155"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\156"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\157"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\160"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\161"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\162"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\163"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\164"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\165"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\166"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\167"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\170"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\171"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\172"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\173"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\174"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\175"); - sb.append("\ufdd2"); + sb.append("\ufce2"); sb.append("\176"); - sb.append("\ufdd2"); - sb.append("\201"); - sb.append("\ufdd2"); - sb.append("\215"); - sb.append("\ufdd2"); - sb.append("\230"); - sb.append("\ufdd2"); - sb.append("\231"); - sb.append("\ufdd2"); + sb.append("\ufce2"); + sb.append("\177"); + sb.append("\ufce2"); + sb.append("\202"); + sb.append("\ufce2"); + sb.append("\216"); + sb.append("\ufce2"); sb.append("\232"); - sb.append("\ufdd2"); - sb.append("\242"); - sb.append("\ufdd2"); - sb.append("\245"); - sb.append("\ufdd2"); - sb.append("\251"); - sb.append("\ufdd2"); + sb.append("\ufce2"); + sb.append("\233"); + sb.append("\ufce2"); + sb.append("\243"); + sb.append("\ufce2"); + sb.append("\246"); + sb.append("\ufce2"); + sb.append("\252"); + sb.append("\ufce2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\132"); sb.append("\031"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\033"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\071"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\072"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\073"); - sb.append("\ufdd4"); + sb.append("\ufd18"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\127"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\130"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\131"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\132"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\150"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\151"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\152"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\153"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\154"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\155"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\156"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\157"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\160"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\161"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\162"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\163"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\164"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\165"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\166"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\167"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\170"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\171"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\172"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\173"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\174"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\175"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\176"); - sb.append("\ufdd4"); - sb.append("\201"); - sb.append("\ufdd4"); + sb.append("\ufd18"); + sb.append("\177"); + sb.append("\ufd18"); + sb.append("\202"); + sb.append("\ufd18"); sb.append("\215"); - sb.append("\ufdd4"); - sb.append("\230"); - sb.append("\ufdd4"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd18"); sb.append("\231"); - sb.append("\ufdd4"); + sb.append("\ufd18"); sb.append("\232"); - sb.append("\ufdd4"); - sb.append("\242"); - sb.append("\ufdd4"); - sb.append("\245"); - sb.append("\ufdd4"); - sb.append("\251"); - sb.append("\ufdd4"); + sb.append("\ufd18"); + sb.append("\233"); + sb.append("\ufd18"); + sb.append("\243"); + sb.append("\ufd18"); + sb.append("\246"); + sb.append("\ufd18"); + sb.append("\252"); + sb.append("\ufd18"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufdd8"); + sb.append("\ufd10"); sb.append("\033"); - sb.append("\ufdd8"); + sb.append("\ufd10"); sb.append("\071"); - sb.append("\u03ec"); + sb.append("\ufd10"); sb.append("\072"); - sb.append("\u03ea"); + sb.append("\ufd10"); sb.append("\073"); - sb.append("\ufdd8"); + sb.append("\ufd10"); + sb.append("\111"); + sb.append("\ufd10"); sb.append("\112"); - sb.append("\ufdd8"); + sb.append("\ufd10"); + sb.append("\113"); + sb.append("\ufd10"); sb.append("\127"); - sb.append("\ufdd8"); + sb.append("\ufd10"); sb.append("\130"); - sb.append("\ufdd8"); + sb.append("\ufd10"); sb.append("\131"); - sb.append("\ufdd8"); - sb.append("\132"); - sb.append("\ufdd8"); - sb.append("\150"); - sb.append("\ufdd8"); - sb.append("\151"); - sb.append("\ufdd8"); - sb.append("\152"); - sb.append("\ufdd8"); - sb.append("\153"); - sb.append("\ufdd8"); - sb.append("\154"); - sb.append("\ufdd8"); - sb.append("\155"); - sb.append("\ufdd8"); - sb.append("\156"); - sb.append("\ufdd8"); - sb.append("\157"); - sb.append("\ufdd8"); - sb.append("\160"); - sb.append("\ufdd8"); - sb.append("\161"); - sb.append("\ufdd8"); - sb.append("\162"); - sb.append("\ufdd8"); - sb.append("\163"); - sb.append("\ufdd8"); - sb.append("\164"); - sb.append("\ufdd8"); - sb.append("\165"); - sb.append("\ufdd8"); - sb.append("\166"); - sb.append("\ufdd8"); - sb.append("\167"); - sb.append("\ufdd8"); - sb.append("\170"); - sb.append("\ufdd8"); - sb.append("\171"); - sb.append("\ufdd8"); - sb.append("\172"); - sb.append("\ufdd8"); - sb.append("\173"); - sb.append("\ufdd8"); - sb.append("\174"); - sb.append("\ufdd8"); - sb.append("\175"); - sb.append("\ufdd8"); - sb.append("\176"); - sb.append("\ufdd8"); - sb.append("\201"); - sb.append("\ufdd8"); - sb.append("\215"); - sb.append("\ufdd8"); - sb.append("\230"); - sb.append("\ufdd8"); - sb.append("\231"); - sb.append("\ufdd8"); - sb.append("\232"); - sb.append("\ufdd8"); - sb.append("\242"); - sb.append("\ufdd8"); - sb.append("\245"); - sb.append("\ufdd8"); - sb.append("\251"); - sb.append("\ufdd8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u03f2"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); - sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u0222"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u0223"); - sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u0220"); - sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u020a"); - sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0213"); - sb.append("\100"); - sb.append("\u01fd"); - sb.append("\101"); - sb.append("\u021f"); - sb.append("\102"); - sb.append("\u0204"); - sb.append("\103"); - sb.append("\u0218"); - sb.append("\104"); - sb.append("\u0212"); - sb.append("\105"); - sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u0217"); - sb.append("\116"); - sb.append("\u0207"); - sb.append("\121"); - sb.append("\u021c"); - sb.append("\122"); - sb.append("\u01fe"); - sb.append("\123"); - sb.append("\u020c"); - sb.append("\124"); - sb.append("\u0214"); - sb.append("\125"); - sb.append("\u0211"); - sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u03f4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\071"); - sb.append("\ufcc8"); - sb.append("\072"); - sb.append("\ufcc8"); - sb.append("\111"); - sb.append("\ufcc8"); - sb.append("\113"); - sb.append("\ufcc8"); - sb.append("\214"); - sb.append("\ufcc8"); - sb.append("\230"); - sb.append("\ufcc8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\012"); - sb.append("\075"); - sb.append("\233"); - sb.append("\152"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\124"); - sb.append("\031"); - sb.append("\ufd2c"); - sb.append("\033"); - sb.append("\ufd2c"); - sb.append("\071"); - sb.append("\ufd2c"); - sb.append("\072"); - sb.append("\ufd2c"); - sb.append("\073"); - sb.append("\ufd2c"); - sb.append("\112"); - sb.append("\ufd2c"); - sb.append("\127"); - sb.append("\ufd2c"); - sb.append("\130"); - sb.append("\ufd2c"); - sb.append("\131"); - sb.append("\ufd2c"); - sb.append("\132"); - sb.append("\ufd2c"); - sb.append("\150"); - sb.append("\ufd2c"); - sb.append("\151"); - sb.append("\ufd2c"); - sb.append("\152"); - sb.append("\ufd2c"); - sb.append("\153"); - sb.append("\ufd2c"); - sb.append("\154"); - sb.append("\ufd2c"); - sb.append("\155"); - sb.append("\ufd2c"); - sb.append("\156"); - sb.append("\ufd2c"); - sb.append("\157"); - sb.append("\ufd2c"); - sb.append("\160"); - sb.append("\ufd2c"); - sb.append("\161"); - sb.append("\ufd2c"); - sb.append("\162"); - sb.append("\ufd2c"); - sb.append("\163"); - sb.append("\ufd2c"); - sb.append("\164"); - sb.append("\ufd2c"); - sb.append("\165"); - sb.append("\ufd2c"); - sb.append("\166"); - sb.append("\ufd2c"); - sb.append("\167"); - sb.append("\ufd2c"); - sb.append("\170"); - sb.append("\ufd2c"); - sb.append("\171"); - sb.append("\ufd2c"); - sb.append("\172"); - sb.append("\ufd2c"); - sb.append("\173"); - sb.append("\ufd2c"); - sb.append("\174"); - sb.append("\ufd2c"); - sb.append("\175"); - sb.append("\ufd2c"); - sb.append("\176"); - sb.append("\ufd2c"); - sb.append("\201"); - sb.append("\ufd2c"); - sb.append("\215"); - sb.append("\ufd2c"); - sb.append("\230"); - sb.append("\ufd2c"); - sb.append("\231"); - sb.append("\ufd2c"); - sb.append("\232"); - sb.append("\ufd2c"); - sb.append("\242"); - sb.append("\ufd2c"); - sb.append("\245"); - sb.append("\ufd2c"); - sb.append("\251"); - sb.append("\ufd2c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\215"); - sb.append("\u03f8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\111"); - sb.append("\ufd1e"); - sb.append("\214"); - sb.append("\ufd1e"); - sb.append("\230"); - sb.append("\ufd1e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd11"); - sb.append("\033"); - sb.append("\ufd11"); - sb.append("\071"); - sb.append("\ufd11"); - sb.append("\072"); - sb.append("\ufd11"); - sb.append("\073"); - sb.append("\ufd11"); - sb.append("\111"); - sb.append("\ufd11"); - sb.append("\112"); - sb.append("\ufd11"); - sb.append("\113"); - sb.append("\ufd11"); - sb.append("\127"); - sb.append("\ufd11"); - sb.append("\130"); - sb.append("\ufd11"); - sb.append("\131"); - sb.append("\ufd11"); - sb.append("\132"); - sb.append("\ufd11"); - sb.append("\134"); - sb.append("\ufd11"); - sb.append("\135"); - sb.append("\ufd11"); - sb.append("\136"); - sb.append("\ufd11"); - sb.append("\137"); - sb.append("\ufd11"); - sb.append("\140"); - sb.append("\ufd11"); - sb.append("\141"); - sb.append("\ufd11"); - sb.append("\142"); - sb.append("\ufd11"); - sb.append("\143"); - sb.append("\ufd11"); - sb.append("\144"); - sb.append("\ufd11"); - sb.append("\145"); - sb.append("\ufd11"); - sb.append("\146"); - sb.append("\ufd11"); - sb.append("\147"); - sb.append("\ufd11"); - sb.append("\150"); - sb.append("\ufd11"); - sb.append("\151"); - sb.append("\ufd11"); - sb.append("\152"); - sb.append("\ufd11"); - sb.append("\153"); - sb.append("\ufd11"); - sb.append("\154"); - sb.append("\ufd11"); - sb.append("\155"); - sb.append("\ufd11"); - sb.append("\156"); - sb.append("\ufd11"); - sb.append("\157"); - sb.append("\ufd11"); - sb.append("\160"); - sb.append("\ufd11"); - sb.append("\161"); - sb.append("\ufd11"); - sb.append("\162"); - sb.append("\ufd11"); - sb.append("\163"); - sb.append("\ufd11"); - sb.append("\164"); - sb.append("\ufd11"); - sb.append("\165"); - sb.append("\ufd11"); - sb.append("\166"); - sb.append("\ufd11"); - sb.append("\167"); - sb.append("\ufd11"); - sb.append("\170"); - sb.append("\ufd11"); - sb.append("\171"); - sb.append("\ufd11"); - sb.append("\172"); - sb.append("\ufd11"); - sb.append("\173"); - sb.append("\ufd11"); - sb.append("\174"); - sb.append("\ufd11"); - sb.append("\175"); - sb.append("\ufd11"); - sb.append("\176"); - sb.append("\ufd11"); - sb.append("\201"); - sb.append("\ufd11"); - sb.append("\202"); - sb.append("\ufd11"); - sb.append("\203"); - sb.append("\ufd11"); - sb.append("\214"); - sb.append("\ufd11"); - sb.append("\215"); - sb.append("\ufd11"); - sb.append("\230"); - sb.append("\ufd11"); - sb.append("\231"); - sb.append("\ufd11"); - sb.append("\232"); - sb.append("\ufd11"); - sb.append("\242"); - sb.append("\ufd11"); - sb.append("\243"); - sb.append("\ufd11"); - sb.append("\245"); - sb.append("\ufd11"); - sb.append("\246"); - sb.append("\ufd11"); - sb.append("\251"); - sb.append("\ufd11"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\012"); - sb.append("\075"); - sb.append("\233"); - sb.append("\152"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\124"); - sb.append("\031"); - sb.append("\ufd2b"); - sb.append("\033"); - sb.append("\ufd2b"); - sb.append("\071"); - sb.append("\ufd2b"); - sb.append("\072"); - sb.append("\ufd2b"); - sb.append("\073"); - sb.append("\ufd2b"); - sb.append("\112"); - sb.append("\ufd2b"); - sb.append("\127"); - sb.append("\ufd2b"); - sb.append("\130"); - sb.append("\ufd2b"); - sb.append("\131"); - sb.append("\ufd2b"); - sb.append("\132"); - sb.append("\ufd2b"); - sb.append("\150"); - sb.append("\ufd2b"); - sb.append("\151"); - sb.append("\ufd2b"); - sb.append("\152"); - sb.append("\ufd2b"); - sb.append("\153"); - sb.append("\ufd2b"); - sb.append("\154"); - sb.append("\ufd2b"); - sb.append("\155"); - sb.append("\ufd2b"); - sb.append("\156"); - sb.append("\ufd2b"); - sb.append("\157"); - sb.append("\ufd2b"); - sb.append("\160"); - sb.append("\ufd2b"); - sb.append("\161"); - sb.append("\ufd2b"); - sb.append("\162"); - sb.append("\ufd2b"); - sb.append("\163"); - sb.append("\ufd2b"); - sb.append("\164"); - sb.append("\ufd2b"); - sb.append("\165"); - sb.append("\ufd2b"); - sb.append("\166"); - sb.append("\ufd2b"); - sb.append("\167"); - sb.append("\ufd2b"); - sb.append("\170"); - sb.append("\ufd2b"); - sb.append("\171"); - sb.append("\ufd2b"); - sb.append("\172"); - sb.append("\ufd2b"); - sb.append("\173"); - sb.append("\ufd2b"); - sb.append("\174"); - sb.append("\ufd2b"); - sb.append("\175"); - sb.append("\ufd2b"); - sb.append("\176"); - sb.append("\ufd2b"); - sb.append("\201"); - sb.append("\ufd2b"); - sb.append("\215"); - sb.append("\ufd2b"); - sb.append("\230"); - sb.append("\ufd2b"); - sb.append("\231"); - sb.append("\ufd2b"); - sb.append("\232"); - sb.append("\ufd2b"); - sb.append("\242"); - sb.append("\ufd2b"); - sb.append("\245"); - sb.append("\ufd2b"); - sb.append("\251"); - sb.append("\ufd2b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd10"); - sb.append("\033"); - sb.append("\ufd10"); - sb.append("\071"); - sb.append("\ufd10"); - sb.append("\072"); - sb.append("\ufd10"); - sb.append("\073"); - sb.append("\ufd10"); - sb.append("\111"); - sb.append("\ufd10"); - sb.append("\112"); - sb.append("\ufd10"); - sb.append("\113"); - sb.append("\ufd10"); - sb.append("\127"); - sb.append("\ufd10"); - sb.append("\130"); - sb.append("\ufd10"); - sb.append("\131"); - sb.append("\ufd10"); + sb.append("\ufd10"); sb.append("\132"); sb.append("\ufd10"); sb.append("\134"); @@ -1159,1043 +428,1347 @@ protected EncodedActionTable11() { sb.append("\171"); sb.append("\ufd10"); sb.append("\172"); - sb.append("\ufd10"); - sb.append("\173"); - sb.append("\ufd10"); - sb.append("\174"); - sb.append("\ufd10"); - sb.append("\175"); - sb.append("\ufd10"); - sb.append("\176"); - sb.append("\ufd10"); - sb.append("\201"); - sb.append("\ufd10"); - sb.append("\202"); - sb.append("\ufd10"); - sb.append("\203"); - sb.append("\ufd10"); - sb.append("\214"); - sb.append("\ufd10"); - sb.append("\215"); - sb.append("\ufd10"); - sb.append("\230"); - sb.append("\ufd10"); - sb.append("\231"); - sb.append("\ufd10"); - sb.append("\232"); - sb.append("\ufd10"); - sb.append("\242"); - sb.append("\ufd10"); - sb.append("\243"); - sb.append("\ufd10"); - sb.append("\245"); - sb.append("\ufd10"); - sb.append("\246"); - sb.append("\ufd10"); - sb.append("\251"); - sb.append("\ufd10"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe36"); - sb.append("\073"); - sb.append("\ufe36"); - sb.append("\112"); - sb.append("\ufe36"); - sb.append("\127"); - sb.append("\ufe36"); - sb.append("\130"); - sb.append("\ufe36"); - sb.append("\131"); - sb.append("\ufe36"); - sb.append("\132"); - sb.append("\ufe36"); - sb.append("\150"); - sb.append("\ufe36"); - sb.append("\151"); - sb.append("\ufe36"); - sb.append("\152"); - sb.append("\ufe36"); - sb.append("\153"); - sb.append("\ufe36"); - sb.append("\154"); - sb.append("\ufe36"); - sb.append("\155"); - sb.append("\ufe36"); - sb.append("\156"); - sb.append("\ufe36"); - sb.append("\157"); - sb.append("\ufe36"); - sb.append("\160"); - sb.append("\ufe36"); - sb.append("\161"); - sb.append("\ufe36"); - sb.append("\162"); - sb.append("\ufe36"); - sb.append("\163"); - sb.append("\ufe36"); - sb.append("\164"); - sb.append("\ufe36"); - sb.append("\165"); - sb.append("\ufe36"); - sb.append("\166"); - sb.append("\ufe36"); - sb.append("\167"); - sb.append("\ufe36"); - sb.append("\170"); - sb.append("\ufe36"); - sb.append("\171"); - sb.append("\ufe36"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe36"); - sb.append("\231"); - sb.append("\ufe36"); - sb.append("\232"); - sb.append("\ufe36"); - sb.append("\242"); - sb.append("\ufe36"); - sb.append("\245"); - sb.append("\ufe36"); - sb.append("\251"); - sb.append("\ufe36"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe39"); - sb.append("\073"); - sb.append("\ufe39"); - sb.append("\112"); - sb.append("\ufe39"); - sb.append("\127"); - sb.append("\ufe39"); - sb.append("\130"); - sb.append("\ufe39"); - sb.append("\131"); - sb.append("\ufe39"); - sb.append("\132"); - sb.append("\ufe39"); - sb.append("\150"); - sb.append("\ufe39"); - sb.append("\151"); - sb.append("\ufe39"); - sb.append("\152"); - sb.append("\ufe39"); - sb.append("\153"); - sb.append("\ufe39"); - sb.append("\154"); - sb.append("\ufe39"); - sb.append("\155"); - sb.append("\ufe39"); - sb.append("\156"); - sb.append("\ufe39"); - sb.append("\157"); - sb.append("\ufe39"); - sb.append("\160"); - sb.append("\ufe39"); - sb.append("\161"); - sb.append("\ufe39"); - sb.append("\162"); - sb.append("\ufe39"); - sb.append("\163"); - sb.append("\ufe39"); - sb.append("\164"); - sb.append("\ufe39"); - sb.append("\165"); - sb.append("\ufe39"); - sb.append("\166"); - sb.append("\ufe39"); - sb.append("\167"); - sb.append("\ufe39"); - sb.append("\170"); - sb.append("\ufe39"); - sb.append("\171"); - sb.append("\ufe39"); - sb.append("\172"); - sb.append("\ufe39"); + sb.append("\ufd10"); sb.append("\173"); - sb.append("\ufe39"); + sb.append("\ufd10"); sb.append("\174"); - sb.append("\ufe39"); + sb.append("\ufd10"); sb.append("\175"); - sb.append("\ufe39"); + sb.append("\ufd10"); sb.append("\176"); - sb.append("\ufe39"); - sb.append("\201"); - sb.append("\ufe39"); + sb.append("\ufd10"); + sb.append("\177"); + sb.append("\ufd10"); + sb.append("\202"); + sb.append("\ufd10"); + sb.append("\203"); + sb.append("\ufd10"); + sb.append("\204"); + sb.append("\ufd10"); sb.append("\215"); - sb.append("\ufe39"); + sb.append("\ufd10"); + sb.append("\216"); + sb.append("\ufd10"); sb.append("\231"); - sb.append("\ufe39"); + sb.append("\ufd10"); sb.append("\232"); - sb.append("\ufe39"); - sb.append("\242"); - sb.append("\ufe39"); + sb.append("\ufd10"); + sb.append("\233"); + sb.append("\ufd10"); + sb.append("\243"); + sb.append("\ufd10"); + sb.append("\244"); + sb.append("\ufd10"); + sb.append("\246"); + sb.append("\ufd10"); + sb.append("\247"); + sb.append("\ufd10"); + sb.append("\252"); + sb.append("\ufd10"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\067"); + sb.append("\u03da"); + sb.append("\070"); + sb.append("\uff25"); + sb.append("\111"); + sb.append("\uff25"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\010"); + sb.append("\244"); + sb.append("\121"); + sb.append("\240"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); - sb.append("\ufe39"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\070"); + sb.append("\236"); + sb.append("\111"); + sb.append("\uff20"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\111"); + sb.append("\u03dd"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufead"); + sb.append("\045"); + sb.append("\ufead"); + sb.append("\046"); + sb.append("\ufead"); + sb.append("\056"); + sb.append("\ufead"); + sb.append("\060"); + sb.append("\ufead"); + sb.append("\112"); + sb.append("\ufead"); + sb.append("\120"); + sb.append("\ufead"); + sb.append("\223"); + sb.append("\ufead"); + sb.append("\224"); + sb.append("\ufead"); + sb.append("\225"); + sb.append("\ufead"); + sb.append("\226"); + sb.append("\ufead"); + sb.append("\227"); + sb.append("\ufead"); + sb.append("\230"); + sb.append("\ufead"); + sb.append("\250"); + sb.append("\ufead"); sb.append("\251"); - sb.append("\ufe39"); + sb.append("\ufead"); + sb.append("\257"); + sb.append("\ufead"); + sb.append("\260"); + sb.append("\ufead"); + sb.append("\261"); + sb.append("\ufead"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\046"); + sb.append("\037"); + sb.append("\274"); + sb.append("\045"); + sb.append("\ufe84"); + sb.append("\046"); + sb.append("\ufe88"); + sb.append("\056"); + sb.append("\304"); + sb.append("\060"); + sb.append("\306"); + sb.append("\112"); + sb.append("\u03df"); + sb.append("\120"); + sb.append("\300"); + sb.append("\223"); + sb.append("\303"); + sb.append("\224"); + sb.append("\264"); + sb.append("\225"); + sb.append("\265"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\134"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufcc8"); sb.append("\033"); - sb.append("\ufe38"); + sb.append("\ufcc8"); + sb.append("\071"); + sb.append("\ufcc8"); + sb.append("\072"); + sb.append("\ufcc8"); sb.append("\073"); - sb.append("\ufe38"); + sb.append("\ufcc8"); + sb.append("\111"); + sb.append("\ufcc8"); sb.append("\112"); - sb.append("\ufe38"); + sb.append("\ufcc8"); + sb.append("\113"); + sb.append("\ufcc8"); sb.append("\127"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\130"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\131"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\132"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\150"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\151"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\152"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\153"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\154"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\155"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\156"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\157"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\160"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\161"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\162"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\163"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\164"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\165"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\166"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\167"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\170"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\171"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\172"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\173"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\174"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\175"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\176"); - sb.append("\ufe38"); - sb.append("\201"); - sb.append("\ufe38"); + sb.append("\ufcc8"); + sb.append("\177"); + sb.append("\ufcc8"); + sb.append("\202"); + sb.append("\ufcc8"); sb.append("\215"); - sb.append("\ufe38"); + sb.append("\ufcc8"); + sb.append("\216"); + sb.append("\ufcc8"); sb.append("\231"); - sb.append("\ufe38"); + sb.append("\ufcc8"); sb.append("\232"); - sb.append("\ufe38"); - sb.append("\242"); - sb.append("\ufe38"); - sb.append("\245"); - sb.append("\ufe38"); + sb.append("\ufcc8"); + sb.append("\233"); + sb.append("\ufcc8"); + sb.append("\243"); + sb.append("\ufcc8"); + sb.append("\246"); + sb.append("\ufcc8"); + sb.append("\252"); + sb.append("\ufcc8"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\070"); + sb.append("\uff24"); + sb.append("\111"); + sb.append("\uff24"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\067"); + sb.append("\ufdcd"); + sb.append("\070"); + sb.append("\ufdcd"); + sb.append("\111"); + sb.append("\ufdcd"); + sb.append("\231"); + sb.append("\u0242"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\067"); + sb.append("\u03da"); + sb.append("\070"); + sb.append("\uff25"); + sb.append("\111"); + sb.append("\uff25"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\070"); + sb.append("\236"); + sb.append("\111"); + sb.append("\uff20"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\111"); + sb.append("\u03e5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufead"); + sb.append("\045"); + sb.append("\ufead"); + sb.append("\046"); + sb.append("\ufead"); + sb.append("\056"); + sb.append("\ufead"); + sb.append("\060"); + sb.append("\ufead"); + sb.append("\112"); + sb.append("\ufead"); + sb.append("\120"); + sb.append("\ufead"); + sb.append("\223"); + sb.append("\ufead"); + sb.append("\224"); + sb.append("\ufead"); + sb.append("\225"); + sb.append("\ufead"); + sb.append("\226"); + sb.append("\ufead"); + sb.append("\227"); + sb.append("\ufead"); + sb.append("\230"); + sb.append("\ufead"); + sb.append("\250"); + sb.append("\ufead"); sb.append("\251"); - sb.append("\ufe38"); + sb.append("\ufead"); + sb.append("\257"); + sb.append("\ufead"); + sb.append("\260"); + sb.append("\ufead"); + sb.append("\261"); + sb.append("\ufead"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\106"); + sb.append("\046"); + sb.append("\037"); + sb.append("\274"); + sb.append("\045"); + sb.append("\ufe84"); + sb.append("\046"); + sb.append("\ufe88"); + sb.append("\056"); + sb.append("\304"); + sb.append("\060"); + sb.append("\306"); + sb.append("\112"); + sb.append("\u03e7"); + sb.append("\120"); + sb.append("\300"); + sb.append("\223"); + sb.append("\303"); + sb.append("\224"); + sb.append("\264"); + sb.append("\225"); + sb.append("\265"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\134"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufcc7"); sb.append("\033"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); + sb.append("\071"); + sb.append("\ufcc7"); + sb.append("\072"); + sb.append("\ufcc7"); sb.append("\073"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); + sb.append("\111"); + sb.append("\ufcc7"); sb.append("\112"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); + sb.append("\113"); + sb.append("\ufcc7"); sb.append("\127"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\130"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\131"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\132"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\150"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\151"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\152"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\153"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\154"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\155"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\156"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); + sb.append("\157"); + sb.append("\ufcc7"); + sb.append("\160"); + sb.append("\ufcc7"); + sb.append("\161"); + sb.append("\ufcc7"); + sb.append("\162"); + sb.append("\ufcc7"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufcc7"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufcc7"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufcc7"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufcc7"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufcc7"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufcc7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufcc7"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufcc7"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufcc7"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufcc7"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufcc7"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufcc7"); + sb.append("\177"); + sb.append("\ufcc7"); + sb.append("\202"); + sb.append("\ufcc7"); sb.append("\215"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); + sb.append("\216"); + sb.append("\ufcc7"); sb.append("\231"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); sb.append("\232"); - sb.append("\ufe2d"); - sb.append("\242"); - sb.append("\ufe2d"); - sb.append("\245"); - sb.append("\ufe2d"); - sb.append("\251"); - sb.append("\ufe2d"); + sb.append("\ufcc7"); + sb.append("\233"); + sb.append("\ufcc7"); + sb.append("\243"); + sb.append("\ufcc7"); + sb.append("\246"); + sb.append("\ufcc7"); + sb.append("\252"); + sb.append("\ufcc7"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd19"); sb.append("\033"); - sb.append("\ufe35"); + sb.append("\ufd19"); + sb.append("\071"); + sb.append("\ufd19"); + sb.append("\072"); + sb.append("\ufd19"); sb.append("\073"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\112"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\127"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\130"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\131"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\132"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\150"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\151"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\152"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\153"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\154"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\155"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\156"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\157"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\160"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\161"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\162"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\163"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\164"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\165"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\166"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\167"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\170"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\171"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd19"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd19"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd19"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd19"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe35"); + sb.append("\ufd19"); + sb.append("\177"); + sb.append("\ufd19"); + sb.append("\202"); + sb.append("\ufd19"); + sb.append("\216"); + sb.append("\ufd19"); sb.append("\231"); - sb.append("\ufe35"); + sb.append("\ufd19"); sb.append("\232"); - sb.append("\ufe35"); - sb.append("\242"); - sb.append("\ufe35"); - sb.append("\245"); - sb.append("\ufe35"); - sb.append("\251"); - sb.append("\ufe35"); + sb.append("\ufd19"); + sb.append("\233"); + sb.append("\ufd19"); + sb.append("\243"); + sb.append("\ufd19"); + sb.append("\246"); + sb.append("\ufd19"); + sb.append("\252"); + sb.append("\ufd19"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\132"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd16"); sb.append("\033"); - sb.append("\ufe3e"); + sb.append("\ufd16"); + sb.append("\071"); + sb.append("\ufd16"); + sb.append("\072"); + sb.append("\ufd16"); sb.append("\073"); - sb.append("\ufe3e"); + sb.append("\ufd16"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\127"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\130"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\131"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\132"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\150"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\151"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\152"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\153"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\154"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\155"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd16"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd16"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd16"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd16"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd16"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd16"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd16"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd16"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd16"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd16"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd16"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd16"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd16"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd16"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd16"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd16"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd16"); + sb.append("\177"); + sb.append("\ufd16"); + sb.append("\202"); + sb.append("\ufd16"); sb.append("\215"); - sb.append("\ufe3e"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd16"); sb.append("\231"); - sb.append("\ufe3e"); + sb.append("\ufd16"); sb.append("\232"); - sb.append("\ufe3e"); - sb.append("\242"); - sb.append("\ufe3e"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd16"); + sb.append("\233"); + sb.append("\ufd16"); + sb.append("\243"); + sb.append("\ufd16"); + sb.append("\246"); + sb.append("\ufd16"); + sb.append("\252"); + sb.append("\ufd16"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\106"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufdd3"); sb.append("\033"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); + sb.append("\071"); + sb.append("\ufdd3"); + sb.append("\072"); + sb.append("\ufdd3"); sb.append("\073"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\112"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\127"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\130"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\131"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\132"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\150"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\151"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\152"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\153"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\154"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\155"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\156"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); + sb.append("\157"); + sb.append("\ufdd3"); + sb.append("\160"); + sb.append("\ufdd3"); + sb.append("\161"); + sb.append("\ufdd3"); + sb.append("\162"); + sb.append("\ufdd3"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufdd3"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufdd3"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufdd3"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufdd3"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufdd3"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufdd3"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufdd3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufdd3"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufdd3"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdd3"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdd3"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); + sb.append("\177"); + sb.append("\ufdd3"); + sb.append("\202"); + sb.append("\ufdd3"); + sb.append("\216"); + sb.append("\ufdd3"); sb.append("\231"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); sb.append("\232"); - sb.append("\ufe2f"); - sb.append("\242"); - sb.append("\ufe2f"); - sb.append("\245"); - sb.append("\ufe2f"); - sb.append("\251"); - sb.append("\ufe2f"); + sb.append("\ufdd3"); + sb.append("\233"); + sb.append("\ufdd3"); + sb.append("\243"); + sb.append("\ufdd3"); + sb.append("\246"); + sb.append("\ufdd3"); + sb.append("\252"); + sb.append("\ufdd3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufdd8"); sb.append("\033"); - sb.append("\ufe44"); + sb.append("\ufdd8"); + sb.append("\071"); + sb.append("\u03f0"); + sb.append("\072"); + sb.append("\u03ee"); sb.append("\073"); - sb.append("\ufe44"); + sb.append("\ufdd8"); sb.append("\112"); - sb.append("\ufe44"); + sb.append("\ufdd8"); sb.append("\127"); - sb.append("\ufe44"); + sb.append("\ufdd8"); sb.append("\130"); - sb.append("\ufe44"); + sb.append("\ufdd8"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufdd8"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufdd8"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufdd8"); sb.append("\151"); - sb.append("\ufe44"); + sb.append("\ufdd8"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufdd8"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufdd8"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufdd8"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufdd8"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufdd8"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufdd8"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufdd8"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufdd8"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufdd8"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufdd8"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufdd8"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufdd8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufdd8"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufdd8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufdd8"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufdd8"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufdd8"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufdd8"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdd8"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdd8"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe44"); + sb.append("\ufdd8"); + sb.append("\177"); + sb.append("\ufdd8"); + sb.append("\202"); + sb.append("\ufdd8"); + sb.append("\216"); + sb.append("\ufdd8"); sb.append("\231"); - sb.append("\ufe44"); + sb.append("\ufdd8"); sb.append("\232"); - sb.append("\ufe44"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufdd8"); + sb.append("\233"); + sb.append("\ufdd8"); + sb.append("\243"); + sb.append("\ufdd8"); + sb.append("\246"); + sb.append("\ufdd8"); + sb.append("\252"); + sb.append("\ufdd8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufdd4"); sb.append("\033"); - sb.append("\ufe28"); + sb.append("\ufdd4"); + sb.append("\071"); + sb.append("\ufdd4"); + sb.append("\072"); + sb.append("\ufdd4"); sb.append("\073"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\112"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\127"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\130"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\131"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\132"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\150"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\151"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\152"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\153"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\154"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\155"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\156"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\157"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\160"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\161"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\162"); - sb.append("\ufe28"); + sb.append("\ufdd4"); + sb.append("\163"); + sb.append("\ufdd4"); + sb.append("\164"); + sb.append("\ufdd4"); + sb.append("\165"); + sb.append("\ufdd4"); + sb.append("\166"); + sb.append("\ufdd4"); + sb.append("\167"); + sb.append("\ufdd4"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufdd4"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufdd4"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufdd4"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufdd4"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdd4"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdd4"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe28"); + sb.append("\ufdd4"); + sb.append("\177"); + sb.append("\ufdd4"); + sb.append("\202"); + sb.append("\ufdd4"); + sb.append("\216"); + sb.append("\ufdd4"); sb.append("\231"); - sb.append("\ufe28"); + sb.append("\ufdd4"); sb.append("\232"); - sb.append("\ufe28"); - sb.append("\242"); - sb.append("\ufe28"); - sb.append("\245"); - sb.append("\ufe28"); - sb.append("\251"); - sb.append("\ufe28"); + sb.append("\ufdd4"); + sb.append("\233"); + sb.append("\ufdd4"); + sb.append("\243"); + sb.append("\ufdd4"); + sb.append("\246"); + sb.append("\ufdd4"); + sb.append("\252"); + sb.append("\ufdd4"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufdd2"); sb.append("\033"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); + sb.append("\071"); + sb.append("\ufdd2"); + sb.append("\072"); + sb.append("\ufdd2"); sb.append("\073"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\112"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\127"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\130"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\131"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\132"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\150"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\151"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\152"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\153"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\154"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\155"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\156"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\157"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\160"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\161"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\162"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\163"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\164"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\165"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\166"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\167"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\170"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\171"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\172"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\173"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdd2"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdd2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\ufe3a"); - sb.append("\215"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); + sb.append("\177"); + sb.append("\ufdd2"); + sb.append("\202"); + sb.append("\ufdd2"); + sb.append("\216"); + sb.append("\ufdd2"); sb.append("\231"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); sb.append("\232"); - sb.append("\ufe3a"); - sb.append("\242"); - sb.append("\ufe3a"); - sb.append("\245"); - sb.append("\ufe3a"); - sb.append("\251"); - sb.append("\ufe3a"); + sb.append("\ufdd2"); + sb.append("\233"); + sb.append("\ufdd2"); + sb.append("\243"); + sb.append("\ufdd2"); + sb.append("\246"); + sb.append("\ufdd2"); + sb.append("\252"); + sb.append("\ufdd2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufdd1"); sb.append("\033"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); + sb.append("\071"); + sb.append("\ufdd1"); + sb.append("\072"); + sb.append("\ufdd1"); sb.append("\073"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\112"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\127"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\130"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\131"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\132"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\150"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\151"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\152"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\153"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\154"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\155"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\156"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\157"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\160"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\161"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\162"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); + sb.append("\163"); + sb.append("\ufdd1"); + sb.append("\164"); + sb.append("\ufdd1"); + sb.append("\165"); + sb.append("\ufdd1"); + sb.append("\166"); + sb.append("\ufdd1"); + sb.append("\167"); + sb.append("\ufdd1"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufdd1"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufdd1"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufdd1"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufdd1"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdd1"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdd1"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); + sb.append("\177"); + sb.append("\ufdd1"); + sb.append("\202"); + sb.append("\ufdd1"); + sb.append("\216"); + sb.append("\ufdd1"); sb.append("\231"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); sb.append("\232"); - sb.append("\ufe2c"); - sb.append("\242"); - sb.append("\ufe2c"); - sb.append("\245"); - sb.append("\ufe2c"); - sb.append("\251"); - sb.append("\ufe2c"); + sb.append("\ufdd1"); + sb.append("\233"); + sb.append("\ufdd1"); + sb.append("\243"); + sb.append("\ufdd1"); + sb.append("\246"); + sb.append("\ufdd1"); + sb.append("\252"); + sb.append("\ufdd1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufdd3"); sb.append("\033"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); + sb.append("\071"); + sb.append("\ufdd3"); + sb.append("\072"); + sb.append("\ufdd3"); sb.append("\073"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); sb.append("\112"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); sb.append("\127"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); sb.append("\130"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); sb.append("\131"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); sb.append("\132"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufdd3"); sb.append("\151"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufdd3"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufdd3"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufdd3"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufdd3"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufdd3"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufdd3"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufdd3"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufdd3"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufdd3"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufdd3"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufdd3"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufdd3"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufdd3"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufdd3"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufdd3"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufdd3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufdd3"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufdd3"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdd3"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdd3"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); + sb.append("\177"); + sb.append("\ufdd3"); + sb.append("\202"); + sb.append("\ufdd3"); + sb.append("\216"); + sb.append("\ufdd3"); sb.append("\231"); - sb.append("\ufe3c"); + sb.append("\ufdd3"); sb.append("\232"); - sb.append("\ufe3c"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufdd3"); + sb.append("\233"); + sb.append("\ufdd3"); + sb.append("\243"); + sb.append("\ufdd3"); + sb.append("\246"); + sb.append("\ufdd3"); + sb.append("\252"); + sb.append("\ufdd3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufdd7"); + sb.append("\033"); + sb.append("\ufdd7"); + sb.append("\071"); + sb.append("\u03f0"); + sb.append("\072"); + sb.append("\u03ee"); + sb.append("\073"); + sb.append("\ufdd7"); + sb.append("\112"); + sb.append("\ufdd7"); + sb.append("\127"); + sb.append("\ufdd7"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufdd7"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufdd7"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufdd7"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufdd7"); + sb.append("\151"); + sb.append("\ufdd7"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufdd7"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufdd7"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufdd7"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufdd7"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufdd7"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufdd7"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufdd7"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufdd7"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufdd7"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufdd7"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufdd7"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufdd7"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufdd7"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufdd7"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufdd7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufdd7"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufdd7"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufdd7"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdd7"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdd7"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufdd7"); + sb.append("\177"); + sb.append("\ufdd7"); + sb.append("\202"); + sb.append("\ufdd7"); + sb.append("\216"); + sb.append("\ufdd7"); + sb.append("\231"); + sb.append("\ufdd7"); sb.append("\232"); - sb.append("\u040c"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufdd7"); + sb.append("\233"); + sb.append("\ufdd7"); + sb.append("\243"); + sb.append("\ufdd7"); + sb.append("\246"); + sb.append("\ufdd7"); + sb.append("\252"); + sb.append("\ufdd7"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\231"); + sb.append("\u03f6"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); + sb.append("\004"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2204,1630 +1777,1926 @@ protected EncodedActionTable11() { sb.append("\031"); sb.append("\016"); sb.append("\071"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\106"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\125"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\222"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\026"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\210"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\010"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\051"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\166"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\144"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\117"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\046"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\160"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\013"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\u0210"); sb.append("\124"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\116"); + sb.append("\u0215"); sb.append("\126"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u01b0"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u03f8"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); + sb.append("\071"); + sb.append("\ufcc6"); + sb.append("\072"); + sb.append("\ufcc6"); + sb.append("\111"); + sb.append("\ufcc6"); + sb.append("\113"); + sb.append("\ufcc6"); + sb.append("\215"); + sb.append("\ufcc6"); + sb.append("\231"); + sb.append("\ufcc6"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\012"); + sb.append("\075"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\126"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd2a"); sb.append("\033"); - sb.append("\ufe24"); + sb.append("\ufd2a"); + sb.append("\071"); + sb.append("\ufd2a"); + sb.append("\072"); + sb.append("\ufd2a"); sb.append("\073"); - sb.append("\ufe24"); + sb.append("\ufd2a"); sb.append("\112"); - sb.append("\ufe24"); + sb.append("\ufd2a"); sb.append("\127"); - sb.append("\ufe24"); + sb.append("\ufd2a"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd2a"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd2a"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd2a"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd2a"); + sb.append("\151"); + sb.append("\ufd2a"); + sb.append("\152"); + sb.append("\ufd2a"); + sb.append("\153"); + sb.append("\ufd2a"); + sb.append("\154"); + sb.append("\ufd2a"); + sb.append("\155"); + sb.append("\ufd2a"); + sb.append("\156"); + sb.append("\ufd2a"); + sb.append("\157"); + sb.append("\ufd2a"); + sb.append("\160"); + sb.append("\ufd2a"); + sb.append("\161"); + sb.append("\ufd2a"); + sb.append("\162"); + sb.append("\ufd2a"); + sb.append("\163"); + sb.append("\ufd2a"); + sb.append("\164"); + sb.append("\ufd2a"); + sb.append("\165"); + sb.append("\ufd2a"); + sb.append("\166"); + sb.append("\ufd2a"); + sb.append("\167"); + sb.append("\ufd2a"); + sb.append("\170"); + sb.append("\ufd2a"); + sb.append("\171"); + sb.append("\ufd2a"); + sb.append("\172"); + sb.append("\ufd2a"); + sb.append("\173"); + sb.append("\ufd2a"); + sb.append("\174"); + sb.append("\ufd2a"); + sb.append("\175"); + sb.append("\ufd2a"); + sb.append("\176"); + sb.append("\ufd2a"); + sb.append("\177"); + sb.append("\ufd2a"); + sb.append("\202"); + sb.append("\ufd2a"); + sb.append("\216"); + sb.append("\ufd2a"); + sb.append("\231"); + sb.append("\ufd2a"); + sb.append("\232"); + sb.append("\ufd2a"); + sb.append("\233"); + sb.append("\ufd2a"); + sb.append("\243"); + sb.append("\ufd2a"); + sb.append("\246"); + sb.append("\ufd2a"); + sb.append("\252"); + sb.append("\ufd2a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\216"); + sb.append("\u03fc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\111"); + sb.append("\ufd1c"); + sb.append("\215"); + sb.append("\ufd1c"); + sb.append("\231"); + sb.append("\ufd1c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd0f"); + sb.append("\033"); + sb.append("\ufd0f"); + sb.append("\071"); + sb.append("\ufd0f"); + sb.append("\072"); + sb.append("\ufd0f"); + sb.append("\073"); + sb.append("\ufd0f"); + sb.append("\111"); + sb.append("\ufd0f"); + sb.append("\112"); + sb.append("\ufd0f"); + sb.append("\113"); + sb.append("\ufd0f"); + sb.append("\127"); + sb.append("\ufd0f"); + sb.append("\130"); + sb.append("\ufd0f"); + sb.append("\131"); + sb.append("\ufd0f"); + sb.append("\132"); + sb.append("\ufd0f"); + sb.append("\134"); + sb.append("\ufd0f"); + sb.append("\135"); + sb.append("\ufd0f"); + sb.append("\136"); + sb.append("\ufd0f"); + sb.append("\137"); + sb.append("\ufd0f"); + sb.append("\140"); + sb.append("\ufd0f"); + sb.append("\141"); + sb.append("\ufd0f"); + sb.append("\142"); + sb.append("\ufd0f"); + sb.append("\143"); + sb.append("\ufd0f"); + sb.append("\144"); + sb.append("\ufd0f"); + sb.append("\145"); + sb.append("\ufd0f"); + sb.append("\146"); + sb.append("\ufd0f"); + sb.append("\147"); + sb.append("\ufd0f"); + sb.append("\150"); + sb.append("\ufd0f"); sb.append("\151"); - sb.append("\ufe24"); + sb.append("\ufd0f"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd0f"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd0f"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd0f"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd0f"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd0f"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd0f"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd0f"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd0f"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd0f"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd0f"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd0f"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd0f"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd0f"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd0f"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd0f"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd0f"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd0f"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd0f"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd0f"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd0f"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd0f"); + sb.append("\177"); + sb.append("\ufd0f"); + sb.append("\202"); + sb.append("\ufd0f"); + sb.append("\203"); + sb.append("\ufd0f"); + sb.append("\204"); + sb.append("\ufd0f"); sb.append("\215"); - sb.append("\ufe24"); + sb.append("\ufd0f"); + sb.append("\216"); + sb.append("\ufd0f"); sb.append("\231"); - sb.append("\ufe24"); + sb.append("\ufd0f"); sb.append("\232"); - sb.append("\ufe24"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd0f"); + sb.append("\233"); + sb.append("\ufd0f"); + sb.append("\243"); + sb.append("\ufd0f"); + sb.append("\244"); + sb.append("\ufd0f"); + sb.append("\246"); + sb.append("\ufd0f"); + sb.append("\247"); + sb.append("\ufd0f"); + sb.append("\252"); + sb.append("\ufd0f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); sb.append("\012"); sb.append("\075"); - sb.append("\015"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\126"); sb.append("\031"); - sb.append("\016"); + sb.append("\ufd29"); + sb.append("\033"); + sb.append("\ufd29"); sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\ufd29"); + sb.append("\072"); + sb.append("\ufd29"); + sb.append("\073"); + sb.append("\ufd29"); + sb.append("\112"); + sb.append("\ufd29"); + sb.append("\127"); + sb.append("\ufd29"); + sb.append("\130"); + sb.append("\ufd29"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufd29"); + sb.append("\132"); + sb.append("\ufd29"); + sb.append("\150"); + sb.append("\ufd29"); + sb.append("\151"); + sb.append("\ufd29"); + sb.append("\152"); + sb.append("\ufd29"); + sb.append("\153"); + sb.append("\ufd29"); + sb.append("\154"); + sb.append("\ufd29"); + sb.append("\155"); + sb.append("\ufd29"); + sb.append("\156"); + sb.append("\ufd29"); + sb.append("\157"); + sb.append("\ufd29"); + sb.append("\160"); + sb.append("\ufd29"); + sb.append("\161"); + sb.append("\ufd29"); + sb.append("\162"); + sb.append("\ufd29"); + sb.append("\163"); + sb.append("\ufd29"); + sb.append("\164"); + sb.append("\ufd29"); + sb.append("\165"); + sb.append("\ufd29"); + sb.append("\166"); + sb.append("\ufd29"); + sb.append("\167"); + sb.append("\ufd29"); + sb.append("\170"); + sb.append("\ufd29"); + sb.append("\171"); + sb.append("\ufd29"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufd29"); sb.append("\173"); + sb.append("\ufd29"); + sb.append("\174"); + sb.append("\ufd29"); + sb.append("\175"); + sb.append("\ufd29"); sb.append("\176"); + sb.append("\ufd29"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufd29"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufd29"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufd29"); + sb.append("\231"); + sb.append("\ufd29"); + sb.append("\232"); + sb.append("\ufd29"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd29"); + sb.append("\243"); + sb.append("\ufd29"); + sb.append("\246"); + sb.append("\ufd29"); + sb.append("\252"); + sb.append("\ufd29"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\174"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd0e"); sb.append("\033"); - sb.append("\ufe25"); + sb.append("\ufd0e"); + sb.append("\071"); + sb.append("\ufd0e"); + sb.append("\072"); + sb.append("\ufd0e"); sb.append("\073"); - sb.append("\ufe25"); + sb.append("\ufd0e"); + sb.append("\111"); + sb.append("\ufd0e"); sb.append("\112"); - sb.append("\ufe25"); + sb.append("\ufd0e"); + sb.append("\113"); + sb.append("\ufd0e"); sb.append("\127"); - sb.append("\ufe25"); + sb.append("\ufd0e"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd0e"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd0e"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd0e"); + sb.append("\134"); + sb.append("\ufd0e"); + sb.append("\135"); + sb.append("\ufd0e"); + sb.append("\136"); + sb.append("\ufd0e"); + sb.append("\137"); + sb.append("\ufd0e"); + sb.append("\140"); + sb.append("\ufd0e"); + sb.append("\141"); + sb.append("\ufd0e"); + sb.append("\142"); + sb.append("\ufd0e"); + sb.append("\143"); + sb.append("\ufd0e"); + sb.append("\144"); + sb.append("\ufd0e"); + sb.append("\145"); + sb.append("\ufd0e"); + sb.append("\146"); + sb.append("\ufd0e"); + sb.append("\147"); + sb.append("\ufd0e"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd0e"); sb.append("\151"); - sb.append("\ufe25"); + sb.append("\ufd0e"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd0e"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd0e"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd0e"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd0e"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd0e"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd0e"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd0e"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd0e"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd0e"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd0e"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd0e"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd0e"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd0e"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd0e"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd0e"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd0e"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd0e"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd0e"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd0e"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd0e"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd0e"); + sb.append("\177"); + sb.append("\ufd0e"); + sb.append("\202"); + sb.append("\ufd0e"); + sb.append("\203"); + sb.append("\ufd0e"); + sb.append("\204"); + sb.append("\ufd0e"); sb.append("\215"); - sb.append("\ufe25"); + sb.append("\ufd0e"); + sb.append("\216"); + sb.append("\ufd0e"); sb.append("\231"); - sb.append("\ufe25"); + sb.append("\ufd0e"); sb.append("\232"); - sb.append("\ufe25"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd0e"); + sb.append("\233"); + sb.append("\ufd0e"); + sb.append("\243"); + sb.append("\ufd0e"); + sb.append("\244"); + sb.append("\ufd0e"); + sb.append("\246"); + sb.append("\ufd0e"); + sb.append("\247"); + sb.append("\ufd0e"); + sb.append("\252"); + sb.append("\ufd0e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\073"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\112"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\127"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\130"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\131"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\132"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\150"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\151"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\152"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\153"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\154"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\155"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\156"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\157"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\160"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\161"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\162"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\163"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\164"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\165"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\166"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\167"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\170"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\171"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\172"); - sb.append("\ufe3d"); + sb.append("\ufe36"); sb.append("\173"); - sb.append("\ufe3d"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\ufe3d"); - sb.append("\215"); - sb.append("\ufe3d"); - sb.append("\231"); - sb.append("\ufe3d"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe36"); sb.append("\232"); - sb.append("\ufe3d"); - sb.append("\242"); - sb.append("\ufe3d"); - sb.append("\245"); - sb.append("\ufe3d"); - sb.append("\251"); - sb.append("\ufe3d"); + sb.append("\ufe36"); + sb.append("\233"); + sb.append("\ufe36"); + sb.append("\243"); + sb.append("\ufe36"); + sb.append("\246"); + sb.append("\ufe36"); + sb.append("\252"); + sb.append("\ufe36"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\073"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\112"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\127"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\130"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\131"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\132"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\150"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\151"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\152"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\153"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\154"); - sb.append("\ufe41"); + sb.append("\ufe39"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufe39"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufe39"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufe39"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufe39"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufe39"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufe39"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufe39"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufe39"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufe39"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufe39"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufe39"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufe39"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufe39"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufe39"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufe39"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufe39"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufe39"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe41"); - sb.append("\231"); - sb.append("\ufe41"); + sb.append("\ufe39"); + sb.append("\177"); + sb.append("\ufe39"); + sb.append("\202"); + sb.append("\ufe39"); + sb.append("\216"); + sb.append("\ufe39"); sb.append("\232"); - sb.append("\ufe41"); - sb.append("\242"); - sb.append("\ufe41"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufe39"); + sb.append("\233"); + sb.append("\ufe39"); + sb.append("\243"); + sb.append("\ufe39"); + sb.append("\246"); + sb.append("\ufe39"); + sb.append("\252"); + sb.append("\ufe39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe43"); + sb.append("\ufe38"); sb.append("\073"); - sb.append("\ufe43"); + sb.append("\ufe38"); sb.append("\112"); - sb.append("\ufe43"); + sb.append("\ufe38"); sb.append("\127"); - sb.append("\ufe43"); + sb.append("\ufe38"); sb.append("\130"); - sb.append("\ufe43"); + sb.append("\ufe38"); sb.append("\131"); - sb.append("\ufe43"); + sb.append("\ufe38"); sb.append("\132"); - sb.append("\ufe43"); + sb.append("\ufe38"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufe38"); sb.append("\151"); - sb.append("\ufe43"); + sb.append("\ufe38"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufe38"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufe38"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufe38"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufe38"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufe38"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufe38"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufe38"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufe38"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufe38"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufe38"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufe38"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufe38"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufe38"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufe38"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufe38"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufe38"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufe38"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufe38"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufe38"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufe38"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe43"); - sb.append("\231"); - sb.append("\ufe43"); + sb.append("\ufe38"); + sb.append("\177"); + sb.append("\ufe38"); + sb.append("\202"); + sb.append("\ufe38"); + sb.append("\216"); + sb.append("\ufe38"); sb.append("\232"); - sb.append("\ufe43"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufe38"); + sb.append("\233"); + sb.append("\ufe38"); + sb.append("\243"); + sb.append("\ufe38"); + sb.append("\246"); + sb.append("\ufe38"); + sb.append("\252"); + sb.append("\ufe38"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\110"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\073"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\112"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\127"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\130"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\131"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\132"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\150"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\151"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\152"); - sb.append("\ufe46"); + sb.append("\ufe2d"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufe2d"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufe2d"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufe2d"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufe2d"); sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufe2d"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe46"); - sb.append("\231"); - sb.append("\ufe46"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe2d"); sb.append("\232"); - sb.append("\ufe46"); - sb.append("\242"); - sb.append("\ufe46"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufe2d"); + sb.append("\233"); + sb.append("\ufe2d"); + sb.append("\243"); + sb.append("\ufe2d"); + sb.append("\246"); + sb.append("\ufe2d"); + sb.append("\252"); + sb.append("\ufe2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\073"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\112"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\127"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\130"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\131"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\132"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\150"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\151"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\152"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\153"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\154"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\155"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\156"); - sb.append("\ufe23"); + sb.append("\ufe35"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufe35"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufe35"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufe35"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufe35"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufe35"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufe35"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufe35"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufe35"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufe35"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufe35"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufe35"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufe35"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe23"); - sb.append("\231"); - sb.append("\ufe23"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe35"); sb.append("\232"); - sb.append("\ufe23"); - sb.append("\242"); - sb.append("\ufe23"); - sb.append("\245"); - sb.append("\ufe23"); - sb.append("\251"); - sb.append("\ufe23"); + sb.append("\ufe35"); + sb.append("\233"); + sb.append("\ufe35"); + sb.append("\243"); + sb.append("\ufe35"); + sb.append("\246"); + sb.append("\ufe35"); + sb.append("\252"); + sb.append("\ufe35"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\073"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\112"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\127"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\130"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\131"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\132"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\150"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\151"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\152"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\153"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\154"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\155"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\156"); - sb.append("\ufe37"); + sb.append("\ufe3e"); sb.append("\157"); - sb.append("\ufe37"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufe37"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufe37"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufe37"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufe37"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufe37"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufe37"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufe37"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufe37"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufe37"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufe37"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufe37"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufe37"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufe37"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufe37"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufe37"); - sb.append("\201"); - sb.append("\ufe37"); - sb.append("\215"); - sb.append("\ufe37"); - sb.append("\231"); - sb.append("\ufe37"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe3e"); sb.append("\232"); - sb.append("\ufe37"); - sb.append("\242"); - sb.append("\ufe37"); - sb.append("\245"); - sb.append("\ufe37"); - sb.append("\251"); - sb.append("\ufe37"); + sb.append("\ufe3e"); + sb.append("\233"); + sb.append("\ufe3e"); + sb.append("\243"); + sb.append("\ufe3e"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\106"); + sb.append("\110"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\073"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\112"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\127"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\130"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\131"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\132"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\150"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\151"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\152"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\153"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\154"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\155"); - sb.append("\ufe30"); + sb.append("\ufe2f"); sb.append("\156"); - sb.append("\ufe30"); - sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufe2f"); + sb.append("\157"); + sb.append("\ufe2f"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe30"); - sb.append("\231"); - sb.append("\ufe30"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe2f"); sb.append("\232"); - sb.append("\ufe30"); - sb.append("\242"); - sb.append("\ufe30"); - sb.append("\245"); - sb.append("\ufe30"); - sb.append("\251"); - sb.append("\ufe30"); + sb.append("\ufe2f"); + sb.append("\233"); + sb.append("\ufe2f"); + sb.append("\243"); + sb.append("\ufe2f"); + sb.append("\246"); + sb.append("\ufe2f"); + sb.append("\252"); + sb.append("\ufe2f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\102"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufdce"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe44"); + sb.append("\073"); + sb.append("\ufe44"); + sb.append("\112"); + sb.append("\ufe44"); + sb.append("\127"); + sb.append("\ufe44"); sb.append("\130"); - sb.append("\ufdce"); + sb.append("\ufe44"); sb.append("\131"); - sb.append("\ufdce"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufdce"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufdce"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe44"); sb.append("\152"); - sb.append("\ufdce"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufdce"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufdce"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufdce"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufdce"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufdce"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufdce"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufdce"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufdce"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufdce"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufdce"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufdce"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufdce"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufdce"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufdce"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufdce"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufdce"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufdce"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufdce"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufdce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufdce"); - sb.append("\201"); - sb.append("\ufdce"); - sb.append("\230"); - sb.append("\u01fb"); - sb.append("\231"); - sb.append("\ufdce"); - sb.append("\242"); - sb.append("\ufdce"); - sb.append("\245"); - sb.append("\ufdce"); - sb.append("\251"); - sb.append("\ufdce"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe44"); + sb.append("\232"); + sb.append("\ufe44"); + sb.append("\233"); + sb.append("\ufe44"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\106"); sb.append("\031"); - sb.append("\ufe5e"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe27"); + sb.append("\073"); + sb.append("\ufe27"); + sb.append("\112"); + sb.append("\ufe27"); + sb.append("\127"); + sb.append("\ufe27"); sb.append("\130"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\131"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\132"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\150"); - sb.append("\ufe5e"); + sb.append("\ufe27"); + sb.append("\151"); + sb.append("\ufe27"); sb.append("\152"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\153"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\154"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\155"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\156"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\157"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\160"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\161"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\162"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\163"); - sb.append("\ufe5e"); - sb.append("\164"); - sb.append("\ufe5e"); - sb.append("\165"); - sb.append("\ufe5e"); - sb.append("\166"); - sb.append("\ufe5e"); - sb.append("\167"); - sb.append("\ufe5e"); - sb.append("\170"); - sb.append("\ufe5e"); + sb.append("\ufe27"); sb.append("\171"); - sb.append("\ufe5e"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufe5e"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufe5e"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufe5e"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufe5e"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufe5e"); - sb.append("\201"); - sb.append("\ufe5e"); - sb.append("\231"); - sb.append("\u0417"); - sb.append("\242"); - sb.append("\ufe5e"); - sb.append("\245"); - sb.append("\ufe5e"); - sb.append("\251"); - sb.append("\ufe5e"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe27"); + sb.append("\232"); + sb.append("\ufe27"); + sb.append("\233"); + sb.append("\ufe27"); + sb.append("\243"); + sb.append("\ufe27"); + sb.append("\246"); + sb.append("\ufe27"); + sb.append("\252"); + sb.append("\ufe27"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd1a"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd1a"); - sb.append("\071"); - sb.append("\ufd1a"); - sb.append("\072"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\073"); - sb.append("\ufd1a"); - sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufe3a"); sb.append("\112"); - sb.append("\ufd1a"); - sb.append("\113"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\127"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\130"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\131"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\132"); - sb.append("\ufd1a"); - sb.append("\134"); - sb.append("\ufd1a"); - sb.append("\135"); - sb.append("\ufd1a"); - sb.append("\136"); - sb.append("\ufd1a"); - sb.append("\137"); - sb.append("\ufd1a"); - sb.append("\140"); - sb.append("\ufd1a"); - sb.append("\141"); - sb.append("\ufd1a"); - sb.append("\142"); - sb.append("\ufd1a"); - sb.append("\143"); - sb.append("\ufd1a"); - sb.append("\144"); - sb.append("\ufd1a"); - sb.append("\145"); - sb.append("\ufd1a"); - sb.append("\146"); - sb.append("\ufd1a"); - sb.append("\147"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\150"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\151"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\152"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\153"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\154"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\155"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\156"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\157"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\160"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\161"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\162"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\163"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\164"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\165"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\166"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\167"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\170"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\171"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\172"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\173"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\174"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\175"); - sb.append("\ufd1a"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd1a"); - sb.append("\201"); - sb.append("\ufd1a"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd1a"); - sb.append("\203"); - sb.append("\ufd1a"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd1a"); - sb.append("\230"); - sb.append("\ufde6"); - sb.append("\231"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); + sb.append("\216"); + sb.append("\ufe3a"); sb.append("\232"); - sb.append("\ufd1a"); - sb.append("\242"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); + sb.append("\233"); + sb.append("\ufe3a"); sb.append("\243"); - sb.append("\ufd1a"); - sb.append("\245"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); sb.append("\246"); - sb.append("\ufd1a"); - sb.append("\251"); - sb.append("\ufd1a"); + sb.append("\ufe3a"); + sb.append("\252"); + sb.append("\ufe3a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\106"); sb.append("\031"); - sb.append("\ufd1b"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd1b"); - sb.append("\071"); - sb.append("\ufd1b"); - sb.append("\072"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\073"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\112"); - sb.append("\ufd1b"); - sb.append("\113"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\127"); - sb.append("\ufd1b"); - sb.append("\130"); - sb.append("\ufd1b"); - sb.append("\131"); - sb.append("\ufd1b"); - sb.append("\132"); - sb.append("\ufd1b"); - sb.append("\134"); - sb.append("\ufd1b"); - sb.append("\135"); - sb.append("\ufd1b"); - sb.append("\136"); - sb.append("\ufd1b"); - sb.append("\137"); - sb.append("\ufd1b"); - sb.append("\140"); - sb.append("\ufd1b"); - sb.append("\141"); - sb.append("\ufd1b"); - sb.append("\142"); - sb.append("\ufd1b"); - sb.append("\143"); - sb.append("\ufd1b"); - sb.append("\144"); - sb.append("\ufd1b"); - sb.append("\145"); - sb.append("\ufd1b"); - sb.append("\146"); - sb.append("\ufd1b"); - sb.append("\147"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); + sb.append("\130"); + sb.append("\ufe2b"); + sb.append("\131"); + sb.append("\ufe2b"); + sb.append("\132"); + sb.append("\ufe2b"); sb.append("\150"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\151"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\152"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\153"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\154"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\155"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\156"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\157"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\160"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\161"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\162"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\163"); - sb.append("\ufd1b"); - sb.append("\164"); - sb.append("\ufd1b"); - sb.append("\165"); - sb.append("\ufd1b"); - sb.append("\166"); - sb.append("\ufd1b"); - sb.append("\167"); - sb.append("\ufd1b"); - sb.append("\170"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\171"); - sb.append("\ufd1b"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd1b"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd1b"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd1b"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd1b"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd1b"); - sb.append("\201"); - sb.append("\ufd1b"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd1b"); - sb.append("\203"); - sb.append("\ufd1b"); - sb.append("\215"); - sb.append("\ufd1b"); - sb.append("\230"); - sb.append("\ufde7"); - sb.append("\231"); - sb.append("\ufd1b"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe2b"); sb.append("\232"); - sb.append("\ufd1b"); - sb.append("\242"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); + sb.append("\233"); + sb.append("\ufe2b"); sb.append("\243"); - sb.append("\ufd1b"); - sb.append("\245"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); sb.append("\246"); - sb.append("\ufd1b"); - sb.append("\251"); - sb.append("\ufd1b"); + sb.append("\ufe2b"); + sb.append("\252"); + sb.append("\ufe2b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\132"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd64"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd64"); - sb.append("\071"); - sb.append("\ufd64"); - sb.append("\072"); - sb.append("\ufd64"); + sb.append("\ufe3c"); sb.append("\073"); - sb.append("\ufd64"); - sb.append("\111"); - sb.append("\ufd64"); + sb.append("\ufe3c"); sb.append("\112"); - sb.append("\ufd64"); - sb.append("\113"); - sb.append("\ufd64"); + sb.append("\ufe3c"); sb.append("\127"); - sb.append("\ufd64"); + sb.append("\ufe3c"); sb.append("\130"); - sb.append("\ufd64"); + sb.append("\ufe3c"); sb.append("\131"); - sb.append("\ufd64"); + sb.append("\ufe3c"); sb.append("\132"); - sb.append("\ufd64"); + sb.append("\ufe3c"); sb.append("\150"); - sb.append("\ufd64"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufd64"); + sb.append("\ufe3c"); sb.append("\152"); - sb.append("\ufd64"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd64"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd64"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd64"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd64"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd64"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd64"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd64"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd64"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd64"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd64"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd64"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd64"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd64"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd64"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd64"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd64"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd64"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd64"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd64"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd64"); - sb.append("\201"); - sb.append("\ufd64"); - sb.append("\214"); - sb.append("\ufd64"); - sb.append("\215"); - sb.append("\ufd64"); - sb.append("\230"); - sb.append("\ufd64"); - sb.append("\231"); - sb.append("\ufd64"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe3c"); sb.append("\232"); - sb.append("\ufd64"); - sb.append("\242"); - sb.append("\ufd64"); - sb.append("\245"); - sb.append("\ufd64"); - sb.append("\251"); - sb.append("\ufd64"); + sb.append("\ufe3c"); + sb.append("\233"); + sb.append("\ufe3c"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\102"); sb.append("\031"); - sb.append("\ufd14"); - sb.append("\033"); - sb.append("\ufd14"); - sb.append("\071"); - sb.append("\ufd14"); - sb.append("\072"); - sb.append("\ufd14"); - sb.append("\073"); - sb.append("\ufd14"); - sb.append("\111"); - sb.append("\ufd14"); - sb.append("\112"); - sb.append("\ufd14"); - sb.append("\113"); - sb.append("\ufd14"); - sb.append("\127"); - sb.append("\ufd14"); + sb.append("\u01d4"); sb.append("\130"); - sb.append("\ufd14"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufd14"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufd14"); - sb.append("\134"); - sb.append("\ufd14"); - sb.append("\135"); - sb.append("\ufd14"); - sb.append("\136"); - sb.append("\ufd14"); - sb.append("\137"); - sb.append("\ufd14"); - sb.append("\140"); - sb.append("\ufd14"); - sb.append("\141"); - sb.append("\ufd14"); - sb.append("\142"); - sb.append("\ufd14"); - sb.append("\143"); - sb.append("\ufd14"); - sb.append("\144"); - sb.append("\ufd14"); - sb.append("\145"); - sb.append("\ufd14"); - sb.append("\146"); - sb.append("\ufd14"); - sb.append("\147"); - sb.append("\ufd14"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufd14"); - sb.append("\151"); - sb.append("\ufd14"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\ufd14"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd14"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd14"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd14"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd14"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd14"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd14"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd14"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd14"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd14"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd14"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd14"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd14"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd14"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd14"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd14"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd14"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd14"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd14"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd14"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd14"); - sb.append("\201"); - sb.append("\ufd14"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\233"); + sb.append("\u0410"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); sb.append("\202"); - sb.append("\ufd14"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd14"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\ufd14"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd14"); - sb.append("\230"); - sb.append("\ufd14"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufd14"); - sb.append("\232"); - sb.append("\ufd14"); - sb.append("\242"); - sb.append("\ufd14"); - sb.append("\243"); - sb.append("\ufd14"); - sb.append("\245"); - sb.append("\ufd14"); - sb.append("\246"); - sb.append("\ufd14"); - sb.append("\251"); - sb.append("\ufd14"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\120"); - sb.append("\071"); - sb.append("\ufd87"); - sb.append("\072"); - sb.append("\ufd87"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe23"); sb.append("\073"); - sb.append("\ufd87"); + sb.append("\ufe23"); sb.append("\112"); - sb.append("\ufd87"); - sb.append("\113"); - sb.append("\ufd87"); + sb.append("\ufe23"); sb.append("\127"); - sb.append("\ufd87"); + sb.append("\ufe23"); sb.append("\130"); - sb.append("\ufd87"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufd87"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufd87"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufd87"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufd87"); + sb.append("\ufe23"); sb.append("\152"); - sb.append("\ufd87"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd87"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd87"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd87"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd87"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd87"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd87"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd87"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd87"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd87"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd87"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd87"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd87"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd87"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd87"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd87"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd87"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd87"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd87"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd87"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd87"); - sb.append("\201"); - sb.append("\ufd87"); - sb.append("\215"); - sb.append("\ufd87"); - sb.append("\231"); - sb.append("\ufd87"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe23"); sb.append("\232"); - sb.append("\ufd87"); - sb.append("\242"); - sb.append("\ufd87"); - sb.append("\245"); - sb.append("\ufd87"); - sb.append("\251"); - sb.append("\ufd87"); + sb.append("\ufe23"); + sb.append("\233"); + sb.append("\ufe23"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3843,7 +3712,7 @@ protected EncodedActionTable11() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3886,647 +3755,779 @@ protected EncodedActionTable11() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe24"); + sb.append("\073"); + sb.append("\ufe24"); + sb.append("\112"); + sb.append("\ufe24"); + sb.append("\127"); + sb.append("\ufe24"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe24"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe24"); + sb.append("\232"); + sb.append("\ufe24"); + sb.append("\233"); + sb.append("\ufe24"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe3d"); + sb.append("\073"); + sb.append("\ufe3d"); + sb.append("\112"); + sb.append("\ufe3d"); + sb.append("\127"); + sb.append("\ufe3d"); + sb.append("\130"); + sb.append("\ufe3d"); + sb.append("\131"); + sb.append("\ufe3d"); + sb.append("\132"); + sb.append("\ufe3d"); + sb.append("\150"); + sb.append("\ufe3d"); + sb.append("\151"); + sb.append("\ufe3d"); + sb.append("\152"); + sb.append("\ufe3d"); + sb.append("\153"); + sb.append("\ufe3d"); + sb.append("\154"); + sb.append("\ufe3d"); + sb.append("\155"); + sb.append("\ufe3d"); + sb.append("\156"); + sb.append("\ufe3d"); + sb.append("\157"); + sb.append("\ufe3d"); + sb.append("\160"); + sb.append("\ufe3d"); + sb.append("\161"); + sb.append("\ufe3d"); + sb.append("\162"); + sb.append("\ufe3d"); + sb.append("\163"); + sb.append("\ufe3d"); + sb.append("\164"); + sb.append("\ufe3d"); + sb.append("\165"); + sb.append("\ufe3d"); + sb.append("\166"); + sb.append("\ufe3d"); + sb.append("\167"); + sb.append("\ufe3d"); + sb.append("\170"); + sb.append("\ufe3d"); + sb.append("\171"); + sb.append("\ufe3d"); + sb.append("\172"); + sb.append("\ufe3d"); + sb.append("\173"); + sb.append("\ufe3d"); + sb.append("\174"); + sb.append("\ufe3d"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\ufe3d"); + sb.append("\216"); + sb.append("\ufe3d"); + sb.append("\232"); + sb.append("\ufe3d"); + sb.append("\233"); + sb.append("\ufe3d"); + sb.append("\243"); + sb.append("\ufe3d"); + sb.append("\246"); + sb.append("\ufe3d"); + sb.append("\252"); + sb.append("\ufe3d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe41"); + sb.append("\073"); + sb.append("\ufe41"); sb.append("\112"); - sb.append("\u041e"); + sb.append("\ufe41"); + sb.append("\127"); + sb.append("\ufe41"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufe41"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufe41"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufe41"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufe41"); + sb.append("\151"); + sb.append("\ufe41"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufe41"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufe41"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufe41"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufe41"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\216"); + sb.append("\ufe41"); + sb.append("\232"); + sb.append("\ufe41"); + sb.append("\233"); + sb.append("\ufe41"); + sb.append("\243"); + sb.append("\ufe41"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\120"); - sb.append("\071"); - sb.append("\ufd85"); - sb.append("\072"); - sb.append("\ufd85"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe43"); sb.append("\073"); - sb.append("\ufd85"); + sb.append("\ufe43"); sb.append("\112"); - sb.append("\ufd85"); - sb.append("\113"); - sb.append("\ufd85"); + sb.append("\ufe43"); sb.append("\127"); - sb.append("\ufd85"); + sb.append("\ufe43"); sb.append("\130"); - sb.append("\ufd85"); + sb.append("\ufe43"); sb.append("\131"); - sb.append("\ufd85"); + sb.append("\ufe43"); sb.append("\132"); - sb.append("\ufd85"); + sb.append("\ufe43"); sb.append("\150"); - sb.append("\ufd85"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufd85"); + sb.append("\ufe43"); sb.append("\152"); - sb.append("\ufd85"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd85"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd85"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd85"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd85"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd85"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd85"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd85"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd85"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd85"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd85"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd85"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd85"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd85"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd85"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd85"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd85"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd85"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd85"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd85"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd85"); - sb.append("\201"); - sb.append("\ufd85"); - sb.append("\215"); - sb.append("\ufd85"); - sb.append("\231"); - sb.append("\ufd85"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe43"); sb.append("\232"); - sb.append("\ufd85"); - sb.append("\242"); - sb.append("\ufd85"); - sb.append("\245"); - sb.append("\ufd85"); - sb.append("\251"); - sb.append("\ufd85"); + sb.append("\ufe43"); + sb.append("\233"); + sb.append("\ufe43"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\120"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe46"); + sb.append("\073"); + sb.append("\ufe46"); + sb.append("\112"); + sb.append("\ufe46"); + sb.append("\127"); + sb.append("\ufe46"); + sb.append("\130"); + sb.append("\ufe46"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufe46"); + sb.append("\132"); + sb.append("\ufe46"); + sb.append("\150"); + sb.append("\ufe46"); + sb.append("\151"); + sb.append("\ufe46"); + sb.append("\152"); + sb.append("\ufe46"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\104"); + sb.append("\u01ce"); sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); sb.append("\176"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\u01c5"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufe46"); + sb.append("\232"); + sb.append("\ufe46"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufe46"); + sb.append("\243"); + sb.append("\ufe46"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\120"); - sb.append("\071"); - sb.append("\ufd88"); - sb.append("\072"); - sb.append("\ufd88"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe37"); sb.append("\073"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\112"); - sb.append("\ufd88"); - sb.append("\113"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\127"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\130"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\131"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\132"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\150"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\151"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\152"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\153"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\154"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\155"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\156"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\157"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\160"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\161"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\162"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\163"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\164"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\165"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\166"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\167"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\170"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\171"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\172"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\173"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\174"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\175"); - sb.append("\ufd88"); + sb.append("\ufe37"); sb.append("\176"); - sb.append("\ufd88"); - sb.append("\201"); - sb.append("\ufd88"); - sb.append("\215"); - sb.append("\ufd88"); - sb.append("\231"); - sb.append("\ufd88"); + sb.append("\ufe37"); + sb.append("\177"); + sb.append("\ufe37"); + sb.append("\202"); + sb.append("\ufe37"); + sb.append("\216"); + sb.append("\ufe37"); sb.append("\232"); - sb.append("\ufd88"); - sb.append("\242"); - sb.append("\ufd88"); - sb.append("\245"); - sb.append("\ufd88"); - sb.append("\251"); - sb.append("\ufd88"); + sb.append("\ufe37"); + sb.append("\233"); + sb.append("\ufe37"); + sb.append("\243"); + sb.append("\ufe37"); + sb.append("\246"); + sb.append("\ufe37"); + sb.append("\252"); + sb.append("\ufe37"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe22"); + sb.append("\073"); + sb.append("\ufe22"); sb.append("\112"); - sb.append("\u0422"); + sb.append("\ufe22"); + sb.append("\127"); + sb.append("\ufe22"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufe22"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufe22"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufe22"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufe22"); + sb.append("\151"); + sb.append("\ufe22"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufe22"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufe22"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufe22"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufe22"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufe22"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufe22"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\216"); + sb.append("\ufe22"); + sb.append("\232"); + sb.append("\ufe22"); + sb.append("\233"); + sb.append("\ufe22"); + sb.append("\243"); + sb.append("\ufe22"); + sb.append("\246"); + sb.append("\ufe22"); + sb.append("\252"); + sb.append("\ufe22"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\120"); - sb.append("\071"); - sb.append("\ufd86"); - sb.append("\072"); - sb.append("\ufd86"); + sb.append("\110"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe30"); sb.append("\073"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\112"); - sb.append("\ufd86"); - sb.append("\113"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\127"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\130"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\131"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\132"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\150"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\151"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\152"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\153"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\154"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\155"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\156"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\157"); - sb.append("\ufd86"); - sb.append("\160"); - sb.append("\ufd86"); - sb.append("\161"); - sb.append("\ufd86"); - sb.append("\162"); - sb.append("\ufd86"); - sb.append("\163"); - sb.append("\ufd86"); + sb.append("\ufe30"); sb.append("\164"); - sb.append("\ufd86"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd86"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd86"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd86"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd86"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd86"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd86"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd86"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd86"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd86"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd86"); - sb.append("\201"); - sb.append("\ufd86"); - sb.append("\215"); - sb.append("\ufd86"); - sb.append("\231"); - sb.append("\ufd86"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe30"); sb.append("\232"); - sb.append("\ufd86"); - sb.append("\242"); - sb.append("\ufd86"); - sb.append("\245"); - sb.append("\ufd86"); - sb.append("\251"); - sb.append("\ufd86"); + sb.append("\ufe30"); + sb.append("\233"); + sb.append("\ufe30"); + sb.append("\243"); + sb.append("\ufe30"); + sb.append("\246"); + sb.append("\ufe30"); + sb.append("\252"); + sb.append("\ufe30"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\112"); - sb.append("\073"); - sb.append("\ufd92"); - sb.append("\112"); - sb.append("\ufd92"); - sb.append("\127"); - sb.append("\ufd92"); + sb.append("\104"); + sb.append("\031"); + sb.append("\ufdcd"); sb.append("\130"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\131"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\132"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\150"); - sb.append("\ufd92"); - sb.append("\151"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\152"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\153"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\154"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\155"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\156"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\157"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\160"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\161"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\162"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\163"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\164"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\165"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\166"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\167"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\170"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\171"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\172"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\173"); - sb.append("\ufd92"); + sb.append("\ufdcd"); sb.append("\174"); - sb.append("\u010c"); + sb.append("\ufdcd"); sb.append("\175"); - sb.append("\u010a"); + sb.append("\ufdcd"); sb.append("\176"); - sb.append("\373"); - sb.append("\201"); - sb.append("\ufd92"); - sb.append("\215"); - sb.append("\ufd92"); + sb.append("\ufdcd"); + sb.append("\177"); + sb.append("\ufdcd"); + sb.append("\202"); + sb.append("\ufdcd"); sb.append("\231"); - sb.append("\ufd92"); + sb.append("\u01ff"); sb.append("\232"); - sb.append("\ufd92"); - sb.append("\242"); - sb.append("\ufd92"); - sb.append("\245"); - sb.append("\ufd92"); - sb.append("\251"); - sb.append("\ufd92"); + sb.append("\ufdcd"); + sb.append("\243"); + sb.append("\ufdcd"); + sb.append("\246"); + sb.append("\ufdcd"); + sb.append("\252"); + sb.append("\ufdcd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\074"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); - sb.append("\016"); - sb.append("\356"); + sb.append("\102"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java index 7bb5f925eb14..29e26380ef2a 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,1364 +29,1346 @@ public String getTableData() { } protected EncodedActionTable12() { sb = new StringBuilder(); - sb.append("\075"); - sb.append("\351"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); + sb.append("\031"); + sb.append("\ufe5e"); + sb.append("\130"); + sb.append("\ufe5e"); + sb.append("\131"); + sb.append("\ufe5e"); + sb.append("\132"); + sb.append("\ufe5e"); + sb.append("\150"); + sb.append("\ufe5e"); + sb.append("\152"); + sb.append("\ufe5e"); + sb.append("\153"); + sb.append("\ufe5e"); + sb.append("\154"); + sb.append("\ufe5e"); + sb.append("\155"); + sb.append("\ufe5e"); + sb.append("\156"); + sb.append("\ufe5e"); + sb.append("\157"); + sb.append("\ufe5e"); sb.append("\160"); + sb.append("\ufe5e"); + sb.append("\161"); + sb.append("\ufe5e"); + sb.append("\162"); + sb.append("\ufe5e"); + sb.append("\163"); + sb.append("\ufe5e"); + sb.append("\164"); + sb.append("\ufe5e"); + sb.append("\165"); + sb.append("\ufe5e"); + sb.append("\166"); + sb.append("\ufe5e"); + sb.append("\167"); + sb.append("\ufe5e"); + sb.append("\170"); + sb.append("\ufe5e"); + sb.append("\171"); + sb.append("\ufe5e"); sb.append("\172"); - sb.append("\362"); + sb.append("\ufe5e"); sb.append("\173"); - sb.append("\352"); + sb.append("\ufe5e"); + sb.append("\174"); + sb.append("\ufe5e"); + sb.append("\175"); + sb.append("\ufe5e"); + sb.append("\176"); + sb.append("\ufe5e"); sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\231"); - sb.append("\ufd70"); - sb.append("\236"); - sb.append("\060"); - sb.append("\244"); - sb.append("\u0141"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u0426"); + sb.append("\ufe5e"); + sb.append("\202"); + sb.append("\ufe5e"); + sb.append("\232"); + sb.append("\u041b"); + sb.append("\243"); + sb.append("\ufe5e"); + sb.append("\246"); + sb.append("\ufe5e"); + sb.append("\252"); + sb.append("\ufe5e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd18"); + sb.append("\033"); + sb.append("\ufd18"); + sb.append("\071"); + sb.append("\ufd18"); + sb.append("\072"); + sb.append("\ufd18"); sb.append("\073"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\111"); - sb.append("\ufd79"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd79"); + sb.append("\ufd18"); + sb.append("\113"); + sb.append("\ufd18"); sb.append("\127"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\130"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\131"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\132"); - sb.append("\ufd79"); + sb.append("\ufd18"); + sb.append("\134"); + sb.append("\ufd18"); + sb.append("\135"); + sb.append("\ufd18"); + sb.append("\136"); + sb.append("\ufd18"); + sb.append("\137"); + sb.append("\ufd18"); + sb.append("\140"); + sb.append("\ufd18"); + sb.append("\141"); + sb.append("\ufd18"); + sb.append("\142"); + sb.append("\ufd18"); + sb.append("\143"); + sb.append("\ufd18"); + sb.append("\144"); + sb.append("\ufd18"); + sb.append("\145"); + sb.append("\ufd18"); + sb.append("\146"); + sb.append("\ufd18"); + sb.append("\147"); + sb.append("\ufd18"); sb.append("\150"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\151"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\152"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\153"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\154"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\155"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\156"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\157"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\160"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\161"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\162"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\163"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\164"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\165"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\166"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\167"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\170"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\171"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\172"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\173"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\174"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\175"); - sb.append("\ufd79"); + sb.append("\ufd18"); sb.append("\176"); - sb.append("\ufd79"); - sb.append("\201"); - sb.append("\ufd79"); - sb.append("\214"); - sb.append("\ufd79"); + sb.append("\ufd18"); + sb.append("\177"); + sb.append("\ufd18"); + sb.append("\202"); + sb.append("\ufd18"); + sb.append("\203"); + sb.append("\ufd18"); + sb.append("\204"); + sb.append("\ufd18"); sb.append("\215"); - sb.append("\ufd79"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd18"); sb.append("\231"); - sb.append("\ufd79"); + sb.append("\ufde5"); sb.append("\232"); - sb.append("\ufd79"); - sb.append("\242"); - sb.append("\ufd79"); - sb.append("\245"); - sb.append("\ufd79"); - sb.append("\251"); - sb.append("\ufd79"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\070"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); - sb.append("\016"); - sb.append("\356"); - sb.append("\075"); - sb.append("\351"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\172"); - sb.append("\362"); - sb.append("\173"); - sb.append("\352"); - sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd18"); + sb.append("\233"); + sb.append("\ufd18"); + sb.append("\243"); + sb.append("\ufd18"); + sb.append("\244"); + sb.append("\ufd18"); + sb.append("\246"); + sb.append("\ufd18"); + sb.append("\247"); + sb.append("\ufd18"); + sb.append("\252"); + sb.append("\ufd18"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\076"); + sb.append("\170"); + sb.append("\031"); + sb.append("\ufd19"); + sb.append("\033"); + sb.append("\ufd19"); + sb.append("\071"); + sb.append("\ufd19"); + sb.append("\072"); + sb.append("\ufd19"); + sb.append("\073"); + sb.append("\ufd19"); + sb.append("\112"); + sb.append("\ufd19"); + sb.append("\113"); + sb.append("\ufd19"); + sb.append("\127"); + sb.append("\ufd19"); sb.append("\130"); - sb.append("\u0105"); + sb.append("\ufd19"); sb.append("\131"); - sb.append("\u0115"); + sb.append("\ufd19"); sb.append("\132"); - sb.append("\374"); + sb.append("\ufd19"); + sb.append("\134"); + sb.append("\ufd19"); + sb.append("\135"); + sb.append("\ufd19"); + sb.append("\136"); + sb.append("\ufd19"); + sb.append("\137"); + sb.append("\ufd19"); + sb.append("\140"); + sb.append("\ufd19"); + sb.append("\141"); + sb.append("\ufd19"); + sb.append("\142"); + sb.append("\ufd19"); + sb.append("\143"); + sb.append("\ufd19"); + sb.append("\144"); + sb.append("\ufd19"); + sb.append("\145"); + sb.append("\ufd19"); + sb.append("\146"); + sb.append("\ufd19"); + sb.append("\147"); + sb.append("\ufd19"); sb.append("\150"); - sb.append("\u0101"); + sb.append("\ufd19"); + sb.append("\151"); + sb.append("\ufd19"); sb.append("\152"); - sb.append("\375"); + sb.append("\ufd19"); sb.append("\153"); - sb.append("\u010e"); + sb.append("\ufd19"); sb.append("\154"); - sb.append("\376"); + sb.append("\ufd19"); sb.append("\155"); - sb.append("\u0107"); + sb.append("\ufd19"); sb.append("\156"); - sb.append("\u010f"); + sb.append("\ufd19"); sb.append("\157"); - sb.append("\u0114"); + sb.append("\ufd19"); sb.append("\160"); - sb.append("\u0108"); + sb.append("\ufd19"); sb.append("\161"); - sb.append("\371"); + sb.append("\ufd19"); sb.append("\162"); - sb.append("\u0106"); + sb.append("\ufd19"); sb.append("\163"); - sb.append("\u0112"); + sb.append("\ufd19"); sb.append("\164"); - sb.append("\u0111"); + sb.append("\ufd19"); sb.append("\165"); - sb.append("\u0104"); + sb.append("\ufd19"); sb.append("\166"); - sb.append("\u0102"); + sb.append("\ufd19"); sb.append("\167"); - sb.append("\u0110"); + sb.append("\ufd19"); sb.append("\170"); - sb.append("\u010d"); + sb.append("\ufd19"); sb.append("\171"); - sb.append("\u0109"); + sb.append("\ufd19"); sb.append("\172"); - sb.append("\u0116"); + sb.append("\ufd19"); sb.append("\173"); - sb.append("\u0103"); + sb.append("\ufd19"); sb.append("\174"); - sb.append("\u010c"); + sb.append("\ufd19"); sb.append("\175"); - sb.append("\u010a"); + sb.append("\ufd19"); sb.append("\176"); - sb.append("\373"); - sb.append("\201"); - sb.append("\u0100"); - sb.append("\215"); - sb.append("\u0429"); - sb.append("\242"); - sb.append("\377"); - sb.append("\245"); - sb.append("\372"); - sb.append("\251"); - sb.append("\u0113"); + sb.append("\ufd19"); + sb.append("\177"); + sb.append("\ufd19"); + sb.append("\202"); + sb.append("\ufd19"); + sb.append("\203"); + sb.append("\ufd19"); + sb.append("\204"); + sb.append("\ufd19"); + sb.append("\216"); + sb.append("\ufd19"); + sb.append("\231"); + sb.append("\ufde6"); + sb.append("\232"); + sb.append("\ufd19"); + sb.append("\233"); + sb.append("\ufd19"); + sb.append("\243"); + sb.append("\ufd19"); + sb.append("\244"); + sb.append("\ufd19"); + sb.append("\246"); + sb.append("\ufd19"); + sb.append("\247"); + sb.append("\ufd19"); + sb.append("\252"); + sb.append("\ufd19"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\114"); + sb.append("\134"); + sb.append("\031"); + sb.append("\ufd62"); + sb.append("\033"); + sb.append("\ufd62"); + sb.append("\071"); + sb.append("\ufd62"); + sb.append("\072"); + sb.append("\ufd62"); sb.append("\073"); - sb.append("\ufd7e"); + sb.append("\ufd62"); + sb.append("\111"); + sb.append("\ufd62"); sb.append("\112"); - sb.append("\ufd7e"); + sb.append("\ufd62"); + sb.append("\113"); + sb.append("\ufd62"); sb.append("\127"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\130"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\131"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\132"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\150"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\151"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\152"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\153"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\154"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\155"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\156"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\157"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\160"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\161"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\162"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\163"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\164"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\165"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\166"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\167"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\170"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\171"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\172"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\173"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\174"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\175"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\176"); - sb.append("\ufd7e"); - sb.append("\201"); - sb.append("\ufd7e"); - sb.append("\214"); - sb.append("\ufd7e"); + sb.append("\ufd62"); + sb.append("\177"); + sb.append("\ufd62"); + sb.append("\202"); + sb.append("\ufd62"); sb.append("\215"); - sb.append("\ufd7e"); + sb.append("\ufd62"); + sb.append("\216"); + sb.append("\ufd62"); sb.append("\231"); - sb.append("\ufd7e"); + sb.append("\ufd62"); sb.append("\232"); - sb.append("\ufd7e"); - sb.append("\242"); - sb.append("\ufd7e"); - sb.append("\245"); - sb.append("\ufd7e"); - sb.append("\251"); - sb.append("\ufd7e"); + sb.append("\ufd62"); + sb.append("\233"); + sb.append("\ufd62"); + sb.append("\243"); + sb.append("\ufd62"); + sb.append("\246"); + sb.append("\ufd62"); + sb.append("\252"); + sb.append("\ufd62"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\112"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd12"); + sb.append("\033"); + sb.append("\ufd12"); + sb.append("\071"); + sb.append("\ufd12"); + sb.append("\072"); + sb.append("\ufd12"); sb.append("\073"); - sb.append("\ufdad"); + sb.append("\ufd12"); + sb.append("\111"); + sb.append("\ufd12"); sb.append("\112"); - sb.append("\ufdad"); + sb.append("\ufd12"); + sb.append("\113"); + sb.append("\ufd12"); sb.append("\127"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\130"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\131"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\132"); - sb.append("\ufdad"); + sb.append("\ufd12"); + sb.append("\134"); + sb.append("\ufd12"); + sb.append("\135"); + sb.append("\ufd12"); + sb.append("\136"); + sb.append("\ufd12"); + sb.append("\137"); + sb.append("\ufd12"); + sb.append("\140"); + sb.append("\ufd12"); + sb.append("\141"); + sb.append("\ufd12"); + sb.append("\142"); + sb.append("\ufd12"); + sb.append("\143"); + sb.append("\ufd12"); + sb.append("\144"); + sb.append("\ufd12"); + sb.append("\145"); + sb.append("\ufd12"); + sb.append("\146"); + sb.append("\ufd12"); + sb.append("\147"); + sb.append("\ufd12"); sb.append("\150"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\151"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\152"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\153"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\154"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\155"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\156"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\157"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\160"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\161"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\162"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\163"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\164"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\165"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\166"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\167"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\170"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\171"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\172"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\173"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\174"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\175"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\176"); - sb.append("\ufdad"); - sb.append("\201"); - sb.append("\ufdad"); + sb.append("\ufd12"); + sb.append("\177"); + sb.append("\ufd12"); + sb.append("\202"); + sb.append("\ufd12"); + sb.append("\203"); + sb.append("\ufd12"); + sb.append("\204"); + sb.append("\ufd12"); sb.append("\215"); - sb.append("\ufdad"); + sb.append("\ufd12"); + sb.append("\216"); + sb.append("\ufd12"); sb.append("\231"); - sb.append("\ufdad"); + sb.append("\ufd12"); sb.append("\232"); - sb.append("\ufdad"); - sb.append("\242"); - sb.append("\ufdad"); - sb.append("\245"); - sb.append("\ufdad"); - sb.append("\251"); - sb.append("\ufdad"); + sb.append("\ufd12"); + sb.append("\233"); + sb.append("\ufd12"); + sb.append("\243"); + sb.append("\ufd12"); + sb.append("\244"); + sb.append("\ufd12"); + sb.append("\246"); + sb.append("\ufd12"); + sb.append("\247"); + sb.append("\ufd12"); + sb.append("\252"); + sb.append("\ufd12"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\122"); + sb.append("\071"); + sb.append("\ufd85"); + sb.append("\072"); + sb.append("\ufd85"); sb.append("\073"); - sb.append("\ufd7a"); - sb.append("\111"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\112"); - sb.append("\ufd7a"); + sb.append("\ufd85"); + sb.append("\113"); + sb.append("\ufd85"); sb.append("\127"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\130"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\131"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\132"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\150"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\151"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\152"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\153"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\154"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\155"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\156"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\157"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\160"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\161"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\162"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\163"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\164"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\165"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\166"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\167"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\170"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\171"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\172"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\173"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\174"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\175"); - sb.append("\ufd7a"); + sb.append("\ufd85"); sb.append("\176"); - sb.append("\ufd7a"); - sb.append("\201"); - sb.append("\ufd7a"); - sb.append("\214"); - sb.append("\ufd7a"); - sb.append("\215"); - sb.append("\ufd7a"); - sb.append("\231"); - sb.append("\ufd7a"); + sb.append("\ufd85"); + sb.append("\177"); + sb.append("\ufd85"); + sb.append("\202"); + sb.append("\ufd85"); + sb.append("\216"); + sb.append("\ufd85"); sb.append("\232"); - sb.append("\ufd7a"); - sb.append("\242"); - sb.append("\ufd7a"); - sb.append("\245"); - sb.append("\ufd7a"); - sb.append("\251"); - sb.append("\ufd7a"); + sb.append("\ufd85"); + sb.append("\233"); + sb.append("\ufd85"); + sb.append("\243"); + sb.append("\ufd85"); + sb.append("\246"); + sb.append("\ufd85"); + sb.append("\252"); + sb.append("\ufd85"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\236"); + sb.append("\170"); sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\u016b"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\016"); + sb.append("\071"); sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); + sb.append("\106"); sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\125"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\222"); sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); + sb.append("\026"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\210"); sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\010"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\051"); sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\166"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\123"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\012"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\206"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\041"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\144"); sb.append("\104"); - sb.append("\u015b"); - sb.append("\114"); - sb.append("\u0185"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\136"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\046"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\160"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\013"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\u0174"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\116"); sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); sb.append("\133"); - sb.append("\u017d"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); sb.append("\216"); - sb.append("\u0183"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); + sb.append("\101"); sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\240"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\112"); + sb.append("\u0422"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\122"); + sb.append("\071"); + sb.append("\ufd83"); + sb.append("\072"); + sb.append("\ufd83"); + sb.append("\073"); + sb.append("\ufd83"); + sb.append("\112"); + sb.append("\ufd83"); + sb.append("\113"); + sb.append("\ufd83"); + sb.append("\127"); + sb.append("\ufd83"); + sb.append("\130"); + sb.append("\ufd83"); + sb.append("\131"); + sb.append("\ufd83"); + sb.append("\132"); + sb.append("\ufd83"); + sb.append("\150"); + sb.append("\ufd83"); + sb.append("\151"); + sb.append("\ufd83"); + sb.append("\152"); + sb.append("\ufd83"); + sb.append("\153"); + sb.append("\ufd83"); + sb.append("\154"); + sb.append("\ufd83"); + sb.append("\155"); + sb.append("\ufd83"); + sb.append("\156"); + sb.append("\ufd83"); + sb.append("\157"); + sb.append("\ufd83"); + sb.append("\160"); + sb.append("\ufd83"); + sb.append("\161"); + sb.append("\ufd83"); + sb.append("\162"); + sb.append("\ufd83"); + sb.append("\163"); + sb.append("\ufd83"); + sb.append("\164"); + sb.append("\ufd83"); + sb.append("\165"); + sb.append("\ufd83"); + sb.append("\166"); + sb.append("\ufd83"); + sb.append("\167"); + sb.append("\ufd83"); + sb.append("\170"); + sb.append("\ufd83"); + sb.append("\171"); + sb.append("\ufd83"); + sb.append("\172"); + sb.append("\ufd83"); + sb.append("\173"); + sb.append("\ufd83"); + sb.append("\174"); + sb.append("\ufd83"); + sb.append("\175"); + sb.append("\ufd83"); + sb.append("\176"); + sb.append("\ufd83"); + sb.append("\177"); + sb.append("\ufd83"); + sb.append("\202"); + sb.append("\ufd83"); + sb.append("\216"); + sb.append("\ufd83"); + sb.append("\232"); + sb.append("\ufd83"); + sb.append("\233"); + sb.append("\ufd83"); + sb.append("\243"); + sb.append("\ufd83"); + sb.append("\246"); + sb.append("\ufd83"); + sb.append("\252"); + sb.append("\ufd83"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\u016b"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\016"); + sb.append("\071"); sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); + sb.append("\106"); sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\125"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\222"); sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); + sb.append("\026"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\210"); sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\010"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\051"); sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\166"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\123"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\012"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\206"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\041"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\144"); sb.append("\104"); - sb.append("\u015b"); - sb.append("\111"); - sb.append("\u0431"); - sb.append("\114"); - sb.append("\u0185"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\136"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\046"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\160"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\013"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\u0174"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\116"); sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\236"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\010"); - sb.append("\u016b"); - sb.append("\017"); - sb.append("\u0198"); sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); - sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\214"); sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); + sb.append("\215"); sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); - sb.append("\121"); - sb.append("\u0178"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); + sb.append("\101"); sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\120"); + sb.append("\122"); sb.append("\071"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\072"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\073"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\112"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\113"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\127"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\130"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\131"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\132"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\150"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\151"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\152"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\153"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\154"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\155"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\156"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\157"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\160"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\161"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\162"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\163"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\164"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\165"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\166"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\167"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\170"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\171"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\172"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\173"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\174"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\175"); - sb.append("\ufd8b"); + sb.append("\ufd86"); sb.append("\176"); - sb.append("\ufd8b"); - sb.append("\201"); - sb.append("\ufd8b"); - sb.append("\215"); - sb.append("\ufd8b"); - sb.append("\231"); - sb.append("\ufd8b"); - sb.append("\232"); - sb.append("\ufd8b"); - sb.append("\242"); - sb.append("\ufd8b"); - sb.append("\245"); - sb.append("\ufd8b"); - sb.append("\251"); - sb.append("\ufd8b"); + sb.append("\ufd86"); + sb.append("\177"); + sb.append("\ufd86"); + sb.append("\202"); + sb.append("\ufd86"); + sb.append("\216"); + sb.append("\ufd86"); + sb.append("\232"); + sb.append("\ufd86"); + sb.append("\233"); + sb.append("\ufd86"); + sb.append("\243"); + sb.append("\ufd86"); + sb.append("\246"); + sb.append("\ufd86"); + sb.append("\252"); + sb.append("\ufd86"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\122"); - sb.append("\071"); - sb.append("\ufd8e"); - sb.append("\072"); - sb.append("\ufd8e"); - sb.append("\073"); - sb.append("\ufd8e"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); sb.append("\112"); - sb.append("\ufd8e"); - sb.append("\113"); - sb.append("\ufd8e"); - sb.append("\127"); - sb.append("\ufd8e"); + sb.append("\u0426"); sb.append("\130"); - sb.append("\ufd8e"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufd8e"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufd8e"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufd8e"); - sb.append("\151"); - sb.append("\ufd8e"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\ufd8e"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd8e"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd8e"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd8e"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd8e"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd8e"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd8e"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd8e"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd8e"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd8e"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd8e"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd8e"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd8e"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd8e"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd8e"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd8e"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd8e"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd8e"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd8e"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd8e"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd8e"); - sb.append("\201"); - sb.append("\ufd8e"); - sb.append("\214"); - sb.append("\u0438"); - sb.append("\215"); - sb.append("\ufd8e"); - sb.append("\231"); - sb.append("\ufd8e"); - sb.append("\232"); - sb.append("\ufd8e"); - sb.append("\242"); - sb.append("\ufd8e"); - sb.append("\245"); - sb.append("\ufd8e"); - sb.append("\251"); - sb.append("\ufd8e"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\071"); + sb.append("\ufd84"); + sb.append("\072"); + sb.append("\ufd84"); + sb.append("\073"); + sb.append("\ufd84"); + sb.append("\112"); + sb.append("\ufd84"); + sb.append("\113"); + sb.append("\ufd84"); + sb.append("\127"); + sb.append("\ufd84"); + sb.append("\130"); + sb.append("\ufd84"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufd84"); + sb.append("\132"); + sb.append("\ufd84"); + sb.append("\150"); + sb.append("\ufd84"); + sb.append("\151"); + sb.append("\ufd84"); + sb.append("\152"); + sb.append("\ufd84"); + sb.append("\153"); + sb.append("\ufd84"); + sb.append("\154"); + sb.append("\ufd84"); + sb.append("\155"); + sb.append("\ufd84"); + sb.append("\156"); + sb.append("\ufd84"); + sb.append("\157"); + sb.append("\ufd84"); + sb.append("\160"); + sb.append("\ufd84"); + sb.append("\161"); + sb.append("\ufd84"); + sb.append("\162"); + sb.append("\ufd84"); + sb.append("\163"); + sb.append("\ufd84"); + sb.append("\164"); + sb.append("\ufd84"); + sb.append("\165"); + sb.append("\ufd84"); + sb.append("\166"); + sb.append("\ufd84"); + sb.append("\167"); + sb.append("\ufd84"); + sb.append("\170"); + sb.append("\ufd84"); + sb.append("\171"); + sb.append("\ufd84"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufd84"); sb.append("\173"); + sb.append("\ufd84"); + sb.append("\174"); + sb.append("\ufd84"); + sb.append("\175"); + sb.append("\ufd84"); sb.append("\176"); + sb.append("\ufd84"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufd84"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufd84"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufd84"); + sb.append("\232"); + sb.append("\ufd84"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd84"); + sb.append("\243"); + sb.append("\ufd84"); + sb.append("\246"); + sb.append("\ufd84"); + sb.append("\252"); + sb.append("\ufd84"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\122"); - sb.append("\071"); - sb.append("\ufd8d"); - sb.append("\072"); - sb.append("\ufd8d"); + sb.append("\114"); sb.append("\073"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\112"); - sb.append("\ufd8d"); - sb.append("\113"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\127"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\130"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\131"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\132"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\150"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\151"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\152"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\153"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\154"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\155"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\156"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\157"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\160"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\161"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\162"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\163"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\164"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\165"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\166"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\167"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\170"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\171"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\172"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\173"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\174"); - sb.append("\ufd8d"); + sb.append("\ufd90"); sb.append("\175"); - sb.append("\ufd8d"); + sb.append("\u010c"); sb.append("\176"); - sb.append("\ufd8d"); - sb.append("\201"); - sb.append("\ufd8d"); - sb.append("\214"); - sb.append("\u0433"); - sb.append("\215"); - sb.append("\ufd8d"); - sb.append("\231"); - sb.append("\ufd8d"); + sb.append("\u010a"); + sb.append("\177"); + sb.append("\372"); + sb.append("\202"); + sb.append("\ufd90"); + sb.append("\216"); + sb.append("\ufd90"); sb.append("\232"); - sb.append("\ufd8d"); - sb.append("\242"); - sb.append("\ufd8d"); - sb.append("\245"); - sb.append("\ufd8d"); - sb.append("\251"); - sb.append("\ufd8d"); + sb.append("\ufd90"); + sb.append("\233"); + sb.append("\ufd90"); + sb.append("\243"); + sb.append("\ufd90"); + sb.append("\246"); + sb.append("\ufd90"); + sb.append("\252"); + sb.append("\ufd90"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\070"); + sb.append("\074"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\357"); + sb.append("\356"); sb.append("\015"); sb.append("\364"); sb.append("\016"); - sb.append("\356"); + sb.append("\357"); sb.append("\075"); sb.append("\351"); sb.append("\077"); @@ -1408,1460 +1391,2016 @@ protected EncodedActionTable12() { sb.append("\046"); sb.append("\121"); sb.append("\160"); - sb.append("\172"); - sb.append("\362"); sb.append("\173"); + sb.append("\362"); + sb.append("\174"); sb.append("\352"); - sb.append("\177"); - sb.append("\347"); sb.append("\200"); + sb.append("\347"); + sb.append("\201"); sb.append("\354"); - sb.append("\214"); + sb.append("\215"); sb.append("\360"); - sb.append("\222"); + sb.append("\223"); sb.append("\341"); - sb.append("\230"); + sb.append("\231"); sb.append("\366"); - sb.append("\236"); + sb.append("\232"); + sb.append("\ufd6e"); + sb.append("\237"); sb.append("\060"); - sb.append("\253"); - sb.append("\147"); + sb.append("\245"); + sb.append("\u0143"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\076"); - sb.append("\130"); - sb.append("\u0105"); - sb.append("\131"); - sb.append("\u0115"); - sb.append("\132"); - sb.append("\374"); - sb.append("\150"); - sb.append("\u0101"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u042a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\073"); + sb.append("\ufd77"); + sb.append("\111"); + sb.append("\ufd77"); + sb.append("\112"); + sb.append("\ufd77"); + sb.append("\127"); + sb.append("\ufd77"); + sb.append("\130"); + sb.append("\ufd77"); + sb.append("\131"); + sb.append("\ufd77"); + sb.append("\132"); + sb.append("\ufd77"); + sb.append("\150"); + sb.append("\ufd77"); + sb.append("\151"); + sb.append("\ufd77"); sb.append("\152"); - sb.append("\375"); + sb.append("\ufd77"); sb.append("\153"); - sb.append("\u010e"); + sb.append("\ufd77"); sb.append("\154"); - sb.append("\376"); + sb.append("\ufd77"); sb.append("\155"); - sb.append("\u0107"); + sb.append("\ufd77"); sb.append("\156"); - sb.append("\u010f"); + sb.append("\ufd77"); sb.append("\157"); - sb.append("\u0114"); + sb.append("\ufd77"); sb.append("\160"); - sb.append("\u0108"); + sb.append("\ufd77"); sb.append("\161"); - sb.append("\371"); + sb.append("\ufd77"); sb.append("\162"); - sb.append("\u0106"); + sb.append("\ufd77"); sb.append("\163"); - sb.append("\u0112"); + sb.append("\ufd77"); sb.append("\164"); - sb.append("\u0111"); + sb.append("\ufd77"); sb.append("\165"); - sb.append("\u0104"); + sb.append("\ufd77"); sb.append("\166"); - sb.append("\u0102"); + sb.append("\ufd77"); sb.append("\167"); - sb.append("\u0110"); + sb.append("\ufd77"); sb.append("\170"); - sb.append("\u010d"); + sb.append("\ufd77"); sb.append("\171"); - sb.append("\u0109"); + sb.append("\ufd77"); sb.append("\172"); - sb.append("\u0116"); + sb.append("\ufd77"); sb.append("\173"); - sb.append("\u0103"); + sb.append("\ufd77"); sb.append("\174"); - sb.append("\u010c"); + sb.append("\ufd77"); sb.append("\175"); - sb.append("\u010a"); + sb.append("\ufd77"); sb.append("\176"); - sb.append("\373"); + sb.append("\ufd77"); + sb.append("\177"); + sb.append("\ufd77"); + sb.append("\202"); + sb.append("\ufd77"); + sb.append("\215"); + sb.append("\ufd77"); + sb.append("\216"); + sb.append("\ufd77"); + sb.append("\232"); + sb.append("\ufd77"); + sb.append("\233"); + sb.append("\ufd77"); + sb.append("\243"); + sb.append("\ufd77"); + sb.append("\246"); + sb.append("\ufd77"); + sb.append("\252"); + sb.append("\ufd77"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\070"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\356"); + sb.append("\015"); + sb.append("\364"); + sb.append("\016"); + sb.append("\357"); + sb.append("\075"); + sb.append("\351"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\173"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); + sb.append("\200"); + sb.append("\347"); sb.append("\201"); - sb.append("\u0100"); + sb.append("\354"); sb.append("\215"); - sb.append("\u0435"); - sb.append("\242"); - sb.append("\377"); - sb.append("\245"); - sb.append("\372"); - sb.append("\251"); - sb.append("\u0113"); + sb.append("\360"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\122"); - sb.append("\071"); - sb.append("\ufd7f"); - sb.append("\072"); - sb.append("\ufd7f"); - sb.append("\073"); - sb.append("\ufd7f"); - sb.append("\112"); - sb.append("\ufd7f"); - sb.append("\113"); - sb.append("\ufd7f"); - sb.append("\127"); - sb.append("\ufd7f"); + sb.append("\100"); sb.append("\130"); - sb.append("\ufd7f"); + sb.append("\u0105"); sb.append("\131"); - sb.append("\ufd7f"); + sb.append("\u0116"); sb.append("\132"); - sb.append("\ufd7f"); + sb.append("\375"); sb.append("\150"); - sb.append("\ufd7f"); - sb.append("\151"); - sb.append("\ufd7f"); + sb.append("\u0100"); sb.append("\152"); - sb.append("\ufd7f"); + sb.append("\374"); sb.append("\153"); - sb.append("\ufd7f"); + sb.append("\u010e"); sb.append("\154"); - sb.append("\ufd7f"); + sb.append("\u0113"); sb.append("\155"); - sb.append("\ufd7f"); + sb.append("\376"); sb.append("\156"); - sb.append("\ufd7f"); + sb.append("\u0107"); sb.append("\157"); - sb.append("\ufd7f"); + sb.append("\u010f"); sb.append("\160"); - sb.append("\ufd7f"); + sb.append("\u0115"); sb.append("\161"); - sb.append("\ufd7f"); + sb.append("\u0109"); sb.append("\162"); - sb.append("\ufd7f"); + sb.append("\371"); sb.append("\163"); - sb.append("\ufd7f"); + sb.append("\u0106"); sb.append("\164"); - sb.append("\ufd7f"); + sb.append("\u0112"); sb.append("\165"); - sb.append("\ufd7f"); + sb.append("\u0110"); sb.append("\166"); - sb.append("\ufd7f"); + sb.append("\u0104"); sb.append("\167"); - sb.append("\ufd7f"); + sb.append("\u0102"); sb.append("\170"); - sb.append("\ufd7f"); + sb.append("\u0111"); sb.append("\171"); - sb.append("\ufd7f"); + sb.append("\u010d"); sb.append("\172"); - sb.append("\ufd7f"); + sb.append("\u0108"); sb.append("\173"); - sb.append("\ufd7f"); + sb.append("\u0117"); sb.append("\174"); - sb.append("\ufd7f"); + sb.append("\u0103"); sb.append("\175"); - sb.append("\ufd7f"); + sb.append("\u010c"); sb.append("\176"); - sb.append("\ufd7f"); - sb.append("\201"); - sb.append("\ufd7f"); - sb.append("\214"); - sb.append("\ufd7f"); - sb.append("\215"); - sb.append("\ufd7f"); - sb.append("\231"); - sb.append("\ufd7f"); - sb.append("\232"); - sb.append("\ufd7f"); - sb.append("\242"); - sb.append("\ufd7f"); - sb.append("\245"); - sb.append("\ufd7f"); - sb.append("\251"); - sb.append("\ufd7f"); + sb.append("\u010a"); + sb.append("\177"); + sb.append("\372"); + sb.append("\202"); + sb.append("\377"); + sb.append("\216"); + sb.append("\u042d"); + sb.append("\243"); + sb.append("\u0101"); + sb.append("\246"); + sb.append("\373"); + sb.append("\252"); + sb.append("\u0114"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); + sb.append("\116"); + sb.append("\073"); + sb.append("\ufd7c"); sb.append("\112"); - sb.append("\u0437"); + sb.append("\ufd7c"); + sb.append("\127"); + sb.append("\ufd7c"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd7c"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd7c"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd7c"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd7c"); + sb.append("\151"); + sb.append("\ufd7c"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd7c"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd7c"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd7c"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd7c"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd7c"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd7c"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd7c"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd7c"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd7c"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd7c"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd7c"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd7c"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd7c"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd7c"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd7c"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd7c"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd7c"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd7c"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd7c"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd7c"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd7c"); + sb.append("\177"); + sb.append("\ufd7c"); + sb.append("\202"); + sb.append("\ufd7c"); + sb.append("\215"); + sb.append("\ufd7c"); + sb.append("\216"); + sb.append("\ufd7c"); + sb.append("\232"); + sb.append("\ufd7c"); + sb.append("\233"); + sb.append("\ufd7c"); + sb.append("\243"); + sb.append("\ufd7c"); + sb.append("\246"); + sb.append("\ufd7c"); + sb.append("\252"); + sb.append("\ufd7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\120"); - sb.append("\071"); - sb.append("\ufd8c"); - sb.append("\072"); - sb.append("\ufd8c"); + sb.append("\114"); sb.append("\073"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\112"); - sb.append("\ufd8c"); - sb.append("\113"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\127"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\130"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\131"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\132"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\150"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\151"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\152"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\153"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\154"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\155"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\156"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\157"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\160"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\161"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\162"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\163"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\164"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\165"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\166"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\167"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\170"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\171"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\172"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\173"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\174"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\175"); - sb.append("\ufd8c"); + sb.append("\ufdac"); sb.append("\176"); - sb.append("\ufd8c"); - sb.append("\201"); - sb.append("\ufd8c"); - sb.append("\215"); - sb.append("\ufd8c"); - sb.append("\231"); - sb.append("\ufd8c"); + sb.append("\ufdac"); + sb.append("\177"); + sb.append("\ufdac"); + sb.append("\202"); + sb.append("\ufdac"); + sb.append("\216"); + sb.append("\ufdac"); sb.append("\232"); - sb.append("\ufd8c"); - sb.append("\242"); - sb.append("\ufd8c"); - sb.append("\245"); - sb.append("\ufd8c"); - sb.append("\251"); - sb.append("\ufd8c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\070"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); - sb.append("\016"); - sb.append("\356"); - sb.append("\075"); - sb.append("\351"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\172"); - sb.append("\362"); - sb.append("\173"); - sb.append("\352"); - sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\076"); - sb.append("\130"); - sb.append("\u0105"); - sb.append("\131"); - sb.append("\u0115"); - sb.append("\132"); - sb.append("\374"); - sb.append("\150"); - sb.append("\u0101"); - sb.append("\152"); - sb.append("\375"); - sb.append("\153"); - sb.append("\u010e"); - sb.append("\154"); - sb.append("\376"); - sb.append("\155"); - sb.append("\u0107"); - sb.append("\156"); - sb.append("\u010f"); - sb.append("\157"); - sb.append("\u0114"); - sb.append("\160"); - sb.append("\u0108"); - sb.append("\161"); - sb.append("\371"); - sb.append("\162"); - sb.append("\u0106"); - sb.append("\163"); - sb.append("\u0112"); - sb.append("\164"); - sb.append("\u0111"); - sb.append("\165"); - sb.append("\u0104"); - sb.append("\166"); - sb.append("\u0102"); - sb.append("\167"); - sb.append("\u0110"); - sb.append("\170"); - sb.append("\u010d"); - sb.append("\171"); - sb.append("\u0109"); - sb.append("\172"); - sb.append("\u0116"); - sb.append("\173"); - sb.append("\u0103"); - sb.append("\174"); - sb.append("\u010c"); - sb.append("\175"); - sb.append("\u010a"); - sb.append("\176"); - sb.append("\373"); - sb.append("\201"); - sb.append("\u0100"); - sb.append("\215"); - sb.append("\u043a"); - sb.append("\242"); - sb.append("\377"); - sb.append("\245"); - sb.append("\372"); - sb.append("\251"); - sb.append("\u0113"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\122"); - sb.append("\071"); - sb.append("\ufd80"); - sb.append("\072"); - sb.append("\ufd80"); - sb.append("\073"); - sb.append("\ufd80"); - sb.append("\112"); - sb.append("\ufd80"); - sb.append("\113"); - sb.append("\ufd80"); - sb.append("\127"); - sb.append("\ufd80"); - sb.append("\130"); - sb.append("\ufd80"); - sb.append("\131"); - sb.append("\ufd80"); - sb.append("\132"); - sb.append("\ufd80"); - sb.append("\150"); - sb.append("\ufd80"); - sb.append("\151"); - sb.append("\ufd80"); - sb.append("\152"); - sb.append("\ufd80"); - sb.append("\153"); - sb.append("\ufd80"); - sb.append("\154"); - sb.append("\ufd80"); - sb.append("\155"); - sb.append("\ufd80"); - sb.append("\156"); - sb.append("\ufd80"); - sb.append("\157"); - sb.append("\ufd80"); - sb.append("\160"); - sb.append("\ufd80"); - sb.append("\161"); - sb.append("\ufd80"); - sb.append("\162"); - sb.append("\ufd80"); - sb.append("\163"); - sb.append("\ufd80"); - sb.append("\164"); - sb.append("\ufd80"); - sb.append("\165"); - sb.append("\ufd80"); - sb.append("\166"); - sb.append("\ufd80"); - sb.append("\167"); - sb.append("\ufd80"); - sb.append("\170"); - sb.append("\ufd80"); - sb.append("\171"); - sb.append("\ufd80"); - sb.append("\172"); - sb.append("\ufd80"); - sb.append("\173"); - sb.append("\ufd80"); - sb.append("\174"); - sb.append("\ufd80"); - sb.append("\175"); - sb.append("\ufd80"); - sb.append("\176"); - sb.append("\ufd80"); - sb.append("\201"); - sb.append("\ufd80"); - sb.append("\214"); - sb.append("\ufd80"); - sb.append("\215"); - sb.append("\ufd80"); - sb.append("\231"); - sb.append("\ufd80"); - sb.append("\232"); - sb.append("\ufd80"); - sb.append("\242"); - sb.append("\ufd80"); - sb.append("\245"); - sb.append("\ufd80"); - sb.append("\251"); - sb.append("\ufd80"); + sb.append("\ufdac"); + sb.append("\233"); + sb.append("\ufdac"); + sb.append("\243"); + sb.append("\ufdac"); + sb.append("\246"); + sb.append("\ufdac"); + sb.append("\252"); + sb.append("\ufdac"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\120"); - sb.append("\071"); - sb.append("\ufd8a"); - sb.append("\072"); - sb.append("\ufd8a"); sb.append("\073"); - sb.append("\ufd8a"); + sb.append("\ufd78"); + sb.append("\111"); + sb.append("\ufd78"); sb.append("\112"); - sb.append("\ufd8a"); - sb.append("\113"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\127"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\130"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\131"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\132"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\150"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\151"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\152"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\153"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\154"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\155"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\156"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\157"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\160"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\161"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\162"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\163"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\164"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\165"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\166"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\167"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\170"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\171"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\172"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\173"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\174"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\175"); - sb.append("\ufd8a"); + sb.append("\ufd78"); sb.append("\176"); - sb.append("\ufd8a"); - sb.append("\201"); - sb.append("\ufd8a"); + sb.append("\ufd78"); + sb.append("\177"); + sb.append("\ufd78"); + sb.append("\202"); + sb.append("\ufd78"); sb.append("\215"); - sb.append("\ufd8a"); - sb.append("\231"); - sb.append("\ufd8a"); + sb.append("\ufd78"); + sb.append("\216"); + sb.append("\ufd78"); sb.append("\232"); - sb.append("\ufd8a"); - sb.append("\242"); - sb.append("\ufd8a"); - sb.append("\245"); - sb.append("\ufd8a"); - sb.append("\251"); - sb.append("\ufd8a"); + sb.append("\ufd78"); + sb.append("\233"); + sb.append("\ufd78"); + sb.append("\243"); + sb.append("\ufd78"); + sb.append("\246"); + sb.append("\ufd78"); + sb.append("\252"); + sb.append("\ufd78"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\070"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\236"); + sb.append("\004"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); - sb.append("\016"); - sb.append("\356"); - sb.append("\075"); - sb.append("\351"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\172"); - sb.append("\362"); - sb.append("\173"); - sb.append("\352"); - sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufe6c"); - sb.append("\151"); - sb.append("\ufe6c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\022"); - sb.append("\010"); - sb.append("\244"); - sb.append("\075"); - sb.append("\310"); - sb.append("\076"); - sb.append("\313"); - sb.append("\121"); - sb.append("\237"); - sb.append("\230"); - sb.append("\321"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\012"); - sb.append("\ufec8"); - sb.append("\154"); - sb.append("\ufec8"); - sb.append("\156"); - sb.append("\ufec8"); - sb.append("\244"); - sb.append("\ufec8"); - sb.append("\251"); - sb.append("\ufec8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\012"); - sb.append("\ufecb"); - sb.append("\154"); - sb.append("\ufecb"); - sb.append("\156"); - sb.append("\ufecb"); - sb.append("\244"); - sb.append("\ufecb"); - sb.append("\251"); - sb.append("\ufecb"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\u016d"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\010"); - sb.append("\244"); - sb.append("\075"); - sb.append("\310"); - sb.append("\076"); - sb.append("\313"); - sb.append("\121"); - sb.append("\237"); - sb.append("\230"); - sb.append("\321"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\012"); - sb.append("\ufec9"); - sb.append("\154"); - sb.append("\ufec9"); - sb.append("\156"); - sb.append("\ufec9"); - sb.append("\244"); - sb.append("\ufec9"); - sb.append("\251"); - sb.append("\ufec9"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\033"); - sb.append("\ufffe"); - sb.append("\111"); - sb.append("\ufffe"); - sb.append("\112"); - sb.append("\ufffe"); - sb.append("\117"); - sb.append("\ufffe"); - sb.append("\127"); - sb.append("\ufffe"); - sb.append("\151"); - sb.append("\ufffe"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\033"); - sb.append("\ufffd"); - sb.append("\111"); - sb.append("\ufffd"); - sb.append("\112"); - sb.append("\ufffd"); - sb.append("\117"); - sb.append("\ufffd"); - sb.append("\127"); - sb.append("\ufffd"); - sb.append("\151"); - sb.append("\ufffd"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\111"); - sb.append("\u044c"); - sb.append("\127"); - sb.append("\u044b"); - sb.append("\151"); - sb.append("\u044e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\111"); - sb.append("\ufe9d"); - sb.append("\127"); - sb.append("\ufe9d"); - sb.append("\151"); - sb.append("\ufe9d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\033"); - sb.append("\uffff"); - sb.append("\111"); - sb.append("\uffff"); - sb.append("\112"); - sb.append("\uffff"); - sb.append("\117"); - sb.append("\uffff"); - sb.append("\127"); - sb.append("\uffff"); - sb.append("\151"); - sb.append("\uffff"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\111"); - sb.append("\ufe9c"); - sb.append("\127"); - sb.append("\ufe9c"); - sb.append("\151"); - sb.append("\ufe9c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\033"); - sb.append("\ufff9"); - sb.append("\111"); - sb.append("\ufff9"); - sb.append("\117"); - sb.append("\ufff9"); - sb.append("\127"); - sb.append("\ufff9"); - sb.append("\151"); - sb.append("\ufff9"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\ufffa"); - sb.append("\111"); - sb.append("\ufffa"); - sb.append("\117"); - sb.append("\ufffa"); - sb.append("\127"); - sb.append("\ufffa"); - sb.append("\151"); - sb.append("\ufffa"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\010"); - sb.append("\u0447"); - sb.append("\121"); - sb.append("\u0443"); - sb.append("\254"); - sb.append("\u0444"); - sb.append("\255"); - sb.append("\u0449"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\010"); - sb.append("\ufe98"); - sb.append("\112"); - sb.append("\ufe98"); - sb.append("\121"); - sb.append("\ufe98"); - sb.append("\222"); - sb.append("\ufe98"); - sb.append("\253"); - sb.append("\ufe98"); - sb.append("\254"); - sb.append("\ufe98"); - sb.append("\255"); - sb.append("\ufe98"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\ufe9f"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\ufe9f"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\ufe9f"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\ufe9f"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\ufe9f"); - sb.append("\112"); - sb.append("\ufe9f"); - sb.append("\120"); - sb.append("\ufe9f"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u01a8"); + sb.append("\063"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u01a9"); + sb.append("\075"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0166"); + sb.append("\100"); + sb.append("\u0194"); + sb.append("\101"); + sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); + sb.append("\103"); + sb.append("\u019e"); + sb.append("\104"); + sb.append("\u015d"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u019c"); + sb.append("\116"); + sb.append("\u0170"); + sb.append("\121"); + sb.append("\u017a"); + sb.append("\122"); + sb.append("\u0169"); + sb.append("\123"); + sb.append("\u0183"); + sb.append("\124"); + sb.append("\u0176"); + sb.append("\125"); + sb.append("\u019b"); + sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\ufe9f"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\ufe9f"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\ufe9f"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\ufe9f"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\ufe9f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\ufe9f"); - sb.append("\247"); - sb.append("\ufe9f"); - sb.append("\250"); - sb.append("\ufe9f"); - sb.append("\256"); - sb.append("\ufe9f"); - sb.append("\257"); - sb.append("\ufe9f"); - sb.append("\260"); - sb.append("\ufe9f"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\046"); + sb.append("\240"); + sb.append("\004"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\010"); + sb.append("\u016d"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\ufe9b"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\ufe9b"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\ufe9b"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\ufe9b"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\ufe9b"); - sb.append("\112"); - sb.append("\ufe9b"); - sb.append("\120"); - sb.append("\ufe9b"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u01a8"); + sb.append("\063"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u01a9"); + sb.append("\075"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0166"); + sb.append("\100"); + sb.append("\u0194"); + sb.append("\101"); + sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); + sb.append("\103"); + sb.append("\u019e"); + sb.append("\104"); + sb.append("\u015d"); + sb.append("\111"); + sb.append("\u0435"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u019c"); + sb.append("\116"); + sb.append("\u0170"); + sb.append("\121"); + sb.append("\u017a"); + sb.append("\122"); + sb.append("\u0169"); + sb.append("\123"); + sb.append("\u0183"); + sb.append("\124"); + sb.append("\u0176"); + sb.append("\125"); + sb.append("\u019b"); + sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\ufe9b"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\ufe9b"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\ufe9b"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\ufe9b"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\ufe9b"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\ufe9b"); - sb.append("\247"); - sb.append("\ufe9b"); - sb.append("\250"); - sb.append("\ufe9b"); - sb.append("\256"); - sb.append("\ufe9b"); - sb.append("\257"); - sb.append("\ufe9b"); - sb.append("\260"); - sb.append("\ufe9b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\010"); - sb.append("\u0457"); - sb.append("\112"); - sb.append("\u0454"); - sb.append("\121"); - sb.append("\u0456"); - sb.append("\222"); - sb.append("\341"); - sb.append("\253"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\010"); - sb.append("\ufe97"); - sb.append("\112"); - sb.append("\ufe97"); - sb.append("\121"); - sb.append("\ufe97"); - sb.append("\222"); - sb.append("\ufe97"); - sb.append("\253"); - sb.append("\ufe97"); - sb.append("\254"); - sb.append("\ufe97"); - sb.append("\255"); - sb.append("\ufe97"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\236"); sb.append("\004"); - sb.append("\033"); - sb.append("\u0469"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\ufe99"); - sb.append("\112"); - sb.append("\ufe99"); - sb.append("\121"); - sb.append("\ufe99"); - sb.append("\222"); - sb.append("\ufe99"); - sb.append("\253"); - sb.append("\ufe99"); - sb.append("\254"); - sb.append("\ufe99"); - sb.append("\255"); - sb.append("\ufe99"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\113"); - sb.append("\u0458"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); + sb.append("\u016d"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\ufe9a"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\ufe9a"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\ufe9a"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\ufe9a"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\ufe9a"); - sb.append("\112"); - sb.append("\ufe9a"); - sb.append("\120"); - sb.append("\ufe9a"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u01a8"); + sb.append("\063"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u01a9"); + sb.append("\075"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0166"); + sb.append("\100"); + sb.append("\u0194"); + sb.append("\101"); + sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); + sb.append("\103"); + sb.append("\u019e"); + sb.append("\104"); + sb.append("\u015d"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u019c"); + sb.append("\116"); + sb.append("\u0170"); + sb.append("\121"); + sb.append("\u017a"); + sb.append("\122"); + sb.append("\u0169"); + sb.append("\123"); + sb.append("\u0183"); + sb.append("\124"); + sb.append("\u0176"); + sb.append("\125"); + sb.append("\u019b"); + sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\ufe9a"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\ufe9a"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\ufe9a"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\ufe9a"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\ufe9a"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\ufe9a"); - sb.append("\247"); - sb.append("\ufe9a"); - sb.append("\250"); - sb.append("\ufe9a"); - sb.append("\256"); - sb.append("\ufe9a"); - sb.append("\257"); - sb.append("\ufe9a"); - sb.append("\260"); - sb.append("\ufe9a"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\020"); - sb.append("\010"); - sb.append("\ufe96"); + sb.append("\122"); + sb.append("\071"); + sb.append("\ufd89"); + sb.append("\072"); + sb.append("\ufd89"); + sb.append("\073"); + sb.append("\ufd89"); sb.append("\112"); - sb.append("\ufe96"); - sb.append("\121"); - sb.append("\ufe96"); - sb.append("\222"); - sb.append("\ufe96"); - sb.append("\253"); - sb.append("\ufe96"); - sb.append("\254"); - sb.append("\ufe96"); - sb.append("\255"); - sb.append("\ufe96"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\033"); - sb.append("\ufccb"); - sb.append("\113"); - sb.append("\ufddf"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\033"); - sb.append("\ufccc"); + sb.append("\ufd89"); sb.append("\113"); - sb.append("\ufde0"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\033"); - sb.append("\u045b"); - sb.append("\241"); - sb.append("\u045a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\010"); - sb.append("\244"); - sb.append("\121"); - sb.append("\237"); - sb.append("\222"); - sb.append("\341"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\225"); - sb.append("\u045e"); - sb.append("\226"); - sb.append("\u0460"); - sb.append("\227"); - sb.append("\u045d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\010"); - sb.append("\ufe8d"); - sb.append("\121"); - sb.append("\ufe8d"); - sb.append("\151"); - sb.append("\ufe8d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\010"); - sb.append("\ufe8b"); - sb.append("\121"); - sb.append("\ufe8b"); + sb.append("\ufd89"); + sb.append("\127"); + sb.append("\ufd89"); + sb.append("\130"); + sb.append("\ufd89"); + sb.append("\131"); + sb.append("\ufd89"); + sb.append("\132"); + sb.append("\ufd89"); + sb.append("\150"); + sb.append("\ufd89"); sb.append("\151"); - sb.append("\ufe8b"); + sb.append("\ufd89"); + sb.append("\152"); + sb.append("\ufd89"); + sb.append("\153"); + sb.append("\ufd89"); + sb.append("\154"); + sb.append("\ufd89"); + sb.append("\155"); + sb.append("\ufd89"); + sb.append("\156"); + sb.append("\ufd89"); + sb.append("\157"); + sb.append("\ufd89"); + sb.append("\160"); + sb.append("\ufd89"); + sb.append("\161"); + sb.append("\ufd89"); + sb.append("\162"); + sb.append("\ufd89"); + sb.append("\163"); + sb.append("\ufd89"); + sb.append("\164"); + sb.append("\ufd89"); + sb.append("\165"); + sb.append("\ufd89"); + sb.append("\166"); + sb.append("\ufd89"); + sb.append("\167"); + sb.append("\ufd89"); + sb.append("\170"); + sb.append("\ufd89"); + sb.append("\171"); + sb.append("\ufd89"); + sb.append("\172"); + sb.append("\ufd89"); + sb.append("\173"); + sb.append("\ufd89"); + sb.append("\174"); + sb.append("\ufd89"); + sb.append("\175"); + sb.append("\ufd89"); + sb.append("\176"); + sb.append("\ufd89"); + sb.append("\177"); + sb.append("\ufd89"); + sb.append("\202"); + sb.append("\ufd89"); + sb.append("\216"); + sb.append("\ufd89"); + sb.append("\232"); + sb.append("\ufd89"); + sb.append("\233"); + sb.append("\ufd89"); + sb.append("\243"); + sb.append("\ufd89"); + sb.append("\246"); + sb.append("\ufd89"); + sb.append("\252"); + sb.append("\ufd89"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\124"); + sb.append("\071"); + sb.append("\ufd8c"); + sb.append("\072"); + sb.append("\ufd8c"); + sb.append("\073"); + sb.append("\ufd8c"); + sb.append("\112"); + sb.append("\ufd8c"); + sb.append("\113"); + sb.append("\ufd8c"); + sb.append("\127"); + sb.append("\ufd8c"); + sb.append("\130"); + sb.append("\ufd8c"); + sb.append("\131"); + sb.append("\ufd8c"); + sb.append("\132"); + sb.append("\ufd8c"); + sb.append("\150"); + sb.append("\ufd8c"); sb.append("\151"); - sb.append("\u0461"); + sb.append("\ufd8c"); + sb.append("\152"); + sb.append("\ufd8c"); + sb.append("\153"); + sb.append("\ufd8c"); + sb.append("\154"); + sb.append("\ufd8c"); + sb.append("\155"); + sb.append("\ufd8c"); + sb.append("\156"); + sb.append("\ufd8c"); + sb.append("\157"); + sb.append("\ufd8c"); + sb.append("\160"); + sb.append("\ufd8c"); + sb.append("\161"); + sb.append("\ufd8c"); + sb.append("\162"); + sb.append("\ufd8c"); + sb.append("\163"); + sb.append("\ufd8c"); + sb.append("\164"); + sb.append("\ufd8c"); + sb.append("\165"); + sb.append("\ufd8c"); + sb.append("\166"); + sb.append("\ufd8c"); + sb.append("\167"); + sb.append("\ufd8c"); + sb.append("\170"); + sb.append("\ufd8c"); + sb.append("\171"); + sb.append("\ufd8c"); + sb.append("\172"); + sb.append("\ufd8c"); + sb.append("\173"); + sb.append("\ufd8c"); + sb.append("\174"); + sb.append("\ufd8c"); + sb.append("\175"); + sb.append("\ufd8c"); + sb.append("\176"); + sb.append("\ufd8c"); + sb.append("\177"); + sb.append("\ufd8c"); + sb.append("\202"); + sb.append("\ufd8c"); + sb.append("\215"); + sb.append("\u043c"); + sb.append("\216"); + sb.append("\ufd8c"); + sb.append("\232"); + sb.append("\ufd8c"); + sb.append("\233"); + sb.append("\ufd8c"); + sb.append("\243"); + sb.append("\ufd8c"); + sb.append("\246"); + sb.append("\ufd8c"); + sb.append("\252"); + sb.append("\ufd8c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); sb.append("\010"); - sb.append("\ufe8c"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); sb.append("\121"); - sb.append("\ufe8c"); - sb.append("\151"); - sb.append("\ufe8c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); sb.append("\020"); - sb.append("\010"); - sb.append("\ufe91"); - sb.append("\112"); - sb.append("\ufe91"); - sb.append("\121"); - sb.append("\ufe91"); - sb.append("\222"); - sb.append("\ufe91"); - sb.append("\253"); - sb.append("\ufe91"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); sb.append("\254"); - sb.append("\ufe91"); + sb.append("\147"); sb.append("\255"); - sb.append("\ufe91"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\124"); + sb.append("\071"); + sb.append("\ufd8b"); + sb.append("\072"); + sb.append("\ufd8b"); + sb.append("\073"); + sb.append("\ufd8b"); + sb.append("\112"); + sb.append("\ufd8b"); + sb.append("\113"); + sb.append("\ufd8b"); + sb.append("\127"); + sb.append("\ufd8b"); + sb.append("\130"); + sb.append("\ufd8b"); + sb.append("\131"); + sb.append("\ufd8b"); + sb.append("\132"); + sb.append("\ufd8b"); + sb.append("\150"); + sb.append("\ufd8b"); sb.append("\151"); - sb.append("\u0463"); + sb.append("\ufd8b"); + sb.append("\152"); + sb.append("\ufd8b"); + sb.append("\153"); + sb.append("\ufd8b"); + sb.append("\154"); + sb.append("\ufd8b"); + sb.append("\155"); + sb.append("\ufd8b"); + sb.append("\156"); + sb.append("\ufd8b"); + sb.append("\157"); + sb.append("\ufd8b"); + sb.append("\160"); + sb.append("\ufd8b"); + sb.append("\161"); + sb.append("\ufd8b"); + sb.append("\162"); + sb.append("\ufd8b"); + sb.append("\163"); + sb.append("\ufd8b"); + sb.append("\164"); + sb.append("\ufd8b"); + sb.append("\165"); + sb.append("\ufd8b"); + sb.append("\166"); + sb.append("\ufd8b"); + sb.append("\167"); + sb.append("\ufd8b"); + sb.append("\170"); + sb.append("\ufd8b"); + sb.append("\171"); + sb.append("\ufd8b"); + sb.append("\172"); + sb.append("\ufd8b"); + sb.append("\173"); + sb.append("\ufd8b"); + sb.append("\174"); + sb.append("\ufd8b"); + sb.append("\175"); + sb.append("\ufd8b"); + sb.append("\176"); + sb.append("\ufd8b"); + sb.append("\177"); + sb.append("\ufd8b"); + sb.append("\202"); + sb.append("\ufd8b"); + sb.append("\215"); + sb.append("\u0437"); + sb.append("\216"); + sb.append("\ufd8b"); + sb.append("\232"); + sb.append("\ufd8b"); + sb.append("\233"); + sb.append("\ufd8b"); + sb.append("\243"); + sb.append("\ufd8b"); + sb.append("\246"); + sb.append("\ufd8b"); + sb.append("\252"); + sb.append("\ufd8b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\020"); + sb.append("\070"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\ufe92"); - sb.append("\112"); - sb.append("\ufe92"); + sb.append("\356"); + sb.append("\015"); + sb.append("\364"); + sb.append("\016"); + sb.append("\357"); + sb.append("\075"); + sb.append("\351"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); sb.append("\121"); - sb.append("\ufe92"); - sb.append("\222"); - sb.append("\ufe92"); - sb.append("\253"); - sb.append("\ufe92"); + sb.append("\160"); + sb.append("\173"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); + sb.append("\200"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); sb.append("\254"); - sb.append("\ufe92"); + sb.append("\147"); sb.append("\255"); - sb.append("\ufe92"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufe94"); - sb.append("\151"); - sb.append("\ufe94"); + sb.append("\100"); + sb.append("\130"); + sb.append("\u0105"); + sb.append("\131"); + sb.append("\u0116"); + sb.append("\132"); + sb.append("\375"); + sb.append("\150"); + sb.append("\u0100"); + sb.append("\152"); + sb.append("\374"); + sb.append("\153"); + sb.append("\u010e"); + sb.append("\154"); + sb.append("\u0113"); + sb.append("\155"); + sb.append("\376"); + sb.append("\156"); + sb.append("\u0107"); + sb.append("\157"); + sb.append("\u010f"); + sb.append("\160"); + sb.append("\u0115"); + sb.append("\161"); + sb.append("\u0109"); + sb.append("\162"); + sb.append("\371"); + sb.append("\163"); + sb.append("\u0106"); + sb.append("\164"); + sb.append("\u0112"); + sb.append("\165"); + sb.append("\u0110"); + sb.append("\166"); + sb.append("\u0104"); + sb.append("\167"); + sb.append("\u0102"); + sb.append("\170"); + sb.append("\u0111"); + sb.append("\171"); + sb.append("\u010d"); + sb.append("\172"); + sb.append("\u0108"); + sb.append("\173"); + sb.append("\u0117"); + sb.append("\174"); + sb.append("\u0103"); + sb.append("\175"); + sb.append("\u010c"); + sb.append("\176"); + sb.append("\u010a"); + sb.append("\177"); + sb.append("\372"); + sb.append("\202"); + sb.append("\377"); + sb.append("\216"); + sb.append("\u0439"); + sb.append("\243"); + sb.append("\u0101"); + sb.append("\246"); + sb.append("\373"); + sb.append("\252"); + sb.append("\u0114"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); + sb.append("\124"); + sb.append("\071"); + sb.append("\ufd7d"); + sb.append("\072"); + sb.append("\ufd7d"); + sb.append("\073"); + sb.append("\ufd7d"); + sb.append("\112"); + sb.append("\ufd7d"); + sb.append("\113"); + sb.append("\ufd7d"); sb.append("\127"); - sb.append("\u0466"); + sb.append("\ufd7d"); + sb.append("\130"); + sb.append("\ufd7d"); + sb.append("\131"); + sb.append("\ufd7d"); + sb.append("\132"); + sb.append("\ufd7d"); + sb.append("\150"); + sb.append("\ufd7d"); sb.append("\151"); - sb.append("\u0467"); + sb.append("\ufd7d"); + sb.append("\152"); + sb.append("\ufd7d"); + sb.append("\153"); + sb.append("\ufd7d"); + sb.append("\154"); + sb.append("\ufd7d"); + sb.append("\155"); + sb.append("\ufd7d"); + sb.append("\156"); + sb.append("\ufd7d"); + sb.append("\157"); + sb.append("\ufd7d"); + sb.append("\160"); + sb.append("\ufd7d"); + sb.append("\161"); + sb.append("\ufd7d"); + sb.append("\162"); + sb.append("\ufd7d"); + sb.append("\163"); + sb.append("\ufd7d"); + sb.append("\164"); + sb.append("\ufd7d"); + sb.append("\165"); + sb.append("\ufd7d"); + sb.append("\166"); + sb.append("\ufd7d"); + sb.append("\167"); + sb.append("\ufd7d"); + sb.append("\170"); + sb.append("\ufd7d"); + sb.append("\171"); + sb.append("\ufd7d"); + sb.append("\172"); + sb.append("\ufd7d"); + sb.append("\173"); + sb.append("\ufd7d"); + sb.append("\174"); + sb.append("\ufd7d"); + sb.append("\175"); + sb.append("\ufd7d"); + sb.append("\176"); + sb.append("\ufd7d"); + sb.append("\177"); + sb.append("\ufd7d"); + sb.append("\202"); + sb.append("\ufd7d"); + sb.append("\215"); + sb.append("\ufd7d"); + sb.append("\216"); + sb.append("\ufd7d"); + sb.append("\232"); + sb.append("\ufd7d"); + sb.append("\233"); + sb.append("\ufd7d"); + sb.append("\243"); + sb.append("\ufd7d"); + sb.append("\246"); + sb.append("\ufd7d"); + sb.append("\252"); + sb.append("\ufd7d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\016"); - sb.append("\010"); - sb.append("\244"); - sb.append("\121"); - sb.append("\237"); - sb.append("\222"); - sb.append("\341"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\112"); + sb.append("\u043b"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\020"); - sb.append("\010"); - sb.append("\ufe93"); + sb.append("\122"); + sb.append("\071"); + sb.append("\ufd8a"); + sb.append("\072"); + sb.append("\ufd8a"); + sb.append("\073"); + sb.append("\ufd8a"); sb.append("\112"); - sb.append("\ufe93"); - sb.append("\121"); - sb.append("\ufe93"); - sb.append("\222"); - sb.append("\ufe93"); - sb.append("\253"); - sb.append("\ufe93"); - sb.append("\254"); - sb.append("\ufe93"); - sb.append("\255"); - sb.append("\ufe93"); + sb.append("\ufd8a"); + sb.append("\113"); + sb.append("\ufd8a"); + sb.append("\127"); + sb.append("\ufd8a"); + sb.append("\130"); + sb.append("\ufd8a"); + sb.append("\131"); + sb.append("\ufd8a"); + sb.append("\132"); + sb.append("\ufd8a"); + sb.append("\150"); + sb.append("\ufd8a"); + sb.append("\151"); + sb.append("\ufd8a"); + sb.append("\152"); + sb.append("\ufd8a"); + sb.append("\153"); + sb.append("\ufd8a"); + sb.append("\154"); + sb.append("\ufd8a"); + sb.append("\155"); + sb.append("\ufd8a"); + sb.append("\156"); + sb.append("\ufd8a"); + sb.append("\157"); + sb.append("\ufd8a"); + sb.append("\160"); + sb.append("\ufd8a"); + sb.append("\161"); + sb.append("\ufd8a"); + sb.append("\162"); + sb.append("\ufd8a"); + sb.append("\163"); + sb.append("\ufd8a"); + sb.append("\164"); + sb.append("\ufd8a"); + sb.append("\165"); + sb.append("\ufd8a"); + sb.append("\166"); + sb.append("\ufd8a"); + sb.append("\167"); + sb.append("\ufd8a"); + sb.append("\170"); + sb.append("\ufd8a"); + sb.append("\171"); + sb.append("\ufd8a"); + sb.append("\172"); + sb.append("\ufd8a"); + sb.append("\173"); + sb.append("\ufd8a"); + sb.append("\174"); + sb.append("\ufd8a"); + sb.append("\175"); + sb.append("\ufd8a"); + sb.append("\176"); + sb.append("\ufd8a"); + sb.append("\177"); + sb.append("\ufd8a"); + sb.append("\202"); + sb.append("\ufd8a"); + sb.append("\216"); + sb.append("\ufd8a"); + sb.append("\232"); + sb.append("\ufd8a"); + sb.append("\233"); + sb.append("\ufd8a"); + sb.append("\243"); + sb.append("\ufd8a"); + sb.append("\246"); + sb.append("\ufd8a"); + sb.append("\252"); + sb.append("\ufd8a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\070"); sb.append("\006"); - sb.append("\127"); - sb.append("\ufe95"); - sb.append("\151"); - sb.append("\ufe95"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\225"); - sb.append("\u045e"); - sb.append("\226"); - sb.append("\u0460"); - sb.append("\227"); - sb.append("\u045d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\151"); - sb.append("\u046e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u046c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\ufe8e"); - sb.append("\112"); - sb.append("\ufe8e"); + sb.append("\356"); + sb.append("\015"); + sb.append("\364"); + sb.append("\016"); + sb.append("\357"); + sb.append("\075"); + sb.append("\351"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); sb.append("\121"); - sb.append("\ufe8e"); - sb.append("\222"); - sb.append("\ufe8e"); - sb.append("\253"); - sb.append("\ufe8e"); + sb.append("\160"); + sb.append("\173"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); + sb.append("\200"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); sb.append("\254"); - sb.append("\ufe8e"); + sb.append("\147"); sb.append("\255"); - sb.append("\ufe8e"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u046f"); + sb.append("\100"); + sb.append("\130"); + sb.append("\u0105"); + sb.append("\131"); + sb.append("\u0116"); + sb.append("\132"); + sb.append("\375"); + sb.append("\150"); + sb.append("\u0100"); + sb.append("\152"); + sb.append("\374"); + sb.append("\153"); + sb.append("\u010e"); + sb.append("\154"); + sb.append("\u0113"); + sb.append("\155"); + sb.append("\376"); + sb.append("\156"); + sb.append("\u0107"); + sb.append("\157"); + sb.append("\u010f"); + sb.append("\160"); + sb.append("\u0115"); + sb.append("\161"); + sb.append("\u0109"); + sb.append("\162"); + sb.append("\371"); + sb.append("\163"); + sb.append("\u0106"); + sb.append("\164"); + sb.append("\u0112"); + sb.append("\165"); + sb.append("\u0110"); + sb.append("\166"); + sb.append("\u0104"); + sb.append("\167"); + sb.append("\u0102"); + sb.append("\170"); + sb.append("\u0111"); + sb.append("\171"); + sb.append("\u010d"); + sb.append("\172"); + sb.append("\u0108"); + sb.append("\173"); + sb.append("\u0117"); + sb.append("\174"); + sb.append("\u0103"); + sb.append("\175"); + sb.append("\u010c"); + sb.append("\176"); + sb.append("\u010a"); + sb.append("\177"); + sb.append("\372"); + sb.append("\202"); + sb.append("\377"); + sb.append("\216"); + sb.append("\u043e"); + sb.append("\243"); + sb.append("\u0101"); + sb.append("\246"); + sb.append("\373"); + sb.append("\252"); + sb.append("\u0114"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\020"); - sb.append("\010"); - sb.append("\ufe90"); + sb.append("\124"); + sb.append("\071"); + sb.append("\ufd7e"); + sb.append("\072"); + sb.append("\ufd7e"); + sb.append("\073"); + sb.append("\ufd7e"); sb.append("\112"); - sb.append("\ufe90"); - sb.append("\121"); - sb.append("\ufe90"); - sb.append("\222"); - sb.append("\ufe90"); - sb.append("\253"); - sb.append("\ufe90"); - sb.append("\254"); - sb.append("\ufe90"); - sb.append("\255"); - sb.append("\ufe90"); + sb.append("\ufd7e"); + sb.append("\113"); + sb.append("\ufd7e"); + sb.append("\127"); + sb.append("\ufd7e"); + sb.append("\130"); + sb.append("\ufd7e"); + sb.append("\131"); + sb.append("\ufd7e"); + sb.append("\132"); + sb.append("\ufd7e"); + sb.append("\150"); + sb.append("\ufd7e"); + sb.append("\151"); + sb.append("\ufd7e"); + sb.append("\152"); + sb.append("\ufd7e"); + sb.append("\153"); + sb.append("\ufd7e"); + sb.append("\154"); + sb.append("\ufd7e"); + sb.append("\155"); + sb.append("\ufd7e"); + sb.append("\156"); + sb.append("\ufd7e"); + sb.append("\157"); + sb.append("\ufd7e"); + sb.append("\160"); + sb.append("\ufd7e"); + sb.append("\161"); + sb.append("\ufd7e"); + sb.append("\162"); + sb.append("\ufd7e"); + sb.append("\163"); + sb.append("\ufd7e"); + sb.append("\164"); + sb.append("\ufd7e"); + sb.append("\165"); + sb.append("\ufd7e"); + sb.append("\166"); + sb.append("\ufd7e"); + sb.append("\167"); + sb.append("\ufd7e"); + sb.append("\170"); + sb.append("\ufd7e"); + sb.append("\171"); + sb.append("\ufd7e"); + sb.append("\172"); + sb.append("\ufd7e"); + sb.append("\173"); + sb.append("\ufd7e"); + sb.append("\174"); + sb.append("\ufd7e"); + sb.append("\175"); + sb.append("\ufd7e"); + sb.append("\176"); + sb.append("\ufd7e"); + sb.append("\177"); + sb.append("\ufd7e"); + sb.append("\202"); + sb.append("\ufd7e"); + sb.append("\215"); + sb.append("\ufd7e"); + sb.append("\216"); + sb.append("\ufd7e"); + sb.append("\232"); + sb.append("\ufd7e"); + sb.append("\233"); + sb.append("\ufd7e"); + sb.append("\243"); + sb.append("\ufd7e"); + sb.append("\246"); + sb.append("\ufd7e"); + sb.append("\252"); + sb.append("\ufd7e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\020"); - sb.append("\010"); - sb.append("\ufe8f"); + sb.append("\122"); + sb.append("\071"); + sb.append("\ufd88"); + sb.append("\072"); + sb.append("\ufd88"); + sb.append("\073"); + sb.append("\ufd88"); sb.append("\112"); - sb.append("\ufe8f"); - sb.append("\121"); - sb.append("\ufe8f"); - sb.append("\222"); - sb.append("\ufe8f"); - sb.append("\253"); - sb.append("\ufe8f"); - sb.append("\254"); - sb.append("\ufe8f"); - sb.append("\255"); - sb.append("\ufe8f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\111"); - sb.append("\ufe9e"); + sb.append("\ufd88"); + sb.append("\113"); + sb.append("\ufd88"); sb.append("\127"); - sb.append("\ufe9e"); - sb.append("\151"); - sb.append("\ufe9e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\134"); - sb.append("\u0473"); - sb.append("\151"); - sb.append("\ufea5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); + sb.append("\ufd88"); + sb.append("\130"); + sb.append("\ufd88"); + sb.append("\131"); + sb.append("\ufd88"); + sb.append("\132"); + sb.append("\ufd88"); + sb.append("\150"); + sb.append("\ufd88"); sb.append("\151"); - sb.append("\u0476"); + sb.append("\ufd88"); + sb.append("\152"); + sb.append("\ufd88"); + sb.append("\153"); + sb.append("\ufd88"); + sb.append("\154"); + sb.append("\ufd88"); + sb.append("\155"); + sb.append("\ufd88"); + sb.append("\156"); + sb.append("\ufd88"); + sb.append("\157"); + sb.append("\ufd88"); + sb.append("\160"); + sb.append("\ufd88"); + sb.append("\161"); + sb.append("\ufd88"); + sb.append("\162"); + sb.append("\ufd88"); + sb.append("\163"); + sb.append("\ufd88"); + sb.append("\164"); + sb.append("\ufd88"); + sb.append("\165"); + sb.append("\ufd88"); + sb.append("\166"); + sb.append("\ufd88"); + sb.append("\167"); + sb.append("\ufd88"); + sb.append("\170"); + sb.append("\ufd88"); + sb.append("\171"); + sb.append("\ufd88"); + sb.append("\172"); + sb.append("\ufd88"); + sb.append("\173"); + sb.append("\ufd88"); + sb.append("\174"); + sb.append("\ufd88"); + sb.append("\175"); + sb.append("\ufd88"); + sb.append("\176"); + sb.append("\ufd88"); + sb.append("\177"); + sb.append("\ufd88"); + sb.append("\202"); + sb.append("\ufd88"); + sb.append("\216"); + sb.append("\ufd88"); + sb.append("\232"); + sb.append("\ufd88"); + sb.append("\233"); + sb.append("\ufd88"); + sb.append("\243"); + sb.append("\ufd88"); + sb.append("\246"); + sb.append("\ufd88"); + sb.append("\252"); + sb.append("\ufd88"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\003"); - sb.append("\u0475"); - sb.append("\004"); - sb.append("\201"); + sb.append("\070"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); + sb.append("\356"); sb.append("\015"); - sb.append("\031"); + sb.append("\364"); sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); + sb.append("\357"); sb.append("\075"); - sb.append("\166"); + sb.append("\351"); sb.append("\077"); sb.append("\123"); sb.append("\100"); @@ -2882,1651 +3421,1113 @@ protected EncodedActionTable12() { sb.append("\046"); sb.append("\121"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); + sb.append("\147"); + sb.append("\255"); sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufe6c"); + sb.append("\151"); + sb.append("\ufe6c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\022"); + sb.append("\010"); + sb.append("\244"); + sb.append("\075"); + sb.append("\310"); + sb.append("\076"); + sb.append("\313"); + sb.append("\121"); + sb.append("\240"); + sb.append("\231"); + sb.append("\321"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\012"); + sb.append("\ufec8"); + sb.append("\155"); + sb.append("\ufec8"); + sb.append("\157"); + sb.append("\ufec8"); + sb.append("\245"); + sb.append("\ufec8"); + sb.append("\252"); + sb.append("\ufec8"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\012"); + sb.append("\ufecb"); + sb.append("\155"); + sb.append("\ufecb"); + sb.append("\157"); + sb.append("\ufecb"); + sb.append("\245"); + sb.append("\ufecb"); + sb.append("\252"); + sb.append("\ufecb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\022"); + sb.append("\010"); + sb.append("\244"); + sb.append("\075"); + sb.append("\310"); + sb.append("\076"); + sb.append("\313"); + sb.append("\121"); + sb.append("\240"); + sb.append("\231"); + sb.append("\321"); + sb.append("\254"); + sb.append("\241"); sb.append("\255"); - sb.append("\055"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufea4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); + sb.append("\014"); + sb.append("\012"); + sb.append("\ufec9"); sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufec9"); sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); + sb.append("\ufec9"); sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufec9"); + sb.append("\252"); + sb.append("\ufec9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\016"); + sb.append("\033"); + sb.append("\ufffe"); + sb.append("\111"); + sb.append("\ufffe"); + sb.append("\112"); + sb.append("\ufffe"); + sb.append("\117"); + sb.append("\ufffe"); + sb.append("\127"); + sb.append("\ufffe"); sb.append("\151"); - sb.append("\ufea3"); + sb.append("\ufffe"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\ufea6"); - sb.append("\045"); - sb.append("\ufea6"); - sb.append("\046"); - sb.append("\ufea6"); - sb.append("\056"); - sb.append("\ufea6"); - sb.append("\060"); - sb.append("\ufea6"); + sb.append("\016"); + sb.append("\033"); + sb.append("\ufffd"); + sb.append("\111"); + sb.append("\ufffd"); sb.append("\112"); - sb.append("\ufea6"); - sb.append("\120"); - sb.append("\ufea6"); - sb.append("\222"); - sb.append("\ufea6"); - sb.append("\223"); - sb.append("\ufea6"); - sb.append("\224"); - sb.append("\ufea6"); - sb.append("\225"); - sb.append("\ufea6"); - sb.append("\226"); - sb.append("\ufea6"); - sb.append("\227"); - sb.append("\ufea6"); - sb.append("\247"); - sb.append("\ufea6"); - sb.append("\250"); - sb.append("\ufea6"); - sb.append("\256"); - sb.append("\ufea6"); - sb.append("\257"); - sb.append("\ufea6"); - sb.append("\260"); - sb.append("\ufea6"); + sb.append("\ufffd"); + sb.append("\117"); + sb.append("\ufffd"); + sb.append("\127"); + sb.append("\ufffd"); + sb.append("\151"); + sb.append("\ufffd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\056"); sb.append("\010"); - sb.append("\ufe7b"); + sb.append("\111"); + sb.append("\u0450"); + sb.append("\127"); + sb.append("\u044f"); + sb.append("\151"); + sb.append("\u0452"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\111"); + sb.append("\ufe9d"); + sb.append("\127"); + sb.append("\ufe9d"); + sb.append("\151"); + sb.append("\ufe9d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); + sb.append("\033"); + sb.append("\uffff"); + sb.append("\111"); + sb.append("\uffff"); + sb.append("\112"); + sb.append("\uffff"); + sb.append("\117"); + sb.append("\uffff"); + sb.append("\127"); + sb.append("\uffff"); + sb.append("\151"); + sb.append("\uffff"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\111"); + sb.append("\ufe9c"); + sb.append("\127"); + sb.append("\ufe9c"); + sb.append("\151"); + sb.append("\ufe9c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\033"); + sb.append("\ufff9"); + sb.append("\111"); + sb.append("\ufff9"); + sb.append("\117"); + sb.append("\ufff9"); + sb.append("\127"); + sb.append("\ufff9"); + sb.append("\151"); + sb.append("\ufff9"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\033"); + sb.append("\ufffa"); + sb.append("\111"); + sb.append("\ufffa"); + sb.append("\117"); + sb.append("\ufffa"); + sb.append("\127"); + sb.append("\ufffa"); + sb.append("\151"); + sb.append("\ufffa"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\012"); - sb.append("\ufe7b"); + sb.append("\010"); + sb.append("\u044b"); + sb.append("\121"); + sb.append("\u0447"); + sb.append("\255"); + sb.append("\u0448"); + sb.append("\256"); + sb.append("\u044d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\020"); + sb.append("\010"); + sb.append("\ufe98"); + sb.append("\112"); + sb.append("\ufe98"); + sb.append("\121"); + sb.append("\ufe98"); + sb.append("\223"); + sb.append("\ufe98"); + sb.append("\254"); + sb.append("\ufe98"); + sb.append("\255"); + sb.append("\ufe98"); + sb.append("\256"); + sb.append("\ufe98"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufe9f"); sb.append("\045"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); sb.append("\046"); - sb.append("\ufe7b"); - sb.append("\075"); - sb.append("\ufe7b"); - sb.append("\076"); - sb.append("\ufe7b"); - sb.append("\121"); - sb.append("\ufe7b"); - sb.append("\150"); - sb.append("\ufe7b"); - sb.append("\222"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); + sb.append("\056"); + sb.append("\ufe9f"); + sb.append("\060"); + sb.append("\ufe9f"); + sb.append("\112"); + sb.append("\ufe9f"); + sb.append("\120"); + sb.append("\ufe9f"); sb.append("\223"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); sb.append("\224"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); sb.append("\225"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); sb.append("\226"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); sb.append("\227"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); sb.append("\230"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); sb.append("\250"); - sb.append("\ufe7b"); - sb.append("\253"); - sb.append("\ufe7b"); - sb.append("\254"); - sb.append("\ufe7b"); - sb.append("\255"); - sb.append("\ufe7b"); - sb.append("\256"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); + sb.append("\251"); + sb.append("\ufe9f"); sb.append("\257"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); sb.append("\260"); - sb.append("\ufe7b"); + sb.append("\ufe9f"); + sb.append("\261"); + sb.append("\ufe9f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\046"); sb.append("\037"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\045"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\046"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\056"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\060"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\112"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\120"); - sb.append("\ufea1"); - sb.append("\222"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\223"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\224"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\225"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\226"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\227"); - sb.append("\ufea1"); - sb.append("\247"); - sb.append("\ufea1"); + sb.append("\ufe9b"); + sb.append("\230"); + sb.append("\ufe9b"); sb.append("\250"); - sb.append("\ufea1"); - sb.append("\256"); - sb.append("\ufea1"); + sb.append("\ufe9b"); + sb.append("\251"); + sb.append("\ufe9b"); sb.append("\257"); - sb.append("\ufea1"); + sb.append("\ufe9b"); sb.append("\260"); - sb.append("\ufea1"); + sb.append("\ufe9b"); + sb.append("\261"); + sb.append("\ufe9b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\246"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\020"); sb.append("\010"); - sb.append("\u0482"); - sb.append("\017"); - sb.append("\u0198"); + sb.append("\u045b"); + sb.append("\112"); + sb.append("\u0458"); + sb.append("\121"); + sb.append("\u045a"); + sb.append("\223"); + sb.append("\341"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); + sb.append("\010"); + sb.append("\ufe97"); + sb.append("\112"); + sb.append("\ufe97"); + sb.append("\121"); + sb.append("\ufe97"); + sb.append("\223"); + sb.append("\ufe97"); + sb.append("\254"); + sb.append("\ufe97"); + sb.append("\255"); + sb.append("\ufe97"); + sb.append("\256"); + sb.append("\ufe97"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); + sb.append("\u046d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\020"); + sb.append("\010"); + sb.append("\ufe99"); + sb.append("\112"); + sb.append("\ufe99"); + sb.append("\121"); + sb.append("\ufe99"); + sb.append("\223"); + sb.append("\ufe99"); + sb.append("\254"); + sb.append("\ufe99"); + sb.append("\255"); + sb.append("\ufe99"); + sb.append("\256"); + sb.append("\ufe99"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\113"); + sb.append("\u045c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); + sb.append("\ufe9a"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\ufe9a"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0480"); - sb.append("\076"); - sb.append("\u0481"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); - sb.append("\121"); - sb.append("\u0484"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); - sb.append("\150"); - sb.append("\u024a"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0483"); + sb.append("\ufe9a"); + sb.append("\056"); + sb.append("\ufe9a"); + sb.append("\060"); + sb.append("\ufe9a"); + sb.append("\112"); + sb.append("\ufe9a"); + sb.append("\120"); + sb.append("\ufe9a"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\ufe9a"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\ufe9a"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\ufe9a"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\ufe9a"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\ufe9a"); sb.append("\230"); - sb.append("\u024c"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); + sb.append("\ufe9a"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\241"); + sb.append("\ufe9a"); + sb.append("\251"); + sb.append("\ufe9a"); + sb.append("\257"); + sb.append("\ufe9a"); + sb.append("\260"); + sb.append("\ufe9a"); + sb.append("\261"); + sb.append("\ufe9a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\020"); + sb.append("\010"); + sb.append("\ufe96"); + sb.append("\112"); + sb.append("\ufe96"); + sb.append("\121"); + sb.append("\ufe96"); + sb.append("\223"); + sb.append("\ufe96"); sb.append("\254"); - sb.append("\240"); + sb.append("\ufe96"); sb.append("\255"); - sb.append("\245"); + sb.append("\ufe96"); + sb.append("\256"); + sb.append("\ufe96"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\127"); - sb.append("\u047b"); - sb.append("\151"); - sb.append("\u047c"); + sb.append("\033"); + sb.append("\ufcc9"); + sb.append("\113"); + sb.append("\ufdde"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\234"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\006"); + sb.append("\033"); + sb.append("\ufcca"); + sb.append("\113"); + sb.append("\ufddf"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); sb.append("\010"); - sb.append("\u016b"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); - sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); + sb.append("\u045f"); + sb.append("\242"); + sb.append("\u045e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); + sb.append("\010"); + sb.append("\244"); sb.append("\121"); - sb.append("\u0178"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); + sb.append("\240"); sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); + sb.append("\341"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0462"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\u0464"); + sb.append("\230"); + sb.append("\u0461"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\010"); + sb.append("\ufe8d"); + sb.append("\121"); + sb.append("\ufe8d"); + sb.append("\151"); + sb.append("\ufe8d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\010"); + sb.append("\ufe8b"); + sb.append("\121"); + sb.append("\ufe8b"); + sb.append("\151"); + sb.append("\ufe8b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\ufeab"); - sb.append("\045"); - sb.append("\ufeab"); - sb.append("\046"); - sb.append("\ufeab"); - sb.append("\056"); - sb.append("\ufeab"); - sb.append("\060"); - sb.append("\ufeab"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u0465"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\010"); + sb.append("\ufe8c"); + sb.append("\121"); + sb.append("\ufe8c"); + sb.append("\151"); + sb.append("\ufe8c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\020"); + sb.append("\010"); + sb.append("\ufe91"); sb.append("\112"); - sb.append("\ufeab"); - sb.append("\120"); - sb.append("\ufeab"); - sb.append("\222"); - sb.append("\ufeab"); + sb.append("\ufe91"); + sb.append("\121"); + sb.append("\ufe91"); sb.append("\223"); - sb.append("\ufeab"); - sb.append("\224"); - sb.append("\ufeab"); - sb.append("\225"); - sb.append("\ufeab"); - sb.append("\226"); - sb.append("\ufeab"); - sb.append("\227"); - sb.append("\ufeab"); - sb.append("\247"); - sb.append("\ufeab"); - sb.append("\250"); - sb.append("\ufeab"); + sb.append("\ufe91"); + sb.append("\254"); + sb.append("\ufe91"); + sb.append("\255"); + sb.append("\ufe91"); sb.append("\256"); - sb.append("\ufeab"); - sb.append("\257"); - sb.append("\ufeab"); - sb.append("\260"); - sb.append("\ufeab"); + sb.append("\ufe91"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\134"); - sb.append("\u047e"); + sb.append("\151"); + sb.append("\u0467"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\070"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\020"); sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); + sb.append("\ufe92"); + sb.append("\112"); + sb.append("\ufe92"); + sb.append("\121"); + sb.append("\ufe92"); + sb.append("\223"); + sb.append("\ufe92"); + sb.append("\254"); + sb.append("\ufe92"); + sb.append("\255"); + sb.append("\ufe92"); + sb.append("\256"); + sb.append("\ufe92"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufe94"); + sb.append("\151"); + sb.append("\ufe94"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u046a"); + sb.append("\151"); + sb.append("\u046b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\016"); - sb.append("\356"); - sb.append("\075"); - sb.append("\351"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); + sb.append("\010"); + sb.append("\244"); sb.append("\121"); - sb.append("\160"); - sb.append("\172"); - sb.append("\362"); - sb.append("\173"); - sb.append("\352"); - sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\222"); + sb.append("\240"); + sb.append("\223"); sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\241"); sb.append("\255"); - sb.append("\055"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\020"); + sb.append("\010"); + sb.append("\ufe93"); + sb.append("\112"); + sb.append("\ufe93"); + sb.append("\121"); + sb.append("\ufe93"); + sb.append("\223"); + sb.append("\ufe93"); + sb.append("\254"); + sb.append("\ufe93"); + sb.append("\255"); + sb.append("\ufe93"); + sb.append("\256"); + sb.append("\ufe93"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); sb.append("\127"); - sb.append("\ufe69"); - sb.append("\130"); - sb.append("\u0105"); - sb.append("\131"); - sb.append("\u0115"); - sb.append("\132"); - sb.append("\374"); - sb.append("\150"); - sb.append("\u0101"); + sb.append("\ufe95"); sb.append("\151"); - sb.append("\ufe69"); - sb.append("\152"); - sb.append("\375"); - sb.append("\153"); - sb.append("\u010e"); - sb.append("\154"); - sb.append("\376"); - sb.append("\155"); - sb.append("\u0107"); - sb.append("\156"); - sb.append("\u010f"); - sb.append("\157"); - sb.append("\u0114"); - sb.append("\160"); - sb.append("\u0108"); - sb.append("\161"); - sb.append("\371"); - sb.append("\162"); - sb.append("\u0106"); - sb.append("\163"); - sb.append("\u0112"); - sb.append("\164"); - sb.append("\u0111"); - sb.append("\165"); - sb.append("\u0104"); - sb.append("\166"); - sb.append("\u0102"); - sb.append("\167"); - sb.append("\u0110"); - sb.append("\170"); - sb.append("\u010d"); - sb.append("\171"); - sb.append("\u0109"); - sb.append("\172"); - sb.append("\u0116"); - sb.append("\173"); - sb.append("\u0103"); - sb.append("\174"); - sb.append("\u010c"); - sb.append("\175"); - sb.append("\u010a"); - sb.append("\176"); - sb.append("\373"); - sb.append("\201"); - sb.append("\u0100"); - sb.append("\242"); - sb.append("\377"); - sb.append("\245"); - sb.append("\372"); - sb.append("\251"); - sb.append("\u0113"); + sb.append("\ufe95"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\226"); + sb.append("\u0462"); + sb.append("\227"); + sb.append("\u0464"); + sb.append("\230"); + sb.append("\u0461"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\151"); + sb.append("\u0472"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u0470"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\020"); + sb.append("\010"); + sb.append("\ufe8e"); + sb.append("\112"); + sb.append("\ufe8e"); + sb.append("\121"); + sb.append("\ufe8e"); + sb.append("\223"); + sb.append("\ufe8e"); + sb.append("\254"); + sb.append("\ufe8e"); + sb.append("\255"); + sb.append("\ufe8e"); + sb.append("\256"); + sb.append("\ufe8e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\242"); sb.append("\004"); - sb.append("\ufed7"); - sb.append("\005"); - sb.append("\ufed7"); - sb.append("\010"); - sb.append("\ufed7"); - sb.append("\017"); - sb.append("\ufed7"); + sb.append("\151"); + sb.append("\u0473"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\020"); - sb.append("\ufed7"); - sb.append("\021"); - sb.append("\ufed7"); - sb.append("\022"); - sb.append("\ufed7"); - sb.append("\023"); - sb.append("\ufed7"); - sb.append("\024"); - sb.append("\ufed7"); - sb.append("\025"); - sb.append("\ufed7"); - sb.append("\026"); - sb.append("\ufed7"); - sb.append("\027"); - sb.append("\ufed7"); - sb.append("\030"); - sb.append("\ufed7"); - sb.append("\031"); - sb.append("\ufed7"); - sb.append("\032"); - sb.append("\ufed7"); - sb.append("\033"); - sb.append("\ufed7"); - sb.append("\034"); - sb.append("\ufed7"); - sb.append("\035"); - sb.append("\ufed7"); - sb.append("\036"); - sb.append("\ufed7"); - sb.append("\037"); - sb.append("\ufed7"); - sb.append("\040"); - sb.append("\ufed7"); - sb.append("\041"); - sb.append("\ufed7"); - sb.append("\042"); - sb.append("\ufed7"); - sb.append("\043"); - sb.append("\ufed7"); - sb.append("\044"); - sb.append("\ufed7"); - sb.append("\045"); - sb.append("\ufed7"); - sb.append("\046"); - sb.append("\ufed7"); - sb.append("\047"); - sb.append("\ufed7"); - sb.append("\050"); - sb.append("\ufed7"); - sb.append("\052"); - sb.append("\ufed7"); - sb.append("\053"); - sb.append("\ufed7"); - sb.append("\054"); - sb.append("\ufed7"); - sb.append("\055"); - sb.append("\ufed7"); - sb.append("\056"); - sb.append("\ufed7"); - sb.append("\057"); - sb.append("\ufed7"); - sb.append("\060"); - sb.append("\ufed7"); - sb.append("\061"); - sb.append("\ufed7"); - sb.append("\062"); - sb.append("\ufed7"); - sb.append("\063"); - sb.append("\ufed7"); - sb.append("\066"); - sb.append("\ufed7"); - sb.append("\067"); - sb.append("\ufed7"); - sb.append("\070"); - sb.append("\ufed7"); - sb.append("\074"); - sb.append("\ufed7"); - sb.append("\075"); - sb.append("\ufed7"); - sb.append("\076"); - sb.append("\ufed7"); - sb.append("\077"); - sb.append("\ufed7"); - sb.append("\100"); - sb.append("\ufed7"); - sb.append("\101"); - sb.append("\ufed7"); - sb.append("\102"); - sb.append("\ufed7"); - sb.append("\103"); - sb.append("\ufed7"); - sb.append("\104"); - sb.append("\ufed7"); - sb.append("\114"); - sb.append("\ufed7"); - sb.append("\115"); - sb.append("\ufed7"); - sb.append("\116"); - sb.append("\ufed7"); + sb.append("\010"); + sb.append("\ufe90"); + sb.append("\112"); + sb.append("\ufe90"); sb.append("\121"); - sb.append("\ufed7"); - sb.append("\122"); - sb.append("\ufed7"); - sb.append("\123"); - sb.append("\ufed7"); - sb.append("\124"); - sb.append("\ufed7"); - sb.append("\125"); - sb.append("\ufed7"); - sb.append("\126"); - sb.append("\ufed7"); - sb.append("\130"); - sb.append("\ufed7"); - sb.append("\131"); - sb.append("\ufed7"); - sb.append("\132"); - sb.append("\ufed7"); - sb.append("\133"); - sb.append("\ufed7"); - sb.append("\134"); - sb.append("\uffbe"); - sb.append("\154"); - sb.append("\ufed7"); - sb.append("\216"); - sb.append("\ufed7"); - sb.append("\217"); - sb.append("\ufed7"); - sb.append("\220"); - sb.append("\ufed7"); - sb.append("\221"); - sb.append("\ufed7"); - sb.append("\222"); - sb.append("\ufed7"); + sb.append("\ufe90"); sb.append("\223"); - sb.append("\ufed7"); - sb.append("\224"); - sb.append("\ufed7"); - sb.append("\225"); - sb.append("\ufed7"); - sb.append("\226"); - sb.append("\ufed7"); - sb.append("\227"); - sb.append("\ufed7"); - sb.append("\240"); - sb.append("\ufed7"); - sb.append("\241"); - sb.append("\ufed7"); - sb.append("\250"); - sb.append("\ufed7"); - sb.append("\251"); - sb.append("\ufed7"); + sb.append("\ufe90"); + sb.append("\254"); + sb.append("\ufe90"); + sb.append("\255"); + sb.append("\ufe90"); + sb.append("\256"); + sb.append("\ufe90"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\242"); - sb.append("\004"); - sb.append("\ufed6"); - sb.append("\005"); - sb.append("\ufed6"); - sb.append("\010"); - sb.append("\ufed6"); - sb.append("\017"); - sb.append("\ufed6"); sb.append("\020"); - sb.append("\ufed6"); - sb.append("\021"); - sb.append("\ufed6"); - sb.append("\022"); - sb.append("\ufed6"); - sb.append("\023"); - sb.append("\ufed6"); - sb.append("\024"); - sb.append("\ufed6"); - sb.append("\025"); - sb.append("\ufed6"); - sb.append("\026"); - sb.append("\ufed6"); - sb.append("\027"); - sb.append("\ufed6"); - sb.append("\030"); - sb.append("\ufed6"); - sb.append("\031"); - sb.append("\ufed6"); - sb.append("\032"); - sb.append("\ufed6"); - sb.append("\033"); - sb.append("\ufed6"); - sb.append("\034"); - sb.append("\ufed6"); - sb.append("\035"); - sb.append("\ufed6"); - sb.append("\036"); - sb.append("\ufed6"); - sb.append("\037"); - sb.append("\ufed6"); - sb.append("\040"); - sb.append("\ufed6"); - sb.append("\041"); - sb.append("\ufed6"); - sb.append("\042"); - sb.append("\ufed6"); - sb.append("\043"); - sb.append("\ufed6"); - sb.append("\044"); - sb.append("\ufed6"); - sb.append("\045"); - sb.append("\ufed6"); - sb.append("\046"); - sb.append("\ufed6"); - sb.append("\047"); - sb.append("\ufed6"); - sb.append("\050"); - sb.append("\ufed6"); - sb.append("\052"); - sb.append("\ufed6"); - sb.append("\053"); - sb.append("\ufed6"); - sb.append("\054"); - sb.append("\ufed6"); - sb.append("\055"); - sb.append("\ufed6"); - sb.append("\056"); - sb.append("\ufed6"); - sb.append("\057"); - sb.append("\ufed6"); - sb.append("\060"); - sb.append("\ufed6"); - sb.append("\061"); - sb.append("\ufed6"); - sb.append("\062"); - sb.append("\ufed6"); - sb.append("\063"); - sb.append("\ufed6"); - sb.append("\066"); - sb.append("\ufed6"); - sb.append("\067"); - sb.append("\ufed6"); - sb.append("\070"); - sb.append("\ufed6"); - sb.append("\074"); - sb.append("\ufed6"); - sb.append("\075"); - sb.append("\ufed6"); - sb.append("\076"); - sb.append("\ufed6"); - sb.append("\077"); - sb.append("\ufed6"); - sb.append("\100"); - sb.append("\ufed6"); - sb.append("\101"); - sb.append("\ufed6"); - sb.append("\102"); - sb.append("\ufed6"); - sb.append("\103"); - sb.append("\ufed6"); - sb.append("\104"); - sb.append("\ufed6"); - sb.append("\114"); - sb.append("\ufed6"); - sb.append("\115"); - sb.append("\ufed6"); - sb.append("\116"); - sb.append("\ufed6"); + sb.append("\010"); + sb.append("\ufe8f"); + sb.append("\112"); + sb.append("\ufe8f"); sb.append("\121"); - sb.append("\ufed6"); - sb.append("\122"); - sb.append("\ufed6"); - sb.append("\123"); - sb.append("\ufed6"); - sb.append("\124"); - sb.append("\ufed6"); - sb.append("\125"); - sb.append("\ufed6"); - sb.append("\126"); - sb.append("\ufed6"); - sb.append("\130"); - sb.append("\ufed6"); - sb.append("\131"); - sb.append("\ufed6"); - sb.append("\132"); - sb.append("\ufed6"); - sb.append("\133"); - sb.append("\ufed6"); - sb.append("\134"); - sb.append("\uffbd"); - sb.append("\154"); - sb.append("\ufed6"); - sb.append("\216"); - sb.append("\ufed6"); - sb.append("\217"); - sb.append("\ufed6"); - sb.append("\220"); - sb.append("\ufed6"); - sb.append("\221"); - sb.append("\ufed6"); - sb.append("\222"); - sb.append("\ufed6"); + sb.append("\ufe8f"); sb.append("\223"); - sb.append("\ufed6"); - sb.append("\224"); - sb.append("\ufed6"); - sb.append("\225"); - sb.append("\ufed6"); - sb.append("\226"); - sb.append("\ufed6"); - sb.append("\227"); - sb.append("\ufed6"); - sb.append("\240"); - sb.append("\ufed6"); - sb.append("\241"); - sb.append("\ufed6"); - sb.append("\250"); - sb.append("\ufed6"); - sb.append("\251"); - sb.append("\ufed6"); + sb.append("\ufe8f"); + sb.append("\254"); + sb.append("\ufe8f"); + sb.append("\255"); + sb.append("\ufe8f"); + sb.append("\256"); + sb.append("\ufe8f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\111"); + sb.append("\ufe9e"); + sb.append("\127"); + sb.append("\ufe9e"); + sb.append("\151"); + sb.append("\ufe9e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\134"); + sb.append("\u0477"); + sb.append("\151"); + sb.append("\ufea5"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\242"); sb.append("\004"); - sb.append("\ufde0"); - sb.append("\005"); - sb.append("\ufde0"); + sb.append("\151"); + sb.append("\u047a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\172"); + sb.append("\003"); + sb.append("\u0479"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\ufde0"); - sb.append("\017"); - sb.append("\ufde0"); - sb.append("\020"); - sb.append("\ufde0"); - sb.append("\021"); - sb.append("\ufde0"); - sb.append("\022"); - sb.append("\ufde0"); - sb.append("\023"); - sb.append("\ufde0"); - sb.append("\024"); - sb.append("\ufde0"); - sb.append("\025"); - sb.append("\ufde0"); - sb.append("\026"); - sb.append("\ufde0"); - sb.append("\027"); - sb.append("\ufde0"); - sb.append("\030"); - sb.append("\ufde0"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufde0"); + sb.append("\016"); + sb.append("\071"); sb.append("\032"); - sb.append("\ufde0"); - sb.append("\033"); - sb.append("\ufde0"); - sb.append("\034"); - sb.append("\ufde0"); - sb.append("\035"); - sb.append("\ufde0"); + sb.append("\106"); sb.append("\036"); - sb.append("\ufde0"); - sb.append("\037"); - sb.append("\ufde0"); - sb.append("\040"); - sb.append("\ufde0"); - sb.append("\041"); - sb.append("\ufde0"); - sb.append("\042"); - sb.append("\ufde0"); - sb.append("\043"); - sb.append("\ufde0"); + sb.append("\125"); sb.append("\044"); - sb.append("\ufde0"); + sb.append("\222"); sb.append("\045"); - sb.append("\ufde0"); - sb.append("\046"); - sb.append("\ufde0"); - sb.append("\047"); - sb.append("\ufde0"); - sb.append("\050"); - sb.append("\ufde0"); - sb.append("\052"); - sb.append("\ufde0"); - sb.append("\053"); - sb.append("\ufde0"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\ufde0"); - sb.append("\055"); - sb.append("\ufde0"); - sb.append("\056"); - sb.append("\ufde0"); - sb.append("\057"); - sb.append("\ufde0"); - sb.append("\060"); - sb.append("\ufde0"); - sb.append("\061"); - sb.append("\ufde0"); + sb.append("\026"); sb.append("\062"); - sb.append("\ufde0"); + sb.append("\210"); sb.append("\063"); - sb.append("\ufde0"); - sb.append("\066"); - sb.append("\ufde0"); - sb.append("\067"); - sb.append("\ufde0"); - sb.append("\070"); - sb.append("\ufde0"); + sb.append("\010"); sb.append("\074"); - sb.append("\ufde0"); + sb.append("\051"); sb.append("\075"); - sb.append("\ufde0"); - sb.append("\076"); - sb.append("\ufde0"); + sb.append("\166"); sb.append("\077"); - sb.append("\ufde0"); + sb.append("\123"); sb.append("\100"); - sb.append("\ufde0"); + sb.append("\012"); sb.append("\101"); - sb.append("\ufde0"); + sb.append("\206"); sb.append("\102"); - sb.append("\ufde0"); + sb.append("\041"); sb.append("\103"); - sb.append("\ufde0"); + sb.append("\144"); sb.append("\104"); - sb.append("\ufde0"); - sb.append("\114"); - sb.append("\ufde0"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); sb.append("\115"); - sb.append("\ufde0"); + sb.append("\136"); sb.append("\116"); - sb.append("\ufde0"); + sb.append("\046"); sb.append("\121"); - sb.append("\ufde0"); + sb.append("\160"); sb.append("\122"); - sb.append("\ufde0"); + sb.append("\013"); sb.append("\123"); - sb.append("\ufde0"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\ufde0"); sb.append("\125"); - sb.append("\ufde0"); + sb.append("\116"); sb.append("\126"); - sb.append("\ufde0"); - sb.append("\130"); - sb.append("\ufde0"); sb.append("\131"); - sb.append("\ufde0"); - sb.append("\132"); - sb.append("\ufde0"); sb.append("\133"); - sb.append("\ufde0"); - sb.append("\134"); - sb.append("\uffa5"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); sb.append("\154"); - sb.append("\ufde0"); + sb.append("\207"); sb.append("\216"); - sb.append("\ufde0"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\ufde0"); - sb.append("\220"); - sb.append("\ufde0"); - sb.append("\221"); - sb.append("\ufde0"); - sb.append("\222"); - sb.append("\ufde0"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufea4"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\ufea3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufea6"); + sb.append("\045"); + sb.append("\ufea6"); + sb.append("\046"); + sb.append("\ufea6"); + sb.append("\056"); + sb.append("\ufea6"); + sb.append("\060"); + sb.append("\ufea6"); + sb.append("\112"); + sb.append("\ufea6"); + sb.append("\120"); + sb.append("\ufea6"); sb.append("\223"); - sb.append("\ufde0"); + sb.append("\ufea6"); sb.append("\224"); - sb.append("\ufde0"); + sb.append("\ufea6"); sb.append("\225"); - sb.append("\ufde0"); + sb.append("\ufea6"); sb.append("\226"); - sb.append("\ufde0"); + sb.append("\ufea6"); sb.append("\227"); - sb.append("\ufde0"); - sb.append("\240"); - sb.append("\ufde0"); - sb.append("\241"); - sb.append("\ufde0"); + sb.append("\ufea6"); + sb.append("\230"); + sb.append("\ufea6"); sb.append("\250"); - sb.append("\ufde0"); + sb.append("\ufea6"); sb.append("\251"); - sb.append("\ufde0"); + sb.append("\ufea6"); + sb.append("\257"); + sb.append("\ufea6"); + sb.append("\260"); + sb.append("\ufea6"); + sb.append("\261"); + sb.append("\ufea6"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\242"); - sb.append("\004"); - sb.append("\ufed9"); - sb.append("\005"); - sb.append("\ufed9"); + sb.append("\056"); sb.append("\010"); - sb.append("\ufed9"); - sb.append("\017"); - sb.append("\ufed9"); - sb.append("\020"); - sb.append("\ufed9"); - sb.append("\021"); - sb.append("\ufed9"); - sb.append("\022"); - sb.append("\ufed9"); - sb.append("\023"); - sb.append("\ufed9"); - sb.append("\024"); - sb.append("\ufed9"); - sb.append("\025"); - sb.append("\ufed9"); - sb.append("\026"); - sb.append("\ufed9"); - sb.append("\027"); - sb.append("\ufed9"); - sb.append("\030"); - sb.append("\ufed9"); - sb.append("\031"); - sb.append("\ufed9"); - sb.append("\032"); - sb.append("\ufed9"); - sb.append("\033"); - sb.append("\ufed9"); - sb.append("\034"); - sb.append("\ufed9"); - sb.append("\035"); - sb.append("\ufed9"); - sb.append("\036"); - sb.append("\ufed9"); - sb.append("\037"); - sb.append("\ufed9"); - sb.append("\040"); - sb.append("\ufed9"); - sb.append("\041"); - sb.append("\ufed9"); - sb.append("\042"); - sb.append("\ufed9"); - sb.append("\043"); - sb.append("\ufed9"); - sb.append("\044"); - sb.append("\ufed9"); + sb.append("\ufe7b"); + sb.append("\012"); + sb.append("\ufe7b"); sb.append("\045"); - sb.append("\ufed9"); + sb.append("\ufe7b"); sb.append("\046"); - sb.append("\ufed9"); - sb.append("\047"); - sb.append("\ufed9"); - sb.append("\050"); - sb.append("\ufed9"); - sb.append("\052"); - sb.append("\ufed9"); - sb.append("\053"); - sb.append("\ufed9"); - sb.append("\054"); - sb.append("\ufed9"); - sb.append("\055"); - sb.append("\ufed9"); - sb.append("\056"); - sb.append("\ufed9"); - sb.append("\057"); - sb.append("\ufed9"); - sb.append("\060"); - sb.append("\ufed9"); - sb.append("\061"); - sb.append("\ufed9"); - sb.append("\062"); - sb.append("\ufed9"); - sb.append("\063"); - sb.append("\ufed9"); - sb.append("\066"); - sb.append("\ufed9"); - sb.append("\067"); - sb.append("\ufed9"); - sb.append("\070"); - sb.append("\ufed9"); - sb.append("\074"); - sb.append("\ufed9"); - sb.append("\075"); - sb.append("\ufed9"); - sb.append("\076"); - sb.append("\ufed9"); - sb.append("\077"); - sb.append("\ufed9"); - sb.append("\100"); - sb.append("\ufed9"); - sb.append("\101"); - sb.append("\ufed9"); - sb.append("\102"); - sb.append("\ufed9"); - sb.append("\103"); - sb.append("\ufed9"); - sb.append("\104"); - sb.append("\ufed9"); - sb.append("\114"); - sb.append("\ufed9"); - sb.append("\115"); - sb.append("\ufed9"); - sb.append("\116"); - sb.append("\ufed9"); - sb.append("\121"); - sb.append("\ufed9"); - sb.append("\122"); - sb.append("\ufed9"); - sb.append("\123"); - sb.append("\ufed9"); - sb.append("\124"); - sb.append("\ufed9"); - sb.append("\125"); - sb.append("\ufed9"); - sb.append("\126"); - sb.append("\ufed9"); - sb.append("\130"); - sb.append("\ufed9"); - sb.append("\131"); - sb.append("\ufed9"); - sb.append("\132"); - sb.append("\ufed9"); - sb.append("\133"); - sb.append("\ufed9"); - sb.append("\134"); - sb.append("\uffae"); - sb.append("\154"); - sb.append("\ufed9"); - sb.append("\216"); - sb.append("\ufed9"); - sb.append("\217"); - sb.append("\ufed9"); - sb.append("\220"); - sb.append("\ufed9"); - sb.append("\221"); - sb.append("\ufed9"); - sb.append("\222"); - sb.append("\ufed9"); + sb.append("\ufe7b"); + sb.append("\075"); + sb.append("\ufe7b"); + sb.append("\076"); + sb.append("\ufe7b"); + sb.append("\121"); + sb.append("\ufe7b"); + sb.append("\150"); + sb.append("\ufe7b"); sb.append("\223"); - sb.append("\ufed9"); + sb.append("\ufe7b"); sb.append("\224"); - sb.append("\ufed9"); + sb.append("\ufe7b"); sb.append("\225"); - sb.append("\ufed9"); + sb.append("\ufe7b"); sb.append("\226"); - sb.append("\ufed9"); + sb.append("\ufe7b"); sb.append("\227"); - sb.append("\ufed9"); - sb.append("\240"); - sb.append("\ufed9"); - sb.append("\241"); - sb.append("\ufed9"); - sb.append("\250"); - sb.append("\ufed9"); + sb.append("\ufe7b"); + sb.append("\230"); + sb.append("\ufe7b"); + sb.append("\231"); + sb.append("\ufe7b"); sb.append("\251"); - sb.append("\ufed9"); + sb.append("\ufe7b"); + sb.append("\254"); + sb.append("\ufe7b"); + sb.append("\255"); + sb.append("\ufe7b"); + sb.append("\256"); + sb.append("\ufe7b"); + sb.append("\257"); + sb.append("\ufe7b"); + sb.append("\260"); + sb.append("\ufe7b"); + sb.append("\261"); + sb.append("\ufe7b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\242"); - sb.append("\004"); - sb.append("\ufddf"); - sb.append("\005"); - sb.append("\ufddf"); - sb.append("\010"); - sb.append("\ufddf"); - sb.append("\017"); - sb.append("\ufddf"); - sb.append("\020"); - sb.append("\ufddf"); - sb.append("\021"); - sb.append("\ufddf"); - sb.append("\022"); - sb.append("\ufddf"); - sb.append("\023"); - sb.append("\ufddf"); - sb.append("\024"); - sb.append("\ufddf"); - sb.append("\025"); - sb.append("\ufddf"); - sb.append("\026"); - sb.append("\ufddf"); - sb.append("\027"); - sb.append("\ufddf"); - sb.append("\030"); - sb.append("\ufddf"); - sb.append("\031"); - sb.append("\ufddf"); - sb.append("\032"); - sb.append("\ufddf"); - sb.append("\033"); - sb.append("\ufddf"); - sb.append("\034"); - sb.append("\ufddf"); - sb.append("\035"); - sb.append("\ufddf"); - sb.append("\036"); - sb.append("\ufddf"); + sb.append("\046"); sb.append("\037"); - sb.append("\ufddf"); - sb.append("\040"); - sb.append("\ufddf"); - sb.append("\041"); - sb.append("\ufddf"); - sb.append("\042"); - sb.append("\ufddf"); - sb.append("\043"); - sb.append("\ufddf"); - sb.append("\044"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\045"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\046"); - sb.append("\ufddf"); - sb.append("\047"); - sb.append("\ufddf"); - sb.append("\050"); - sb.append("\ufddf"); - sb.append("\052"); - sb.append("\ufddf"); - sb.append("\053"); - sb.append("\ufddf"); - sb.append("\054"); - sb.append("\ufddf"); - sb.append("\055"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\056"); - sb.append("\ufddf"); - sb.append("\057"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\060"); - sb.append("\ufddf"); - sb.append("\061"); - sb.append("\ufddf"); - sb.append("\062"); - sb.append("\ufddf"); - sb.append("\063"); - sb.append("\ufddf"); - sb.append("\066"); - sb.append("\ufddf"); - sb.append("\067"); - sb.append("\ufddf"); - sb.append("\070"); - sb.append("\ufddf"); - sb.append("\074"); - sb.append("\ufddf"); - sb.append("\075"); - sb.append("\ufddf"); - sb.append("\076"); - sb.append("\ufddf"); - sb.append("\077"); - sb.append("\ufddf"); - sb.append("\100"); - sb.append("\ufddf"); - sb.append("\101"); - sb.append("\ufddf"); - sb.append("\102"); - sb.append("\ufddf"); - sb.append("\103"); - sb.append("\ufddf"); - sb.append("\104"); - sb.append("\ufddf"); - sb.append("\114"); - sb.append("\ufddf"); - sb.append("\115"); - sb.append("\ufddf"); - sb.append("\116"); - sb.append("\ufddf"); - sb.append("\121"); - sb.append("\ufddf"); - sb.append("\122"); - sb.append("\ufddf"); - sb.append("\123"); - sb.append("\ufddf"); - sb.append("\124"); - sb.append("\ufddf"); - sb.append("\125"); - sb.append("\ufddf"); - sb.append("\126"); - sb.append("\ufddf"); - sb.append("\130"); - sb.append("\ufddf"); - sb.append("\131"); - sb.append("\ufddf"); - sb.append("\132"); - sb.append("\ufddf"); - sb.append("\133"); - sb.append("\ufddf"); - sb.append("\134"); - sb.append("\uffa4"); - sb.append("\154"); - sb.append("\ufddf"); - sb.append("\216"); - sb.append("\ufddf"); - sb.append("\217"); - sb.append("\ufddf"); - sb.append("\220"); - sb.append("\ufddf"); - sb.append("\221"); - sb.append("\ufddf"); - sb.append("\222"); - sb.append("\ufddf"); + sb.append("\ufea1"); + sb.append("\112"); + sb.append("\ufea1"); + sb.append("\120"); + sb.append("\ufea1"); sb.append("\223"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\224"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\225"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\226"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\227"); - sb.append("\ufddf"); - sb.append("\240"); - sb.append("\ufddf"); - sb.append("\241"); - sb.append("\ufddf"); + sb.append("\ufea1"); + sb.append("\230"); + sb.append("\ufea1"); sb.append("\250"); - sb.append("\ufddf"); + sb.append("\ufea1"); sb.append("\251"); - sb.append("\ufddf"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\134"); - sb.append("\u048a"); + sb.append("\ufea1"); + sb.append("\257"); + sb.append("\ufea1"); + sb.append("\260"); + sb.append("\ufea1"); + sb.append("\261"); + sb.append("\ufea1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\234"); + sb.append("\246"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u016b"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0486"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java index 5220d2afc784..938fff751adf 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,242 +29,376 @@ public String getTableData() { } protected EncodedActionTable13() { sb = new StringBuilder(); - sb.append("\044"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\u016a"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\u0161"); + sb.append("\u0484"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0485"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\u015d"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\u0488"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\u018c"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); sb.append("\u017f"); + sb.append("\150"); + sb.append("\u024e"); + sb.append("\217"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0487"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u0250"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\134"); - sb.append("\u0488"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u047f"); + sb.append("\151"); + sb.append("\u0480"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\070"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\234"); + sb.append("\004"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); - sb.append("\016"); - sb.append("\356"); + sb.append("\u016d"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); + sb.append("\045"); + sb.append("\u018f"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u01a8"); + sb.append("\063"); + sb.append("\u016a"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\351"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\144"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); + sb.append("\u015d"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\046"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\160"); - sb.append("\172"); - sb.append("\362"); - sb.append("\173"); - sb.append("\352"); - sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); + sb.append("\u017a"); + sb.append("\122"); + sb.append("\u0169"); + sb.append("\123"); + sb.append("\u0183"); + sb.append("\124"); + sb.append("\u0176"); + sb.append("\125"); + sb.append("\u019b"); + sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\341"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); - sb.append("\127"); - sb.append("\ufe67"); - sb.append("\130"); - sb.append("\u0105"); - sb.append("\131"); - sb.append("\u0115"); - sb.append("\132"); - sb.append("\374"); - sb.append("\150"); - sb.append("\u0101"); - sb.append("\151"); - sb.append("\ufe67"); - sb.append("\152"); - sb.append("\375"); - sb.append("\153"); - sb.append("\u010e"); - sb.append("\154"); - sb.append("\376"); - sb.append("\155"); - sb.append("\u0107"); - sb.append("\156"); - sb.append("\u010f"); - sb.append("\157"); - sb.append("\u0114"); - sb.append("\160"); - sb.append("\u0108"); - sb.append("\161"); - sb.append("\371"); - sb.append("\162"); - sb.append("\u0106"); - sb.append("\163"); - sb.append("\u0112"); - sb.append("\164"); - sb.append("\u0111"); - sb.append("\165"); - sb.append("\u0104"); - sb.append("\166"); - sb.append("\u0102"); - sb.append("\167"); - sb.append("\u0110"); - sb.append("\170"); - sb.append("\u010d"); - sb.append("\171"); - sb.append("\u0109"); - sb.append("\172"); - sb.append("\u0116"); - sb.append("\173"); - sb.append("\u0103"); - sb.append("\174"); - sb.append("\u010c"); - sb.append("\175"); - sb.append("\u010a"); - sb.append("\176"); - sb.append("\373"); - sb.append("\201"); - sb.append("\u0100"); - sb.append("\242"); - sb.append("\377"); - sb.append("\245"); - sb.append("\372"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufeab"); + sb.append("\045"); + sb.append("\ufeab"); + sb.append("\046"); + sb.append("\ufeab"); + sb.append("\056"); + sb.append("\ufeab"); + sb.append("\060"); + sb.append("\ufeab"); + sb.append("\112"); + sb.append("\ufeab"); + sb.append("\120"); + sb.append("\ufeab"); + sb.append("\223"); + sb.append("\ufeab"); + sb.append("\224"); + sb.append("\ufeab"); + sb.append("\225"); + sb.append("\ufeab"); + sb.append("\226"); + sb.append("\ufeab"); + sb.append("\227"); + sb.append("\ufeab"); + sb.append("\230"); + sb.append("\ufeab"); + sb.append("\250"); + sb.append("\ufeab"); sb.append("\251"); - sb.append("\u0113"); + sb.append("\ufeab"); + sb.append("\257"); + sb.append("\ufeab"); + sb.append("\260"); + sb.append("\ufeab"); + sb.append("\261"); + sb.append("\ufeab"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\134"); + sb.append("\u0482"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -273,11 +408,11 @@ protected EncodedActionTable13() { sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\357"); + sb.append("\356"); sb.append("\015"); sb.append("\364"); sb.append("\016"); - sb.append("\356"); + sb.append("\357"); sb.append("\075"); sb.append("\351"); sb.append("\077"); @@ -300,2400 +435,2082 @@ protected EncodedActionTable13() { sb.append("\046"); sb.append("\121"); sb.append("\160"); - sb.append("\172"); - sb.append("\362"); sb.append("\173"); + sb.append("\362"); + sb.append("\174"); sb.append("\352"); - sb.append("\177"); - sb.append("\347"); sb.append("\200"); + sb.append("\347"); + sb.append("\201"); sb.append("\354"); - sb.append("\214"); + sb.append("\215"); sb.append("\360"); - sb.append("\222"); + sb.append("\223"); sb.append("\341"); - sb.append("\230"); + sb.append("\231"); sb.append("\366"); - sb.append("\236"); + sb.append("\237"); sb.append("\060"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\102"); sb.append("\127"); - sb.append("\ufe68"); + sb.append("\ufe69"); sb.append("\130"); sb.append("\u0105"); sb.append("\131"); - sb.append("\u0115"); + sb.append("\u0116"); sb.append("\132"); - sb.append("\374"); + sb.append("\375"); sb.append("\150"); - sb.append("\u0101"); + sb.append("\u0100"); sb.append("\151"); - sb.append("\ufe68"); + sb.append("\ufe69"); sb.append("\152"); - sb.append("\375"); + sb.append("\374"); sb.append("\153"); sb.append("\u010e"); sb.append("\154"); - sb.append("\376"); + sb.append("\u0113"); sb.append("\155"); - sb.append("\u0107"); + sb.append("\376"); sb.append("\156"); - sb.append("\u010f"); + sb.append("\u0107"); sb.append("\157"); - sb.append("\u0114"); + sb.append("\u010f"); sb.append("\160"); - sb.append("\u0108"); + sb.append("\u0115"); sb.append("\161"); - sb.append("\371"); + sb.append("\u0109"); sb.append("\162"); - sb.append("\u0106"); + sb.append("\371"); sb.append("\163"); - sb.append("\u0112"); + sb.append("\u0106"); sb.append("\164"); - sb.append("\u0111"); + sb.append("\u0112"); sb.append("\165"); - sb.append("\u0104"); + sb.append("\u0110"); sb.append("\166"); - sb.append("\u0102"); + sb.append("\u0104"); sb.append("\167"); - sb.append("\u0110"); + sb.append("\u0102"); sb.append("\170"); - sb.append("\u010d"); + sb.append("\u0111"); sb.append("\171"); - sb.append("\u0109"); + sb.append("\u010d"); sb.append("\172"); - sb.append("\u0116"); + sb.append("\u0108"); sb.append("\173"); - sb.append("\u0103"); + sb.append("\u0117"); sb.append("\174"); - sb.append("\u010c"); + sb.append("\u0103"); sb.append("\175"); - sb.append("\u010a"); + sb.append("\u010c"); sb.append("\176"); - sb.append("\373"); - sb.append("\201"); - sb.append("\u0100"); - sb.append("\242"); - sb.append("\377"); - sb.append("\245"); + sb.append("\u010a"); + sb.append("\177"); sb.append("\372"); - sb.append("\251"); - sb.append("\u0113"); + sb.append("\202"); + sb.append("\377"); + sb.append("\243"); + sb.append("\u0101"); + sb.append("\246"); + sb.append("\373"); + sb.append("\252"); + sb.append("\u0114"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\242"); sb.append("\004"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\005"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\010"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\017"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\020"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\021"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\022"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\023"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\024"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\025"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\026"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\027"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\030"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\031"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\032"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\033"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\034"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\035"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\036"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\037"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\040"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\041"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\042"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\043"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\044"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\045"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\046"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\047"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\050"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\052"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\053"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\054"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\055"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\056"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\057"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\060"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\061"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\062"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\063"); - sb.append("\uff43"); - sb.append("\065"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\066"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\067"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\070"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\074"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\075"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\076"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\077"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\100"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\101"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\102"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\103"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\104"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\114"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\115"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\116"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\121"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\122"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\123"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\124"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\125"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\126"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\130"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\131"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\132"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\133"); - sb.append("\uff43"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\216"); - sb.append("\uff43"); + sb.append("\ufed7"); + sb.append("\134"); + sb.append("\uffbe"); + sb.append("\155"); + sb.append("\ufed7"); sb.append("\217"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\220"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\221"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\222"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\223"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\224"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\225"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\226"); - sb.append("\uff43"); + sb.append("\ufed7"); sb.append("\227"); - sb.append("\uff43"); - sb.append("\240"); - sb.append("\uff43"); + sb.append("\ufed7"); + sb.append("\230"); + sb.append("\ufed7"); sb.append("\241"); - sb.append("\uff43"); - sb.append("\250"); - sb.append("\uff43"); + sb.append("\ufed7"); + sb.append("\242"); + sb.append("\ufed7"); sb.append("\251"); - sb.append("\u0227"); + sb.append("\ufed7"); + sb.append("\252"); + sb.append("\ufed7"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\236"); + sb.append("\242"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\ufed6"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\ufed6"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\ufed6"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\ufed6"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\ufed6"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\ufed6"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\ufed6"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\ufed6"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\ufed6"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\ufed6"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\ufed6"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\ufed6"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\ufed6"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\ufed6"); sb.append("\032"); - sb.append("\u018a"); + sb.append("\ufed6"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\ufed6"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\ufed6"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\ufed6"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\ufed6"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\ufed6"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\ufed6"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\ufed6"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\ufed6"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\ufed6"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\ufed6"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\ufed6"); sb.append("\046"); - sb.append("\u019d"); + sb.append("\ufed6"); sb.append("\047"); - sb.append("\u019f"); + sb.append("\ufed6"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\ufed6"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\ufed6"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\ufed6"); sb.append("\054"); - sb.append("\u01ab"); + sb.append("\ufed6"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\ufed6"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\ufed6"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\ufed6"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\ufed6"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\ufed6"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\ufed6"); sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); + sb.append("\ufed6"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\ufed6"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\ufed6"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\ufed6"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\ufed6"); sb.append("\075"); - sb.append("\u0161"); + sb.append("\ufed6"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\ufed6"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\ufed6"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\ufed6"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\ufed6"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\ufed6"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\ufed6"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\ufed6"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\ufed6"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\ufed6"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\ufed6"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\ufed6"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\ufed6"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\ufed6"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\ufed6"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\ufed6"); sb.append("\126"); - sb.append("\u018c"); + sb.append("\ufed6"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\ufed6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\ufed6"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\ufed6"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); + sb.append("\ufed6"); + sb.append("\134"); + sb.append("\uffbd"); + sb.append("\155"); + sb.append("\ufed6"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\ufed6"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\ufed6"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\ufed6"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\ufed6"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\ufed6"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\ufed6"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\ufed6"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\ufed6"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\ufed6"); + sb.append("\230"); + sb.append("\ufed6"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\ufed6"); + sb.append("\242"); + sb.append("\ufed6"); + sb.append("\251"); + sb.append("\ufed6"); + sb.append("\252"); + sb.append("\ufed6"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\242"); sb.append("\004"); - sb.append("\230"); - sb.append("\u048f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\056"); + sb.append("\ufddf"); + sb.append("\005"); + sb.append("\ufddf"); sb.append("\010"); - sb.append("\ufef5"); - sb.append("\012"); - sb.append("\ufef5"); + sb.append("\ufddf"); + sb.append("\017"); + sb.append("\ufddf"); + sb.append("\020"); + sb.append("\ufddf"); + sb.append("\021"); + sb.append("\ufddf"); + sb.append("\022"); + sb.append("\ufddf"); + sb.append("\023"); + sb.append("\ufddf"); + sb.append("\024"); + sb.append("\ufddf"); + sb.append("\025"); + sb.append("\ufddf"); + sb.append("\026"); + sb.append("\ufddf"); + sb.append("\027"); + sb.append("\ufddf"); + sb.append("\030"); + sb.append("\ufddf"); + sb.append("\031"); + sb.append("\ufddf"); + sb.append("\032"); + sb.append("\ufddf"); + sb.append("\033"); + sb.append("\ufddf"); + sb.append("\034"); + sb.append("\ufddf"); + sb.append("\035"); + sb.append("\ufddf"); + sb.append("\036"); + sb.append("\ufddf"); + sb.append("\037"); + sb.append("\ufddf"); + sb.append("\040"); + sb.append("\ufddf"); + sb.append("\041"); + sb.append("\ufddf"); + sb.append("\042"); + sb.append("\ufddf"); + sb.append("\043"); + sb.append("\ufddf"); + sb.append("\044"); + sb.append("\ufddf"); + sb.append("\045"); + sb.append("\ufddf"); + sb.append("\046"); + sb.append("\ufddf"); + sb.append("\047"); + sb.append("\ufddf"); + sb.append("\050"); + sb.append("\ufddf"); + sb.append("\052"); + sb.append("\ufddf"); + sb.append("\053"); + sb.append("\ufddf"); + sb.append("\054"); + sb.append("\ufddf"); + sb.append("\055"); + sb.append("\ufddf"); + sb.append("\056"); + sb.append("\ufddf"); + sb.append("\057"); + sb.append("\ufddf"); + sb.append("\060"); + sb.append("\ufddf"); + sb.append("\061"); + sb.append("\ufddf"); + sb.append("\062"); + sb.append("\ufddf"); + sb.append("\063"); + sb.append("\ufddf"); + sb.append("\066"); + sb.append("\ufddf"); + sb.append("\067"); + sb.append("\ufddf"); + sb.append("\070"); + sb.append("\ufddf"); + sb.append("\074"); + sb.append("\ufddf"); sb.append("\075"); - sb.append("\ufef5"); + sb.append("\ufddf"); sb.append("\076"); - sb.append("\ufef5"); + sb.append("\ufddf"); + sb.append("\077"); + sb.append("\ufddf"); + sb.append("\100"); + sb.append("\ufddf"); + sb.append("\101"); + sb.append("\ufddf"); + sb.append("\102"); + sb.append("\ufddf"); + sb.append("\103"); + sb.append("\ufddf"); + sb.append("\104"); + sb.append("\ufddf"); + sb.append("\114"); + sb.append("\ufddf"); + sb.append("\115"); + sb.append("\ufddf"); + sb.append("\116"); + sb.append("\ufddf"); sb.append("\121"); - sb.append("\ufef5"); - sb.append("\150"); - sb.append("\ufef5"); - sb.append("\156"); - sb.append("\ufef5"); + sb.append("\ufddf"); + sb.append("\122"); + sb.append("\ufddf"); + sb.append("\123"); + sb.append("\ufddf"); + sb.append("\124"); + sb.append("\ufddf"); + sb.append("\125"); + sb.append("\ufddf"); + sb.append("\126"); + sb.append("\ufddf"); + sb.append("\130"); + sb.append("\ufddf"); + sb.append("\131"); + sb.append("\ufddf"); + sb.append("\132"); + sb.append("\ufddf"); + sb.append("\133"); + sb.append("\ufddf"); + sb.append("\134"); + sb.append("\uffa5"); + sb.append("\155"); + sb.append("\ufddf"); + sb.append("\217"); + sb.append("\ufddf"); + sb.append("\220"); + sb.append("\ufddf"); + sb.append("\221"); + sb.append("\ufddf"); + sb.append("\222"); + sb.append("\ufddf"); + sb.append("\223"); + sb.append("\ufddf"); + sb.append("\224"); + sb.append("\ufddf"); sb.append("\225"); - sb.append("\277"); + sb.append("\ufddf"); sb.append("\226"); - sb.append("\257"); + sb.append("\ufddf"); sb.append("\227"); - sb.append("\302"); + sb.append("\ufddf"); sb.append("\230"); - sb.append("\ufef5"); - sb.append("\231"); - sb.append("\ufefa"); - sb.append("\244"); - sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); + sb.append("\ufddf"); + sb.append("\241"); + sb.append("\ufddf"); + sb.append("\242"); + sb.append("\ufddf"); sb.append("\251"); - sb.append("\ufef5"); - sb.append("\253"); - sb.append("\ufef5"); - sb.append("\254"); - sb.append("\ufef5"); - sb.append("\255"); - sb.append("\ufef5"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); + sb.append("\ufddf"); + sb.append("\252"); + sb.append("\ufddf"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\242"); sb.append("\004"); - sb.append("\231"); - sb.append("\u0491"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\ufed9"); + sb.append("\005"); + sb.append("\ufed9"); sb.append("\010"); - sb.append("\111"); - sb.append("\ufee2"); - sb.append("\151"); - sb.append("\ufee2"); - sb.append("\232"); - sb.append("\u0242"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\u0494"); - sb.append("\151"); - sb.append("\u0495"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); + sb.append("\ufed9"); + sb.append("\017"); + sb.append("\ufed9"); + sb.append("\020"); + sb.append("\ufed9"); + sb.append("\021"); + sb.append("\ufed9"); + sb.append("\022"); + sb.append("\ufed9"); + sb.append("\023"); + sb.append("\ufed9"); + sb.append("\024"); + sb.append("\ufed9"); + sb.append("\025"); + sb.append("\ufed9"); + sb.append("\026"); + sb.append("\ufed9"); + sb.append("\027"); + sb.append("\ufed9"); + sb.append("\030"); + sb.append("\ufed9"); + sb.append("\031"); + sb.append("\ufed9"); + sb.append("\032"); + sb.append("\ufed9"); + sb.append("\033"); + sb.append("\ufed9"); + sb.append("\034"); + sb.append("\ufed9"); + sb.append("\035"); + sb.append("\ufed9"); + sb.append("\036"); + sb.append("\ufed9"); sb.append("\037"); - sb.append("\ufeaa"); + sb.append("\ufed9"); + sb.append("\040"); + sb.append("\ufed9"); + sb.append("\041"); + sb.append("\ufed9"); + sb.append("\042"); + sb.append("\ufed9"); + sb.append("\043"); + sb.append("\ufed9"); + sb.append("\044"); + sb.append("\ufed9"); sb.append("\045"); - sb.append("\ufeaa"); + sb.append("\ufed9"); sb.append("\046"); - sb.append("\ufeaa"); + sb.append("\ufed9"); + sb.append("\047"); + sb.append("\ufed9"); + sb.append("\050"); + sb.append("\ufed9"); + sb.append("\052"); + sb.append("\ufed9"); + sb.append("\053"); + sb.append("\ufed9"); + sb.append("\054"); + sb.append("\ufed9"); + sb.append("\055"); + sb.append("\ufed9"); sb.append("\056"); - sb.append("\ufeaa"); + sb.append("\ufed9"); + sb.append("\057"); + sb.append("\ufed9"); sb.append("\060"); - sb.append("\ufeaa"); - sb.append("\112"); - sb.append("\ufeaa"); - sb.append("\120"); - sb.append("\ufeaa"); + sb.append("\ufed9"); + sb.append("\061"); + sb.append("\ufed9"); + sb.append("\062"); + sb.append("\ufed9"); + sb.append("\063"); + sb.append("\ufed9"); + sb.append("\066"); + sb.append("\ufed9"); + sb.append("\067"); + sb.append("\ufed9"); + sb.append("\070"); + sb.append("\ufed9"); + sb.append("\074"); + sb.append("\ufed9"); + sb.append("\075"); + sb.append("\ufed9"); + sb.append("\076"); + sb.append("\ufed9"); + sb.append("\077"); + sb.append("\ufed9"); + sb.append("\100"); + sb.append("\ufed9"); + sb.append("\101"); + sb.append("\ufed9"); + sb.append("\102"); + sb.append("\ufed9"); + sb.append("\103"); + sb.append("\ufed9"); + sb.append("\104"); + sb.append("\ufed9"); + sb.append("\114"); + sb.append("\ufed9"); + sb.append("\115"); + sb.append("\ufed9"); + sb.append("\116"); + sb.append("\ufed9"); + sb.append("\121"); + sb.append("\ufed9"); + sb.append("\122"); + sb.append("\ufed9"); + sb.append("\123"); + sb.append("\ufed9"); + sb.append("\124"); + sb.append("\ufed9"); + sb.append("\125"); + sb.append("\ufed9"); + sb.append("\126"); + sb.append("\ufed9"); + sb.append("\130"); + sb.append("\ufed9"); + sb.append("\131"); + sb.append("\ufed9"); + sb.append("\132"); + sb.append("\ufed9"); + sb.append("\133"); + sb.append("\ufed9"); + sb.append("\134"); + sb.append("\uffae"); + sb.append("\155"); + sb.append("\ufed9"); + sb.append("\217"); + sb.append("\ufed9"); + sb.append("\220"); + sb.append("\ufed9"); + sb.append("\221"); + sb.append("\ufed9"); sb.append("\222"); - sb.append("\ufeaa"); + sb.append("\ufed9"); sb.append("\223"); - sb.append("\ufeaa"); + sb.append("\ufed9"); sb.append("\224"); - sb.append("\ufeaa"); + sb.append("\ufed9"); sb.append("\225"); - sb.append("\ufeaa"); + sb.append("\ufed9"); sb.append("\226"); - sb.append("\ufeaa"); + sb.append("\ufed9"); sb.append("\227"); - sb.append("\ufeaa"); - sb.append("\247"); - sb.append("\ufeaa"); - sb.append("\250"); - sb.append("\ufeaa"); - sb.append("\256"); - sb.append("\ufeaa"); - sb.append("\257"); - sb.append("\ufeaa"); - sb.append("\260"); - sb.append("\ufeaa"); + sb.append("\ufed9"); + sb.append("\230"); + sb.append("\ufed9"); + sb.append("\241"); + sb.append("\ufed9"); + sb.append("\242"); + sb.append("\ufed9"); + sb.append("\251"); + sb.append("\ufed9"); + sb.append("\252"); + sb.append("\ufed9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\uff7c"); + sb.append("\242"); sb.append("\004"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\005"); - sb.append("\uff7c"); - sb.append("\006"); - sb.append("\uff7c"); - sb.append("\007"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); - sb.append("\012"); - sb.append("\uff7c"); - sb.append("\014"); - sb.append("\uff7c"); - sb.append("\015"); - sb.append("\uff7c"); - sb.append("\016"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\017"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\020"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\021"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\022"); + sb.append("\ufdde"); sb.append("\023"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\024"); + sb.append("\ufdde"); sb.append("\025"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\026"); + sb.append("\ufdde"); sb.append("\027"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\030"); + sb.append("\ufdde"); + sb.append("\031"); + sb.append("\ufdde"); sb.append("\032"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\033"); + sb.append("\ufdde"); sb.append("\034"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\035"); + sb.append("\ufdde"); sb.append("\036"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\037"); + sb.append("\ufdde"); + sb.append("\040"); + sb.append("\ufdde"); sb.append("\041"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\042"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\043"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\044"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\045"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\046"); + sb.append("\ufdde"); sb.append("\047"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\052"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\053"); + sb.append("\ufdde"); sb.append("\054"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\055"); + sb.append("\ufdde"); sb.append("\056"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\057"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\060"); + sb.append("\ufdde"); sb.append("\061"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\062"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\066"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\067"); + sb.append("\ufdde"); + sb.append("\070"); + sb.append("\ufdde"); sb.append("\074"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\075"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\076"); + sb.append("\ufdde"); sb.append("\077"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\100"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\101"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\102"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\103"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); - sb.append("\111"); - sb.append("\uff7c"); - sb.append("\112"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\114"); + sb.append("\ufdde"); sb.append("\115"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\116"); - sb.append("\uff7c"); - sb.append("\120"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\121"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\122"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\123"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\124"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\125"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\126"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\130"); + sb.append("\ufdde"); + sb.append("\131"); + sb.append("\ufdde"); + sb.append("\132"); + sb.append("\ufdde"); sb.append("\133"); - sb.append("\uff7c"); - sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); - sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); - sb.append("\203"); - sb.append("\uff7c"); - sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\134"); + sb.append("\uffa4"); + sb.append("\155"); + sb.append("\ufdde"); + sb.append("\217"); + sb.append("\ufdde"); + sb.append("\220"); + sb.append("\ufdde"); + sb.append("\221"); + sb.append("\ufdde"); sb.append("\222"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\224"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\225"); + sb.append("\ufdde"); + sb.append("\226"); + sb.append("\ufdde"); + sb.append("\227"); + sb.append("\ufdde"); sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); - sb.append("\250"); - sb.append("\uff7c"); + sb.append("\ufdde"); + sb.append("\241"); + sb.append("\ufdde"); + sb.append("\242"); + sb.append("\ufdde"); + sb.append("\251"); + sb.append("\ufdde"); sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); - sb.append("\254"); - sb.append("\uff7c"); - sb.append("\255"); - sb.append("\uff7c"); + sb.append("\ufdde"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\ufe8a"); - sb.append("\045"); - sb.append("\ufe8a"); - sb.append("\046"); - sb.append("\ufe8a"); - sb.append("\056"); - sb.append("\ufe8a"); - sb.append("\060"); - sb.append("\ufe8a"); - sb.append("\112"); - sb.append("\ufe8a"); - sb.append("\120"); - sb.append("\ufe8a"); - sb.append("\222"); - sb.append("\ufe8a"); - sb.append("\223"); - sb.append("\ufe8a"); - sb.append("\224"); - sb.append("\ufe8a"); - sb.append("\225"); - sb.append("\ufe8a"); - sb.append("\226"); - sb.append("\ufe8a"); - sb.append("\227"); - sb.append("\ufe8a"); - sb.append("\247"); - sb.append("\ufe8a"); - sb.append("\250"); - sb.append("\ufe8a"); - sb.append("\256"); - sb.append("\ufe8a"); - sb.append("\257"); - sb.append("\ufe8a"); - sb.append("\260"); - sb.append("\ufe8a"); + sb.append("\004"); + sb.append("\134"); + sb.append("\u048e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\211"); + sb.append("\234"); sb.append("\004"); - sb.append("\201"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\164"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\217"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\014"); - sb.append("\007"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\143"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\035"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\034"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\145"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\200"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\203"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\106"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\113"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\125"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\033"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\040"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\226"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\222"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\023"); + sb.append("\u018f"); + sb.append("\046"); + sb.append("\u019f"); sb.append("\047"); - sb.append("\212"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\057"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\026"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\016"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\110"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\210"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\010"); - sb.append("\065"); - sb.append("\027"); + sb.append("\u016a"); sb.append("\066"); - sb.append("\111"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\051"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\166"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\144"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\111"); - sb.append("\157"); - sb.append("\112"); - sb.append("\u0497"); + sb.append("\u015d"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\046"); - sb.append("\120"); - sb.append("\172"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\160"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\013"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\u0183"); sb.append("\124"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\116"); + sb.append("\u019b"); sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\020"); - sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\ufe89"); - sb.append("\045"); - sb.append("\ufe89"); - sb.append("\046"); - sb.append("\ufe89"); - sb.append("\056"); - sb.append("\ufe89"); - sb.append("\060"); - sb.append("\ufe89"); - sb.append("\112"); - sb.append("\ufe89"); - sb.append("\120"); - sb.append("\ufe89"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\ufe89"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\ufe89"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\ufe89"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\ufe89"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\ufe89"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\ufe89"); - sb.append("\247"); - sb.append("\ufe89"); - sb.append("\250"); - sb.append("\ufe89"); - sb.append("\256"); - sb.append("\ufe89"); - sb.append("\257"); - sb.append("\ufe89"); - sb.append("\260"); - sb.append("\ufe89"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\070"); - sb.append("\ufea7"); - sb.append("\111"); - sb.append("\ufea7"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\151"); - sb.append("\u049a"); + sb.append("\134"); + sb.append("\u048c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff5a"); - sb.append("\003"); - sb.append("\uff5a"); - sb.append("\004"); - sb.append("\uff5a"); - sb.append("\005"); - sb.append("\uff5a"); + sb.append("\070"); sb.append("\006"); - sb.append("\uff5a"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff5a"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff5a"); - sb.append("\011"); - sb.append("\uff5a"); - sb.append("\012"); - sb.append("\uff5a"); - sb.append("\014"); - sb.append("\uff5a"); + sb.append("\356"); sb.append("\015"); - sb.append("\uff5a"); + sb.append("\364"); sb.append("\016"); - sb.append("\uff5a"); - sb.append("\017"); - sb.append("\uff5a"); - sb.append("\020"); - sb.append("\uff5a"); - sb.append("\021"); - sb.append("\uff5a"); - sb.append("\022"); - sb.append("\uff5a"); - sb.append("\023"); - sb.append("\uff5a"); - sb.append("\024"); - sb.append("\uff5a"); - sb.append("\025"); - sb.append("\uff5a"); - sb.append("\026"); - sb.append("\uff5a"); - sb.append("\027"); - sb.append("\uff5a"); - sb.append("\030"); - sb.append("\uff5a"); - sb.append("\032"); - sb.append("\uff5a"); - sb.append("\034"); - sb.append("\uff5a"); - sb.append("\035"); - sb.append("\uff5a"); - sb.append("\036"); - sb.append("\uff5a"); - sb.append("\037"); - sb.append("\uff5a"); - sb.append("\040"); - sb.append("\uff5a"); - sb.append("\041"); - sb.append("\uff5a"); - sb.append("\042"); - sb.append("\uff5a"); - sb.append("\043"); - sb.append("\uff5a"); - sb.append("\044"); - sb.append("\uff5a"); - sb.append("\045"); - sb.append("\uff5a"); - sb.append("\046"); - sb.append("\uff5a"); - sb.append("\047"); - sb.append("\uff5a"); - sb.append("\050"); - sb.append("\uff5a"); - sb.append("\051"); - sb.append("\uff5a"); - sb.append("\052"); - sb.append("\uff5a"); - sb.append("\054"); - sb.append("\uff5a"); - sb.append("\056"); - sb.append("\uff5a"); - sb.append("\057"); - sb.append("\uff5a"); - sb.append("\061"); - sb.append("\uff5a"); - sb.append("\062"); - sb.append("\uff5a"); - sb.append("\063"); - sb.append("\uff5a"); - sb.append("\064"); - sb.append("\uff5a"); - sb.append("\065"); - sb.append("\uff5a"); - sb.append("\066"); - sb.append("\uff5a"); - sb.append("\074"); - sb.append("\uff5a"); + sb.append("\357"); sb.append("\075"); - sb.append("\uff5a"); + sb.append("\351"); sb.append("\077"); - sb.append("\uff5a"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff5a"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff5a"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff5a"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff5a"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff5a"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff5a"); - sb.append("\111"); - sb.append("\uff5a"); - sb.append("\112"); - sb.append("\uff5a"); - sb.append("\114"); - sb.append("\uff5a"); + sb.append("\141"); sb.append("\115"); - sb.append("\uff5a"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff5a"); - sb.append("\120"); - sb.append("\uff5a"); + sb.append("\046"); sb.append("\121"); - sb.append("\uff5a"); - sb.append("\122"); - sb.append("\uff5a"); - sb.append("\123"); - sb.append("\uff5a"); - sb.append("\124"); - sb.append("\uff5a"); - sb.append("\125"); - sb.append("\uff5a"); - sb.append("\126"); - sb.append("\uff5a"); - sb.append("\133"); - sb.append("\uff5a"); - sb.append("\151"); - sb.append("\uff5a"); - sb.append("\172"); - sb.append("\uff5a"); + sb.append("\160"); sb.append("\173"); - sb.append("\uff5a"); - sb.append("\177"); - sb.append("\uff5a"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); sb.append("\200"); - sb.append("\uff5a"); - sb.append("\202"); - sb.append("\uff5a"); - sb.append("\203"); - sb.append("\uff5a"); - sb.append("\204"); - sb.append("\uff5a"); - sb.append("\205"); - sb.append("\uff5a"); - sb.append("\206"); - sb.append("\uff5a"); - sb.append("\207"); - sb.append("\uff5a"); - sb.append("\210"); - sb.append("\uff5a"); - sb.append("\211"); - sb.append("\uff5a"); - sb.append("\212"); - sb.append("\uff5a"); - sb.append("\213"); - sb.append("\uff5a"); - sb.append("\214"); - sb.append("\uff5a"); - sb.append("\216"); - sb.append("\uff5a"); - sb.append("\217"); - sb.append("\uff5a"); - sb.append("\220"); - sb.append("\uff5a"); - sb.append("\221"); - sb.append("\uff5a"); - sb.append("\222"); - sb.append("\uff5a"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); sb.append("\223"); - sb.append("\uff5a"); - sb.append("\224"); - sb.append("\uff5a"); - sb.append("\230"); - sb.append("\uff5a"); - sb.append("\233"); - sb.append("\uff5a"); - sb.append("\234"); - sb.append("\uff5a"); - sb.append("\235"); - sb.append("\uff5a"); - sb.append("\236"); - sb.append("\uff5a"); - sb.append("\240"); - sb.append("\uff5a"); - sb.append("\247"); - sb.append("\uff5a"); - sb.append("\250"); - sb.append("\uff5a"); - sb.append("\252"); - sb.append("\uff5a"); - sb.append("\253"); - sb.append("\uff5a"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); sb.append("\254"); - sb.append("\uff5a"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff5a"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd18"); - sb.append("\033"); - sb.append("\ufd18"); - sb.append("\071"); - sb.append("\ufd18"); - sb.append("\072"); - sb.append("\ufd18"); - sb.append("\073"); - sb.append("\ufd18"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd18"); - sb.append("\113"); - sb.append("\ufd18"); + sb.append("\102"); sb.append("\127"); - sb.append("\ufd18"); + sb.append("\ufe67"); sb.append("\130"); - sb.append("\ufd18"); + sb.append("\u0105"); sb.append("\131"); - sb.append("\ufd18"); + sb.append("\u0116"); sb.append("\132"); - sb.append("\ufd18"); - sb.append("\134"); - sb.append("\ufd18"); - sb.append("\135"); - sb.append("\ufd18"); - sb.append("\136"); - sb.append("\ufd18"); - sb.append("\137"); - sb.append("\ufd18"); - sb.append("\140"); - sb.append("\ufd18"); - sb.append("\141"); - sb.append("\ufd18"); - sb.append("\142"); - sb.append("\ufd18"); - sb.append("\143"); - sb.append("\ufd18"); - sb.append("\144"); - sb.append("\ufd18"); - sb.append("\145"); - sb.append("\ufd18"); - sb.append("\146"); - sb.append("\ufd18"); - sb.append("\147"); - sb.append("\ufd18"); + sb.append("\375"); sb.append("\150"); - sb.append("\ufd18"); + sb.append("\u0100"); sb.append("\151"); - sb.append("\ufd18"); + sb.append("\ufe67"); sb.append("\152"); - sb.append("\ufd18"); + sb.append("\374"); sb.append("\153"); - sb.append("\ufd18"); + sb.append("\u010e"); sb.append("\154"); - sb.append("\ufd18"); + sb.append("\u0113"); sb.append("\155"); - sb.append("\ufd18"); + sb.append("\376"); sb.append("\156"); - sb.append("\ufd18"); + sb.append("\u0107"); sb.append("\157"); - sb.append("\ufd18"); + sb.append("\u010f"); sb.append("\160"); - sb.append("\ufd18"); + sb.append("\u0115"); sb.append("\161"); - sb.append("\ufd18"); + sb.append("\u0109"); sb.append("\162"); - sb.append("\ufd18"); + sb.append("\371"); sb.append("\163"); - sb.append("\ufd18"); + sb.append("\u0106"); sb.append("\164"); - sb.append("\ufd18"); + sb.append("\u0112"); sb.append("\165"); - sb.append("\ufd18"); + sb.append("\u0110"); sb.append("\166"); - sb.append("\ufd18"); + sb.append("\u0104"); sb.append("\167"); - sb.append("\ufd18"); + sb.append("\u0102"); sb.append("\170"); - sb.append("\ufd18"); + sb.append("\u0111"); sb.append("\171"); - sb.append("\ufd18"); + sb.append("\u010d"); sb.append("\172"); - sb.append("\ufd18"); + sb.append("\u0108"); sb.append("\173"); - sb.append("\ufd18"); + sb.append("\u0117"); sb.append("\174"); - sb.append("\ufd18"); + sb.append("\u0103"); sb.append("\175"); - sb.append("\ufd18"); + sb.append("\u010c"); sb.append("\176"); - sb.append("\ufd18"); - sb.append("\201"); - sb.append("\ufd18"); + sb.append("\u010a"); + sb.append("\177"); + sb.append("\372"); sb.append("\202"); - sb.append("\ufd18"); - sb.append("\203"); - sb.append("\ufd18"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd18"); - sb.append("\230"); - sb.append("\ufd2d"); - sb.append("\231"); - sb.append("\ufd18"); - sb.append("\232"); - sb.append("\ufd18"); - sb.append("\242"); - sb.append("\ufd18"); + sb.append("\377"); sb.append("\243"); - sb.append("\ufd18"); - sb.append("\245"); - sb.append("\ufd18"); + sb.append("\u0101"); sb.append("\246"); - sb.append("\ufd18"); - sb.append("\251"); - sb.append("\ufd18"); + sb.append("\373"); + sb.append("\252"); + sb.append("\u0114"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\122"); - sb.append("\031"); - sb.append("\ufcd6"); - sb.append("\033"); - sb.append("\ufcd6"); - sb.append("\073"); - sb.append("\ufcd6"); - sb.append("\111"); - sb.append("\ufcd6"); - sb.append("\112"); - sb.append("\ufcd6"); + sb.append("\070"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\356"); + sb.append("\015"); + sb.append("\364"); + sb.append("\016"); + sb.append("\357"); + sb.append("\075"); + sb.append("\351"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\173"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); + sb.append("\200"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); sb.append("\127"); - sb.append("\ufcd6"); + sb.append("\ufe68"); sb.append("\130"); - sb.append("\ufcd6"); + sb.append("\u0105"); sb.append("\131"); - sb.append("\ufcd6"); + sb.append("\u0116"); sb.append("\132"); - sb.append("\ufcd6"); + sb.append("\375"); sb.append("\150"); - sb.append("\ufcd6"); + sb.append("\u0100"); sb.append("\151"); - sb.append("\ufcd6"); + sb.append("\ufe68"); sb.append("\152"); - sb.append("\ufcd6"); + sb.append("\374"); sb.append("\153"); - sb.append("\ufcd6"); + sb.append("\u010e"); sb.append("\154"); - sb.append("\ufcd6"); + sb.append("\u0113"); sb.append("\155"); - sb.append("\ufcd6"); + sb.append("\376"); sb.append("\156"); - sb.append("\ufcd6"); + sb.append("\u0107"); sb.append("\157"); - sb.append("\ufcd6"); + sb.append("\u010f"); sb.append("\160"); - sb.append("\ufcd6"); + sb.append("\u0115"); sb.append("\161"); - sb.append("\ufcd6"); + sb.append("\u0109"); sb.append("\162"); - sb.append("\ufcd6"); + sb.append("\371"); sb.append("\163"); - sb.append("\ufcd6"); + sb.append("\u0106"); sb.append("\164"); - sb.append("\ufcd6"); + sb.append("\u0112"); sb.append("\165"); - sb.append("\ufcd6"); + sb.append("\u0110"); sb.append("\166"); - sb.append("\ufcd6"); + sb.append("\u0104"); sb.append("\167"); - sb.append("\ufcd6"); + sb.append("\u0102"); sb.append("\170"); - sb.append("\ufcd6"); + sb.append("\u0111"); sb.append("\171"); - sb.append("\ufcd6"); + sb.append("\u010d"); sb.append("\172"); - sb.append("\ufcd6"); + sb.append("\u0108"); sb.append("\173"); - sb.append("\ufcd6"); + sb.append("\u0117"); sb.append("\174"); - sb.append("\ufcd6"); + sb.append("\u0103"); sb.append("\175"); - sb.append("\ufcd6"); + sb.append("\u010c"); sb.append("\176"); - sb.append("\ufcd6"); - sb.append("\201"); - sb.append("\ufcd6"); - sb.append("\214"); - sb.append("\ufcd6"); - sb.append("\215"); - sb.append("\ufcd6"); - sb.append("\231"); - sb.append("\ufcd6"); - sb.append("\232"); - sb.append("\ufcd6"); - sb.append("\242"); - sb.append("\ufcd6"); - sb.append("\245"); - sb.append("\ufcd6"); - sb.append("\251"); - sb.append("\ufcd6"); + sb.append("\u010a"); + sb.append("\177"); + sb.append("\372"); + sb.append("\202"); + sb.append("\377"); + sb.append("\243"); + sb.append("\u0101"); + sb.append("\246"); + sb.append("\373"); + sb.append("\252"); + sb.append("\u0114"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\276"); - sb.append("\002"); - sb.append("\uff9c"); - sb.append("\003"); - sb.append("\uff9c"); + sb.append("\242"); sb.append("\004"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\005"); - sb.append("\uff9c"); - sb.append("\006"); - sb.append("\uff9c"); - sb.append("\007"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\010"); - sb.append("\uff9c"); - sb.append("\011"); - sb.append("\uff9c"); - sb.append("\012"); - sb.append("\uff9c"); - sb.append("\014"); - sb.append("\uff9c"); - sb.append("\015"); - sb.append("\uff9c"); - sb.append("\016"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\017"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\020"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\021"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\022"); + sb.append("\uff43"); sb.append("\023"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\024"); + sb.append("\uff43"); sb.append("\025"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\026"); + sb.append("\uff43"); sb.append("\027"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\030"); + sb.append("\uff43"); + sb.append("\031"); + sb.append("\uff43"); sb.append("\032"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\033"); + sb.append("\uff43"); sb.append("\034"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\035"); + sb.append("\uff43"); sb.append("\036"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\037"); + sb.append("\uff43"); + sb.append("\040"); + sb.append("\uff43"); sb.append("\041"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\042"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\043"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\044"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\045"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\046"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\047"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\050"); - sb.append("\uff9c"); - sb.append("\051"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\052"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\053"); + sb.append("\uff43"); sb.append("\054"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\055"); + sb.append("\uff43"); sb.append("\056"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\057"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\060"); + sb.append("\uff43"); sb.append("\061"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\062"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\063"); - sb.append("\uff9c"); - sb.append("\064"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\065"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\066"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\067"); + sb.append("\uff43"); + sb.append("\070"); + sb.append("\uff43"); sb.append("\074"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\075"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\076"); + sb.append("\uff43"); sb.append("\077"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\100"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\101"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\102"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\103"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\104"); - sb.append("\uff9c"); - sb.append("\105"); - sb.append("\uff9c"); - sb.append("\111"); - sb.append("\uff9c"); - sb.append("\112"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\114"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\115"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\116"); - sb.append("\uff9c"); - sb.append("\120"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\121"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\122"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\123"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\124"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\125"); - sb.append("\uff9c"); + sb.append("\uff43"); sb.append("\126"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\130"); + sb.append("\uff43"); + sb.append("\131"); + sb.append("\uff43"); + sb.append("\132"); + sb.append("\uff43"); sb.append("\133"); - sb.append("\uff9c"); - sb.append("\151"); - sb.append("\uff9c"); - sb.append("\172"); - sb.append("\uff9c"); - sb.append("\173"); - sb.append("\uff9c"); - sb.append("\177"); - sb.append("\uff9c"); - sb.append("\200"); - sb.append("\uff9c"); - sb.append("\202"); - sb.append("\uff9c"); - sb.append("\203"); - sb.append("\uff9c"); - sb.append("\204"); - sb.append("\uff9c"); - sb.append("\205"); - sb.append("\uff9c"); - sb.append("\206"); - sb.append("\uff9c"); - sb.append("\207"); - sb.append("\uff9c"); - sb.append("\210"); - sb.append("\uff9c"); - sb.append("\211"); - sb.append("\uff9c"); - sb.append("\212"); - sb.append("\uff9c"); - sb.append("\213"); - sb.append("\uff9c"); - sb.append("\214"); - sb.append("\uff9c"); - sb.append("\216"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\217"); + sb.append("\uff43"); + sb.append("\220"); + sb.append("\uff43"); + sb.append("\221"); + sb.append("\uff43"); sb.append("\222"); - sb.append("\uff9c"); - sb.append("\223"); - sb.append("\uff9c"); - sb.append("\224"); - sb.append("\uff9c"); - sb.append("\230"); - sb.append("\uff9c"); - sb.append("\233"); - sb.append("\uff9c"); - sb.append("\234"); - sb.append("\uff9c"); - sb.append("\235"); - sb.append("\uff9c"); - sb.append("\236"); - sb.append("\uff9c"); - sb.append("\240"); - sb.append("\uff9c"); - sb.append("\247"); - sb.append("\uff9c"); - sb.append("\250"); - sb.append("\uff9c"); + sb.append("\uff43"); + sb.append("\223"); + sb.append("\uff43"); + sb.append("\224"); + sb.append("\uff43"); + sb.append("\225"); + sb.append("\uff43"); + sb.append("\226"); + sb.append("\uff43"); + sb.append("\227"); + sb.append("\uff43"); + sb.append("\230"); + sb.append("\uff43"); + sb.append("\241"); + sb.append("\uff43"); + sb.append("\242"); + sb.append("\uff43"); + sb.append("\251"); + sb.append("\uff43"); sb.append("\252"); - sb.append("\uff9c"); - sb.append("\253"); - sb.append("\uff9c"); - sb.append("\254"); - sb.append("\uff9c"); - sb.append("\255"); - sb.append("\uff9c"); + sb.append("\u022b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff77"); - sb.append("\003"); - sb.append("\uff77"); + sb.append("\236"); sb.append("\004"); - sb.append("\uff77"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\uff77"); - sb.append("\006"); - sb.append("\uff77"); - sb.append("\007"); - sb.append("\uff77"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\uff77"); - sb.append("\011"); - sb.append("\uff77"); - sb.append("\012"); - sb.append("\uff77"); - sb.append("\014"); - sb.append("\uff77"); - sb.append("\015"); - sb.append("\uff77"); - sb.append("\016"); - sb.append("\uff77"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\uff77"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\uff77"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\uff77"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\uff77"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\uff77"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\uff77"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\uff77"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\uff77"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\uff77"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\uff77"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\uff77"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\uff77"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\uff77"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\uff77"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\uff77"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\uff77"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\uff77"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\uff77"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\uff77"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\uff77"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\uff77"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\uff77"); + sb.append("\u019f"); sb.append("\047"); - sb.append("\uff77"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\uff77"); - sb.append("\051"); - sb.append("\uff77"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\uff77"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\uff77"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\uff77"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\uff77"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\uff77"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\uff77"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\uff77"); - sb.append("\064"); - sb.append("\uff77"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\uff77"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\uff77"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\uff77"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\uff77"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\uff77"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\uff77"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\uff77"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\uff77"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\uff77"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\uff77"); - sb.append("\105"); - sb.append("\uff77"); - sb.append("\111"); - sb.append("\uff77"); - sb.append("\112"); - sb.append("\uff77"); + sb.append("\u015d"); sb.append("\114"); - sb.append("\uff77"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\uff77"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\uff77"); - sb.append("\120"); - sb.append("\uff77"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\uff77"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\uff77"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\uff77"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\uff77"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\uff77"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\uff77"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\uff77"); - sb.append("\151"); - sb.append("\uff77"); - sb.append("\172"); - sb.append("\uff77"); - sb.append("\173"); - sb.append("\uff77"); - sb.append("\177"); - sb.append("\uff77"); - sb.append("\200"); - sb.append("\uff77"); - sb.append("\202"); - sb.append("\uff77"); - sb.append("\203"); - sb.append("\uff77"); - sb.append("\204"); - sb.append("\uff77"); - sb.append("\205"); - sb.append("\uff77"); - sb.append("\206"); - sb.append("\uff77"); - sb.append("\207"); - sb.append("\uff77"); - sb.append("\210"); - sb.append("\uff77"); - sb.append("\211"); - sb.append("\uff77"); - sb.append("\212"); - sb.append("\uff77"); - sb.append("\213"); - sb.append("\uff77"); - sb.append("\214"); - sb.append("\uff77"); - sb.append("\216"); - sb.append("\uff77"); + sb.append("\u017f"); sb.append("\217"); - sb.append("\uff77"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\uff77"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\uff77"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\uff77"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\uff77"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\uff77"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\uff77"); - sb.append("\233"); - sb.append("\uff77"); - sb.append("\234"); - sb.append("\uff77"); - sb.append("\235"); - sb.append("\uff77"); - sb.append("\236"); - sb.append("\uff77"); - sb.append("\240"); - sb.append("\uff77"); - sb.append("\247"); - sb.append("\uff77"); - sb.append("\250"); - sb.append("\uff77"); - sb.append("\252"); - sb.append("\uff77"); - sb.append("\253"); - sb.append("\uff77"); - sb.append("\254"); - sb.append("\uff77"); - sb.append("\255"); - sb.append("\uff77"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe1f"); - sb.append("\033"); - sb.append("\ufe1f"); - sb.append("\073"); - sb.append("\ufe1f"); - sb.append("\112"); - sb.append("\ufe1f"); - sb.append("\127"); - sb.append("\ufe1f"); - sb.append("\130"); - sb.append("\ufe1f"); - sb.append("\131"); - sb.append("\ufe1f"); - sb.append("\132"); - sb.append("\ufe1f"); - sb.append("\150"); - sb.append("\ufe1f"); - sb.append("\151"); - sb.append("\ufe1f"); - sb.append("\152"); - sb.append("\ufe1f"); - sb.append("\153"); - sb.append("\ufe1f"); - sb.append("\154"); - sb.append("\ufe1f"); - sb.append("\155"); - sb.append("\ufe1f"); - sb.append("\156"); - sb.append("\ufe1f"); - sb.append("\157"); - sb.append("\ufe1f"); - sb.append("\160"); - sb.append("\ufe1f"); - sb.append("\161"); - sb.append("\ufe1f"); - sb.append("\162"); - sb.append("\ufe1f"); - sb.append("\163"); - sb.append("\ufe1f"); - sb.append("\164"); - sb.append("\ufe1f"); - sb.append("\165"); - sb.append("\ufe1f"); - sb.append("\166"); - sb.append("\ufe1f"); - sb.append("\167"); - sb.append("\ufe1f"); - sb.append("\170"); - sb.append("\ufe1f"); - sb.append("\171"); - sb.append("\ufe1f"); - sb.append("\172"); - sb.append("\ufe1f"); - sb.append("\173"); - sb.append("\ufe1f"); - sb.append("\174"); - sb.append("\ufe1f"); - sb.append("\175"); - sb.append("\ufe1f"); - sb.append("\176"); - sb.append("\ufe1f"); - sb.append("\201"); - sb.append("\ufe1f"); - sb.append("\215"); - sb.append("\ufe1f"); + sb.append("\004"); sb.append("\231"); - sb.append("\ufe1f"); - sb.append("\232"); - sb.append("\ufe1f"); - sb.append("\242"); - sb.append("\ufe1f"); - sb.append("\245"); - sb.append("\ufe1f"); - sb.append("\251"); - sb.append("\ufe1f"); + sb.append("\u0493"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufd5d"); - sb.append("\073"); - sb.append("\ufd5d"); - sb.append("\112"); - sb.append("\ufd5d"); - sb.append("\127"); - sb.append("\ufd5d"); - sb.append("\130"); - sb.append("\ufd5d"); - sb.append("\131"); - sb.append("\ufd5d"); - sb.append("\132"); - sb.append("\ufd5d"); + sb.append("\056"); + sb.append("\010"); + sb.append("\ufef5"); + sb.append("\012"); + sb.append("\ufef5"); + sb.append("\075"); + sb.append("\ufef5"); + sb.append("\076"); + sb.append("\ufef5"); + sb.append("\121"); + sb.append("\ufef5"); sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufd5d"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufef5"); sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufd5d"); + sb.append("\ufef5"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); sb.append("\231"); - sb.append("\ufd5d"); + sb.append("\ufef5"); sb.append("\232"); - sb.append("\ufd5d"); - sb.append("\242"); - sb.append("\u01c5"); + sb.append("\ufefa"); sb.append("\245"); - sb.append("\u01bf"); + sb.append("\ufef5"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\u01d8"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufef5"); + sb.append("\254"); + sb.append("\ufef5"); + sb.append("\255"); + sb.append("\ufef5"); + sb.append("\256"); + sb.append("\ufef5"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u0495"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff6b"); + sb.append("\000"); + sb.append("\010"); + sb.append("\111"); + sb.append("\ufee2"); + sb.append("\151"); + sb.append("\ufee2"); + sb.append("\233"); + sb.append("\u0246"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\u0498"); + sb.append("\151"); + sb.append("\u0499"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufeaa"); + sb.append("\045"); + sb.append("\ufeaa"); + sb.append("\046"); + sb.append("\ufeaa"); + sb.append("\056"); + sb.append("\ufeaa"); + sb.append("\060"); + sb.append("\ufeaa"); + sb.append("\112"); + sb.append("\ufeaa"); + sb.append("\120"); + sb.append("\ufeaa"); + sb.append("\223"); + sb.append("\ufeaa"); + sb.append("\224"); + sb.append("\ufeaa"); + sb.append("\225"); + sb.append("\ufeaa"); + sb.append("\226"); + sb.append("\ufeaa"); + sb.append("\227"); + sb.append("\ufeaa"); + sb.append("\230"); + sb.append("\ufeaa"); + sb.append("\250"); + sb.append("\ufeaa"); + sb.append("\251"); + sb.append("\ufeaa"); + sb.append("\257"); + sb.append("\ufeaa"); + sb.append("\260"); + sb.append("\ufeaa"); + sb.append("\261"); + sb.append("\ufeaa"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uff6b"); - sb.append("\022"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uff6b"); - sb.append("\024"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uff6b"); - sb.append("\026"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uff6b"); - sb.append("\030"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uff6b"); - sb.append("\035"); - sb.append("\uff6b"); - sb.append("\036"); - sb.append("\uff6b"); - sb.append("\037"); - sb.append("\uff6b"); - sb.append("\040"); - sb.append("\uff6b"); + sb.append("\uff7c"); + sb.append("\036"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uff6b"); - sb.append("\046"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uff6b"); - sb.append("\064"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\112"); - sb.append("\uff6b"); - sb.append("\114"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff6b"); - sb.append("\172"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff6b"); - sb.append("\177"); - sb.append("\uff6b"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff6b"); - sb.append("\202"); - sb.append("\uff6b"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\uff6b"); - sb.append("\216"); - sb.append("\uff6b"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); sb.append("\217"); - sb.append("\uff6b"); - sb.append("\220"); - sb.append("\uff6b"); - sb.append("\221"); - sb.append("\uff6b"); - sb.append("\222"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff6b"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff6b"); - sb.append("\230"); - sb.append("\uff6b"); - sb.append("\233"); - sb.append("\uff6b"); - sb.append("\234"); - sb.append("\uff6b"); - sb.append("\235"); - sb.append("\uff6b"); - sb.append("\236"); - sb.append("\uff6b"); - sb.append("\240"); - sb.append("\uff6b"); - sb.append("\247"); - sb.append("\uff6b"); - sb.append("\250"); - sb.append("\uff6b"); - sb.append("\252"); - sb.append("\uff6b"); - sb.append("\253"); - sb.append("\uff6b"); - sb.append("\254"); - sb.append("\uff6b"); - sb.append("\255"); - sb.append("\uff6b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\140"); - sb.append("\031"); - sb.append("\ufd50"); - sb.append("\130"); - sb.append("\ufd50"); - sb.append("\131"); - sb.append("\ufd50"); - sb.append("\132"); - sb.append("\ufd50"); - sb.append("\134"); - sb.append("\u0371"); - sb.append("\135"); - sb.append("\u0376"); - sb.append("\136"); - sb.append("\u0372"); - sb.append("\137"); - sb.append("\u037c"); - sb.append("\140"); - sb.append("\u0375"); - sb.append("\141"); - sb.append("\u037b"); - sb.append("\142"); - sb.append("\u0378"); - sb.append("\143"); - sb.append("\u037a"); - sb.append("\144"); - sb.append("\u0374"); - sb.append("\145"); - sb.append("\u0370"); - sb.append("\146"); - sb.append("\u0377"); - sb.append("\147"); - sb.append("\u0379"); - sb.append("\150"); - sb.append("\ufd50"); - sb.append("\151"); - sb.append("\u04aa"); - sb.append("\152"); - sb.append("\ufd50"); - sb.append("\153"); - sb.append("\ufd50"); - sb.append("\154"); - sb.append("\ufd50"); - sb.append("\155"); - sb.append("\ufd50"); - sb.append("\156"); - sb.append("\ufd50"); - sb.append("\157"); - sb.append("\ufd50"); - sb.append("\160"); - sb.append("\ufd50"); - sb.append("\161"); - sb.append("\ufd50"); - sb.append("\162"); - sb.append("\ufd50"); - sb.append("\163"); - sb.append("\ufd50"); - sb.append("\164"); - sb.append("\ufd50"); - sb.append("\165"); - sb.append("\ufd50"); - sb.append("\166"); - sb.append("\ufd50"); - sb.append("\167"); - sb.append("\ufd50"); - sb.append("\170"); - sb.append("\ufd50"); - sb.append("\171"); - sb.append("\ufd50"); - sb.append("\172"); - sb.append("\ufd50"); - sb.append("\173"); - sb.append("\ufd50"); - sb.append("\174"); - sb.append("\ufd50"); - sb.append("\175"); - sb.append("\ufd50"); - sb.append("\176"); - sb.append("\ufd50"); - sb.append("\201"); - sb.append("\ufd50"); - sb.append("\202"); - sb.append("\ufd4e"); - sb.append("\203"); - sb.append("\ufd4e"); - sb.append("\242"); - sb.append("\ufd50"); - sb.append("\243"); - sb.append("\u0373"); - sb.append("\245"); - sb.append("\ufd50"); - sb.append("\246"); - sb.append("\u037d"); - sb.append("\251"); - sb.append("\ufd50"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\ufd58"); - sb.append("\130"); - sb.append("\ufd58"); - sb.append("\131"); - sb.append("\ufd58"); - sb.append("\132"); - sb.append("\ufd58"); - sb.append("\150"); - sb.append("\ufd58"); - sb.append("\151"); - sb.append("\u04a9"); - sb.append("\152"); - sb.append("\ufd58"); - sb.append("\153"); - sb.append("\ufd58"); - sb.append("\154"); - sb.append("\ufd58"); - sb.append("\155"); - sb.append("\ufd58"); - sb.append("\156"); - sb.append("\ufd58"); - sb.append("\157"); - sb.append("\ufd58"); - sb.append("\160"); - sb.append("\ufd58"); - sb.append("\161"); - sb.append("\ufd58"); - sb.append("\162"); - sb.append("\ufd58"); - sb.append("\163"); - sb.append("\ufd58"); - sb.append("\164"); - sb.append("\ufd58"); - sb.append("\165"); - sb.append("\ufd58"); - sb.append("\166"); - sb.append("\ufd58"); - sb.append("\167"); - sb.append("\ufd58"); - sb.append("\170"); - sb.append("\ufd58"); - sb.append("\171"); - sb.append("\ufd58"); - sb.append("\172"); - sb.append("\ufd58"); - sb.append("\173"); - sb.append("\ufd58"); - sb.append("\174"); - sb.append("\ufd58"); - sb.append("\175"); - sb.append("\ufd58"); - sb.append("\176"); - sb.append("\ufd58"); - sb.append("\201"); - sb.append("\ufd58"); - sb.append("\242"); - sb.append("\ufd58"); - sb.append("\245"); - sb.append("\ufd58"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); + sb.append("\234"); + sb.append("\uff7c"); + sb.append("\235"); + sb.append("\uff7c"); + sb.append("\236"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); + sb.append("\250"); + sb.append("\uff7c"); sb.append("\251"); - sb.append("\ufd58"); + sb.append("\uff7c"); + sb.append("\253"); + sb.append("\uff7c"); + sb.append("\254"); + sb.append("\uff7c"); + sb.append("\255"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u04a8"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufe8a"); + sb.append("\045"); + sb.append("\ufe8a"); + sb.append("\046"); + sb.append("\ufe8a"); + sb.append("\056"); + sb.append("\ufe8a"); + sb.append("\060"); + sb.append("\ufe8a"); + sb.append("\112"); + sb.append("\ufe8a"); + sb.append("\120"); + sb.append("\ufe8a"); + sb.append("\223"); + sb.append("\ufe8a"); + sb.append("\224"); + sb.append("\ufe8a"); + sb.append("\225"); + sb.append("\ufe8a"); + sb.append("\226"); + sb.append("\ufe8a"); + sb.append("\227"); + sb.append("\ufe8a"); + sb.append("\230"); + sb.append("\ufe8a"); + sb.append("\250"); + sb.append("\ufe8a"); + sb.append("\251"); + sb.append("\ufe8a"); + sb.append("\257"); + sb.append("\ufe8a"); + sb.append("\260"); + sb.append("\ufe8a"); + sb.append("\261"); + sb.append("\ufe8a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\266"); + sb.append("\003"); + sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\217"); sb.append("\011"); sb.append("\204"); sb.append("\012"); sb.append("\075"); + sb.append("\014"); + sb.append("\007"); sb.append("\015"); sb.append("\031"); sb.append("\016"); sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); sb.append("\032"); - sb.append("\u01b9"); + sb.append("\106"); + sb.append("\034"); + sb.append("\113"); sb.append("\036"); sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\023"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); sb.append("\051"); sb.append("\214"); + sb.append("\052"); + sb.append("\057"); sb.append("\054"); sb.append("\026"); + sb.append("\056"); + sb.append("\u03a9"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); sb.append("\062"); sb.append("\210"); sb.append("\063"); sb.append("\010"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); + sb.append("\111"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -2712,10 +2529,16 @@ protected EncodedActionTable13() { sb.append("\117"); sb.append("\105"); sb.append("\141"); + sb.append("\111"); + sb.append("\157"); + sb.append("\112"); + sb.append("\u049b"); sb.append("\115"); sb.append("\136"); sb.append("\116"); sb.append("\046"); + sb.append("\120"); + sb.append("\172"); sb.append("\121"); sb.append("\160"); sb.append("\122"); @@ -2730,1803 +2553,1981 @@ protected EncodedActionTable13() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\151"); + sb.append("\171"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u01b8"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u04a5"); - sb.append("\233"); - sb.append("\152"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\025"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\147"); + sb.append("\227"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u04a7"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufd5c"); - sb.append("\033"); - sb.append("\ufd5c"); - sb.append("\073"); - sb.append("\ufd5c"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufe89"); + sb.append("\045"); + sb.append("\ufe89"); + sb.append("\046"); + sb.append("\ufe89"); + sb.append("\056"); + sb.append("\ufe89"); + sb.append("\060"); + sb.append("\ufe89"); sb.append("\112"); - sb.append("\ufd5c"); - sb.append("\127"); - sb.append("\ufd5c"); - sb.append("\130"); - sb.append("\ufd5c"); - sb.append("\131"); - sb.append("\ufd5c"); - sb.append("\132"); - sb.append("\ufd5c"); - sb.append("\150"); - sb.append("\ufd5c"); - sb.append("\151"); - sb.append("\ufd5c"); - sb.append("\152"); - sb.append("\ufd5c"); - sb.append("\153"); - sb.append("\ufd5c"); - sb.append("\154"); - sb.append("\ufd5c"); - sb.append("\155"); - sb.append("\ufd5c"); - sb.append("\156"); - sb.append("\ufd5c"); - sb.append("\157"); - sb.append("\ufd5c"); - sb.append("\160"); - sb.append("\ufd5c"); - sb.append("\161"); - sb.append("\ufd5c"); - sb.append("\162"); - sb.append("\ufd5c"); - sb.append("\163"); - sb.append("\ufd5c"); - sb.append("\164"); - sb.append("\ufd5c"); - sb.append("\165"); - sb.append("\ufd5c"); - sb.append("\166"); - sb.append("\ufd5c"); - sb.append("\167"); - sb.append("\ufd5c"); - sb.append("\170"); - sb.append("\ufd5c"); - sb.append("\171"); - sb.append("\ufd5c"); - sb.append("\172"); - sb.append("\ufd5c"); - sb.append("\173"); - sb.append("\ufd5c"); - sb.append("\174"); - sb.append("\ufd5c"); - sb.append("\175"); - sb.append("\ufd5c"); - sb.append("\176"); - sb.append("\ufd5c"); - sb.append("\201"); - sb.append("\ufd5c"); - sb.append("\215"); - sb.append("\ufd5c"); - sb.append("\231"); - sb.append("\ufd5c"); - sb.append("\232"); - sb.append("\ufd5c"); - sb.append("\242"); - sb.append("\ufd5c"); - sb.append("\245"); - sb.append("\ufd5c"); + sb.append("\ufe89"); + sb.append("\120"); + sb.append("\ufe89"); + sb.append("\223"); + sb.append("\ufe89"); + sb.append("\224"); + sb.append("\ufe89"); + sb.append("\225"); + sb.append("\ufe89"); + sb.append("\226"); + sb.append("\ufe89"); + sb.append("\227"); + sb.append("\ufe89"); + sb.append("\230"); + sb.append("\ufe89"); + sb.append("\250"); + sb.append("\ufe89"); sb.append("\251"); - sb.append("\ufd5c"); + sb.append("\ufe89"); + sb.append("\257"); + sb.append("\ufe89"); + sb.append("\260"); + sb.append("\ufe89"); + sb.append("\261"); + sb.append("\ufe89"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\070"); + sb.append("\ufea7"); + sb.append("\111"); + sb.append("\ufea7"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u049e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\003"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\004"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\005"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\006"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\007"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\010"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\011"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\012"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\014"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\015"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\016"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\017"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\020"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\021"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\022"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\023"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\024"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\025"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\026"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\027"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\030"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\032"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\034"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\035"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\036"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\037"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\040"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\041"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\042"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\043"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\044"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\045"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\046"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\047"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\050"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\051"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\052"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\054"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\056"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\057"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\061"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\062"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\063"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\064"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\065"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\066"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\074"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\075"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\077"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\100"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\101"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\102"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\103"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\104"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\105"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\111"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\112"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\114"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\115"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\116"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\120"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\121"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\122"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\123"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\124"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\125"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\126"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\133"); - sb.append("\uff68"); + sb.append("\uff5a"); sb.append("\151"); - sb.append("\uff68"); + sb.append("\uff5a"); + sb.append("\173"); + sb.append("\uff5a"); + sb.append("\174"); + sb.append("\uff5a"); + sb.append("\200"); + sb.append("\uff5a"); + sb.append("\201"); + sb.append("\uff5a"); + sb.append("\203"); + sb.append("\uff5a"); + sb.append("\204"); + sb.append("\uff5a"); + sb.append("\205"); + sb.append("\uff5a"); + sb.append("\206"); + sb.append("\uff5a"); + sb.append("\207"); + sb.append("\uff5a"); + sb.append("\210"); + sb.append("\uff5a"); + sb.append("\211"); + sb.append("\uff5a"); + sb.append("\212"); + sb.append("\uff5a"); + sb.append("\213"); + sb.append("\uff5a"); + sb.append("\214"); + sb.append("\uff5a"); + sb.append("\215"); + sb.append("\uff5a"); + sb.append("\217"); + sb.append("\uff5a"); + sb.append("\220"); + sb.append("\uff5a"); + sb.append("\221"); + sb.append("\uff5a"); + sb.append("\222"); + sb.append("\uff5a"); + sb.append("\223"); + sb.append("\uff5a"); + sb.append("\224"); + sb.append("\uff5a"); + sb.append("\225"); + sb.append("\uff5a"); + sb.append("\231"); + sb.append("\uff5a"); + sb.append("\234"); + sb.append("\uff5a"); + sb.append("\235"); + sb.append("\uff5a"); + sb.append("\236"); + sb.append("\uff5a"); + sb.append("\237"); + sb.append("\uff5a"); + sb.append("\241"); + sb.append("\uff5a"); + sb.append("\250"); + sb.append("\uff5a"); + sb.append("\251"); + sb.append("\uff5a"); + sb.append("\253"); + sb.append("\uff5a"); + sb.append("\254"); + sb.append("\uff5a"); + sb.append("\255"); + sb.append("\uff5a"); + sb.append("\256"); + sb.append("\uff5a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd16"); + sb.append("\033"); + sb.append("\ufd16"); + sb.append("\071"); + sb.append("\ufd16"); + sb.append("\072"); + sb.append("\ufd16"); + sb.append("\073"); + sb.append("\ufd16"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd16"); + sb.append("\113"); + sb.append("\ufd16"); + sb.append("\127"); + sb.append("\ufd16"); + sb.append("\130"); + sb.append("\ufd16"); + sb.append("\131"); + sb.append("\ufd16"); + sb.append("\132"); + sb.append("\ufd16"); + sb.append("\134"); + sb.append("\ufd16"); + sb.append("\135"); + sb.append("\ufd16"); + sb.append("\136"); + sb.append("\ufd16"); + sb.append("\137"); + sb.append("\ufd16"); + sb.append("\140"); + sb.append("\ufd16"); + sb.append("\141"); + sb.append("\ufd16"); + sb.append("\142"); + sb.append("\ufd16"); + sb.append("\143"); + sb.append("\ufd16"); + sb.append("\144"); + sb.append("\ufd16"); + sb.append("\145"); + sb.append("\ufd16"); + sb.append("\146"); + sb.append("\ufd16"); + sb.append("\147"); + sb.append("\ufd16"); + sb.append("\150"); + sb.append("\ufd16"); + sb.append("\151"); + sb.append("\ufd16"); + sb.append("\152"); + sb.append("\ufd16"); + sb.append("\153"); + sb.append("\ufd16"); + sb.append("\154"); + sb.append("\ufd16"); + sb.append("\155"); + sb.append("\ufd16"); + sb.append("\156"); + sb.append("\ufd16"); + sb.append("\157"); + sb.append("\ufd16"); + sb.append("\160"); + sb.append("\ufd16"); + sb.append("\161"); + sb.append("\ufd16"); + sb.append("\162"); + sb.append("\ufd16"); + sb.append("\163"); + sb.append("\ufd16"); + sb.append("\164"); + sb.append("\ufd16"); + sb.append("\165"); + sb.append("\ufd16"); + sb.append("\166"); + sb.append("\ufd16"); + sb.append("\167"); + sb.append("\ufd16"); + sb.append("\170"); + sb.append("\ufd16"); + sb.append("\171"); + sb.append("\ufd16"); sb.append("\172"); - sb.append("\uff68"); + sb.append("\ufd16"); sb.append("\173"); - sb.append("\uff68"); + sb.append("\ufd16"); + sb.append("\174"); + sb.append("\ufd16"); + sb.append("\175"); + sb.append("\ufd16"); + sb.append("\176"); + sb.append("\ufd16"); sb.append("\177"); - sb.append("\uff68"); - sb.append("\200"); - sb.append("\uff68"); + sb.append("\ufd16"); sb.append("\202"); - sb.append("\uff68"); + sb.append("\ufd16"); sb.append("\203"); - sb.append("\uff68"); + sb.append("\ufd16"); sb.append("\204"); - sb.append("\uff68"); - sb.append("\205"); - sb.append("\uff68"); - sb.append("\206"); - sb.append("\uff68"); - sb.append("\207"); - sb.append("\uff68"); - sb.append("\210"); - sb.append("\uff68"); - sb.append("\211"); - sb.append("\uff68"); - sb.append("\212"); - sb.append("\uff68"); - sb.append("\213"); - sb.append("\uff68"); - sb.append("\214"); - sb.append("\uff68"); + sb.append("\ufd16"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\216"); - sb.append("\uff68"); - sb.append("\217"); - sb.append("\uff68"); - sb.append("\220"); - sb.append("\uff68"); - sb.append("\221"); - sb.append("\uff68"); - sb.append("\222"); - sb.append("\uff68"); - sb.append("\223"); - sb.append("\uff68"); - sb.append("\224"); - sb.append("\uff68"); - sb.append("\230"); - sb.append("\uff68"); + sb.append("\ufd16"); + sb.append("\231"); + sb.append("\ufd2b"); + sb.append("\232"); + sb.append("\ufd16"); sb.append("\233"); - sb.append("\uff68"); - sb.append("\234"); - sb.append("\uff68"); - sb.append("\235"); - sb.append("\uff68"); - sb.append("\236"); - sb.append("\uff68"); - sb.append("\240"); - sb.append("\uff68"); + sb.append("\ufd16"); + sb.append("\243"); + sb.append("\ufd16"); + sb.append("\244"); + sb.append("\ufd16"); + sb.append("\246"); + sb.append("\ufd16"); sb.append("\247"); - sb.append("\uff68"); - sb.append("\250"); - sb.append("\uff68"); + sb.append("\ufd16"); sb.append("\252"); - sb.append("\uff68"); - sb.append("\253"); - sb.append("\uff68"); - sb.append("\254"); - sb.append("\uff68"); - sb.append("\255"); - sb.append("\uff68"); + sb.append("\ufd16"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\124"); + sb.append("\031"); + sb.append("\ufcd4"); + sb.append("\033"); + sb.append("\ufcd4"); + sb.append("\073"); + sb.append("\ufcd4"); + sb.append("\111"); + sb.append("\ufcd4"); + sb.append("\112"); + sb.append("\ufcd4"); + sb.append("\127"); + sb.append("\ufcd4"); + sb.append("\130"); + sb.append("\ufcd4"); + sb.append("\131"); + sb.append("\ufcd4"); + sb.append("\132"); + sb.append("\ufcd4"); + sb.append("\150"); + sb.append("\ufcd4"); + sb.append("\151"); + sb.append("\ufcd4"); + sb.append("\152"); + sb.append("\ufcd4"); + sb.append("\153"); + sb.append("\ufcd4"); + sb.append("\154"); + sb.append("\ufcd4"); + sb.append("\155"); + sb.append("\ufcd4"); + sb.append("\156"); + sb.append("\ufcd4"); + sb.append("\157"); + sb.append("\ufcd4"); + sb.append("\160"); + sb.append("\ufcd4"); + sb.append("\161"); + sb.append("\ufcd4"); + sb.append("\162"); + sb.append("\ufcd4"); + sb.append("\163"); + sb.append("\ufcd4"); + sb.append("\164"); + sb.append("\ufcd4"); + sb.append("\165"); + sb.append("\ufcd4"); + sb.append("\166"); + sb.append("\ufcd4"); + sb.append("\167"); + sb.append("\ufcd4"); + sb.append("\170"); + sb.append("\ufcd4"); + sb.append("\171"); + sb.append("\ufcd4"); + sb.append("\172"); + sb.append("\ufcd4"); + sb.append("\173"); + sb.append("\ufcd4"); + sb.append("\174"); + sb.append("\ufcd4"); + sb.append("\175"); + sb.append("\ufcd4"); + sb.append("\176"); + sb.append("\ufcd4"); + sb.append("\177"); + sb.append("\ufcd4"); + sb.append("\202"); + sb.append("\ufcd4"); + sb.append("\215"); + sb.append("\ufcd4"); + sb.append("\216"); + sb.append("\ufcd4"); + sb.append("\232"); + sb.append("\ufcd4"); + sb.append("\233"); + sb.append("\ufcd4"); + sb.append("\243"); + sb.append("\ufcd4"); + sb.append("\246"); + sb.append("\ufcd4"); + sb.append("\252"); + sb.append("\ufcd4"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff6a"); + sb.append("\000"); + sb.append("\276"); + sb.append("\002"); + sb.append("\uff9c"); sb.append("\003"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\004"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\005"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\006"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\007"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\010"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\011"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\012"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\014"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\015"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\016"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\017"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\020"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\021"); - sb.append("\uff6a"); - sb.append("\022"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\023"); - sb.append("\uff6a"); - sb.append("\024"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\025"); - sb.append("\uff6a"); - sb.append("\026"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\027"); - sb.append("\uff6a"); - sb.append("\030"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\032"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\034"); - sb.append("\uff6a"); - sb.append("\035"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\036"); - sb.append("\uff6a"); - sb.append("\037"); - sb.append("\uff6a"); - sb.append("\040"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\041"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\042"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\043"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\044"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\045"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\046"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\047"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\050"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\051"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\052"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\054"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\056"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\057"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\061"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\062"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\063"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\064"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\065"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\066"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\074"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\075"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\077"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\100"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\101"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\102"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\103"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\104"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\105"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\111"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\112"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\114"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\115"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\116"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\120"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\121"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\122"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\123"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\124"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\125"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\126"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\133"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\151"); - sb.append("\uff6a"); - sb.append("\172"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\173"); - sb.append("\uff6a"); - sb.append("\177"); - sb.append("\uff6a"); + sb.append("\uff9c"); + sb.append("\174"); + sb.append("\uff9c"); sb.append("\200"); - sb.append("\uff6a"); - sb.append("\202"); - sb.append("\uff6a"); + sb.append("\uff9c"); + sb.append("\201"); + sb.append("\uff9c"); sb.append("\203"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\204"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\205"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\206"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\207"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\210"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\211"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\212"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\213"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\214"); - sb.append("\uff6a"); - sb.append("\216"); - sb.append("\uff6a"); + sb.append("\uff9c"); + sb.append("\215"); + sb.append("\uff9c"); sb.append("\217"); - sb.append("\uff6a"); - sb.append("\220"); - sb.append("\uff6a"); - sb.append("\221"); - sb.append("\uff6a"); - sb.append("\222"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\223"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\224"); - sb.append("\uff6a"); - sb.append("\230"); - sb.append("\uff6a"); - sb.append("\233"); - sb.append("\uff6a"); + sb.append("\uff9c"); + sb.append("\225"); + sb.append("\uff9c"); + sb.append("\231"); + sb.append("\uff9c"); sb.append("\234"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\235"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\236"); - sb.append("\uff6a"); - sb.append("\240"); - sb.append("\uff6a"); - sb.append("\247"); - sb.append("\uff6a"); + sb.append("\uff9c"); + sb.append("\237"); + sb.append("\uff9c"); + sb.append("\241"); + sb.append("\uff9c"); sb.append("\250"); - sb.append("\uff6a"); - sb.append("\252"); - sb.append("\uff6a"); + sb.append("\uff9c"); + sb.append("\251"); + sb.append("\uff9c"); sb.append("\253"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\254"); - sb.append("\uff6a"); + sb.append("\uff9c"); sb.append("\255"); - sb.append("\uff6a"); + sb.append("\uff9c"); + sb.append("\256"); + sb.append("\uff9c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\003"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\004"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\005"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\006"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\007"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\010"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\011"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\012"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\014"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\015"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\016"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\017"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\020"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\021"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\022"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\023"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\024"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\025"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\026"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\027"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\030"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\032"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\034"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\035"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\036"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\037"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\040"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\041"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\042"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\043"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\044"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\045"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\046"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\047"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\050"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\051"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\052"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\054"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\056"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\057"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\061"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\062"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\063"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\064"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\065"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\066"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\074"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\075"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\077"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\100"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\101"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\102"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\103"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\104"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\105"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\111"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\112"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\114"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\115"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\116"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\120"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\121"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\122"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\123"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\124"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\125"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\126"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\133"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\151"); - sb.append("\uff69"); - sb.append("\172"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\173"); - sb.append("\uff69"); - sb.append("\177"); - sb.append("\uff69"); + sb.append("\uff77"); + sb.append("\174"); + sb.append("\uff77"); sb.append("\200"); - sb.append("\uff69"); - sb.append("\202"); - sb.append("\uff69"); + sb.append("\uff77"); + sb.append("\201"); + sb.append("\uff77"); sb.append("\203"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\204"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\205"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\206"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\207"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\210"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\211"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\212"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\213"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\214"); - sb.append("\uff69"); - sb.append("\216"); - sb.append("\uff69"); + sb.append("\uff77"); + sb.append("\215"); + sb.append("\uff77"); sb.append("\217"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\220"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\221"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\222"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\223"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\224"); - sb.append("\uff69"); - sb.append("\230"); - sb.append("\uff69"); - sb.append("\233"); - sb.append("\uff69"); + sb.append("\uff77"); + sb.append("\225"); + sb.append("\uff77"); + sb.append("\231"); + sb.append("\uff77"); sb.append("\234"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\235"); - sb.append("\uff69"); + sb.append("\uff77"); sb.append("\236"); - sb.append("\uff69"); - sb.append("\240"); - sb.append("\uff69"); - sb.append("\247"); - sb.append("\uff69"); + sb.append("\uff77"); + sb.append("\237"); + sb.append("\uff77"); + sb.append("\241"); + sb.append("\uff77"); sb.append("\250"); - sb.append("\uff69"); + sb.append("\uff77"); + sb.append("\251"); + sb.append("\uff77"); + sb.append("\253"); + sb.append("\uff77"); + sb.append("\254"); + sb.append("\uff77"); + sb.append("\255"); + sb.append("\uff77"); + sb.append("\256"); + sb.append("\uff77"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe1e"); + sb.append("\033"); + sb.append("\ufe1e"); + sb.append("\073"); + sb.append("\ufe1e"); + sb.append("\112"); + sb.append("\ufe1e"); + sb.append("\127"); + sb.append("\ufe1e"); + sb.append("\130"); + sb.append("\ufe1e"); + sb.append("\131"); + sb.append("\ufe1e"); + sb.append("\132"); + sb.append("\ufe1e"); + sb.append("\150"); + sb.append("\ufe1e"); + sb.append("\151"); + sb.append("\ufe1e"); + sb.append("\152"); + sb.append("\ufe1e"); + sb.append("\153"); + sb.append("\ufe1e"); + sb.append("\154"); + sb.append("\ufe1e"); + sb.append("\155"); + sb.append("\ufe1e"); + sb.append("\156"); + sb.append("\ufe1e"); + sb.append("\157"); + sb.append("\ufe1e"); + sb.append("\160"); + sb.append("\ufe1e"); + sb.append("\161"); + sb.append("\ufe1e"); + sb.append("\162"); + sb.append("\ufe1e"); + sb.append("\163"); + sb.append("\ufe1e"); + sb.append("\164"); + sb.append("\ufe1e"); + sb.append("\165"); + sb.append("\ufe1e"); + sb.append("\166"); + sb.append("\ufe1e"); + sb.append("\167"); + sb.append("\ufe1e"); + sb.append("\170"); + sb.append("\ufe1e"); + sb.append("\171"); + sb.append("\ufe1e"); + sb.append("\172"); + sb.append("\ufe1e"); + sb.append("\173"); + sb.append("\ufe1e"); + sb.append("\174"); + sb.append("\ufe1e"); + sb.append("\175"); + sb.append("\ufe1e"); + sb.append("\176"); + sb.append("\ufe1e"); + sb.append("\177"); + sb.append("\ufe1e"); + sb.append("\202"); + sb.append("\ufe1e"); + sb.append("\216"); + sb.append("\ufe1e"); + sb.append("\232"); + sb.append("\ufe1e"); + sb.append("\233"); + sb.append("\ufe1e"); + sb.append("\243"); + sb.append("\ufe1e"); + sb.append("\246"); + sb.append("\ufe1e"); sb.append("\252"); - sb.append("\uff69"); - sb.append("\253"); - sb.append("\uff69"); - sb.append("\254"); - sb.append("\uff69"); - sb.append("\255"); - sb.append("\uff69"); + sb.append("\ufe1e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufe21"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe21"); + sb.append("\ufd5b"); sb.append("\073"); - sb.append("\ufe21"); + sb.append("\ufd5b"); sb.append("\112"); - sb.append("\ufe21"); + sb.append("\ufd5b"); sb.append("\127"); - sb.append("\ufe21"); + sb.append("\ufd5b"); sb.append("\130"); - sb.append("\ufe21"); + sb.append("\ufd5b"); sb.append("\131"); - sb.append("\ufe21"); + sb.append("\ufd5b"); sb.append("\132"); - sb.append("\ufe21"); + sb.append("\ufd5b"); sb.append("\150"); - sb.append("\ufe21"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe21"); + sb.append("\ufd5b"); sb.append("\152"); - sb.append("\ufe21"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufe21"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufe21"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufe21"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufe21"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufe21"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufe21"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufe21"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufe21"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufe21"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufe21"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufe21"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufe21"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufe21"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufe21"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufe21"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufe21"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufe21"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufe21"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufe21"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufe21"); - sb.append("\201"); - sb.append("\ufe21"); - sb.append("\215"); - sb.append("\ufe21"); - sb.append("\231"); - sb.append("\ufe21"); - sb.append("\232"); - sb.append("\ufe21"); - sb.append("\242"); - sb.append("\ufe21"); - sb.append("\245"); - sb.append("\ufe21"); - sb.append("\251"); - sb.append("\ufe21"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u04b2"); - sb.append("\231"); - sb.append("\u04b1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\134"); - sb.append("\u04af"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\070"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); - sb.append("\016"); - sb.append("\356"); - sb.append("\075"); - sb.append("\351"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\172"); - sb.append("\362"); - sb.append("\173"); - sb.append("\352"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufd5b"); + sb.append("\232"); + sb.append("\ufd5b"); + sb.append("\233"); + sb.append("\ufd5b"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff10"); - sb.append("\231"); - sb.append("\uff10"); - sb.append("\001"); + sb.append("\322"); sb.append("\002"); - sb.append("\000"); - sb.append("\250"); + sb.append("\uff6b"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff6b"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff6b"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff6b"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff6b"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff6b"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff6b"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff6b"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff6b"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff6b"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff6b"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff6b"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff6b"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff6b"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff6b"); + sb.append("\022"); + sb.append("\uff6b"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff6b"); + sb.append("\024"); + sb.append("\uff6b"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff6b"); + sb.append("\026"); + sb.append("\uff6b"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff6b"); + sb.append("\030"); + sb.append("\uff6b"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff6b"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff6b"); + sb.append("\035"); + sb.append("\uff6b"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff6b"); + sb.append("\037"); + sb.append("\uff6b"); + sb.append("\040"); + sb.append("\uff6b"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff6b"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff6b"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff6b"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff6b"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff6b"); + sb.append("\046"); + sb.append("\uff6b"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff6b"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff6b"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff6b"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff6b"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff6b"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff6b"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff6b"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff6b"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff6b"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff6b"); + sb.append("\064"); + sb.append("\uff6b"); + sb.append("\065"); + sb.append("\uff6b"); + sb.append("\066"); + sb.append("\uff6b"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff6b"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff6b"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff6b"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff6b"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff6b"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff6b"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff6b"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff6b"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff6b"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff6b"); + sb.append("\112"); + sb.append("\uff6b"); + sb.append("\114"); + sb.append("\uff6b"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff6b"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff6b"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff6b"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff6b"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff6b"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff6b"); sb.append("\124"); + sb.append("\uff6b"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff6b"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff6b"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff6b"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff6b"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff6b"); + sb.append("\174"); + sb.append("\uff6b"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff6b"); + sb.append("\201"); + sb.append("\uff6b"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff6b"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff6b"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff6b"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff6b"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff6b"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff6b"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff6b"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff6b"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff6b"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff6b"); + sb.append("\215"); + sb.append("\uff6b"); + sb.append("\217"); + sb.append("\uff6b"); + sb.append("\220"); + sb.append("\uff6b"); + sb.append("\221"); + sb.append("\uff6b"); sb.append("\222"); - sb.append("\025"); - sb.append("\230"); - sb.append("\047"); - sb.append("\232"); - sb.append("\u04b7"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff6b"); + sb.append("\223"); + sb.append("\uff6b"); + sb.append("\224"); + sb.append("\uff6b"); + sb.append("\225"); + sb.append("\uff6b"); + sb.append("\231"); + sb.append("\uff6b"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff6b"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff6b"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff6b"); + sb.append("\237"); + sb.append("\uff6b"); + sb.append("\241"); + sb.append("\uff6b"); + sb.append("\250"); + sb.append("\uff6b"); + sb.append("\251"); + sb.append("\uff6b"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff6b"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff6b"); sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); + sb.append("\uff6b"); + sb.append("\256"); + sb.append("\uff6b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\142"); + sb.append("\031"); + sb.append("\ufd4e"); + sb.append("\130"); + sb.append("\ufd4e"); + sb.append("\131"); + sb.append("\ufd4e"); + sb.append("\132"); + sb.append("\ufd4e"); sb.append("\134"); - sb.append("\u04b4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\070"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); - sb.append("\016"); - sb.append("\356"); - sb.append("\075"); - sb.append("\351"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); + sb.append("\u0375"); + sb.append("\135"); + sb.append("\u037a"); sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); + sb.append("\u0376"); + sb.append("\137"); + sb.append("\u0380"); + sb.append("\140"); + sb.append("\u0379"); + sb.append("\141"); + sb.append("\u037f"); + sb.append("\142"); + sb.append("\u037c"); + sb.append("\143"); + sb.append("\u037e"); + sb.append("\144"); + sb.append("\u0378"); + sb.append("\145"); + sb.append("\u0374"); + sb.append("\146"); + sb.append("\u037b"); + sb.append("\147"); + sb.append("\u037d"); + sb.append("\150"); + sb.append("\ufd4e"); + sb.append("\151"); + sb.append("\u04ae"); + sb.append("\152"); + sb.append("\ufd4e"); + sb.append("\153"); + sb.append("\ufd4e"); + sb.append("\154"); + sb.append("\ufd4e"); + sb.append("\155"); + sb.append("\ufd4e"); + sb.append("\156"); + sb.append("\ufd4e"); + sb.append("\157"); + sb.append("\ufd4e"); sb.append("\160"); + sb.append("\ufd4e"); + sb.append("\161"); + sb.append("\ufd4e"); + sb.append("\162"); + sb.append("\ufd4e"); + sb.append("\163"); + sb.append("\ufd4e"); + sb.append("\164"); + sb.append("\ufd4e"); + sb.append("\165"); + sb.append("\ufd4e"); + sb.append("\166"); + sb.append("\ufd4e"); + sb.append("\167"); + sb.append("\ufd4e"); + sb.append("\170"); + sb.append("\ufd4e"); + sb.append("\171"); + sb.append("\ufd4e"); sb.append("\172"); - sb.append("\362"); + sb.append("\ufd4e"); sb.append("\173"); - sb.append("\352"); + sb.append("\ufd4e"); + sb.append("\174"); + sb.append("\ufd4e"); + sb.append("\175"); + sb.append("\ufd4e"); + sb.append("\176"); + sb.append("\ufd4e"); sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd4e"); + sb.append("\202"); + sb.append("\ufd4e"); + sb.append("\203"); + sb.append("\ufd4c"); + sb.append("\204"); + sb.append("\ufd4c"); + sb.append("\243"); + sb.append("\ufd4e"); + sb.append("\244"); + sb.append("\u0377"); + sb.append("\246"); + sb.append("\ufd4e"); + sb.append("\247"); + sb.append("\u0381"); + sb.append("\252"); + sb.append("\ufd4e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\ufd56"); + sb.append("\130"); + sb.append("\ufd56"); + sb.append("\131"); + sb.append("\ufd56"); + sb.append("\132"); + sb.append("\ufd56"); + sb.append("\150"); + sb.append("\ufd56"); + sb.append("\151"); + sb.append("\u04ad"); + sb.append("\152"); + sb.append("\ufd56"); + sb.append("\153"); + sb.append("\ufd56"); + sb.append("\154"); + sb.append("\ufd56"); + sb.append("\155"); + sb.append("\ufd56"); + sb.append("\156"); + sb.append("\ufd56"); + sb.append("\157"); + sb.append("\ufd56"); + sb.append("\160"); + sb.append("\ufd56"); + sb.append("\161"); + sb.append("\ufd56"); + sb.append("\162"); + sb.append("\ufd56"); + sb.append("\163"); + sb.append("\ufd56"); + sb.append("\164"); + sb.append("\ufd56"); + sb.append("\165"); + sb.append("\ufd56"); + sb.append("\166"); + sb.append("\ufd56"); + sb.append("\167"); + sb.append("\ufd56"); + sb.append("\170"); + sb.append("\ufd56"); + sb.append("\171"); + sb.append("\ufd56"); + sb.append("\172"); + sb.append("\ufd56"); + sb.append("\173"); + sb.append("\ufd56"); + sb.append("\174"); + sb.append("\ufd56"); + sb.append("\175"); + sb.append("\ufd56"); + sb.append("\176"); + sb.append("\ufd56"); + sb.append("\177"); + sb.append("\ufd56"); + sb.append("\202"); + sb.append("\ufd56"); + sb.append("\243"); + sb.append("\ufd56"); + sb.append("\246"); + sb.append("\ufd56"); + sb.append("\252"); + sb.append("\ufd56"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff0f"); - sb.append("\231"); - sb.append("\uff0f"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u04ac"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff5e"); - sb.append("\003"); - sb.append("\uff5e"); + sb.append("\172"); sb.append("\004"); - sb.append("\uff5e"); - sb.append("\005"); - sb.append("\uff5e"); + sb.append("\202"); sb.append("\006"); - sb.append("\uff5e"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff5e"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff5e"); + sb.append("\u01b1"); sb.append("\011"); - sb.append("\uff5e"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff5e"); - sb.append("\014"); - sb.append("\uff5e"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff5e"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff5e"); - sb.append("\017"); - sb.append("\uff5e"); - sb.append("\020"); - sb.append("\uff5e"); - sb.append("\021"); - sb.append("\uff5e"); - sb.append("\022"); - sb.append("\uff5e"); - sb.append("\023"); - sb.append("\uff5e"); - sb.append("\024"); - sb.append("\uff5e"); - sb.append("\025"); - sb.append("\uff5e"); - sb.append("\026"); - sb.append("\uff5e"); - sb.append("\027"); - sb.append("\uff5e"); - sb.append("\030"); - sb.append("\uff5e"); + sb.append("\071"); sb.append("\032"); - sb.append("\uff5e"); - sb.append("\034"); - sb.append("\uff5e"); - sb.append("\035"); - sb.append("\uff5e"); + sb.append("\u01bb"); sb.append("\036"); - sb.append("\uff5e"); - sb.append("\037"); - sb.append("\uff5e"); - sb.append("\040"); - sb.append("\uff5e"); - sb.append("\041"); - sb.append("\uff5e"); - sb.append("\042"); - sb.append("\uff5e"); - sb.append("\043"); - sb.append("\uff5e"); + sb.append("\125"); sb.append("\044"); - sb.append("\uff5e"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff5e"); - sb.append("\046"); - sb.append("\uff5e"); - sb.append("\047"); - sb.append("\uff5e"); - sb.append("\050"); - sb.append("\uff5e"); + sb.append("\u01b3"); sb.append("\051"); - sb.append("\uff5e"); - sb.append("\052"); - sb.append("\uff5e"); + sb.append("\214"); sb.append("\054"); - sb.append("\uff5e"); - sb.append("\056"); - sb.append("\uff5e"); - sb.append("\057"); - sb.append("\uff5e"); - sb.append("\061"); - sb.append("\uff5e"); + sb.append("\026"); sb.append("\062"); - sb.append("\uff5e"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff5e"); - sb.append("\064"); - sb.append("\uff5e"); - sb.append("\065"); - sb.append("\uff5e"); - sb.append("\066"); - sb.append("\uff5e"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff5e"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff5e"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff5e"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff5e"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff5e"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff5e"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff5e"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff5e"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff5e"); - sb.append("\111"); - sb.append("\uff5e"); - sb.append("\112"); - sb.append("\uff5e"); - sb.append("\114"); - sb.append("\uff5e"); + sb.append("\141"); sb.append("\115"); - sb.append("\uff5e"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff5e"); - sb.append("\120"); - sb.append("\uff5e"); + sb.append("\046"); sb.append("\121"); - sb.append("\uff5e"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff5e"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff5e"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff5e"); sb.append("\125"); - sb.append("\uff5e"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff5e"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff5e"); - sb.append("\151"); - sb.append("\uff5e"); - sb.append("\172"); - sb.append("\uff5e"); + sb.append("\020"); sb.append("\173"); - sb.append("\uff5e"); - sb.append("\177"); - sb.append("\uff5e"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff5e"); - sb.append("\202"); - sb.append("\uff5e"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff5e"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff5e"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff5e"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff5e"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff5e"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff5e"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff5e"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff5e"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff5e"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff5e"); - sb.append("\216"); - sb.append("\uff5e"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff5e"); - sb.append("\220"); - sb.append("\uff5e"); - sb.append("\221"); - sb.append("\uff5e"); - sb.append("\222"); - sb.append("\uff5e"); + sb.append("\u01ba"); sb.append("\223"); - sb.append("\uff5e"); - sb.append("\224"); - sb.append("\uff5e"); - sb.append("\230"); - sb.append("\uff5e"); - sb.append("\233"); - sb.append("\uff5e"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u04a9"); sb.append("\234"); - sb.append("\uff5e"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff5e"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff5e"); - sb.append("\240"); - sb.append("\uff5e"); - sb.append("\247"); - sb.append("\uff5e"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff5e"); - sb.append("\252"); - sb.append("\uff5e"); - sb.append("\253"); - sb.append("\uff5e"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff5e"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff5e"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff7c"); - sb.append("\005"); - sb.append("\uff7c"); - sb.append("\006"); - sb.append("\uff7c"); - sb.append("\007"); - sb.append("\uff7c"); - sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); - sb.append("\012"); - sb.append("\uff7c"); - sb.append("\014"); - sb.append("\uff7c"); - sb.append("\015"); - sb.append("\uff7c"); - sb.append("\016"); - sb.append("\uff7c"); - sb.append("\017"); - sb.append("\uff7c"); - sb.append("\020"); - sb.append("\uff7c"); - sb.append("\021"); - sb.append("\uff7c"); - sb.append("\023"); - sb.append("\uff7c"); - sb.append("\025"); - sb.append("\uff7c"); - sb.append("\027"); - sb.append("\uff7c"); - sb.append("\030"); - sb.append("\uff7c"); - sb.append("\032"); - sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); - sb.append("\036"); - sb.append("\uff7c"); - sb.append("\041"); - sb.append("\uff7c"); - sb.append("\042"); - sb.append("\uff7c"); - sb.append("\043"); - sb.append("\uff7c"); - sb.append("\044"); - sb.append("\uff7c"); - sb.append("\045"); - sb.append("\uff7c"); - sb.append("\047"); - sb.append("\uff7c"); - sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); - sb.append("\052"); - sb.append("\uff7c"); - sb.append("\054"); - sb.append("\uff7c"); - sb.append("\056"); - sb.append("\uff7c"); - sb.append("\057"); - sb.append("\uff7c"); - sb.append("\061"); - sb.append("\uff7c"); - sb.append("\062"); - sb.append("\uff7c"); - sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); - sb.append("\074"); - sb.append("\uff7c"); - sb.append("\075"); - sb.append("\uff7c"); - sb.append("\077"); - sb.append("\uff7c"); - sb.append("\100"); - sb.append("\uff7c"); - sb.append("\101"); - sb.append("\uff7c"); - sb.append("\102"); - sb.append("\uff7c"); - sb.append("\103"); - sb.append("\uff7c"); - sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); - sb.append("\111"); - sb.append("\uff7c"); - sb.append("\115"); - sb.append("\uff7c"); - sb.append("\116"); - sb.append("\uff7c"); + sb.append("\232"); + sb.append("\u04ab"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\120"); - sb.append("\uff7c"); - sb.append("\121"); - sb.append("\uff7c"); - sb.append("\122"); - sb.append("\uff7c"); - sb.append("\123"); - sb.append("\uff7c"); - sb.append("\124"); - sb.append("\uff7c"); - sb.append("\125"); - sb.append("\uff7c"); - sb.append("\126"); - sb.append("\uff7c"); - sb.append("\133"); - sb.append("\uff7c"); + sb.append("\031"); + sb.append("\ufd5a"); + sb.append("\033"); + sb.append("\ufd5a"); + sb.append("\073"); + sb.append("\ufd5a"); + sb.append("\112"); + sb.append("\ufd5a"); + sb.append("\127"); + sb.append("\ufd5a"); + sb.append("\130"); + sb.append("\ufd5a"); + sb.append("\131"); + sb.append("\ufd5a"); + sb.append("\132"); + sb.append("\ufd5a"); + sb.append("\150"); + sb.append("\ufd5a"); sb.append("\151"); - sb.append("\uff7c"); + sb.append("\ufd5a"); + sb.append("\152"); + sb.append("\ufd5a"); + sb.append("\153"); + sb.append("\ufd5a"); + sb.append("\154"); + sb.append("\ufd5a"); + sb.append("\155"); + sb.append("\ufd5a"); + sb.append("\156"); + sb.append("\ufd5a"); + sb.append("\157"); + sb.append("\ufd5a"); + sb.append("\160"); + sb.append("\ufd5a"); + sb.append("\161"); + sb.append("\ufd5a"); + sb.append("\162"); + sb.append("\ufd5a"); + sb.append("\163"); + sb.append("\ufd5a"); + sb.append("\164"); + sb.append("\ufd5a"); + sb.append("\165"); + sb.append("\ufd5a"); + sb.append("\166"); + sb.append("\ufd5a"); + sb.append("\167"); + sb.append("\ufd5a"); + sb.append("\170"); + sb.append("\ufd5a"); + sb.append("\171"); + sb.append("\ufd5a"); sb.append("\172"); - sb.append("\uff7c"); + sb.append("\ufd5a"); sb.append("\173"); - sb.append("\uff7c"); + sb.append("\ufd5a"); + sb.append("\174"); + sb.append("\ufd5a"); + sb.append("\175"); + sb.append("\ufd5a"); + sb.append("\176"); + sb.append("\ufd5a"); sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); + sb.append("\ufd5a"); sb.append("\202"); - sb.append("\uff7c"); - sb.append("\203"); - sb.append("\uff7c"); - sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); + sb.append("\ufd5a"); sb.append("\216"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); - sb.append("\223"); - sb.append("\uff7c"); - sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); + sb.append("\ufd5a"); + sb.append("\232"); + sb.append("\ufd5a"); sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); - sb.append("\250"); - sb.append("\uff7c"); + sb.append("\ufd5a"); + sb.append("\243"); + sb.append("\ufd5a"); + sb.append("\246"); + sb.append("\ufd5a"); sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); - sb.append("\254"); - sb.append("\uff7c"); - sb.append("\255"); - sb.append("\uff7c"); + sb.append("\ufd5a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\003"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\004"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\005"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\006"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\007"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\010"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\011"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\012"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\014"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\015"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\016"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\017"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\020"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\021"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\022"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\023"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\024"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\025"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\026"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\027"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\030"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\032"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\034"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\035"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\036"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\037"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\040"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\041"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\042"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\043"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\044"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\045"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\046"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\047"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\050"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\051"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\052"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\054"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\056"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\057"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\061"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\062"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\063"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\064"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\065"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\066"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\074"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\075"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\077"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\100"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\101"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\102"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\103"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\104"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\105"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\111"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\112"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\114"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\115"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\116"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\120"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\121"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\122"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\123"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\124"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\125"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\126"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\133"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\151"); - sb.append("\uff12"); - sb.append("\172"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\173"); - sb.append("\uff12"); - sb.append("\177"); - sb.append("\uff12"); + sb.append("\uff68"); + sb.append("\174"); + sb.append("\uff68"); sb.append("\200"); - sb.append("\uff12"); - sb.append("\202"); - sb.append("\uff12"); + sb.append("\uff68"); + sb.append("\201"); + sb.append("\uff68"); sb.append("\203"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\204"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\205"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\206"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\207"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\210"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\211"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\212"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\213"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\214"); - sb.append("\uff12"); - sb.append("\216"); - sb.append("\uff12"); + sb.append("\uff68"); + sb.append("\215"); + sb.append("\uff68"); sb.append("\217"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\220"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\221"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\222"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\223"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\224"); - sb.append("\uff12"); - sb.append("\230"); - sb.append("\uff12"); - sb.append("\233"); - sb.append("\uff12"); + sb.append("\uff68"); + sb.append("\225"); + sb.append("\uff68"); + sb.append("\231"); + sb.append("\uff68"); sb.append("\234"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\235"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\236"); - sb.append("\uff12"); - sb.append("\240"); - sb.append("\uff12"); - sb.append("\247"); - sb.append("\uff12"); + sb.append("\uff68"); + sb.append("\237"); + sb.append("\uff68"); + sb.append("\241"); + sb.append("\uff68"); sb.append("\250"); - sb.append("\uff12"); - sb.append("\252"); - sb.append("\uff12"); + sb.append("\uff68"); + sb.append("\251"); + sb.append("\uff68"); sb.append("\253"); - sb.append("\uff12"); + sb.append("\uff68"); sb.append("\254"); - sb.append("\uff12"); + sb.append("\uff68"); + sb.append("\255"); + sb.append("\uff68"); + sb.append("\256"); + sb.append("\uff68"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff6a"); + sb.append("\003"); + sb.append("\uff6a"); + sb.append("\004"); + sb.append("\uff6a"); + sb.append("\005"); + sb.append("\uff6a"); + sb.append("\006"); + sb.append("\uff6a"); + sb.append("\007"); + sb.append("\uff6a"); + sb.append("\010"); + sb.append("\uff6a"); + sb.append("\011"); + sb.append("\uff6a"); + sb.append("\012"); + sb.append("\uff6a"); + sb.append("\014"); + sb.append("\uff6a"); + sb.append("\015"); + sb.append("\uff6a"); + sb.append("\016"); + sb.append("\uff6a"); + sb.append("\017"); + sb.append("\uff6a"); + sb.append("\020"); + sb.append("\uff6a"); + sb.append("\021"); + sb.append("\uff6a"); + sb.append("\022"); + sb.append("\uff6a"); + sb.append("\023"); + sb.append("\uff6a"); + sb.append("\024"); + sb.append("\uff6a"); + sb.append("\025"); + sb.append("\uff6a"); + sb.append("\026"); + sb.append("\uff6a"); + sb.append("\027"); + sb.append("\uff6a"); + sb.append("\030"); + sb.append("\uff6a"); + sb.append("\032"); + sb.append("\uff6a"); + sb.append("\034"); + sb.append("\uff6a"); + sb.append("\035"); + sb.append("\uff6a"); + sb.append("\036"); + sb.append("\uff6a"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java index 3ce2c200eefb..e1282226d4dd 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,440 +29,614 @@ public String getTableData() { } protected EncodedActionTable14() { sb = new StringBuilder(); - sb.append("\255"); - sb.append("\uff12"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\211"); - sb.append("\004"); - sb.append("\201"); - sb.append("\005"); - sb.append("\164"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\217"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\014"); - sb.append("\007"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\023"); - sb.append("\145"); - sb.append("\025"); - sb.append("\200"); - sb.append("\027"); - sb.append("\203"); - sb.append("\030"); - sb.append("\u04ba"); - sb.append("\032"); - sb.append("\106"); - sb.append("\034"); - sb.append("\113"); - sb.append("\036"); - sb.append("\125"); + sb.append("\037"); + sb.append("\uff6a"); + sb.append("\040"); + sb.append("\uff6a"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff6a"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff6a"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff6a"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff6a"); sb.append("\045"); - sb.append("\023"); + sb.append("\uff6a"); + sb.append("\046"); + sb.append("\uff6a"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff6a"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff6a"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff6a"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff6a"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff6a"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff6a"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff6a"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff6a"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff6a"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff6a"); + sb.append("\064"); + sb.append("\uff6a"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff6a"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff6a"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff6a"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff6a"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff6a"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff6a"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff6a"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff6a"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff6a"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff6a"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff6a"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff6a"); + sb.append("\112"); + sb.append("\uff6a"); + sb.append("\114"); + sb.append("\uff6a"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff6a"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff6a"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff6a"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff6a"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff6a"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff6a"); sb.append("\124"); + sb.append("\uff6a"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff6a"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff6a"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff6a"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff6a"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff6a"); + sb.append("\174"); + sb.append("\uff6a"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff6a"); + sb.append("\201"); + sb.append("\uff6a"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff6a"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff6a"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff6a"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff6a"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff6a"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff6a"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff6a"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff6a"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff6a"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff6a"); + sb.append("\215"); + sb.append("\uff6a"); + sb.append("\217"); + sb.append("\uff6a"); + sb.append("\220"); + sb.append("\uff6a"); + sb.append("\221"); + sb.append("\uff6a"); sb.append("\222"); - sb.append("\025"); + sb.append("\uff6a"); sb.append("\223"); - sb.append("\030"); + sb.append("\uff6a"); sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff6a"); + sb.append("\225"); + sb.append("\uff6a"); + sb.append("\231"); + sb.append("\uff6a"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff6a"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff6a"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff6a"); + sb.append("\237"); + sb.append("\uff6a"); + sb.append("\241"); + sb.append("\uff6a"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); + sb.append("\uff6a"); + sb.append("\251"); + sb.append("\uff6a"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff6a"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff6a"); sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u04bb"); + sb.append("\uff6a"); + sb.append("\256"); + sb.append("\uff6a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\003"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\004"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\005"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\006"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\007"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\010"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\011"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\012"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\014"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\015"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\016"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\017"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\020"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\021"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\022"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\023"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\024"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\025"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\026"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\027"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\030"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\032"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\034"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\035"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\036"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\037"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\040"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\041"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\042"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\043"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\044"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\045"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\046"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\047"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\050"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\051"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\052"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\054"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\056"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\057"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\061"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\062"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\063"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\064"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\065"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\066"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\074"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\075"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\077"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\100"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\101"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\102"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\103"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\104"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\105"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\111"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\112"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\114"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\115"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\116"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\120"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\121"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\122"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\123"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\124"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\125"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\126"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\133"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\151"); - sb.append("\uff11"); - sb.append("\172"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\173"); - sb.append("\uff11"); - sb.append("\177"); - sb.append("\uff11"); + sb.append("\uff69"); + sb.append("\174"); + sb.append("\uff69"); sb.append("\200"); - sb.append("\uff11"); - sb.append("\202"); - sb.append("\uff11"); + sb.append("\uff69"); + sb.append("\201"); + sb.append("\uff69"); sb.append("\203"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\204"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\205"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\206"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\207"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\210"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\211"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\212"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\213"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\214"); - sb.append("\uff11"); - sb.append("\216"); - sb.append("\uff11"); + sb.append("\uff69"); + sb.append("\215"); + sb.append("\uff69"); sb.append("\217"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\220"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\221"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\222"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\223"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\224"); - sb.append("\uff11"); - sb.append("\230"); - sb.append("\uff11"); - sb.append("\233"); - sb.append("\uff11"); + sb.append("\uff69"); + sb.append("\225"); + sb.append("\uff69"); + sb.append("\231"); + sb.append("\uff69"); sb.append("\234"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\235"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\236"); - sb.append("\uff11"); - sb.append("\240"); - sb.append("\uff11"); - sb.append("\247"); - sb.append("\uff11"); + sb.append("\uff69"); + sb.append("\237"); + sb.append("\uff69"); + sb.append("\241"); + sb.append("\uff69"); sb.append("\250"); - sb.append("\uff11"); - sb.append("\252"); - sb.append("\uff11"); + sb.append("\uff69"); + sb.append("\251"); + sb.append("\uff69"); sb.append("\253"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\254"); - sb.append("\uff11"); + sb.append("\uff69"); sb.append("\255"); - sb.append("\uff11"); + sb.append("\uff69"); + sb.append("\256"); + sb.append("\uff69"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe20"); + sb.append("\033"); + sb.append("\ufe20"); + sb.append("\073"); + sb.append("\ufe20"); + sb.append("\112"); + sb.append("\ufe20"); + sb.append("\127"); + sb.append("\ufe20"); + sb.append("\130"); + sb.append("\ufe20"); + sb.append("\131"); + sb.append("\ufe20"); + sb.append("\132"); + sb.append("\ufe20"); + sb.append("\150"); + sb.append("\ufe20"); + sb.append("\151"); + sb.append("\ufe20"); + sb.append("\152"); + sb.append("\ufe20"); + sb.append("\153"); + sb.append("\ufe20"); + sb.append("\154"); + sb.append("\ufe20"); + sb.append("\155"); + sb.append("\ufe20"); + sb.append("\156"); + sb.append("\ufe20"); + sb.append("\157"); + sb.append("\ufe20"); + sb.append("\160"); + sb.append("\ufe20"); + sb.append("\161"); + sb.append("\ufe20"); + sb.append("\162"); + sb.append("\ufe20"); + sb.append("\163"); + sb.append("\ufe20"); + sb.append("\164"); + sb.append("\ufe20"); + sb.append("\165"); + sb.append("\ufe20"); + sb.append("\166"); + sb.append("\ufe20"); + sb.append("\167"); + sb.append("\ufe20"); sb.append("\170"); + sb.append("\ufe20"); + sb.append("\171"); + sb.append("\ufe20"); + sb.append("\172"); + sb.append("\ufe20"); + sb.append("\173"); + sb.append("\ufe20"); + sb.append("\174"); + sb.append("\ufe20"); + sb.append("\175"); + sb.append("\ufe20"); + sb.append("\176"); + sb.append("\ufe20"); + sb.append("\177"); + sb.append("\ufe20"); + sb.append("\202"); + sb.append("\ufe20"); + sb.append("\216"); + sb.append("\ufe20"); + sb.append("\232"); + sb.append("\ufe20"); + sb.append("\233"); + sb.append("\ufe20"); + sb.append("\243"); + sb.append("\ufe20"); + sb.append("\246"); + sb.append("\ufe20"); + sb.append("\252"); + sb.append("\ufe20"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u04b6"); + sb.append("\232"); + sb.append("\u04b5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\004"); + sb.append("\134"); + sb.append("\u04b3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\070"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\356"); + sb.append("\015"); + sb.append("\364"); + sb.append("\016"); + sb.append("\357"); + sb.append("\075"); + sb.append("\351"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\173"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); + sb.append("\200"); + sb.append("\347"); sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\uff10"); + sb.append("\232"); + sb.append("\uff10"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\250"); + sb.append("\003"); + sb.append("\211"); + sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\217"); sb.append("\011"); sb.append("\204"); sb.append("\012"); sb.append("\075"); + sb.append("\014"); + sb.append("\007"); sb.append("\015"); sb.append("\031"); sb.append("\016"); sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); sb.append("\032"); sb.append("\106"); + sb.append("\034"); + sb.append("\113"); sb.append("\036"); sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\052"); + sb.append("\057"); sb.append("\054"); sb.append("\026"); + sb.append("\056"); + sb.append("\u03a9"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); sb.append("\062"); sb.append("\210"); sb.append("\063"); @@ -484,10 +659,14 @@ protected EncodedActionTable14() { sb.append("\117"); sb.append("\105"); sb.append("\141"); + sb.append("\111"); + sb.append("\157"); sb.append("\115"); sb.append("\136"); sb.append("\116"); sb.append("\046"); + sb.append("\120"); + sb.append("\172"); sb.append("\121"); sb.append("\160"); sb.append("\122"); @@ -502,1368 +681,1186 @@ protected EncodedActionTable14() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\151"); + sb.append("\171"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\223"); + sb.append("\025"); + sb.append("\231"); + sb.append("\047"); sb.append("\233"); - sb.append("\152"); + sb.append("\u04bb"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\140"); - sb.append("\031"); - sb.append("\ufd50"); - sb.append("\033"); - sb.append("\u04d5"); - sb.append("\130"); - sb.append("\ufd50"); - sb.append("\131"); - sb.append("\ufd50"); - sb.append("\132"); - sb.append("\ufd50"); + sb.append("\006"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); sb.append("\134"); - sb.append("\u0371"); - sb.append("\135"); - sb.append("\u0376"); - sb.append("\136"); - sb.append("\u0372"); - sb.append("\137"); - sb.append("\u037c"); - sb.append("\140"); - sb.append("\u0375"); - sb.append("\141"); - sb.append("\u037b"); - sb.append("\142"); - sb.append("\u0378"); - sb.append("\143"); - sb.append("\u037a"); - sb.append("\144"); - sb.append("\u0374"); - sb.append("\145"); - sb.append("\u0370"); - sb.append("\146"); - sb.append("\u0377"); - sb.append("\147"); - sb.append("\u0379"); - sb.append("\150"); - sb.append("\ufd50"); - sb.append("\152"); - sb.append("\ufd50"); - sb.append("\153"); - sb.append("\ufd50"); - sb.append("\154"); - sb.append("\ufd50"); - sb.append("\155"); - sb.append("\ufd50"); - sb.append("\156"); - sb.append("\ufd50"); - sb.append("\157"); - sb.append("\ufd50"); - sb.append("\160"); - sb.append("\ufd50"); - sb.append("\161"); - sb.append("\ufd50"); - sb.append("\162"); - sb.append("\ufd50"); - sb.append("\163"); - sb.append("\ufd50"); - sb.append("\164"); - sb.append("\ufd50"); - sb.append("\165"); - sb.append("\ufd50"); - sb.append("\166"); - sb.append("\ufd50"); - sb.append("\167"); - sb.append("\ufd50"); - sb.append("\170"); - sb.append("\ufd50"); - sb.append("\171"); - sb.append("\ufd50"); - sb.append("\172"); - sb.append("\ufd50"); - sb.append("\173"); - sb.append("\ufd50"); - sb.append("\174"); - sb.append("\ufd50"); - sb.append("\175"); - sb.append("\ufd50"); - sb.append("\176"); - sb.append("\ufd50"); - sb.append("\201"); - sb.append("\ufd50"); - sb.append("\202"); - sb.append("\ufd4e"); - sb.append("\203"); - sb.append("\ufd4e"); - sb.append("\242"); - sb.append("\ufd50"); - sb.append("\243"); - sb.append("\u0373"); - sb.append("\245"); - sb.append("\ufd50"); - sb.append("\246"); - sb.append("\u037d"); - sb.append("\251"); - sb.append("\ufd50"); + sb.append("\u04b8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\ufd58"); - sb.append("\033"); - sb.append("\u04bf"); - sb.append("\130"); - sb.append("\ufd58"); - sb.append("\131"); - sb.append("\ufd58"); - sb.append("\132"); - sb.append("\ufd58"); - sb.append("\150"); - sb.append("\ufd58"); - sb.append("\152"); - sb.append("\ufd58"); - sb.append("\153"); - sb.append("\ufd58"); - sb.append("\154"); - sb.append("\ufd58"); - sb.append("\155"); - sb.append("\ufd58"); + sb.append("\070"); + sb.append("\006"); sb.append("\156"); - sb.append("\ufd58"); - sb.append("\157"); - sb.append("\ufd58"); - sb.append("\160"); - sb.append("\ufd58"); - sb.append("\161"); - sb.append("\ufd58"); - sb.append("\162"); - sb.append("\ufd58"); - sb.append("\163"); - sb.append("\ufd58"); - sb.append("\164"); - sb.append("\ufd58"); - sb.append("\165"); - sb.append("\ufd58"); - sb.append("\166"); - sb.append("\ufd58"); - sb.append("\167"); - sb.append("\ufd58"); - sb.append("\170"); - sb.append("\ufd58"); - sb.append("\171"); - sb.append("\ufd58"); - sb.append("\172"); - sb.append("\ufd58"); - sb.append("\173"); - sb.append("\ufd58"); - sb.append("\174"); - sb.append("\ufd58"); + sb.append("\007"); sb.append("\175"); - sb.append("\ufd58"); - sb.append("\176"); - sb.append("\ufd58"); - sb.append("\201"); - sb.append("\ufd58"); - sb.append("\242"); - sb.append("\ufd58"); - sb.append("\245"); - sb.append("\ufd58"); - sb.append("\251"); - sb.append("\ufd58"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\042"); sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); + sb.append("\356"); + sb.append("\015"); + sb.append("\364"); sb.append("\016"); - sb.append("\u0338"); - sb.append("\074"); - sb.append("\u04c1"); + sb.append("\357"); sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\214"); - sb.append("\u04c3"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\244"); + sb.append("\351"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); sb.append("\012"); - sb.append("\075"); - sb.append("\016"); - sb.append("\u0338"); - sb.append("\075"); - sb.append("\166"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); + sb.append("\160"); + sb.append("\173"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); + sb.append("\200"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); + sb.append("\223"); sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\241"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); sb.append("\254"); - sb.append("\240"); + sb.append("\147"); sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u04d1"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\073"); - sb.append("\u04c8"); - sb.append("\231"); - sb.append("\uff1c"); + sb.append("\127"); + sb.append("\uff0f"); + sb.append("\232"); + sb.append("\uff0f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\202"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff5e"); + sb.append("\003"); + sb.append("\uff5e"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff5e"); + sb.append("\005"); + sb.append("\uff5e"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff5e"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff5e"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\uff5e"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff5e"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff5e"); + sb.append("\014"); + sb.append("\uff5e"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff5e"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff5e"); + sb.append("\017"); + sb.append("\uff5e"); + sb.append("\020"); + sb.append("\uff5e"); + sb.append("\021"); + sb.append("\uff5e"); + sb.append("\022"); + sb.append("\uff5e"); + sb.append("\023"); + sb.append("\uff5e"); + sb.append("\024"); + sb.append("\uff5e"); + sb.append("\025"); + sb.append("\uff5e"); + sb.append("\026"); + sb.append("\uff5e"); + sb.append("\027"); + sb.append("\uff5e"); + sb.append("\030"); + sb.append("\uff5e"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff5e"); + sb.append("\034"); + sb.append("\uff5e"); + sb.append("\035"); + sb.append("\uff5e"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff5e"); + sb.append("\037"); + sb.append("\uff5e"); + sb.append("\040"); + sb.append("\uff5e"); + sb.append("\041"); + sb.append("\uff5e"); + sb.append("\042"); + sb.append("\uff5e"); + sb.append("\043"); + sb.append("\uff5e"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff5e"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff5e"); + sb.append("\046"); + sb.append("\uff5e"); + sb.append("\047"); + sb.append("\uff5e"); + sb.append("\050"); + sb.append("\uff5e"); + sb.append("\051"); + sb.append("\uff5e"); + sb.append("\052"); + sb.append("\uff5e"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff5e"); + sb.append("\056"); + sb.append("\uff5e"); + sb.append("\057"); + sb.append("\uff5e"); + sb.append("\061"); + sb.append("\uff5e"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff5e"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff5e"); + sb.append("\064"); + sb.append("\uff5e"); + sb.append("\065"); + sb.append("\uff5e"); + sb.append("\066"); + sb.append("\uff5e"); sb.append("\074"); - sb.append("\u032e"); + sb.append("\uff5e"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff5e"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff5e"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff5e"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff5e"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff5e"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff5e"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff5e"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff5e"); + sb.append("\111"); + sb.append("\uff5e"); + sb.append("\112"); + sb.append("\uff5e"); + sb.append("\114"); + sb.append("\uff5e"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff5e"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff5e"); + sb.append("\120"); + sb.append("\uff5e"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff5e"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff5e"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff5e"); sb.append("\124"); + sb.append("\uff5e"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff5e"); sb.append("\126"); - sb.append("\131"); - sb.append("\127"); - sb.append("\ufcfb"); + sb.append("\uff5e"); sb.append("\133"); - sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff5e"); + sb.append("\151"); + sb.append("\uff5e"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff5e"); + sb.append("\174"); + sb.append("\uff5e"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff5e"); + sb.append("\201"); + sb.append("\uff5e"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff5e"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff5e"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff5e"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff5e"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff5e"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff5e"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff5e"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff5e"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff5e"); sb.append("\214"); - sb.append("\114"); + sb.append("\uff5e"); sb.append("\215"); - sb.append("\ufcfb"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff5e"); + sb.append("\217"); + sb.append("\uff5e"); + sb.append("\220"); + sb.append("\uff5e"); + sb.append("\221"); + sb.append("\uff5e"); sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff5e"); + sb.append("\223"); + sb.append("\uff5e"); + sb.append("\224"); + sb.append("\uff5e"); + sb.append("\225"); + sb.append("\uff5e"); + sb.append("\231"); + sb.append("\uff5e"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff5e"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff5e"); sb.append("\236"); - sb.append("\060"); - sb.append("\244"); - sb.append("\u032d"); - sb.append("\247"); - sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\073"); - sb.append("\uff1a"); - sb.append("\231"); - sb.append("\uff1a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\215"); - sb.append("\u04c6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\073"); - sb.append("\uff17"); - sb.append("\111"); - sb.append("\ufd1e"); - sb.append("\214"); - sb.append("\ufd1e"); - sb.append("\230"); - sb.append("\ufd1e"); - sb.append("\231"); - sb.append("\uff17"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u04ca"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\042"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\016"); - sb.append("\u0338"); - sb.append("\074"); - sb.append("\u04c1"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); + sb.append("\uff5e"); sb.append("\237"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\214"); - sb.append("\u04c3"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff5e"); + sb.append("\241"); + sb.append("\uff5e"); + sb.append("\250"); + sb.append("\uff5e"); sb.append("\251"); - sb.append("\u0227"); + sb.append("\uff5e"); sb.append("\253"); - sb.append("\241"); + sb.append("\uff5e"); sb.append("\254"); - sb.append("\240"); + sb.append("\uff5e"); sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\uff1b"); + sb.append("\uff5e"); + sb.append("\256"); + sb.append("\uff5e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\250"); + sb.append("\266"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff7c"); + sb.append("\030"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff7c"); + sb.append("\065"); + sb.append("\uff7c"); + sb.append("\066"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff7c"); sb.append("\124"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\230"); - sb.append("\047"); - sb.append("\232"); - sb.append("\u04cb"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); + sb.append("\217"); + sb.append("\uff7c"); + sb.append("\223"); + sb.append("\uff7c"); + sb.append("\224"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); + sb.append("\250"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff12"); sb.append("\003"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\004"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\005"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\006"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\007"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\010"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\011"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\012"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\014"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\015"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\016"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\017"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\020"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\021"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\022"); + sb.append("\uff12"); sb.append("\023"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\024"); + sb.append("\uff12"); sb.append("\025"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\026"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\027"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\030"); + sb.append("\uff12"); sb.append("\032"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\034"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\035"); + sb.append("\uff12"); sb.append("\036"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\037"); + sb.append("\uff12"); + sb.append("\040"); + sb.append("\uff12"); sb.append("\041"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\042"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\043"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\044"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\045"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\046"); + sb.append("\uff12"); sb.append("\047"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\050"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\051"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\052"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\054"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\056"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\057"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\061"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\062"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\063"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\064"); + sb.append("\uff12"); sb.append("\065"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\066"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\074"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\075"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\077"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\100"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\101"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\102"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\103"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\104"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\105"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\111"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\112"); + sb.append("\uff12"); + sb.append("\114"); + sb.append("\uff12"); sb.append("\115"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\116"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\120"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\121"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\122"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\123"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\124"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\125"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\126"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\133"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\174"); + sb.append("\uff12"); sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\201"); + sb.append("\uff12"); sb.append("\203"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\204"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\205"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\206"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\207"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\210"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\211"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\212"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\213"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\215"); + sb.append("\uff12"); + sb.append("\217"); + sb.append("\uff12"); + sb.append("\220"); + sb.append("\uff12"); + sb.append("\221"); + sb.append("\uff12"); sb.append("\222"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\225"); + sb.append("\uff12"); + sb.append("\231"); + sb.append("\uff12"); sb.append("\234"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\235"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\237"); + sb.append("\uff12"); + sb.append("\241"); + sb.append("\uff12"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\251"); + sb.append("\uff12"); sb.append("\253"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\254"); - sb.append("\uff7c"); + sb.append("\uff12"); sb.append("\255"); - sb.append("\uff7c"); + sb.append("\uff12"); + sb.append("\256"); + sb.append("\uff12"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff14"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff14"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff14"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff14"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff14"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff14"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff14"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff14"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff14"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff14"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff14"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff14"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff14"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff14"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff14"); - sb.append("\022"); - sb.append("\uff14"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff14"); - sb.append("\024"); - sb.append("\uff14"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff14"); - sb.append("\026"); - sb.append("\uff14"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff14"); + sb.append("\203"); sb.append("\030"); - sb.append("\uff14"); + sb.append("\u04be"); sb.append("\032"); - sb.append("\uff14"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff14"); - sb.append("\035"); - sb.append("\uff14"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff14"); - sb.append("\037"); - sb.append("\uff14"); - sb.append("\040"); - sb.append("\uff14"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff14"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff14"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff14"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff14"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff14"); - sb.append("\046"); - sb.append("\uff14"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff14"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff14"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff14"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff14"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff14"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff14"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff14"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff14"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff14"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff14"); - sb.append("\064"); - sb.append("\uff14"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff14"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff14"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff14"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff14"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff14"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff14"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff14"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff14"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff14"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff14"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff14"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff14"); - sb.append("\112"); - sb.append("\uff14"); - sb.append("\114"); - sb.append("\uff14"); + sb.append("\157"); sb.append("\115"); - sb.append("\uff14"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff14"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff14"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff14"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff14"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff14"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff14"); sb.append("\125"); - sb.append("\uff14"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff14"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff14"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff14"); - sb.append("\172"); - sb.append("\uff14"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff14"); - sb.append("\177"); - sb.append("\uff14"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff14"); - sb.append("\202"); - sb.append("\uff14"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff14"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff14"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff14"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff14"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff14"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff14"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff14"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff14"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff14"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff14"); - sb.append("\216"); - sb.append("\uff14"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff14"); - sb.append("\220"); - sb.append("\uff14"); - sb.append("\221"); - sb.append("\uff14"); - sb.append("\222"); - sb.append("\uff14"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff14"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff14"); - sb.append("\230"); - sb.append("\uff14"); - sb.append("\233"); - sb.append("\uff14"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff14"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff14"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff14"); - sb.append("\240"); - sb.append("\uff14"); - sb.append("\247"); - sb.append("\uff14"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); sb.append("\250"); - sb.append("\uff14"); - sb.append("\252"); - sb.append("\uff14"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\uff14"); + sb.append("\227"); sb.append("\254"); - sb.append("\uff14"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff14"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u04bf"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\003"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\004"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\005"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\006"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\007"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\010"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\011"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\012"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\014"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\015"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\016"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\017"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\020"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\021"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\022"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\023"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\024"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\025"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\026"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\027"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\030"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\032"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\034"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\035"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\036"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\037"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\040"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\041"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\042"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\043"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\044"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\045"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\046"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\047"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\050"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\051"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\052"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\054"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\056"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\057"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\061"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\062"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\063"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\064"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\065"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\066"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\074"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\075"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\077"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\100"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\101"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\102"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\103"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\104"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\105"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\111"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\112"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\114"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\115"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\116"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\120"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\121"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\122"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\123"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\124"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\125"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\126"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\133"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\151"); - sb.append("\uff5f"); - sb.append("\172"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\173"); - sb.append("\uff5f"); - sb.append("\177"); - sb.append("\uff5f"); + sb.append("\uff11"); + sb.append("\174"); + sb.append("\uff11"); sb.append("\200"); - sb.append("\uff5f"); - sb.append("\202"); - sb.append("\uff5f"); + sb.append("\uff11"); + sb.append("\201"); + sb.append("\uff11"); sb.append("\203"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\204"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\205"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\206"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\207"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\210"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\211"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\212"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\213"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\214"); - sb.append("\uff5f"); - sb.append("\216"); - sb.append("\uff5f"); + sb.append("\uff11"); + sb.append("\215"); + sb.append("\uff11"); sb.append("\217"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\220"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\221"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\222"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\223"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\224"); - sb.append("\uff5f"); - sb.append("\230"); - sb.append("\uff5f"); - sb.append("\233"); - sb.append("\uff5f"); + sb.append("\uff11"); + sb.append("\225"); + sb.append("\uff11"); + sb.append("\231"); + sb.append("\uff11"); sb.append("\234"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\235"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\236"); - sb.append("\uff5f"); - sb.append("\240"); - sb.append("\uff5f"); - sb.append("\247"); - sb.append("\uff5f"); + sb.append("\uff11"); + sb.append("\237"); + sb.append("\uff11"); + sb.append("\241"); + sb.append("\uff11"); sb.append("\250"); - sb.append("\uff5f"); - sb.append("\252"); - sb.append("\uff5f"); + sb.append("\uff11"); + sb.append("\251"); + sb.append("\uff11"); sb.append("\253"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\254"); - sb.append("\uff5f"); + sb.append("\uff11"); sb.append("\255"); - sb.append("\uff5f"); + sb.append("\uff11"); + sb.append("\256"); + sb.append("\uff11"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\211"); + sb.append("\170"); sb.append("\004"); - sb.append("\201"); - sb.append("\005"); - sb.append("\164"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\217"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); sb.append("\075"); - sb.append("\014"); - sb.append("\007"); sb.append("\015"); sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\023"); - sb.append("\145"); - sb.append("\025"); - sb.append("\200"); - sb.append("\026"); - sb.append("\u04cf"); - sb.append("\027"); - sb.append("\203"); sb.append("\032"); sb.append("\106"); - sb.append("\034"); - sb.append("\113"); sb.append("\036"); sb.append("\125"); - sb.append("\041"); - sb.append("\033"); - sb.append("\042"); - sb.append("\040"); - sb.append("\043"); - sb.append("\226"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\023"); - sb.append("\047"); - sb.append("\212"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\052"); - sb.append("\057"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); - sb.append("\056"); - sb.append("\u03a5"); - sb.append("\057"); - sb.append("\016"); - sb.append("\061"); - sb.append("\110"); sb.append("\062"); sb.append("\210"); sb.append("\063"); sb.append("\010"); - sb.append("\065"); - sb.append("\027"); - sb.append("\066"); - sb.append("\111"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -1882,14 +1879,10 @@ protected EncodedActionTable14() { sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\111"); - sb.append("\157"); sb.append("\115"); sb.append("\136"); sb.append("\116"); sb.append("\046"); - sb.append("\120"); - sb.append("\172"); sb.append("\121"); sb.append("\160"); sb.append("\122"); @@ -1904,300 +1897,318 @@ protected EncodedActionTable14() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\025"); sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u04d0"); + sb.append("\142"); + sb.append("\031"); + sb.append("\ufd4e"); + sb.append("\033"); + sb.append("\u04d9"); + sb.append("\130"); + sb.append("\ufd4e"); + sb.append("\131"); + sb.append("\ufd4e"); + sb.append("\132"); + sb.append("\ufd4e"); + sb.append("\134"); + sb.append("\u0375"); + sb.append("\135"); + sb.append("\u037a"); + sb.append("\136"); + sb.append("\u0376"); + sb.append("\137"); + sb.append("\u0380"); + sb.append("\140"); + sb.append("\u0379"); + sb.append("\141"); + sb.append("\u037f"); + sb.append("\142"); + sb.append("\u037c"); + sb.append("\143"); + sb.append("\u037e"); + sb.append("\144"); + sb.append("\u0378"); + sb.append("\145"); + sb.append("\u0374"); + sb.append("\146"); + sb.append("\u037b"); + sb.append("\147"); + sb.append("\u037d"); + sb.append("\150"); + sb.append("\ufd4e"); + sb.append("\152"); + sb.append("\ufd4e"); + sb.append("\153"); + sb.append("\ufd4e"); + sb.append("\154"); + sb.append("\ufd4e"); + sb.append("\155"); + sb.append("\ufd4e"); + sb.append("\156"); + sb.append("\ufd4e"); + sb.append("\157"); + sb.append("\ufd4e"); + sb.append("\160"); + sb.append("\ufd4e"); + sb.append("\161"); + sb.append("\ufd4e"); + sb.append("\162"); + sb.append("\ufd4e"); + sb.append("\163"); + sb.append("\ufd4e"); + sb.append("\164"); + sb.append("\ufd4e"); + sb.append("\165"); + sb.append("\ufd4e"); + sb.append("\166"); + sb.append("\ufd4e"); + sb.append("\167"); + sb.append("\ufd4e"); + sb.append("\170"); + sb.append("\ufd4e"); + sb.append("\171"); + sb.append("\ufd4e"); + sb.append("\172"); + sb.append("\ufd4e"); + sb.append("\173"); + sb.append("\ufd4e"); + sb.append("\174"); + sb.append("\ufd4e"); + sb.append("\175"); + sb.append("\ufd4e"); + sb.append("\176"); + sb.append("\ufd4e"); + sb.append("\177"); + sb.append("\ufd4e"); + sb.append("\202"); + sb.append("\ufd4e"); + sb.append("\203"); + sb.append("\ufd4c"); + sb.append("\204"); + sb.append("\ufd4c"); + sb.append("\243"); + sb.append("\ufd4e"); + sb.append("\244"); + sb.append("\u0377"); + sb.append("\246"); + sb.append("\ufd4e"); + sb.append("\247"); + sb.append("\u0381"); + sb.append("\252"); + sb.append("\ufd4e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\102"); + sb.append("\031"); + sb.append("\ufd56"); + sb.append("\033"); + sb.append("\u04c3"); + sb.append("\130"); + sb.append("\ufd56"); + sb.append("\131"); + sb.append("\ufd56"); + sb.append("\132"); + sb.append("\ufd56"); + sb.append("\150"); + sb.append("\ufd56"); + sb.append("\152"); + sb.append("\ufd56"); + sb.append("\153"); + sb.append("\ufd56"); + sb.append("\154"); + sb.append("\ufd56"); + sb.append("\155"); + sb.append("\ufd56"); + sb.append("\156"); + sb.append("\ufd56"); + sb.append("\157"); + sb.append("\ufd56"); + sb.append("\160"); + sb.append("\ufd56"); + sb.append("\161"); + sb.append("\ufd56"); + sb.append("\162"); + sb.append("\ufd56"); + sb.append("\163"); + sb.append("\ufd56"); + sb.append("\164"); + sb.append("\ufd56"); + sb.append("\165"); + sb.append("\ufd56"); + sb.append("\166"); + sb.append("\ufd56"); + sb.append("\167"); + sb.append("\ufd56"); + sb.append("\170"); + sb.append("\ufd56"); + sb.append("\171"); + sb.append("\ufd56"); + sb.append("\172"); + sb.append("\ufd56"); + sb.append("\173"); + sb.append("\ufd56"); + sb.append("\174"); + sb.append("\ufd56"); + sb.append("\175"); + sb.append("\ufd56"); + sb.append("\176"); + sb.append("\ufd56"); + sb.append("\177"); + sb.append("\ufd56"); + sb.append("\202"); + sb.append("\ufd56"); + sb.append("\243"); + sb.append("\ufd56"); + sb.append("\246"); + sb.append("\ufd56"); + sb.append("\252"); + sb.append("\ufd56"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff13"); - sb.append("\003"); - sb.append("\uff13"); - sb.append("\004"); - sb.append("\uff13"); - sb.append("\005"); - sb.append("\uff13"); - sb.append("\006"); - sb.append("\uff13"); - sb.append("\007"); - sb.append("\uff13"); + sb.append("\000"); + sb.append("\042"); sb.append("\010"); - sb.append("\uff13"); - sb.append("\011"); - sb.append("\uff13"); + sb.append("\244"); sb.append("\012"); - sb.append("\uff13"); - sb.append("\014"); - sb.append("\uff13"); - sb.append("\015"); - sb.append("\uff13"); + sb.append("\075"); sb.append("\016"); - sb.append("\uff13"); - sb.append("\017"); - sb.append("\uff13"); - sb.append("\020"); - sb.append("\uff13"); - sb.append("\021"); - sb.append("\uff13"); - sb.append("\022"); - sb.append("\uff13"); - sb.append("\023"); - sb.append("\uff13"); - sb.append("\024"); - sb.append("\uff13"); - sb.append("\025"); - sb.append("\uff13"); - sb.append("\026"); - sb.append("\uff13"); - sb.append("\027"); - sb.append("\uff13"); - sb.append("\030"); - sb.append("\uff13"); - sb.append("\032"); - sb.append("\uff13"); - sb.append("\034"); - sb.append("\uff13"); - sb.append("\035"); - sb.append("\uff13"); - sb.append("\036"); - sb.append("\uff13"); - sb.append("\037"); - sb.append("\uff13"); - sb.append("\040"); - sb.append("\uff13"); - sb.append("\041"); - sb.append("\uff13"); - sb.append("\042"); - sb.append("\uff13"); - sb.append("\043"); - sb.append("\uff13"); - sb.append("\044"); - sb.append("\uff13"); - sb.append("\045"); - sb.append("\uff13"); - sb.append("\046"); - sb.append("\uff13"); - sb.append("\047"); - sb.append("\uff13"); - sb.append("\050"); - sb.append("\uff13"); - sb.append("\051"); - sb.append("\uff13"); - sb.append("\052"); - sb.append("\uff13"); - sb.append("\054"); - sb.append("\uff13"); - sb.append("\056"); - sb.append("\uff13"); - sb.append("\057"); - sb.append("\uff13"); - sb.append("\061"); - sb.append("\uff13"); - sb.append("\062"); - sb.append("\uff13"); - sb.append("\063"); - sb.append("\uff13"); - sb.append("\064"); - sb.append("\uff13"); - sb.append("\065"); - sb.append("\uff13"); - sb.append("\066"); - sb.append("\uff13"); + sb.append("\u033c"); sb.append("\074"); - sb.append("\uff13"); + sb.append("\u04c5"); sb.append("\075"); - sb.append("\uff13"); - sb.append("\077"); - sb.append("\uff13"); - sb.append("\100"); - sb.append("\uff13"); - sb.append("\101"); - sb.append("\uff13"); - sb.append("\102"); - sb.append("\uff13"); - sb.append("\103"); - sb.append("\uff13"); - sb.append("\104"); - sb.append("\uff13"); - sb.append("\105"); - sb.append("\uff13"); - sb.append("\111"); - sb.append("\uff13"); - sb.append("\112"); - sb.append("\uff13"); - sb.append("\114"); - sb.append("\uff13"); - sb.append("\115"); - sb.append("\uff13"); - sb.append("\116"); - sb.append("\uff13"); - sb.append("\120"); - sb.append("\uff13"); + sb.append("\166"); sb.append("\121"); - sb.append("\uff13"); - sb.append("\122"); - sb.append("\uff13"); - sb.append("\123"); - sb.append("\uff13"); - sb.append("\124"); - sb.append("\uff13"); - sb.append("\125"); - sb.append("\uff13"); - sb.append("\126"); - sb.append("\uff13"); - sb.append("\133"); - sb.append("\uff13"); - sb.append("\151"); - sb.append("\uff13"); - sb.append("\172"); - sb.append("\uff13"); - sb.append("\173"); - sb.append("\uff13"); - sb.append("\177"); - sb.append("\uff13"); - sb.append("\200"); - sb.append("\uff13"); - sb.append("\202"); - sb.append("\uff13"); - sb.append("\203"); - sb.append("\uff13"); - sb.append("\204"); - sb.append("\uff13"); - sb.append("\205"); - sb.append("\uff13"); - sb.append("\206"); - sb.append("\uff13"); - sb.append("\207"); - sb.append("\uff13"); - sb.append("\210"); - sb.append("\uff13"); - sb.append("\211"); - sb.append("\uff13"); - sb.append("\212"); - sb.append("\uff13"); - sb.append("\213"); - sb.append("\uff13"); - sb.append("\214"); - sb.append("\uff13"); - sb.append("\216"); - sb.append("\uff13"); + sb.append("\240"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\215"); + sb.append("\u04c7"); sb.append("\217"); - sb.append("\uff13"); - sb.append("\220"); - sb.append("\uff13"); - sb.append("\221"); - sb.append("\uff13"); - sb.append("\222"); - sb.append("\uff13"); + sb.append("\u01f3"); sb.append("\223"); - sb.append("\uff13"); - sb.append("\224"); - sb.append("\uff13"); - sb.append("\230"); - sb.append("\uff13"); - sb.append("\233"); - sb.append("\uff13"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\uff13"); - sb.append("\235"); - sb.append("\uff13"); - sb.append("\236"); - sb.append("\uff13"); - sb.append("\240"); - sb.append("\uff13"); - sb.append("\247"); - sb.append("\uff13"); - sb.append("\250"); - sb.append("\uff13"); + sb.append("\152"); sb.append("\252"); - sb.append("\uff13"); - sb.append("\253"); - sb.append("\uff13"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\uff13"); + sb.append("\241"); sb.append("\255"); - sb.append("\uff13"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\034"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\016"); + sb.append("\u033c"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u04d5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\073"); + sb.append("\u04cc"); + sb.append("\232"); + sb.append("\uff1c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\202"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2213,7 +2224,7 @@ protected EncodedActionTable14() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2221,7 +2232,7 @@ protected EncodedActionTable14() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\u032e"); + sb.append("\u0332"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -2255,91 +2266,103 @@ protected EncodedActionTable14() { sb.append("\126"); sb.append("\131"); sb.append("\127"); - sb.append("\ufcfb"); + sb.append("\ufcf9"); sb.append("\133"); sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); sb.append("\216"); + sb.append("\ufcf9"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufcfb"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\244"); - sb.append("\u032d"); - sb.append("\247"); + sb.append("\245"); + sb.append("\u0331"); + sb.append("\250"); sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u04d3"); + sb.append("\006"); + sb.append("\073"); + sb.append("\uff1a"); + sb.append("\232"); + sb.append("\uff1a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\073"); - sb.append("\uff18"); - sb.append("\231"); - sb.append("\uff18"); + sb.append("\004"); + sb.append("\216"); + sb.append("\u04ca"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); + sb.append("\014"); sb.append("\073"); - sb.append("\uff19"); + sb.append("\uff17"); + sb.append("\111"); + sb.append("\ufd1c"); + sb.append("\215"); + sb.append("\ufd1c"); sb.append("\231"); - sb.append("\uff19"); + sb.append("\ufd1c"); + sb.append("\232"); + sb.append("\uff17"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u04ce"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -2349,47 +2372,39 @@ protected EncodedActionTable14() { sb.append("\012"); sb.append("\075"); sb.append("\016"); - sb.append("\u0338"); + sb.append("\u033c"); sb.append("\074"); - sb.append("\u04c1"); + sb.append("\u04c5"); sb.append("\075"); sb.append("\166"); sb.append("\121"); - sb.append("\237"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\214"); - sb.append("\u04c3"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); + sb.append("\240"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\215"); + sb.append("\u04c7"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); sb.append("\152"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\241"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\240"); + sb.append("\241"); sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\073"); - sb.append("\u04c8"); - sb.append("\231"); - sb.append("\uff1c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u04d8"); + sb.append("\232"); + sb.append("\uff1b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -2397,7 +2412,7 @@ protected EncodedActionTable14() { sb.append("\003"); sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\005"); sb.append("\164"); sb.append("\006"); @@ -2443,7 +2458,7 @@ protected EncodedActionTable14() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\047"); sb.append("\212"); sb.append("\050"); @@ -2455,7 +2470,7 @@ protected EncodedActionTable14() { sb.append("\054"); sb.append("\026"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\u03a9"); sb.append("\057"); sb.append("\016"); sb.append("\061"); @@ -2506,788 +2521,1344 @@ protected EncodedActionTable14() { sb.append("\020"); sb.append("\151"); sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); + sb.append("\223"); sb.append("\025"); - sb.append("\230"); + sb.append("\231"); sb.append("\047"); - sb.append("\232"); - sb.append("\u04cb"); sb.append("\233"); - sb.append("\152"); + sb.append("\u04cf"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff60"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uff60"); - sb.append("\022"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uff60"); - sb.append("\024"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\026"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uff60"); - sb.append("\030"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uff60"); - sb.append("\035"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\uff60"); - sb.append("\037"); - sb.append("\uff60"); - sb.append("\040"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uff60"); - sb.append("\046"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uff60"); - sb.append("\064"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff60"); - sb.append("\112"); - sb.append("\uff60"); - sb.append("\114"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff60"); - sb.append("\172"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff60"); - sb.append("\177"); - sb.append("\uff60"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff60"); - sb.append("\202"); - sb.append("\uff60"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\uff60"); - sb.append("\216"); - sb.append("\uff60"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); sb.append("\217"); - sb.append("\uff60"); - sb.append("\220"); - sb.append("\uff60"); - sb.append("\221"); - sb.append("\uff60"); - sb.append("\222"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff60"); - sb.append("\230"); - sb.append("\uff60"); - sb.append("\233"); - sb.append("\uff60"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\uff60"); - sb.append("\240"); - sb.append("\uff60"); - sb.append("\247"); - sb.append("\uff60"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\uff60"); - sb.append("\252"); - sb.append("\uff60"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\uff60"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\uff60"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe33"); - sb.append("\073"); - sb.append("\ufe33"); - sb.append("\112"); - sb.append("\ufe33"); - sb.append("\127"); - sb.append("\ufe33"); - sb.append("\130"); - sb.append("\ufe33"); - sb.append("\131"); - sb.append("\ufe33"); - sb.append("\132"); - sb.append("\ufe33"); - sb.append("\150"); - sb.append("\ufe33"); - sb.append("\151"); - sb.append("\ufe33"); - sb.append("\152"); - sb.append("\ufe33"); - sb.append("\153"); - sb.append("\ufe33"); - sb.append("\154"); - sb.append("\ufe33"); - sb.append("\155"); - sb.append("\ufe33"); - sb.append("\156"); - sb.append("\ufe33"); - sb.append("\157"); - sb.append("\ufe33"); - sb.append("\160"); - sb.append("\ufe33"); - sb.append("\161"); - sb.append("\ufe33"); - sb.append("\162"); - sb.append("\ufe33"); - sb.append("\163"); - sb.append("\ufe33"); - sb.append("\164"); - sb.append("\ufe33"); - sb.append("\165"); - sb.append("\ufe33"); - sb.append("\166"); - sb.append("\ufe33"); - sb.append("\167"); - sb.append("\ufe33"); - sb.append("\170"); - sb.append("\ufe33"); - sb.append("\171"); - sb.append("\ufe33"); - sb.append("\172"); - sb.append("\ufe33"); - sb.append("\173"); - sb.append("\ufe33"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\ufe33"); - sb.append("\215"); - sb.append("\ufe33"); - sb.append("\231"); - sb.append("\ufe33"); - sb.append("\232"); - sb.append("\ufe33"); - sb.append("\242"); - sb.append("\ufe33"); - sb.append("\245"); - sb.append("\ufe33"); - sb.append("\251"); - sb.append("\ufe33"); - sb.append("\001"); + sb.append("\322"); sb.append("\002"); - sb.append("\000"); - sb.append("\244"); + sb.append("\uff14"); + sb.append("\003"); + sb.append("\uff14"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\uff14"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\uff14"); + sb.append("\006"); + sb.append("\uff14"); + sb.append("\007"); + sb.append("\uff14"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\uff14"); + sb.append("\011"); + sb.append("\uff14"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff14"); + sb.append("\014"); + sb.append("\uff14"); + sb.append("\015"); + sb.append("\uff14"); + sb.append("\016"); + sb.append("\uff14"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\uff14"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\uff14"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\uff14"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\uff14"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\uff14"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\uff14"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\uff14"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\uff14"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\uff14"); sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); + sb.append("\uff14"); sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); + sb.append("\uff14"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\uff14"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\uff14"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\uff14"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\uff14"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\uff14"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\uff14"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\uff14"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\uff14"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\uff14"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\uff14"); sb.append("\046"); - sb.append("\u019d"); + sb.append("\uff14"); sb.append("\047"); - sb.append("\u019f"); + sb.append("\uff14"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\uff14"); + sb.append("\051"); + sb.append("\uff14"); sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\uff14"); sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); + sb.append("\uff14"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\uff14"); sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); + sb.append("\uff14"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\uff14"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\uff14"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\uff14"); + sb.append("\064"); + sb.append("\uff14"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\uff14"); sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\uff14"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\uff14"); sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\uff14"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\uff14"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\uff14"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\uff14"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\uff14"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\uff14"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\uff14"); + sb.append("\105"); + sb.append("\uff14"); sb.append("\111"); - sb.append("\u0305"); + sb.append("\uff14"); + sb.append("\112"); + sb.append("\uff14"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\uff14"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\uff14"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\uff14"); + sb.append("\120"); + sb.append("\uff14"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\uff14"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\uff14"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\uff14"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\uff14"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\uff14"); sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); + sb.append("\uff14"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); + sb.append("\uff14"); + sb.append("\151"); + sb.append("\uff14"); + sb.append("\173"); + sb.append("\uff14"); + sb.append("\174"); + sb.append("\uff14"); + sb.append("\200"); + sb.append("\uff14"); + sb.append("\201"); + sb.append("\uff14"); + sb.append("\203"); + sb.append("\uff14"); + sb.append("\204"); + sb.append("\uff14"); + sb.append("\205"); + sb.append("\uff14"); + sb.append("\206"); + sb.append("\uff14"); + sb.append("\207"); + sb.append("\uff14"); + sb.append("\210"); + sb.append("\uff14"); + sb.append("\211"); + sb.append("\uff14"); + sb.append("\212"); + sb.append("\uff14"); + sb.append("\213"); + sb.append("\uff14"); + sb.append("\214"); + sb.append("\uff14"); + sb.append("\215"); + sb.append("\uff14"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\uff14"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\uff14"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\uff14"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\uff14"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\uff14"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\uff14"); sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\233"); - sb.append("\152"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\uff14"); + sb.append("\231"); + sb.append("\uff14"); + sb.append("\234"); + sb.append("\uff14"); + sb.append("\235"); + sb.append("\uff14"); + sb.append("\236"); + sb.append("\uff14"); + sb.append("\237"); + sb.append("\uff14"); sb.append("\241"); - sb.append("\u018e"); + sb.append("\uff14"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\uff14"); + sb.append("\251"); + sb.append("\uff14"); + sb.append("\253"); + sb.append("\uff14"); + sb.append("\254"); + sb.append("\uff14"); + sb.append("\255"); + sb.append("\uff14"); + sb.append("\256"); + sb.append("\uff14"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufd60"); - sb.append("\073"); - sb.append("\u04df"); - sb.append("\112"); - sb.append("\ufd60"); - sb.append("\127"); - sb.append("\ufd60"); - sb.append("\130"); - sb.append("\ufd60"); - sb.append("\131"); - sb.append("\ufd60"); - sb.append("\132"); - sb.append("\ufd60"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufd60"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufd60"); - sb.append("\231"); - sb.append("\ufd60"); - sb.append("\232"); - sb.append("\ufd60"); - sb.append("\242"); - sb.append("\u01c5"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff5f"); + sb.append("\003"); + sb.append("\uff5f"); + sb.append("\004"); + sb.append("\uff5f"); + sb.append("\005"); + sb.append("\uff5f"); + sb.append("\006"); + sb.append("\uff5f"); + sb.append("\007"); + sb.append("\uff5f"); + sb.append("\010"); + sb.append("\uff5f"); + sb.append("\011"); + sb.append("\uff5f"); + sb.append("\012"); + sb.append("\uff5f"); + sb.append("\014"); + sb.append("\uff5f"); + sb.append("\015"); + sb.append("\uff5f"); + sb.append("\016"); + sb.append("\uff5f"); + sb.append("\017"); + sb.append("\uff5f"); + sb.append("\020"); + sb.append("\uff5f"); + sb.append("\021"); + sb.append("\uff5f"); + sb.append("\022"); + sb.append("\uff5f"); + sb.append("\023"); + sb.append("\uff5f"); + sb.append("\024"); + sb.append("\uff5f"); + sb.append("\025"); + sb.append("\uff5f"); + sb.append("\026"); + sb.append("\uff5f"); + sb.append("\027"); + sb.append("\uff5f"); + sb.append("\030"); + sb.append("\uff5f"); + sb.append("\032"); + sb.append("\uff5f"); + sb.append("\034"); + sb.append("\uff5f"); + sb.append("\035"); + sb.append("\uff5f"); + sb.append("\036"); + sb.append("\uff5f"); + sb.append("\037"); + sb.append("\uff5f"); + sb.append("\040"); + sb.append("\uff5f"); + sb.append("\041"); + sb.append("\uff5f"); + sb.append("\042"); + sb.append("\uff5f"); + sb.append("\043"); + sb.append("\uff5f"); + sb.append("\044"); + sb.append("\uff5f"); + sb.append("\045"); + sb.append("\uff5f"); + sb.append("\046"); + sb.append("\uff5f"); + sb.append("\047"); + sb.append("\uff5f"); + sb.append("\050"); + sb.append("\uff5f"); + sb.append("\051"); + sb.append("\uff5f"); + sb.append("\052"); + sb.append("\uff5f"); + sb.append("\054"); + sb.append("\uff5f"); + sb.append("\056"); + sb.append("\uff5f"); + sb.append("\057"); + sb.append("\uff5f"); + sb.append("\061"); + sb.append("\uff5f"); + sb.append("\062"); + sb.append("\uff5f"); + sb.append("\063"); + sb.append("\uff5f"); + sb.append("\064"); + sb.append("\uff5f"); + sb.append("\065"); + sb.append("\uff5f"); + sb.append("\066"); + sb.append("\uff5f"); + sb.append("\074"); + sb.append("\uff5f"); + sb.append("\075"); + sb.append("\uff5f"); + sb.append("\077"); + sb.append("\uff5f"); + sb.append("\100"); + sb.append("\uff5f"); + sb.append("\101"); + sb.append("\uff5f"); + sb.append("\102"); + sb.append("\uff5f"); + sb.append("\103"); + sb.append("\uff5f"); + sb.append("\104"); + sb.append("\uff5f"); + sb.append("\105"); + sb.append("\uff5f"); + sb.append("\111"); + sb.append("\uff5f"); + sb.append("\112"); + sb.append("\uff5f"); + sb.append("\114"); + sb.append("\uff5f"); + sb.append("\115"); + sb.append("\uff5f"); + sb.append("\116"); + sb.append("\uff5f"); + sb.append("\120"); + sb.append("\uff5f"); + sb.append("\121"); + sb.append("\uff5f"); + sb.append("\122"); + sb.append("\uff5f"); + sb.append("\123"); + sb.append("\uff5f"); + sb.append("\124"); + sb.append("\uff5f"); + sb.append("\125"); + sb.append("\uff5f"); + sb.append("\126"); + sb.append("\uff5f"); + sb.append("\133"); + sb.append("\uff5f"); + sb.append("\151"); + sb.append("\uff5f"); + sb.append("\173"); + sb.append("\uff5f"); + sb.append("\174"); + sb.append("\uff5f"); + sb.append("\200"); + sb.append("\uff5f"); + sb.append("\201"); + sb.append("\uff5f"); + sb.append("\203"); + sb.append("\uff5f"); + sb.append("\204"); + sb.append("\uff5f"); + sb.append("\205"); + sb.append("\uff5f"); + sb.append("\206"); + sb.append("\uff5f"); + sb.append("\207"); + sb.append("\uff5f"); + sb.append("\210"); + sb.append("\uff5f"); + sb.append("\211"); + sb.append("\uff5f"); + sb.append("\212"); + sb.append("\uff5f"); + sb.append("\213"); + sb.append("\uff5f"); + sb.append("\214"); + sb.append("\uff5f"); + sb.append("\215"); + sb.append("\uff5f"); + sb.append("\217"); + sb.append("\uff5f"); + sb.append("\220"); + sb.append("\uff5f"); + sb.append("\221"); + sb.append("\uff5f"); + sb.append("\222"); + sb.append("\uff5f"); + sb.append("\223"); + sb.append("\uff5f"); + sb.append("\224"); + sb.append("\uff5f"); + sb.append("\225"); + sb.append("\uff5f"); + sb.append("\231"); + sb.append("\uff5f"); + sb.append("\234"); + sb.append("\uff5f"); + sb.append("\235"); + sb.append("\uff5f"); + sb.append("\236"); + sb.append("\uff5f"); + sb.append("\237"); + sb.append("\uff5f"); + sb.append("\241"); + sb.append("\uff5f"); + sb.append("\250"); + sb.append("\uff5f"); + sb.append("\251"); + sb.append("\uff5f"); + sb.append("\253"); + sb.append("\uff5f"); + sb.append("\254"); + sb.append("\uff5f"); + sb.append("\255"); + sb.append("\uff5f"); + sb.append("\256"); + sb.append("\uff5f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\266"); + sb.append("\003"); + sb.append("\211"); + sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\217"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\014"); + sb.append("\007"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\026"); + sb.append("\u04d3"); + sb.append("\027"); + sb.append("\203"); + sb.append("\032"); + sb.append("\106"); + sb.append("\034"); + sb.append("\113"); + sb.append("\036"); + sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\023"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\052"); + sb.append("\057"); + sb.append("\054"); + sb.append("\026"); + sb.append("\056"); + sb.append("\u03a9"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); + sb.append("\111"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\111"); + sb.append("\157"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\120"); + sb.append("\172"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\151"); + sb.append("\171"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\025"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); + sb.append("\253"); + sb.append("\227"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u04d4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff13"); + sb.append("\003"); + sb.append("\uff13"); + sb.append("\004"); + sb.append("\uff13"); + sb.append("\005"); + sb.append("\uff13"); + sb.append("\006"); + sb.append("\uff13"); + sb.append("\007"); + sb.append("\uff13"); + sb.append("\010"); + sb.append("\uff13"); + sb.append("\011"); + sb.append("\uff13"); + sb.append("\012"); + sb.append("\uff13"); + sb.append("\014"); + sb.append("\uff13"); + sb.append("\015"); + sb.append("\uff13"); + sb.append("\016"); + sb.append("\uff13"); + sb.append("\017"); + sb.append("\uff13"); + sb.append("\020"); + sb.append("\uff13"); + sb.append("\021"); + sb.append("\uff13"); + sb.append("\022"); + sb.append("\uff13"); + sb.append("\023"); + sb.append("\uff13"); + sb.append("\024"); + sb.append("\uff13"); + sb.append("\025"); + sb.append("\uff13"); + sb.append("\026"); + sb.append("\uff13"); + sb.append("\027"); + sb.append("\uff13"); + sb.append("\030"); + sb.append("\uff13"); + sb.append("\032"); + sb.append("\uff13"); + sb.append("\034"); + sb.append("\uff13"); + sb.append("\035"); + sb.append("\uff13"); + sb.append("\036"); + sb.append("\uff13"); + sb.append("\037"); + sb.append("\uff13"); + sb.append("\040"); + sb.append("\uff13"); + sb.append("\041"); + sb.append("\uff13"); + sb.append("\042"); + sb.append("\uff13"); + sb.append("\043"); + sb.append("\uff13"); + sb.append("\044"); + sb.append("\uff13"); + sb.append("\045"); + sb.append("\uff13"); + sb.append("\046"); + sb.append("\uff13"); + sb.append("\047"); + sb.append("\uff13"); + sb.append("\050"); + sb.append("\uff13"); + sb.append("\051"); + sb.append("\uff13"); + sb.append("\052"); + sb.append("\uff13"); + sb.append("\054"); + sb.append("\uff13"); + sb.append("\056"); + sb.append("\uff13"); + sb.append("\057"); + sb.append("\uff13"); + sb.append("\061"); + sb.append("\uff13"); + sb.append("\062"); + sb.append("\uff13"); + sb.append("\063"); + sb.append("\uff13"); + sb.append("\064"); + sb.append("\uff13"); + sb.append("\065"); + sb.append("\uff13"); + sb.append("\066"); + sb.append("\uff13"); + sb.append("\074"); + sb.append("\uff13"); + sb.append("\075"); + sb.append("\uff13"); + sb.append("\077"); + sb.append("\uff13"); + sb.append("\100"); + sb.append("\uff13"); + sb.append("\101"); + sb.append("\uff13"); + sb.append("\102"); + sb.append("\uff13"); + sb.append("\103"); + sb.append("\uff13"); + sb.append("\104"); + sb.append("\uff13"); + sb.append("\105"); + sb.append("\uff13"); + sb.append("\111"); + sb.append("\uff13"); + sb.append("\112"); + sb.append("\uff13"); + sb.append("\114"); + sb.append("\uff13"); + sb.append("\115"); + sb.append("\uff13"); + sb.append("\116"); + sb.append("\uff13"); + sb.append("\120"); + sb.append("\uff13"); + sb.append("\121"); + sb.append("\uff13"); + sb.append("\122"); + sb.append("\uff13"); + sb.append("\123"); + sb.append("\uff13"); + sb.append("\124"); + sb.append("\uff13"); + sb.append("\125"); + sb.append("\uff13"); + sb.append("\126"); + sb.append("\uff13"); + sb.append("\133"); + sb.append("\uff13"); + sb.append("\151"); + sb.append("\uff13"); + sb.append("\173"); + sb.append("\uff13"); + sb.append("\174"); + sb.append("\uff13"); + sb.append("\200"); + sb.append("\uff13"); + sb.append("\201"); + sb.append("\uff13"); + sb.append("\203"); + sb.append("\uff13"); + sb.append("\204"); + sb.append("\uff13"); + sb.append("\205"); + sb.append("\uff13"); + sb.append("\206"); + sb.append("\uff13"); + sb.append("\207"); + sb.append("\uff13"); + sb.append("\210"); + sb.append("\uff13"); + sb.append("\211"); + sb.append("\uff13"); + sb.append("\212"); + sb.append("\uff13"); + sb.append("\213"); + sb.append("\uff13"); + sb.append("\214"); + sb.append("\uff13"); + sb.append("\215"); + sb.append("\uff13"); + sb.append("\217"); + sb.append("\uff13"); + sb.append("\220"); + sb.append("\uff13"); + sb.append("\221"); + sb.append("\uff13"); + sb.append("\222"); + sb.append("\uff13"); + sb.append("\223"); + sb.append("\uff13"); + sb.append("\224"); + sb.append("\uff13"); + sb.append("\225"); + sb.append("\uff13"); + sb.append("\231"); + sb.append("\uff13"); + sb.append("\234"); + sb.append("\uff13"); + sb.append("\235"); + sb.append("\uff13"); + sb.append("\236"); + sb.append("\uff13"); + sb.append("\237"); + sb.append("\uff13"); + sb.append("\241"); + sb.append("\uff13"); + sb.append("\250"); + sb.append("\uff13"); + sb.append("\251"); + sb.append("\uff13"); + sb.append("\253"); + sb.append("\uff13"); + sb.append("\254"); + sb.append("\uff13"); + sb.append("\255"); + sb.append("\uff13"); + sb.append("\256"); + sb.append("\uff13"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\202"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\u0332"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\127"); + sb.append("\ufcf9"); + sb.append("\133"); + sb.append("\020"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufcf9"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\245"); + sb.append("\u0331"); + sb.append("\250"); + sb.append("\021"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u04d7"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\073"); + sb.append("\uff18"); + sb.append("\232"); + sb.append("\uff18"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\073"); + sb.append("\uff19"); + sb.append("\232"); + sb.append("\uff19"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\042"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\016"); + sb.append("\u033c"); + sb.append("\074"); + sb.append("\u04c5"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\215"); + sb.append("\u04c7"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufd62"); - sb.append("\033"); - sb.append("\ufd62"); + sb.append("\006"); sb.append("\073"); - sb.append("\ufd62"); - sb.append("\112"); - sb.append("\ufd62"); - sb.append("\127"); - sb.append("\ufd62"); - sb.append("\130"); - sb.append("\ufd62"); - sb.append("\131"); - sb.append("\ufd62"); - sb.append("\132"); - sb.append("\ufd62"); - sb.append("\150"); - sb.append("\ufd62"); - sb.append("\151"); - sb.append("\ufd62"); - sb.append("\152"); - sb.append("\ufd62"); - sb.append("\153"); - sb.append("\ufd62"); - sb.append("\154"); - sb.append("\ufd62"); - sb.append("\155"); - sb.append("\ufd62"); - sb.append("\156"); - sb.append("\ufd62"); - sb.append("\157"); - sb.append("\ufd62"); - sb.append("\160"); - sb.append("\ufd62"); - sb.append("\161"); - sb.append("\ufd62"); - sb.append("\162"); - sb.append("\ufd62"); - sb.append("\163"); - sb.append("\ufd62"); - sb.append("\164"); - sb.append("\ufd62"); - sb.append("\165"); - sb.append("\ufd62"); - sb.append("\166"); - sb.append("\ufd62"); - sb.append("\167"); - sb.append("\ufd62"); - sb.append("\170"); - sb.append("\ufd62"); - sb.append("\171"); - sb.append("\ufd62"); - sb.append("\172"); - sb.append("\ufd62"); - sb.append("\173"); - sb.append("\ufd62"); - sb.append("\174"); - sb.append("\ufd62"); - sb.append("\175"); - sb.append("\ufd62"); - sb.append("\176"); - sb.append("\ufd62"); - sb.append("\201"); - sb.append("\ufd62"); - sb.append("\215"); - sb.append("\ufd62"); - sb.append("\231"); - sb.append("\ufd62"); + sb.append("\u04cc"); sb.append("\232"); - sb.append("\ufd62"); - sb.append("\242"); - sb.append("\ufd62"); - sb.append("\245"); - sb.append("\ufd62"); - sb.append("\251"); - sb.append("\ufd62"); + sb.append("\uff1c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufd61"); - sb.append("\033"); - sb.append("\ufd61"); - sb.append("\073"); - sb.append("\ufd61"); - sb.append("\112"); - sb.append("\ufd61"); - sb.append("\127"); - sb.append("\ufd61"); - sb.append("\130"); - sb.append("\ufd61"); - sb.append("\131"); - sb.append("\ufd61"); - sb.append("\132"); - sb.append("\ufd61"); - sb.append("\150"); - sb.append("\ufd61"); - sb.append("\151"); - sb.append("\ufd61"); - sb.append("\152"); - sb.append("\ufd61"); - sb.append("\153"); - sb.append("\ufd61"); - sb.append("\154"); - sb.append("\ufd61"); - sb.append("\155"); - sb.append("\ufd61"); - sb.append("\156"); - sb.append("\ufd61"); - sb.append("\157"); - sb.append("\ufd61"); - sb.append("\160"); - sb.append("\ufd61"); - sb.append("\161"); - sb.append("\ufd61"); - sb.append("\162"); - sb.append("\ufd61"); - sb.append("\163"); - sb.append("\ufd61"); - sb.append("\164"); - sb.append("\ufd61"); - sb.append("\165"); - sb.append("\ufd61"); - sb.append("\166"); - sb.append("\ufd61"); - sb.append("\167"); - sb.append("\ufd61"); - sb.append("\170"); - sb.append("\ufd61"); - sb.append("\171"); - sb.append("\ufd61"); - sb.append("\172"); - sb.append("\ufd61"); - sb.append("\173"); - sb.append("\ufd61"); - sb.append("\174"); - sb.append("\ufd61"); - sb.append("\175"); - sb.append("\ufd61"); - sb.append("\176"); - sb.append("\ufd61"); - sb.append("\201"); - sb.append("\ufd61"); - sb.append("\215"); - sb.append("\ufd61"); - sb.append("\231"); - sb.append("\ufd61"); + sb.append("\004"); sb.append("\232"); - sb.append("\ufd61"); - sb.append("\242"); - sb.append("\ufd61"); - sb.append("\245"); - sb.append("\ufd61"); - sb.append("\251"); - sb.append("\ufd61"); + sb.append("\u04dc"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\250"); + sb.append("\003"); + sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\217"); sb.append("\011"); sb.append("\204"); sb.append("\012"); sb.append("\075"); + sb.append("\014"); + sb.append("\007"); sb.append("\015"); sb.append("\031"); sb.append("\016"); sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); sb.append("\032"); sb.append("\106"); + sb.append("\034"); + sb.append("\113"); sb.append("\036"); sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\052"); + sb.append("\057"); sb.append("\054"); sb.append("\026"); + sb.append("\056"); + sb.append("\u03a9"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); sb.append("\062"); sb.append("\210"); sb.append("\063"); @@ -3310,10 +3881,14 @@ protected EncodedActionTable14() { sb.append("\117"); sb.append("\105"); sb.append("\141"); + sb.append("\111"); + sb.append("\157"); sb.append("\115"); sb.append("\136"); sb.append("\116"); sb.append("\046"); + sb.append("\120"); + sb.append("\172"); sb.append("\121"); sb.append("\160"); sb.append("\122"); @@ -3328,1205 +3903,631 @@ protected EncodedActionTable14() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\151"); + sb.append("\171"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\223"); + sb.append("\025"); + sb.append("\231"); + sb.append("\047"); sb.append("\233"); - sb.append("\152"); + sb.append("\u04cf"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufd5f"); - sb.append("\073"); - sb.append("\ufd5f"); - sb.append("\112"); - sb.append("\ufd5f"); - sb.append("\127"); - sb.append("\ufd5f"); - sb.append("\130"); - sb.append("\ufd5f"); - sb.append("\131"); - sb.append("\ufd5f"); - sb.append("\132"); - sb.append("\ufd5f"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufd5f"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufd5f"); - sb.append("\231"); - sb.append("\ufd5f"); - sb.append("\232"); - sb.append("\ufd5f"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\003"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\004"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\005"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\006"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\007"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\010"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\011"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\012"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\014"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\015"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\016"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\017"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\020"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\021"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\022"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\023"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\024"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\025"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\026"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\027"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\030"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\032"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\034"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\035"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\036"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\037"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\040"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\041"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\042"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\043"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\044"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\045"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\046"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\047"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\050"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\051"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\052"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\054"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\056"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\057"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\061"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\062"); - sb.append("\uff63"); + sb.append("\uff60"); sb.append("\063"); - sb.append("\uff63"); - sb.append("\064"); - sb.append("\uff63"); - sb.append("\065"); - sb.append("\uff63"); - sb.append("\066"); - sb.append("\uff63"); - sb.append("\074"); - sb.append("\uff63"); - sb.append("\075"); - sb.append("\uff63"); - sb.append("\077"); - sb.append("\uff63"); - sb.append("\100"); - sb.append("\uff63"); - sb.append("\101"); - sb.append("\uff63"); - sb.append("\102"); - sb.append("\uff63"); - sb.append("\103"); - sb.append("\uff63"); - sb.append("\104"); - sb.append("\uff63"); - sb.append("\105"); - sb.append("\uff63"); - sb.append("\111"); - sb.append("\uff63"); - sb.append("\112"); - sb.append("\uff63"); - sb.append("\114"); - sb.append("\uff63"); - sb.append("\115"); - sb.append("\uff63"); - sb.append("\116"); - sb.append("\uff63"); - sb.append("\120"); - sb.append("\uff63"); - sb.append("\121"); - sb.append("\uff63"); - sb.append("\122"); - sb.append("\uff63"); - sb.append("\123"); - sb.append("\uff63"); - sb.append("\124"); - sb.append("\uff63"); - sb.append("\125"); - sb.append("\uff63"); - sb.append("\126"); - sb.append("\uff63"); - sb.append("\133"); - sb.append("\uff63"); - sb.append("\151"); - sb.append("\uff63"); - sb.append("\172"); - sb.append("\uff63"); - sb.append("\173"); - sb.append("\uff63"); - sb.append("\177"); - sb.append("\uff63"); - sb.append("\200"); - sb.append("\uff63"); - sb.append("\202"); - sb.append("\uff63"); - sb.append("\203"); - sb.append("\uff63"); - sb.append("\204"); - sb.append("\uff63"); - sb.append("\205"); - sb.append("\uff63"); - sb.append("\206"); - sb.append("\uff63"); - sb.append("\207"); - sb.append("\uff63"); - sb.append("\210"); - sb.append("\uff63"); - sb.append("\211"); - sb.append("\uff63"); - sb.append("\212"); - sb.append("\uff63"); - sb.append("\213"); - sb.append("\uff63"); - sb.append("\214"); - sb.append("\uff63"); - sb.append("\216"); - sb.append("\uff63"); - sb.append("\217"); - sb.append("\uff63"); - sb.append("\220"); - sb.append("\uff63"); - sb.append("\221"); - sb.append("\uff63"); - sb.append("\222"); - sb.append("\uff63"); - sb.append("\223"); - sb.append("\uff63"); - sb.append("\224"); - sb.append("\uff63"); - sb.append("\230"); - sb.append("\uff63"); - sb.append("\233"); - sb.append("\uff63"); - sb.append("\234"); - sb.append("\uff63"); - sb.append("\235"); - sb.append("\uff63"); - sb.append("\236"); - sb.append("\uff63"); - sb.append("\240"); - sb.append("\uff63"); - sb.append("\247"); - sb.append("\uff63"); - sb.append("\250"); - sb.append("\uff63"); - sb.append("\252"); - sb.append("\uff63"); - sb.append("\253"); - sb.append("\uff63"); - sb.append("\254"); - sb.append("\uff63"); - sb.append("\255"); - sb.append("\uff63"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd36"); - sb.append("\033"); - sb.append("\ufd36"); - sb.append("\071"); - sb.append("\ufd36"); - sb.append("\072"); - sb.append("\ufd36"); - sb.append("\073"); - sb.append("\ufd36"); - sb.append("\111"); - sb.append("\ufd36"); - sb.append("\112"); - sb.append("\ufd36"); - sb.append("\113"); - sb.append("\ufd36"); - sb.append("\127"); - sb.append("\ufd36"); - sb.append("\130"); - sb.append("\ufd36"); - sb.append("\131"); - sb.append("\ufd36"); - sb.append("\132"); - sb.append("\ufd36"); - sb.append("\134"); - sb.append("\ufd36"); - sb.append("\135"); - sb.append("\ufd36"); - sb.append("\136"); - sb.append("\ufd36"); - sb.append("\137"); - sb.append("\ufd36"); - sb.append("\140"); - sb.append("\ufd36"); - sb.append("\141"); - sb.append("\ufd36"); - sb.append("\142"); - sb.append("\ufd36"); - sb.append("\143"); - sb.append("\ufd36"); - sb.append("\144"); - sb.append("\ufd36"); - sb.append("\145"); - sb.append("\ufd36"); - sb.append("\146"); - sb.append("\ufd36"); - sb.append("\147"); - sb.append("\ufd36"); - sb.append("\150"); - sb.append("\ufd36"); - sb.append("\151"); - sb.append("\ufd36"); - sb.append("\152"); - sb.append("\ufd36"); - sb.append("\153"); - sb.append("\ufd36"); - sb.append("\154"); - sb.append("\ufd36"); - sb.append("\155"); - sb.append("\ufd36"); - sb.append("\156"); - sb.append("\ufd36"); - sb.append("\157"); - sb.append("\ufd36"); - sb.append("\160"); - sb.append("\ufd36"); - sb.append("\161"); - sb.append("\ufd36"); - sb.append("\162"); - sb.append("\ufd36"); - sb.append("\163"); - sb.append("\ufd36"); - sb.append("\164"); - sb.append("\ufd36"); - sb.append("\165"); - sb.append("\ufd36"); - sb.append("\166"); - sb.append("\ufd36"); - sb.append("\167"); - sb.append("\ufd36"); - sb.append("\170"); - sb.append("\ufd36"); - sb.append("\171"); - sb.append("\ufd36"); - sb.append("\172"); - sb.append("\ufd36"); - sb.append("\173"); - sb.append("\ufd36"); - sb.append("\174"); - sb.append("\ufd36"); - sb.append("\175"); - sb.append("\ufd36"); - sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); - sb.append("\202"); - sb.append("\ufd36"); - sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); - sb.append("\215"); - sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); - sb.append("\231"); - sb.append("\ufd36"); - sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); - sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); - sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd2f"); - sb.append("\033"); - sb.append("\ufd2f"); - sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); - sb.append("\073"); - sb.append("\ufd2f"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); - sb.append("\127"); - sb.append("\ufd2f"); - sb.append("\130"); - sb.append("\ufd2f"); - sb.append("\131"); - sb.append("\ufd2f"); - sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); - sb.append("\150"); - sb.append("\ufd2f"); - sb.append("\151"); - sb.append("\ufd2f"); - sb.append("\152"); - sb.append("\ufd2f"); - sb.append("\153"); - sb.append("\ufd2f"); - sb.append("\154"); - sb.append("\ufd2f"); - sb.append("\155"); - sb.append("\ufd2f"); - sb.append("\156"); - sb.append("\ufd2f"); - sb.append("\157"); - sb.append("\ufd2f"); - sb.append("\160"); - sb.append("\ufd2f"); - sb.append("\161"); - sb.append("\ufd2f"); - sb.append("\162"); - sb.append("\ufd2f"); - sb.append("\163"); - sb.append("\ufd2f"); - sb.append("\164"); - sb.append("\ufd2f"); - sb.append("\165"); - sb.append("\ufd2f"); - sb.append("\166"); - sb.append("\ufd2f"); - sb.append("\167"); - sb.append("\ufd2f"); - sb.append("\170"); - sb.append("\ufd2f"); - sb.append("\171"); - sb.append("\ufd2f"); - sb.append("\172"); - sb.append("\ufd2f"); - sb.append("\173"); - sb.append("\ufd2f"); - sb.append("\174"); - sb.append("\ufd2f"); - sb.append("\175"); - sb.append("\ufd2f"); - sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); - sb.append("\202"); - sb.append("\ufd2f"); - sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); - sb.append("\231"); - sb.append("\ufd2f"); - sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); - sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); - sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd3b"); - sb.append("\033"); - sb.append("\ufd3b"); - sb.append("\071"); - sb.append("\ufd3b"); - sb.append("\072"); - sb.append("\ufd3b"); - sb.append("\073"); - sb.append("\ufd3b"); + sb.append("\uff60"); + sb.append("\064"); + sb.append("\uff60"); + sb.append("\065"); + sb.append("\uff60"); + sb.append("\066"); + sb.append("\uff60"); + sb.append("\074"); + sb.append("\uff60"); + sb.append("\075"); + sb.append("\uff60"); + sb.append("\077"); + sb.append("\uff60"); + sb.append("\100"); + sb.append("\uff60"); + sb.append("\101"); + sb.append("\uff60"); + sb.append("\102"); + sb.append("\uff60"); + sb.append("\103"); + sb.append("\uff60"); + sb.append("\104"); + sb.append("\uff60"); + sb.append("\105"); + sb.append("\uff60"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\uff60"); sb.append("\112"); - sb.append("\ufd3b"); - sb.append("\113"); - sb.append("\ufd3b"); - sb.append("\127"); - sb.append("\ufd3b"); - sb.append("\130"); - sb.append("\ufd3b"); - sb.append("\131"); - sb.append("\ufd3b"); - sb.append("\132"); - sb.append("\ufd3b"); - sb.append("\134"); - sb.append("\ufd3b"); - sb.append("\135"); - sb.append("\ufd3b"); - sb.append("\136"); - sb.append("\ufd3b"); - sb.append("\137"); - sb.append("\ufd3b"); - sb.append("\140"); - sb.append("\ufd3b"); - sb.append("\141"); - sb.append("\ufd3b"); - sb.append("\142"); - sb.append("\ufd3b"); - sb.append("\143"); - sb.append("\ufd3b"); - sb.append("\144"); - sb.append("\ufd3b"); - sb.append("\145"); - sb.append("\ufd3b"); - sb.append("\146"); - sb.append("\ufd3b"); - sb.append("\147"); - sb.append("\ufd3b"); - sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\uff60"); + sb.append("\114"); + sb.append("\uff60"); + sb.append("\115"); + sb.append("\uff60"); + sb.append("\116"); + sb.append("\uff60"); + sb.append("\120"); + sb.append("\uff60"); + sb.append("\121"); + sb.append("\uff60"); + sb.append("\122"); + sb.append("\uff60"); + sb.append("\123"); + sb.append("\uff60"); + sb.append("\124"); + sb.append("\uff60"); + sb.append("\125"); + sb.append("\uff60"); + sb.append("\126"); + sb.append("\uff60"); + sb.append("\133"); + sb.append("\uff60"); sb.append("\151"); - sb.append("\ufd3b"); - sb.append("\152"); - sb.append("\ufd3b"); - sb.append("\153"); - sb.append("\ufd3b"); - sb.append("\154"); - sb.append("\ufd3b"); - sb.append("\155"); - sb.append("\ufd3b"); - sb.append("\156"); - sb.append("\ufd3b"); - sb.append("\157"); - sb.append("\ufd3b"); - sb.append("\160"); - sb.append("\ufd3b"); - sb.append("\161"); - sb.append("\ufd3b"); - sb.append("\162"); - sb.append("\ufd3b"); - sb.append("\163"); - sb.append("\ufd3b"); - sb.append("\164"); - sb.append("\ufd3b"); - sb.append("\165"); - sb.append("\ufd3b"); - sb.append("\166"); - sb.append("\ufd3b"); - sb.append("\167"); - sb.append("\ufd3b"); - sb.append("\170"); - sb.append("\ufd3b"); - sb.append("\171"); - sb.append("\ufd3b"); - sb.append("\172"); - sb.append("\ufd3b"); + sb.append("\uff60"); sb.append("\173"); - sb.append("\ufd3b"); + sb.append("\uff60"); sb.append("\174"); - sb.append("\ufd3b"); - sb.append("\175"); - sb.append("\ufd3b"); - sb.append("\176"); - sb.append("\ufd3b"); + sb.append("\uff60"); + sb.append("\200"); + sb.append("\uff60"); sb.append("\201"); - sb.append("\ufd3b"); - sb.append("\202"); - sb.append("\ufd3b"); + sb.append("\uff60"); sb.append("\203"); - sb.append("\ufd3b"); + sb.append("\uff60"); + sb.append("\204"); + sb.append("\uff60"); + sb.append("\205"); + sb.append("\uff60"); + sb.append("\206"); + sb.append("\uff60"); + sb.append("\207"); + sb.append("\uff60"); + sb.append("\210"); + sb.append("\uff60"); + sb.append("\211"); + sb.append("\uff60"); + sb.append("\212"); + sb.append("\uff60"); + sb.append("\213"); + sb.append("\uff60"); sb.append("\214"); - sb.append("\u0270"); + sb.append("\uff60"); sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); + sb.append("\uff60"); + sb.append("\217"); + sb.append("\uff60"); + sb.append("\220"); + sb.append("\uff60"); + sb.append("\221"); + sb.append("\uff60"); + sb.append("\222"); + sb.append("\uff60"); + sb.append("\223"); + sb.append("\uff60"); + sb.append("\224"); + sb.append("\uff60"); + sb.append("\225"); + sb.append("\uff60"); sb.append("\231"); - sb.append("\ufd3b"); - sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); - sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); - sb.append("\246"); - sb.append("\ufd3b"); + sb.append("\uff60"); + sb.append("\234"); + sb.append("\uff60"); + sb.append("\235"); + sb.append("\uff60"); + sb.append("\236"); + sb.append("\uff60"); + sb.append("\237"); + sb.append("\uff60"); + sb.append("\241"); + sb.append("\uff60"); + sb.append("\250"); + sb.append("\uff60"); sb.append("\251"); - sb.append("\ufd3b"); + sb.append("\uff60"); + sb.append("\253"); + sb.append("\uff60"); + sb.append("\254"); + sb.append("\uff60"); + sb.append("\255"); + sb.append("\uff60"); + sb.append("\256"); + sb.append("\uff60"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd4d"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd4d"); - sb.append("\071"); - sb.append("\u02a5"); - sb.append("\072"); - sb.append("\u02a2"); + sb.append("\ufe33"); sb.append("\073"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\112"); - sb.append("\ufd4d"); - sb.append("\113"); - sb.append("\u02a3"); + sb.append("\ufe33"); sb.append("\127"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\130"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\131"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\132"); - sb.append("\ufd4d"); - sb.append("\134"); - sb.append("\ufd4d"); - sb.append("\135"); - sb.append("\ufd4d"); - sb.append("\136"); - sb.append("\ufd4d"); - sb.append("\137"); - sb.append("\ufd4d"); - sb.append("\140"); - sb.append("\ufd4d"); - sb.append("\141"); - sb.append("\ufd4d"); - sb.append("\142"); - sb.append("\ufd4d"); - sb.append("\143"); - sb.append("\ufd4d"); - sb.append("\144"); - sb.append("\ufd4d"); - sb.append("\145"); - sb.append("\ufd4d"); - sb.append("\146"); - sb.append("\ufd4d"); - sb.append("\147"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\150"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\151"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\152"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\153"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\154"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\155"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\156"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\157"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\160"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\161"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\162"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\163"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\164"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\165"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\166"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\167"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\170"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\171"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\172"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\173"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\174"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\175"); - sb.append("\ufd4d"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd4d"); - sb.append("\201"); - sb.append("\ufd4d"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd4d"); - sb.append("\203"); - sb.append("\ufd4d"); - sb.append("\215"); - sb.append("\ufd4d"); - sb.append("\230"); - sb.append("\ufd4d"); - sb.append("\231"); - sb.append("\ufd4d"); + sb.append("\ufe33"); + sb.append("\216"); + sb.append("\ufe33"); sb.append("\232"); - sb.append("\ufd4d"); - sb.append("\242"); - sb.append("\ufd4d"); + sb.append("\ufe33"); + sb.append("\233"); + sb.append("\ufe33"); sb.append("\243"); - sb.append("\ufd4d"); - sb.append("\245"); - sb.append("\ufd4d"); + sb.append("\ufe33"); sb.append("\246"); - sb.append("\ufd4d"); - sb.append("\251"); - sb.append("\ufd4d"); + sb.append("\ufe33"); + sb.append("\252"); + sb.append("\ufe33"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\244"); + sb.append("\004"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\010"); + sb.append("\u016d"); + sb.append("\012"); + sb.append("\075"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\ufd36"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\ufd36"); - sb.append("\071"); - sb.append("\ufd36"); - sb.append("\072"); - sb.append("\ufd36"); - sb.append("\073"); - sb.append("\ufd36"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); + sb.append("\045"); + sb.append("\u018f"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u01a8"); + sb.append("\063"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u01a9"); + sb.append("\075"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0166"); + sb.append("\100"); + sb.append("\u0194"); + sb.append("\101"); + sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); + sb.append("\103"); + sb.append("\u019e"); + sb.append("\104"); + sb.append("\u015d"); sb.append("\111"); - sb.append("\ufd36"); - sb.append("\112"); - sb.append("\ufd36"); - sb.append("\113"); - sb.append("\ufd36"); - sb.append("\127"); - sb.append("\ufd36"); + sb.append("\u0309"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u019c"); + sb.append("\116"); + sb.append("\u0170"); + sb.append("\121"); + sb.append("\u017a"); + sb.append("\122"); + sb.append("\u0169"); + sb.append("\123"); + sb.append("\u0183"); + sb.append("\124"); + sb.append("\u0176"); + sb.append("\125"); + sb.append("\u019b"); + sb.append("\126"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\ufd36"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\ufd36"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\ufd36"); - sb.append("\134"); - sb.append("\ufd36"); - sb.append("\135"); - sb.append("\ufd36"); - sb.append("\136"); - sb.append("\ufd36"); - sb.append("\137"); - sb.append("\ufd36"); - sb.append("\140"); - sb.append("\ufd36"); - sb.append("\141"); - sb.append("\ufd36"); - sb.append("\142"); - sb.append("\ufd36"); - sb.append("\143"); - sb.append("\ufd36"); - sb.append("\144"); - sb.append("\ufd36"); - sb.append("\145"); - sb.append("\ufd36"); - sb.append("\146"); - sb.append("\ufd36"); - sb.append("\147"); - sb.append("\ufd36"); - sb.append("\150"); - sb.append("\ufd36"); - sb.append("\151"); - sb.append("\ufd36"); - sb.append("\152"); - sb.append("\ufd36"); - sb.append("\153"); - sb.append("\ufd36"); - sb.append("\154"); - sb.append("\ufd36"); - sb.append("\155"); - sb.append("\ufd36"); - sb.append("\156"); - sb.append("\ufd36"); - sb.append("\157"); - sb.append("\ufd36"); - sb.append("\160"); - sb.append("\ufd36"); - sb.append("\161"); - sb.append("\ufd36"); - sb.append("\162"); - sb.append("\ufd36"); - sb.append("\163"); - sb.append("\ufd36"); - sb.append("\164"); - sb.append("\ufd36"); - sb.append("\165"); - sb.append("\ufd36"); - sb.append("\166"); - sb.append("\ufd36"); - sb.append("\167"); - sb.append("\ufd36"); - sb.append("\170"); - sb.append("\ufd36"); - sb.append("\171"); - sb.append("\ufd36"); - sb.append("\172"); - sb.append("\ufd36"); - sb.append("\173"); - sb.append("\ufd36"); - sb.append("\174"); - sb.append("\ufd36"); - sb.append("\175"); - sb.append("\ufd36"); - sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); - sb.append("\202"); - sb.append("\ufd36"); - sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); - sb.append("\215"); - sb.append("\ufd36"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u029b"); - sb.append("\231"); - sb.append("\ufd36"); - sb.append("\232"); - sb.append("\ufd36"); + sb.append("\u01a0"); + sb.append("\234"); + sb.append("\152"); + sb.append("\241"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\ufd36"); - sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); - sb.append("\246"); - sb.append("\ufd36"); + sb.append("\u0190"); sb.append("\251"); - sb.append("\ufd36"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd2f"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd2f"); - sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); + sb.append("\ufd5e"); sb.append("\073"); - sb.append("\ufd2f"); - sb.append("\111"); - sb.append("\u026f"); + sb.append("\u04e3"); sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); + sb.append("\ufd5e"); sb.append("\127"); - sb.append("\ufd2f"); + sb.append("\ufd5e"); sb.append("\130"); - sb.append("\ufd2f"); + sb.append("\ufd5e"); sb.append("\131"); - sb.append("\ufd2f"); + sb.append("\ufd5e"); sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); + sb.append("\ufd5e"); sb.append("\150"); - sb.append("\ufd2f"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufd2f"); + sb.append("\ufd5e"); sb.append("\152"); - sb.append("\ufd2f"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd2f"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd2f"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd2f"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd2f"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd2f"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd2f"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd2f"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd2f"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd2f"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd2f"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd2f"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd2f"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd2f"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd2f"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd2f"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd2f"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd2f"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd2f"); - sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); - sb.append("\231"); - sb.append("\ufd2f"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufd5e"); sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); + sb.append("\ufd5e"); + sb.append("\233"); + sb.append("\ufd5e"); sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); + sb.append("\u01c7"); sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\033"); - sb.append("\ufd3b"); - sb.append("\071"); - sb.append("\ufd3b"); - sb.append("\072"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\073"); - sb.append("\ufd3b"); - sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd60"); sb.append("\112"); - sb.append("\ufd3b"); - sb.append("\113"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\127"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\130"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\131"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\132"); - sb.append("\ufd3b"); - sb.append("\134"); - sb.append("\ufd3b"); - sb.append("\135"); - sb.append("\ufd3b"); - sb.append("\136"); - sb.append("\ufd3b"); - sb.append("\137"); - sb.append("\ufd3b"); - sb.append("\140"); - sb.append("\ufd3b"); - sb.append("\141"); - sb.append("\ufd3b"); - sb.append("\142"); - sb.append("\ufd3b"); - sb.append("\143"); - sb.append("\ufd3b"); - sb.append("\144"); - sb.append("\ufd3b"); - sb.append("\145"); - sb.append("\ufd3b"); - sb.append("\146"); - sb.append("\ufd3b"); - sb.append("\147"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\151"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\152"); - sb.append("\ufd3b"); + sb.append("\ufd60"); sb.append("\153"); - sb.append("\ufd3b"); - sb.append("\154"); - sb.append("\ufd3b"); - sb.append("\155"); - sb.append("\ufd3b"); - sb.append("\156"); - sb.append("\ufd3b"); - sb.append("\157"); - sb.append("\ufd3b"); - sb.append("\160"); - sb.append("\ufd3b"); - sb.append("\161"); - sb.append("\ufd3b"); - sb.append("\162"); - sb.append("\ufd3b"); - sb.append("\163"); - sb.append("\ufd3b"); - sb.append("\164"); - sb.append("\ufd3b"); - sb.append("\165"); - sb.append("\ufd3b"); - sb.append("\166"); - sb.append("\ufd3b"); - sb.append("\167"); - sb.append("\ufd3b"); - sb.append("\170"); - sb.append("\ufd3b"); - sb.append("\171"); - sb.append("\ufd3b"); + sb.append("\ufd60"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java index bef9484d2042..7a41466fa2c3 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,334 +29,154 @@ public String getTableData() { } protected EncodedActionTable15() { sb = new StringBuilder(); - sb.append("\172"); - sb.append("\ufd3b"); - sb.append("\173"); - sb.append("\ufd3b"); - sb.append("\174"); - sb.append("\ufd3b"); - sb.append("\175"); - sb.append("\ufd3b"); - sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); - sb.append("\202"); - sb.append("\ufd3b"); - sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); - sb.append("\231"); - sb.append("\ufd3b"); - sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); - sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); - sb.append("\246"); - sb.append("\ufd3b"); - sb.append("\251"); - sb.append("\ufd3b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\166"); - sb.append("\031"); - sb.append("\ufd4c"); - sb.append("\033"); - sb.append("\ufd4c"); - sb.append("\071"); - sb.append("\u02a5"); - sb.append("\072"); - sb.append("\u02a2"); - sb.append("\073"); - sb.append("\ufd4c"); - sb.append("\112"); - sb.append("\ufd4c"); - sb.append("\113"); - sb.append("\u02a3"); - sb.append("\127"); - sb.append("\ufd4c"); - sb.append("\130"); - sb.append("\ufd4c"); - sb.append("\131"); - sb.append("\ufd4c"); - sb.append("\132"); - sb.append("\ufd4c"); - sb.append("\134"); - sb.append("\ufd4c"); - sb.append("\135"); - sb.append("\ufd4c"); - sb.append("\136"); - sb.append("\ufd4c"); - sb.append("\137"); - sb.append("\ufd4c"); - sb.append("\140"); - sb.append("\ufd4c"); - sb.append("\141"); - sb.append("\ufd4c"); - sb.append("\142"); - sb.append("\ufd4c"); - sb.append("\143"); - sb.append("\ufd4c"); - sb.append("\144"); - sb.append("\ufd4c"); - sb.append("\145"); - sb.append("\ufd4c"); - sb.append("\146"); - sb.append("\ufd4c"); - sb.append("\147"); - sb.append("\ufd4c"); - sb.append("\150"); - sb.append("\ufd4c"); - sb.append("\151"); - sb.append("\ufd4c"); - sb.append("\152"); - sb.append("\ufd4c"); - sb.append("\153"); - sb.append("\ufd4c"); sb.append("\154"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\155"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\156"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\157"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\160"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\161"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\162"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\163"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\164"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\165"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\166"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\167"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\170"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\171"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\172"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\173"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\174"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\175"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\176"); - sb.append("\ufd4c"); - sb.append("\201"); - sb.append("\ufd4c"); + sb.append("\ufd60"); + sb.append("\177"); + sb.append("\ufd60"); sb.append("\202"); - sb.append("\ufd4c"); - sb.append("\203"); - sb.append("\ufd4c"); - sb.append("\215"); - sb.append("\ufd4c"); - sb.append("\230"); - sb.append("\ufd4c"); - sb.append("\231"); - sb.append("\ufd4c"); + sb.append("\ufd60"); + sb.append("\216"); + sb.append("\ufd60"); sb.append("\232"); - sb.append("\ufd4c"); - sb.append("\242"); - sb.append("\ufd4c"); + sb.append("\ufd60"); + sb.append("\233"); + sb.append("\ufd60"); sb.append("\243"); - sb.append("\ufd4c"); - sb.append("\245"); - sb.append("\ufd4c"); + sb.append("\ufd60"); sb.append("\246"); - sb.append("\ufd4c"); - sb.append("\251"); - sb.append("\ufd4c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe4a"); - sb.append("\033"); - sb.append("\ufe4a"); - sb.append("\073"); - sb.append("\ufe4a"); - sb.append("\112"); - sb.append("\ufe4a"); - sb.append("\127"); - sb.append("\ufe4a"); - sb.append("\130"); - sb.append("\ufe4a"); - sb.append("\131"); - sb.append("\ufe4a"); - sb.append("\132"); - sb.append("\ufe4a"); - sb.append("\150"); - sb.append("\ufe4a"); - sb.append("\151"); - sb.append("\ufe4a"); - sb.append("\152"); - sb.append("\ufe4a"); - sb.append("\153"); - sb.append("\ufe4a"); - sb.append("\154"); - sb.append("\ufe4a"); - sb.append("\155"); - sb.append("\ufe4a"); - sb.append("\156"); - sb.append("\ufe4a"); - sb.append("\157"); - sb.append("\ufe4a"); - sb.append("\160"); - sb.append("\ufe4a"); - sb.append("\161"); - sb.append("\ufe4a"); - sb.append("\162"); - sb.append("\ufe4a"); - sb.append("\163"); - sb.append("\ufe4a"); - sb.append("\164"); - sb.append("\ufe4a"); - sb.append("\165"); - sb.append("\ufe4a"); - sb.append("\166"); - sb.append("\ufe4a"); - sb.append("\167"); - sb.append("\ufe4a"); - sb.append("\170"); - sb.append("\ufe4a"); - sb.append("\171"); - sb.append("\ufe4a"); - sb.append("\172"); - sb.append("\ufe4a"); - sb.append("\173"); - sb.append("\ufe4a"); - sb.append("\174"); - sb.append("\ufe4a"); - sb.append("\175"); - sb.append("\ufe4a"); - sb.append("\176"); - sb.append("\ufe4a"); - sb.append("\201"); - sb.append("\ufe4a"); - sb.append("\215"); - sb.append("\ufe4a"); - sb.append("\231"); - sb.append("\ufe4a"); - sb.append("\232"); - sb.append("\ufe4a"); - sb.append("\242"); - sb.append("\ufe4a"); - sb.append("\245"); - sb.append("\ufe4a"); - sb.append("\251"); - sb.append("\ufe4a"); + sb.append("\ufd60"); + sb.append("\252"); + sb.append("\ufd60"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\033"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\073"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\112"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\127"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\130"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\131"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\132"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\150"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\151"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\152"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\153"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\154"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\155"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\156"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\157"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\160"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\161"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\162"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\163"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\164"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\165"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\166"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\167"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\170"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\171"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\172"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\173"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\174"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\175"); - sb.append("\ufe48"); + sb.append("\ufd5f"); sb.append("\176"); - sb.append("\ufe48"); - sb.append("\201"); - sb.append("\ufe48"); - sb.append("\215"); - sb.append("\ufe48"); - sb.append("\231"); - sb.append("\ufe48"); + sb.append("\ufd5f"); + sb.append("\177"); + sb.append("\ufd5f"); + sb.append("\202"); + sb.append("\ufd5f"); + sb.append("\216"); + sb.append("\ufd5f"); sb.append("\232"); - sb.append("\ufe48"); - sb.append("\242"); - sb.append("\ufe48"); - sb.append("\245"); - sb.append("\ufe48"); - sb.append("\251"); - sb.append("\ufe48"); + sb.append("\ufd5f"); + sb.append("\233"); + sb.append("\ufd5f"); + sb.append("\243"); + sb.append("\ufd5f"); + sb.append("\246"); + sb.append("\ufd5f"); + sb.append("\252"); + sb.append("\ufd5f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -371,7 +192,7 @@ protected EncodedActionTable15() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -414,1304 +235,1556 @@ protected EncodedActionTable15() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufd5d"); + sb.append("\073"); + sb.append("\ufd5d"); + sb.append("\112"); + sb.append("\ufd5d"); + sb.append("\127"); + sb.append("\ufd5d"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd5d"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd5d"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd5d"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufd5d"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\231"); - sb.append("\u04f0"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\216"); + sb.append("\ufd5d"); + sb.append("\232"); + sb.append("\ufd5d"); + sb.append("\233"); + sb.append("\ufd5d"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\250"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff63"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff63"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff63"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff63"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff63"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff63"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff63"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff63"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff63"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff63"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff63"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff63"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff63"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff63"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff63"); + sb.append("\022"); + sb.append("\uff63"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff63"); + sb.append("\024"); + sb.append("\uff63"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff63"); + sb.append("\026"); + sb.append("\uff63"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff63"); + sb.append("\030"); + sb.append("\uff63"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff63"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff63"); + sb.append("\035"); + sb.append("\uff63"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff63"); + sb.append("\037"); + sb.append("\uff63"); + sb.append("\040"); + sb.append("\uff63"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff63"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff63"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff63"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff63"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff63"); + sb.append("\046"); + sb.append("\uff63"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff63"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff63"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff63"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff63"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff63"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff63"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff63"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff63"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff63"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff63"); + sb.append("\064"); + sb.append("\uff63"); + sb.append("\065"); + sb.append("\uff63"); + sb.append("\066"); + sb.append("\uff63"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff63"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff63"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff63"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff63"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff63"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff63"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff63"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff63"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff63"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff63"); + sb.append("\112"); + sb.append("\uff63"); + sb.append("\114"); + sb.append("\uff63"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff63"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff63"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff63"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff63"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff63"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff63"); sb.append("\124"); + sb.append("\uff63"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff63"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff63"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff63"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff63"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff63"); + sb.append("\174"); + sb.append("\uff63"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff63"); + sb.append("\201"); + sb.append("\uff63"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff63"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff63"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff63"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff63"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff63"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff63"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff63"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff63"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff63"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff63"); + sb.append("\215"); + sb.append("\uff63"); + sb.append("\217"); + sb.append("\uff63"); + sb.append("\220"); + sb.append("\uff63"); + sb.append("\221"); + sb.append("\uff63"); sb.append("\222"); - sb.append("\025"); - sb.append("\230"); - sb.append("\047"); - sb.append("\232"); - sb.append("\u04f1"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff63"); + sb.append("\223"); + sb.append("\uff63"); + sb.append("\224"); + sb.append("\uff63"); + sb.append("\225"); + sb.append("\uff63"); + sb.append("\231"); + sb.append("\uff63"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff63"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff63"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff63"); + sb.append("\237"); + sb.append("\uff63"); + sb.append("\241"); + sb.append("\uff63"); + sb.append("\250"); + sb.append("\uff63"); + sb.append("\251"); + sb.append("\uff63"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff63"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff63"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff63"); + sb.append("\256"); + sb.append("\uff63"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\272"); - sb.append("\003"); - sb.append("\uff7c"); - sb.append("\004"); - sb.append("\uff7c"); - sb.append("\005"); - sb.append("\uff7c"); - sb.append("\006"); - sb.append("\uff7c"); - sb.append("\007"); - sb.append("\uff7c"); + sb.append("\014"); sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); + sb.append("\u0292"); sb.append("\012"); - sb.append("\uff7c"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\014"); - sb.append("\uff7c"); - sb.append("\015"); - sb.append("\uff7c"); - sb.append("\016"); - sb.append("\uff7c"); - sb.append("\017"); - sb.append("\uff7c"); - sb.append("\020"); - sb.append("\uff7c"); - sb.append("\021"); - sb.append("\uff7c"); - sb.append("\023"); - sb.append("\uff7c"); - sb.append("\025"); - sb.append("\uff7c"); - sb.append("\027"); - sb.append("\uff7c"); - sb.append("\032"); - sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); - sb.append("\036"); - sb.append("\uff7c"); - sb.append("\041"); - sb.append("\uff7c"); - sb.append("\042"); - sb.append("\uff7c"); - sb.append("\043"); - sb.append("\uff7c"); - sb.append("\044"); - sb.append("\uff7c"); - sb.append("\045"); - sb.append("\uff7c"); - sb.append("\047"); - sb.append("\uff7c"); - sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); - sb.append("\052"); - sb.append("\uff7c"); - sb.append("\054"); - sb.append("\uff7c"); - sb.append("\056"); - sb.append("\uff7c"); - sb.append("\057"); - sb.append("\uff7c"); - sb.append("\061"); - sb.append("\uff7c"); - sb.append("\062"); - sb.append("\uff7c"); - sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); - sb.append("\074"); - sb.append("\uff7c"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); sb.append("\075"); - sb.append("\uff7c"); - sb.append("\077"); - sb.append("\uff7c"); - sb.append("\100"); - sb.append("\uff7c"); - sb.append("\101"); - sb.append("\uff7c"); - sb.append("\102"); - sb.append("\uff7c"); - sb.append("\103"); - sb.append("\uff7c"); - sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff7c"); - sb.append("\115"); - sb.append("\uff7c"); - sb.append("\116"); - sb.append("\uff7c"); - sb.append("\120"); - sb.append("\uff7c"); + sb.append("\u0294"); sb.append("\121"); - sb.append("\uff7c"); - sb.append("\122"); - sb.append("\uff7c"); - sb.append("\123"); - sb.append("\uff7c"); - sb.append("\124"); - sb.append("\uff7c"); - sb.append("\125"); - sb.append("\uff7c"); - sb.append("\126"); - sb.append("\uff7c"); - sb.append("\133"); - sb.append("\uff7c"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd34"); + sb.append("\033"); + sb.append("\ufd34"); + sb.append("\071"); + sb.append("\ufd34"); + sb.append("\072"); + sb.append("\ufd34"); + sb.append("\073"); + sb.append("\ufd34"); + sb.append("\111"); + sb.append("\ufd34"); + sb.append("\112"); + sb.append("\ufd34"); + sb.append("\113"); + sb.append("\ufd34"); + sb.append("\127"); + sb.append("\ufd34"); + sb.append("\130"); + sb.append("\ufd34"); + sb.append("\131"); + sb.append("\ufd34"); + sb.append("\132"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); + sb.append("\150"); + sb.append("\ufd34"); sb.append("\151"); - sb.append("\uff7c"); + sb.append("\ufd34"); + sb.append("\152"); + sb.append("\ufd34"); + sb.append("\153"); + sb.append("\ufd34"); + sb.append("\154"); + sb.append("\ufd34"); + sb.append("\155"); + sb.append("\ufd34"); + sb.append("\156"); + sb.append("\ufd34"); + sb.append("\157"); + sb.append("\ufd34"); + sb.append("\160"); + sb.append("\ufd34"); + sb.append("\161"); + sb.append("\ufd34"); + sb.append("\162"); + sb.append("\ufd34"); + sb.append("\163"); + sb.append("\ufd34"); + sb.append("\164"); + sb.append("\ufd34"); + sb.append("\165"); + sb.append("\ufd34"); + sb.append("\166"); + sb.append("\ufd34"); + sb.append("\167"); + sb.append("\ufd34"); + sb.append("\170"); + sb.append("\ufd34"); + sb.append("\171"); + sb.append("\ufd34"); sb.append("\172"); - sb.append("\uff7c"); + sb.append("\ufd34"); sb.append("\173"); - sb.append("\uff7c"); + sb.append("\ufd34"); + sb.append("\174"); + sb.append("\ufd34"); + sb.append("\175"); + sb.append("\ufd34"); + sb.append("\176"); + sb.append("\ufd34"); sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); + sb.append("\ufd34"); sb.append("\202"); - sb.append("\uff7c"); + sb.append("\ufd34"); sb.append("\203"); - sb.append("\uff7c"); + sb.append("\ufd34"); sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); + sb.append("\ufd34"); + sb.append("\215"); + sb.append("\ufd34"); sb.append("\216"); - sb.append("\uff7c"); - sb.append("\217"); - sb.append("\uff7c"); - sb.append("\220"); - sb.append("\uff7c"); - sb.append("\221"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); - sb.append("\223"); - sb.append("\uff7c"); - sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); + sb.append("\ufd34"); + sb.append("\231"); + sb.append("\u029f"); + sb.append("\232"); + sb.append("\ufd34"); sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); sb.append("\247"); - sb.append("\uff7c"); - sb.append("\250"); - sb.append("\uff7c"); + sb.append("\ufd34"); sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); - sb.append("\254"); - sb.append("\uff7c"); - sb.append("\255"); - sb.append("\uff7c"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd2d"); + sb.append("\033"); + sb.append("\ufd2d"); + sb.append("\071"); + sb.append("\ufd2d"); + sb.append("\072"); + sb.append("\ufd2d"); + sb.append("\073"); + sb.append("\ufd2d"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd2d"); + sb.append("\113"); + sb.append("\ufd2d"); + sb.append("\127"); + sb.append("\ufd2d"); + sb.append("\130"); + sb.append("\ufd2d"); + sb.append("\131"); + sb.append("\ufd2d"); + sb.append("\132"); + sb.append("\ufd2d"); + sb.append("\134"); + sb.append("\ufd2d"); + sb.append("\135"); + sb.append("\ufd2d"); + sb.append("\136"); + sb.append("\ufd2d"); + sb.append("\137"); + sb.append("\ufd2d"); + sb.append("\140"); + sb.append("\ufd2d"); + sb.append("\141"); + sb.append("\ufd2d"); + sb.append("\142"); + sb.append("\ufd2d"); + sb.append("\143"); + sb.append("\ufd2d"); + sb.append("\144"); + sb.append("\ufd2d"); + sb.append("\145"); + sb.append("\ufd2d"); + sb.append("\146"); + sb.append("\ufd2d"); + sb.append("\147"); + sb.append("\ufd2d"); + sb.append("\150"); + sb.append("\ufd2d"); + sb.append("\151"); + sb.append("\ufd2d"); + sb.append("\152"); + sb.append("\ufd2d"); + sb.append("\153"); + sb.append("\ufd2d"); + sb.append("\154"); + sb.append("\ufd2d"); + sb.append("\155"); + sb.append("\ufd2d"); + sb.append("\156"); + sb.append("\ufd2d"); + sb.append("\157"); + sb.append("\ufd2d"); + sb.append("\160"); + sb.append("\ufd2d"); + sb.append("\161"); + sb.append("\ufd2d"); + sb.append("\162"); + sb.append("\ufd2d"); + sb.append("\163"); + sb.append("\ufd2d"); + sb.append("\164"); + sb.append("\ufd2d"); + sb.append("\165"); + sb.append("\ufd2d"); + sb.append("\166"); + sb.append("\ufd2d"); + sb.append("\167"); + sb.append("\ufd2d"); + sb.append("\170"); + sb.append("\ufd2d"); + sb.append("\171"); + sb.append("\ufd2d"); + sb.append("\172"); + sb.append("\ufd2d"); + sb.append("\173"); + sb.append("\ufd2d"); + sb.append("\174"); + sb.append("\ufd2d"); + sb.append("\175"); + sb.append("\ufd2d"); + sb.append("\176"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); + sb.append("\202"); + sb.append("\ufd2d"); + sb.append("\203"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); + sb.append("\231"); + sb.append("\ufd2d"); + sb.append("\232"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); + sb.append("\243"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); + sb.append("\246"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff03"); - sb.append("\003"); - sb.append("\uff03"); - sb.append("\004"); - sb.append("\uff03"); - sb.append("\005"); - sb.append("\uff03"); - sb.append("\006"); - sb.append("\uff03"); - sb.append("\007"); - sb.append("\uff03"); - sb.append("\010"); - sb.append("\uff03"); - sb.append("\011"); - sb.append("\uff03"); - sb.append("\012"); - sb.append("\uff03"); - sb.append("\014"); - sb.append("\uff03"); - sb.append("\015"); - sb.append("\uff03"); - sb.append("\016"); - sb.append("\uff03"); - sb.append("\017"); - sb.append("\uff03"); - sb.append("\020"); - sb.append("\uff03"); - sb.append("\021"); - sb.append("\uff03"); - sb.append("\022"); - sb.append("\uff03"); - sb.append("\023"); - sb.append("\uff03"); - sb.append("\024"); - sb.append("\uff03"); - sb.append("\025"); - sb.append("\uff03"); - sb.append("\026"); - sb.append("\uff03"); - sb.append("\027"); - sb.append("\uff03"); - sb.append("\030"); - sb.append("\uff03"); - sb.append("\032"); - sb.append("\uff03"); - sb.append("\034"); - sb.append("\uff03"); - sb.append("\035"); - sb.append("\uff03"); - sb.append("\036"); - sb.append("\uff03"); - sb.append("\037"); - sb.append("\uff03"); - sb.append("\040"); - sb.append("\uff03"); - sb.append("\041"); - sb.append("\uff03"); - sb.append("\042"); - sb.append("\uff03"); - sb.append("\043"); - sb.append("\uff03"); - sb.append("\044"); - sb.append("\uff03"); - sb.append("\045"); - sb.append("\uff03"); - sb.append("\046"); - sb.append("\uff03"); - sb.append("\047"); - sb.append("\uff03"); - sb.append("\050"); - sb.append("\uff03"); - sb.append("\051"); - sb.append("\uff03"); - sb.append("\052"); - sb.append("\uff03"); - sb.append("\054"); - sb.append("\uff03"); - sb.append("\056"); - sb.append("\uff03"); - sb.append("\057"); - sb.append("\uff03"); - sb.append("\061"); - sb.append("\uff03"); - sb.append("\062"); - sb.append("\uff03"); - sb.append("\063"); - sb.append("\uff03"); - sb.append("\064"); - sb.append("\uff03"); - sb.append("\065"); - sb.append("\uff03"); - sb.append("\066"); - sb.append("\uff03"); - sb.append("\074"); - sb.append("\uff03"); - sb.append("\075"); - sb.append("\uff03"); - sb.append("\077"); - sb.append("\uff03"); - sb.append("\100"); - sb.append("\uff03"); - sb.append("\101"); - sb.append("\uff03"); - sb.append("\102"); - sb.append("\uff03"); - sb.append("\103"); - sb.append("\uff03"); - sb.append("\104"); - sb.append("\uff03"); - sb.append("\105"); - sb.append("\uff03"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd39"); + sb.append("\033"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); + sb.append("\073"); + sb.append("\ufd39"); sb.append("\111"); - sb.append("\uff03"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\uff03"); - sb.append("\114"); - sb.append("\uff03"); - sb.append("\115"); - sb.append("\uff03"); - sb.append("\116"); - sb.append("\uff03"); - sb.append("\120"); - sb.append("\uff03"); - sb.append("\121"); - sb.append("\uff03"); - sb.append("\122"); - sb.append("\uff03"); - sb.append("\123"); - sb.append("\uff03"); - sb.append("\124"); - sb.append("\uff03"); - sb.append("\125"); - sb.append("\uff03"); - sb.append("\126"); - sb.append("\uff03"); - sb.append("\133"); - sb.append("\uff03"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); + sb.append("\127"); + sb.append("\ufd39"); + sb.append("\130"); + sb.append("\ufd39"); + sb.append("\131"); + sb.append("\ufd39"); + sb.append("\132"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); + sb.append("\150"); + sb.append("\ufd39"); sb.append("\151"); - sb.append("\uff03"); + sb.append("\ufd39"); + sb.append("\152"); + sb.append("\ufd39"); + sb.append("\153"); + sb.append("\ufd39"); + sb.append("\154"); + sb.append("\ufd39"); + sb.append("\155"); + sb.append("\ufd39"); + sb.append("\156"); + sb.append("\ufd39"); + sb.append("\157"); + sb.append("\ufd39"); + sb.append("\160"); + sb.append("\ufd39"); + sb.append("\161"); + sb.append("\ufd39"); + sb.append("\162"); + sb.append("\ufd39"); + sb.append("\163"); + sb.append("\ufd39"); + sb.append("\164"); + sb.append("\ufd39"); + sb.append("\165"); + sb.append("\ufd39"); + sb.append("\166"); + sb.append("\ufd39"); + sb.append("\167"); + sb.append("\ufd39"); + sb.append("\170"); + sb.append("\ufd39"); + sb.append("\171"); + sb.append("\ufd39"); sb.append("\172"); - sb.append("\uff03"); + sb.append("\ufd39"); sb.append("\173"); - sb.append("\uff03"); + sb.append("\ufd39"); + sb.append("\174"); + sb.append("\ufd39"); + sb.append("\175"); + sb.append("\ufd39"); + sb.append("\176"); + sb.append("\ufd39"); sb.append("\177"); - sb.append("\uff03"); - sb.append("\200"); - sb.append("\uff03"); + sb.append("\ufd39"); sb.append("\202"); - sb.append("\uff03"); + sb.append("\ufd39"); sb.append("\203"); - sb.append("\uff03"); + sb.append("\ufd39"); sb.append("\204"); - sb.append("\uff03"); - sb.append("\205"); - sb.append("\uff03"); - sb.append("\206"); - sb.append("\uff03"); - sb.append("\207"); - sb.append("\uff03"); - sb.append("\210"); - sb.append("\uff03"); - sb.append("\211"); - sb.append("\uff03"); - sb.append("\212"); - sb.append("\uff03"); - sb.append("\213"); - sb.append("\uff03"); - sb.append("\214"); - sb.append("\uff03"); + sb.append("\ufd39"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\216"); - sb.append("\uff03"); - sb.append("\217"); - sb.append("\uff03"); - sb.append("\220"); - sb.append("\uff03"); - sb.append("\221"); - sb.append("\uff03"); - sb.append("\222"); - sb.append("\uff03"); - sb.append("\223"); - sb.append("\uff03"); - sb.append("\224"); - sb.append("\uff03"); - sb.append("\230"); - sb.append("\uff03"); + sb.append("\ufd39"); + sb.append("\231"); + sb.append("\ufd39"); + sb.append("\232"); + sb.append("\ufd39"); sb.append("\233"); - sb.append("\uff03"); - sb.append("\234"); - sb.append("\uff03"); - sb.append("\235"); - sb.append("\uff03"); - sb.append("\236"); - sb.append("\uff03"); - sb.append("\240"); - sb.append("\uff03"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); sb.append("\247"); - sb.append("\uff03"); - sb.append("\250"); - sb.append("\uff03"); + sb.append("\ufd39"); sb.append("\252"); - sb.append("\uff03"); - sb.append("\253"); - sb.append("\uff03"); - sb.append("\254"); - sb.append("\uff03"); - sb.append("\255"); - sb.append("\uff03"); + sb.append("\ufd39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\170"); + sb.append("\031"); + sb.append("\ufd4b"); + sb.append("\033"); + sb.append("\ufd4b"); + sb.append("\071"); + sb.append("\u02a9"); + sb.append("\072"); + sb.append("\u02a6"); + sb.append("\073"); + sb.append("\ufd4b"); + sb.append("\112"); + sb.append("\ufd4b"); + sb.append("\113"); + sb.append("\u02a7"); + sb.append("\127"); + sb.append("\ufd4b"); + sb.append("\130"); + sb.append("\ufd4b"); + sb.append("\131"); + sb.append("\ufd4b"); + sb.append("\132"); + sb.append("\ufd4b"); + sb.append("\134"); + sb.append("\ufd4b"); + sb.append("\135"); + sb.append("\ufd4b"); + sb.append("\136"); + sb.append("\ufd4b"); + sb.append("\137"); + sb.append("\ufd4b"); + sb.append("\140"); + sb.append("\ufd4b"); + sb.append("\141"); + sb.append("\ufd4b"); + sb.append("\142"); + sb.append("\ufd4b"); + sb.append("\143"); + sb.append("\ufd4b"); + sb.append("\144"); + sb.append("\ufd4b"); + sb.append("\145"); + sb.append("\ufd4b"); + sb.append("\146"); + sb.append("\ufd4b"); + sb.append("\147"); + sb.append("\ufd4b"); + sb.append("\150"); + sb.append("\ufd4b"); + sb.append("\151"); + sb.append("\ufd4b"); + sb.append("\152"); + sb.append("\ufd4b"); + sb.append("\153"); + sb.append("\ufd4b"); + sb.append("\154"); + sb.append("\ufd4b"); + sb.append("\155"); + sb.append("\ufd4b"); + sb.append("\156"); + sb.append("\ufd4b"); + sb.append("\157"); + sb.append("\ufd4b"); + sb.append("\160"); + sb.append("\ufd4b"); + sb.append("\161"); + sb.append("\ufd4b"); + sb.append("\162"); + sb.append("\ufd4b"); + sb.append("\163"); + sb.append("\ufd4b"); + sb.append("\164"); + sb.append("\ufd4b"); + sb.append("\165"); + sb.append("\ufd4b"); + sb.append("\166"); + sb.append("\ufd4b"); + sb.append("\167"); + sb.append("\ufd4b"); + sb.append("\170"); + sb.append("\ufd4b"); + sb.append("\171"); + sb.append("\ufd4b"); + sb.append("\172"); + sb.append("\ufd4b"); + sb.append("\173"); + sb.append("\ufd4b"); + sb.append("\174"); + sb.append("\ufd4b"); + sb.append("\175"); + sb.append("\ufd4b"); + sb.append("\176"); + sb.append("\ufd4b"); + sb.append("\177"); + sb.append("\ufd4b"); + sb.append("\202"); + sb.append("\ufd4b"); + sb.append("\203"); + sb.append("\ufd4b"); + sb.append("\204"); + sb.append("\ufd4b"); + sb.append("\216"); + sb.append("\ufd4b"); + sb.append("\231"); + sb.append("\ufd4b"); + sb.append("\232"); + sb.append("\ufd4b"); + sb.append("\233"); + sb.append("\ufd4b"); + sb.append("\243"); + sb.append("\ufd4b"); + sb.append("\244"); + sb.append("\ufd4b"); + sb.append("\246"); + sb.append("\ufd4b"); + sb.append("\247"); + sb.append("\ufd4b"); + sb.append("\252"); + sb.append("\ufd4b"); + sb.append("\001"); sb.append("\002"); - sb.append("\ufeff"); - sb.append("\003"); - sb.append("\ufeff"); - sb.append("\004"); - sb.append("\ufeff"); - sb.append("\005"); - sb.append("\ufeff"); - sb.append("\006"); - sb.append("\ufeff"); - sb.append("\007"); - sb.append("\ufeff"); - sb.append("\010"); - sb.append("\ufeff"); - sb.append("\011"); - sb.append("\ufeff"); - sb.append("\012"); - sb.append("\ufeff"); - sb.append("\014"); - sb.append("\ufeff"); - sb.append("\015"); - sb.append("\ufeff"); - sb.append("\016"); - sb.append("\ufeff"); - sb.append("\017"); - sb.append("\ufeff"); - sb.append("\020"); - sb.append("\ufeff"); - sb.append("\021"); - sb.append("\ufeff"); - sb.append("\022"); - sb.append("\ufeff"); - sb.append("\023"); - sb.append("\ufeff"); - sb.append("\024"); - sb.append("\ufeff"); - sb.append("\025"); - sb.append("\ufeff"); - sb.append("\026"); - sb.append("\ufeff"); - sb.append("\027"); - sb.append("\ufeff"); - sb.append("\030"); - sb.append("\ufeff"); - sb.append("\032"); - sb.append("\ufeff"); - sb.append("\034"); - sb.append("\ufeff"); - sb.append("\035"); - sb.append("\ufeff"); - sb.append("\036"); - sb.append("\ufeff"); - sb.append("\037"); - sb.append("\ufeff"); - sb.append("\040"); - sb.append("\ufeff"); - sb.append("\041"); - sb.append("\ufeff"); - sb.append("\042"); - sb.append("\ufeff"); - sb.append("\043"); - sb.append("\ufeff"); - sb.append("\044"); - sb.append("\ufeff"); - sb.append("\045"); - sb.append("\ufeff"); - sb.append("\046"); - sb.append("\ufeff"); - sb.append("\047"); - sb.append("\ufeff"); - sb.append("\050"); - sb.append("\ufeff"); - sb.append("\051"); - sb.append("\ufeff"); - sb.append("\052"); - sb.append("\ufeff"); - sb.append("\054"); - sb.append("\ufeff"); - sb.append("\056"); - sb.append("\ufeff"); - sb.append("\057"); - sb.append("\ufeff"); - sb.append("\061"); - sb.append("\ufeff"); - sb.append("\062"); - sb.append("\ufeff"); - sb.append("\063"); - sb.append("\ufeff"); - sb.append("\064"); - sb.append("\ufeff"); - sb.append("\065"); - sb.append("\ufeff"); - sb.append("\066"); - sb.append("\ufeff"); - sb.append("\074"); - sb.append("\ufeff"); - sb.append("\075"); - sb.append("\ufeff"); - sb.append("\077"); - sb.append("\ufeff"); - sb.append("\100"); - sb.append("\ufeff"); - sb.append("\101"); - sb.append("\ufeff"); - sb.append("\102"); - sb.append("\ufeff"); - sb.append("\103"); - sb.append("\ufeff"); - sb.append("\104"); - sb.append("\ufeff"); - sb.append("\105"); - sb.append("\ufeff"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd34"); + sb.append("\033"); + sb.append("\ufd34"); + sb.append("\071"); + sb.append("\ufd34"); + sb.append("\072"); + sb.append("\ufd34"); + sb.append("\073"); + sb.append("\ufd34"); sb.append("\111"); - sb.append("\ufeff"); + sb.append("\ufd34"); sb.append("\112"); - sb.append("\ufeff"); - sb.append("\114"); - sb.append("\ufeff"); - sb.append("\115"); - sb.append("\ufeff"); - sb.append("\116"); - sb.append("\ufeff"); - sb.append("\120"); - sb.append("\ufeff"); - sb.append("\121"); - sb.append("\ufeff"); - sb.append("\122"); - sb.append("\ufeff"); - sb.append("\123"); - sb.append("\ufeff"); - sb.append("\124"); - sb.append("\ufeff"); - sb.append("\125"); - sb.append("\ufeff"); - sb.append("\126"); - sb.append("\ufeff"); - sb.append("\133"); - sb.append("\ufeff"); + sb.append("\ufd34"); + sb.append("\113"); + sb.append("\ufd34"); + sb.append("\127"); + sb.append("\ufd34"); + sb.append("\130"); + sb.append("\ufd34"); + sb.append("\131"); + sb.append("\ufd34"); + sb.append("\132"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); + sb.append("\150"); + sb.append("\ufd34"); + sb.append("\151"); + sb.append("\ufd34"); + sb.append("\152"); + sb.append("\ufd34"); + sb.append("\153"); + sb.append("\ufd34"); + sb.append("\154"); + sb.append("\ufd34"); + sb.append("\155"); + sb.append("\ufd34"); + sb.append("\156"); + sb.append("\ufd34"); + sb.append("\157"); + sb.append("\ufd34"); + sb.append("\160"); + sb.append("\ufd34"); + sb.append("\161"); + sb.append("\ufd34"); + sb.append("\162"); + sb.append("\ufd34"); + sb.append("\163"); + sb.append("\ufd34"); + sb.append("\164"); + sb.append("\ufd34"); + sb.append("\165"); + sb.append("\ufd34"); + sb.append("\166"); + sb.append("\ufd34"); + sb.append("\167"); + sb.append("\ufd34"); + sb.append("\170"); + sb.append("\ufd34"); + sb.append("\171"); + sb.append("\ufd34"); + sb.append("\172"); + sb.append("\ufd34"); + sb.append("\173"); + sb.append("\ufd34"); + sb.append("\174"); + sb.append("\ufd34"); + sb.append("\175"); + sb.append("\ufd34"); + sb.append("\176"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); + sb.append("\215"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); + sb.append("\231"); + sb.append("\u029f"); + sb.append("\232"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd2d"); + sb.append("\033"); + sb.append("\ufd2d"); + sb.append("\071"); + sb.append("\ufd2d"); + sb.append("\072"); + sb.append("\ufd2d"); + sb.append("\073"); + sb.append("\ufd2d"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd2d"); + sb.append("\113"); + sb.append("\ufd2d"); + sb.append("\127"); + sb.append("\ufd2d"); + sb.append("\130"); + sb.append("\ufd2d"); + sb.append("\131"); + sb.append("\ufd2d"); + sb.append("\132"); + sb.append("\ufd2d"); + sb.append("\134"); + sb.append("\ufd2d"); + sb.append("\135"); + sb.append("\ufd2d"); + sb.append("\136"); + sb.append("\ufd2d"); + sb.append("\137"); + sb.append("\ufd2d"); + sb.append("\140"); + sb.append("\ufd2d"); + sb.append("\141"); + sb.append("\ufd2d"); + sb.append("\142"); + sb.append("\ufd2d"); + sb.append("\143"); + sb.append("\ufd2d"); + sb.append("\144"); + sb.append("\ufd2d"); + sb.append("\145"); + sb.append("\ufd2d"); + sb.append("\146"); + sb.append("\ufd2d"); + sb.append("\147"); + sb.append("\ufd2d"); + sb.append("\150"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufeff"); + sb.append("\ufd2d"); + sb.append("\152"); + sb.append("\ufd2d"); + sb.append("\153"); + sb.append("\ufd2d"); + sb.append("\154"); + sb.append("\ufd2d"); + sb.append("\155"); + sb.append("\ufd2d"); + sb.append("\156"); + sb.append("\ufd2d"); + sb.append("\157"); + sb.append("\ufd2d"); + sb.append("\160"); + sb.append("\ufd2d"); + sb.append("\161"); + sb.append("\ufd2d"); + sb.append("\162"); + sb.append("\ufd2d"); + sb.append("\163"); + sb.append("\ufd2d"); + sb.append("\164"); + sb.append("\ufd2d"); + sb.append("\165"); + sb.append("\ufd2d"); + sb.append("\166"); + sb.append("\ufd2d"); + sb.append("\167"); + sb.append("\ufd2d"); + sb.append("\170"); + sb.append("\ufd2d"); + sb.append("\171"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\ufeff"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\ufeff"); + sb.append("\ufd2d"); + sb.append("\174"); + sb.append("\ufd2d"); + sb.append("\175"); + sb.append("\ufd2d"); + sb.append("\176"); + sb.append("\ufd2d"); sb.append("\177"); - sb.append("\ufeff"); - sb.append("\200"); - sb.append("\ufeff"); + sb.append("\ufd2d"); sb.append("\202"); - sb.append("\ufeff"); + sb.append("\ufd2d"); sb.append("\203"); - sb.append("\ufeff"); + sb.append("\ufd2d"); sb.append("\204"); - sb.append("\ufeff"); - sb.append("\205"); - sb.append("\ufeff"); - sb.append("\206"); - sb.append("\ufeff"); - sb.append("\207"); - sb.append("\ufeff"); - sb.append("\210"); - sb.append("\ufeff"); - sb.append("\211"); - sb.append("\ufeff"); - sb.append("\212"); - sb.append("\ufeff"); - sb.append("\213"); - sb.append("\ufeff"); - sb.append("\214"); - sb.append("\ufeff"); + sb.append("\ufd2d"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\216"); - sb.append("\ufeff"); - sb.append("\217"); - sb.append("\ufeff"); - sb.append("\220"); - sb.append("\u04f6"); - sb.append("\221"); - sb.append("\u04f5"); - sb.append("\222"); - sb.append("\ufeff"); - sb.append("\223"); - sb.append("\ufeff"); - sb.append("\224"); - sb.append("\ufeff"); - sb.append("\230"); - sb.append("\ufeff"); + sb.append("\ufd2d"); + sb.append("\231"); + sb.append("\ufd2d"); + sb.append("\232"); + sb.append("\ufd2d"); sb.append("\233"); - sb.append("\ufeff"); - sb.append("\234"); - sb.append("\ufeff"); - sb.append("\235"); - sb.append("\ufeff"); - sb.append("\236"); - sb.append("\ufeff"); - sb.append("\240"); - sb.append("\ufeff"); + sb.append("\ufd2d"); + sb.append("\243"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); + sb.append("\246"); + sb.append("\ufd2d"); sb.append("\247"); - sb.append("\ufeff"); - sb.append("\250"); - sb.append("\ufeff"); + sb.append("\ufd2d"); sb.append("\252"); - sb.append("\ufeff"); - sb.append("\253"); - sb.append("\ufeff"); - sb.append("\254"); - sb.append("\ufeff"); - sb.append("\255"); - sb.append("\ufeff"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff75"); - sb.append("\003"); - sb.append("\uff75"); - sb.append("\004"); - sb.append("\uff75"); - sb.append("\005"); - sb.append("\uff75"); - sb.append("\006"); - sb.append("\uff75"); - sb.append("\007"); - sb.append("\uff75"); - sb.append("\010"); - sb.append("\uff75"); - sb.append("\011"); - sb.append("\uff75"); - sb.append("\012"); - sb.append("\uff75"); - sb.append("\014"); - sb.append("\uff75"); - sb.append("\015"); - sb.append("\uff75"); - sb.append("\016"); - sb.append("\uff75"); - sb.append("\017"); - sb.append("\uff75"); - sb.append("\020"); - sb.append("\uff75"); - sb.append("\021"); - sb.append("\uff75"); - sb.append("\022"); - sb.append("\uff75"); - sb.append("\023"); - sb.append("\uff75"); - sb.append("\024"); - sb.append("\uff75"); - sb.append("\025"); - sb.append("\uff75"); - sb.append("\026"); - sb.append("\uff75"); - sb.append("\027"); - sb.append("\uff75"); - sb.append("\030"); - sb.append("\uff75"); - sb.append("\032"); - sb.append("\uff75"); - sb.append("\034"); - sb.append("\uff75"); - sb.append("\035"); - sb.append("\uff75"); - sb.append("\036"); - sb.append("\uff75"); - sb.append("\037"); - sb.append("\uff75"); - sb.append("\040"); - sb.append("\uff75"); - sb.append("\041"); - sb.append("\uff75"); - sb.append("\042"); - sb.append("\uff75"); - sb.append("\043"); - sb.append("\uff75"); - sb.append("\044"); - sb.append("\uff75"); - sb.append("\045"); - sb.append("\uff75"); - sb.append("\046"); - sb.append("\uff75"); - sb.append("\047"); - sb.append("\uff75"); - sb.append("\050"); - sb.append("\uff75"); - sb.append("\051"); - sb.append("\uff75"); - sb.append("\052"); - sb.append("\uff75"); - sb.append("\054"); - sb.append("\uff75"); - sb.append("\056"); - sb.append("\uff75"); - sb.append("\057"); - sb.append("\uff75"); - sb.append("\061"); - sb.append("\uff75"); - sb.append("\062"); - sb.append("\uff75"); - sb.append("\063"); - sb.append("\uff75"); - sb.append("\064"); - sb.append("\uff75"); - sb.append("\065"); - sb.append("\uff75"); - sb.append("\066"); - sb.append("\uff75"); - sb.append("\074"); - sb.append("\uff75"); - sb.append("\075"); - sb.append("\uff75"); - sb.append("\077"); - sb.append("\uff75"); - sb.append("\100"); - sb.append("\uff75"); - sb.append("\101"); - sb.append("\uff75"); - sb.append("\102"); - sb.append("\uff75"); - sb.append("\103"); - sb.append("\uff75"); - sb.append("\104"); - sb.append("\uff75"); - sb.append("\105"); - sb.append("\uff75"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd39"); + sb.append("\033"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); + sb.append("\073"); + sb.append("\ufd39"); sb.append("\111"); - sb.append("\uff75"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\uff75"); - sb.append("\114"); - sb.append("\uff75"); - sb.append("\115"); - sb.append("\uff75"); - sb.append("\116"); - sb.append("\uff75"); - sb.append("\120"); - sb.append("\uff75"); - sb.append("\121"); - sb.append("\uff75"); - sb.append("\122"); - sb.append("\uff75"); - sb.append("\123"); - sb.append("\uff75"); - sb.append("\124"); - sb.append("\uff75"); - sb.append("\125"); - sb.append("\uff75"); - sb.append("\126"); - sb.append("\uff75"); - sb.append("\133"); - sb.append("\uff75"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); + sb.append("\127"); + sb.append("\ufd39"); + sb.append("\130"); + sb.append("\ufd39"); + sb.append("\131"); + sb.append("\ufd39"); + sb.append("\132"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); + sb.append("\150"); + sb.append("\ufd39"); sb.append("\151"); - sb.append("\uff75"); + sb.append("\ufd39"); + sb.append("\152"); + sb.append("\ufd39"); + sb.append("\153"); + sb.append("\ufd39"); + sb.append("\154"); + sb.append("\ufd39"); + sb.append("\155"); + sb.append("\ufd39"); + sb.append("\156"); + sb.append("\ufd39"); + sb.append("\157"); + sb.append("\ufd39"); + sb.append("\160"); + sb.append("\ufd39"); + sb.append("\161"); + sb.append("\ufd39"); + sb.append("\162"); + sb.append("\ufd39"); + sb.append("\163"); + sb.append("\ufd39"); + sb.append("\164"); + sb.append("\ufd39"); + sb.append("\165"); + sb.append("\ufd39"); + sb.append("\166"); + sb.append("\ufd39"); + sb.append("\167"); + sb.append("\ufd39"); + sb.append("\170"); + sb.append("\ufd39"); + sb.append("\171"); + sb.append("\ufd39"); sb.append("\172"); - sb.append("\uff75"); + sb.append("\ufd39"); sb.append("\173"); - sb.append("\uff75"); + sb.append("\ufd39"); + sb.append("\174"); + sb.append("\ufd39"); + sb.append("\175"); + sb.append("\ufd39"); + sb.append("\176"); + sb.append("\ufd39"); sb.append("\177"); - sb.append("\uff75"); - sb.append("\200"); - sb.append("\uff75"); + sb.append("\ufd39"); sb.append("\202"); - sb.append("\uff75"); + sb.append("\ufd39"); sb.append("\203"); - sb.append("\uff75"); + sb.append("\ufd39"); sb.append("\204"); - sb.append("\uff75"); - sb.append("\205"); - sb.append("\uff75"); - sb.append("\206"); - sb.append("\uff75"); - sb.append("\207"); - sb.append("\uff75"); - sb.append("\210"); - sb.append("\uff75"); - sb.append("\211"); - sb.append("\uff75"); - sb.append("\212"); - sb.append("\uff75"); - sb.append("\213"); - sb.append("\uff75"); - sb.append("\214"); - sb.append("\uff75"); + sb.append("\ufd39"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\216"); - sb.append("\uff75"); - sb.append("\217"); - sb.append("\uff75"); - sb.append("\220"); - sb.append("\uff75"); - sb.append("\221"); - sb.append("\uff75"); - sb.append("\222"); - sb.append("\uff75"); - sb.append("\223"); - sb.append("\uff75"); - sb.append("\224"); - sb.append("\uff75"); - sb.append("\230"); - sb.append("\uff75"); + sb.append("\ufd39"); + sb.append("\231"); + sb.append("\ufd39"); + sb.append("\232"); + sb.append("\ufd39"); sb.append("\233"); - sb.append("\uff75"); - sb.append("\234"); - sb.append("\uff75"); - sb.append("\235"); - sb.append("\uff75"); - sb.append("\236"); - sb.append("\uff75"); - sb.append("\240"); - sb.append("\uff75"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); sb.append("\247"); - sb.append("\uff75"); - sb.append("\250"); - sb.append("\uff75"); + sb.append("\ufd39"); sb.append("\252"); - sb.append("\uff75"); - sb.append("\253"); - sb.append("\uff75"); - sb.append("\254"); - sb.append("\uff75"); - sb.append("\255"); - sb.append("\uff75"); + sb.append("\ufd39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\246"); - sb.append("\003"); - sb.append("\211"); - sb.append("\004"); - sb.append("\201"); - sb.append("\005"); - sb.append("\164"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\217"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\014"); - sb.append("\007"); - sb.append("\015"); + sb.append("\170"); sb.append("\031"); - sb.append("\016"); + sb.append("\ufd4a"); + sb.append("\033"); + sb.append("\ufd4a"); sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\023"); - sb.append("\145"); - sb.append("\025"); - sb.append("\200"); - sb.append("\027"); - sb.append("\203"); - sb.append("\032"); - sb.append("\106"); - sb.append("\034"); + sb.append("\u02a9"); + sb.append("\072"); + sb.append("\u02a6"); + sb.append("\073"); + sb.append("\ufd4a"); + sb.append("\112"); + sb.append("\ufd4a"); sb.append("\113"); - sb.append("\036"); - sb.append("\125"); - sb.append("\041"); - sb.append("\033"); - sb.append("\042"); - sb.append("\040"); - sb.append("\043"); - sb.append("\226"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\047"); - sb.append("\212"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\052"); - sb.append("\057"); - sb.append("\054"); - sb.append("\026"); - sb.append("\056"); - sb.append("\u03a5"); - sb.append("\057"); - sb.append("\016"); - sb.append("\061"); - sb.append("\110"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); + sb.append("\u02a7"); + sb.append("\127"); + sb.append("\ufd4a"); + sb.append("\130"); + sb.append("\ufd4a"); + sb.append("\131"); + sb.append("\ufd4a"); + sb.append("\132"); + sb.append("\ufd4a"); + sb.append("\134"); + sb.append("\ufd4a"); + sb.append("\135"); + sb.append("\ufd4a"); + sb.append("\136"); + sb.append("\ufd4a"); + sb.append("\137"); + sb.append("\ufd4a"); + sb.append("\140"); + sb.append("\ufd4a"); sb.append("\141"); - sb.append("\111"); + sb.append("\ufd4a"); + sb.append("\142"); + sb.append("\ufd4a"); + sb.append("\143"); + sb.append("\ufd4a"); + sb.append("\144"); + sb.append("\ufd4a"); + sb.append("\145"); + sb.append("\ufd4a"); + sb.append("\146"); + sb.append("\ufd4a"); + sb.append("\147"); + sb.append("\ufd4a"); + sb.append("\150"); + sb.append("\ufd4a"); + sb.append("\151"); + sb.append("\ufd4a"); + sb.append("\152"); + sb.append("\ufd4a"); + sb.append("\153"); + sb.append("\ufd4a"); + sb.append("\154"); + sb.append("\ufd4a"); + sb.append("\155"); + sb.append("\ufd4a"); + sb.append("\156"); + sb.append("\ufd4a"); sb.append("\157"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\120"); - sb.append("\172"); - sb.append("\121"); + sb.append("\ufd4a"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\ufd4a"); + sb.append("\161"); + sb.append("\ufd4a"); + sb.append("\162"); + sb.append("\ufd4a"); + sb.append("\163"); + sb.append("\ufd4a"); + sb.append("\164"); + sb.append("\ufd4a"); + sb.append("\165"); + sb.append("\ufd4a"); + sb.append("\166"); + sb.append("\ufd4a"); + sb.append("\167"); + sb.append("\ufd4a"); + sb.append("\170"); + sb.append("\ufd4a"); + sb.append("\171"); + sb.append("\ufd4a"); + sb.append("\172"); + sb.append("\ufd4a"); + sb.append("\173"); + sb.append("\ufd4a"); + sb.append("\174"); + sb.append("\ufd4a"); + sb.append("\175"); + sb.append("\ufd4a"); + sb.append("\176"); + sb.append("\ufd4a"); + sb.append("\177"); + sb.append("\ufd4a"); + sb.append("\202"); + sb.append("\ufd4a"); + sb.append("\203"); + sb.append("\ufd4a"); + sb.append("\204"); + sb.append("\ufd4a"); + sb.append("\216"); + sb.append("\ufd4a"); + sb.append("\231"); + sb.append("\ufd4a"); + sb.append("\232"); + sb.append("\ufd4a"); + sb.append("\233"); + sb.append("\ufd4a"); + sb.append("\243"); + sb.append("\ufd4a"); + sb.append("\244"); + sb.append("\ufd4a"); + sb.append("\246"); + sb.append("\ufd4a"); + sb.append("\247"); + sb.append("\ufd4a"); + sb.append("\252"); + sb.append("\ufd4a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe4a"); + sb.append("\033"); + sb.append("\ufe4a"); + sb.append("\073"); + sb.append("\ufe4a"); + sb.append("\112"); + sb.append("\ufe4a"); + sb.append("\127"); + sb.append("\ufe4a"); + sb.append("\130"); + sb.append("\ufe4a"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufe4a"); + sb.append("\132"); + sb.append("\ufe4a"); + sb.append("\150"); + sb.append("\ufe4a"); sb.append("\151"); + sb.append("\ufe4a"); + sb.append("\152"); + sb.append("\ufe4a"); + sb.append("\153"); + sb.append("\ufe4a"); + sb.append("\154"); + sb.append("\ufe4a"); + sb.append("\155"); + sb.append("\ufe4a"); + sb.append("\156"); + sb.append("\ufe4a"); + sb.append("\157"); + sb.append("\ufe4a"); + sb.append("\160"); + sb.append("\ufe4a"); + sb.append("\161"); + sb.append("\ufe4a"); + sb.append("\162"); + sb.append("\ufe4a"); + sb.append("\163"); + sb.append("\ufe4a"); + sb.append("\164"); + sb.append("\ufe4a"); + sb.append("\165"); + sb.append("\ufe4a"); + sb.append("\166"); + sb.append("\ufe4a"); + sb.append("\167"); + sb.append("\ufe4a"); + sb.append("\170"); + sb.append("\ufe4a"); sb.append("\171"); + sb.append("\ufe4a"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufe4a"); sb.append("\173"); + sb.append("\ufe4a"); + sb.append("\174"); + sb.append("\ufe4a"); + sb.append("\175"); + sb.append("\ufe4a"); sb.append("\176"); + sb.append("\ufe4a"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufe4a"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufe4a"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\230"); - sb.append("\047"); + sb.append("\ufe4a"); + sb.append("\232"); + sb.append("\ufe4a"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufe4a"); + sb.append("\243"); + sb.append("\ufe4a"); + sb.append("\246"); + sb.append("\ufe4a"); + sb.append("\252"); + sb.append("\ufe4a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u04f7"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe48"); + sb.append("\033"); + sb.append("\ufe48"); + sb.append("\073"); + sb.append("\ufe48"); + sb.append("\112"); + sb.append("\ufe48"); + sb.append("\127"); + sb.append("\ufe48"); + sb.append("\130"); + sb.append("\ufe48"); + sb.append("\131"); + sb.append("\ufe48"); + sb.append("\132"); + sb.append("\ufe48"); + sb.append("\150"); + sb.append("\ufe48"); + sb.append("\151"); + sb.append("\ufe48"); + sb.append("\152"); + sb.append("\ufe48"); + sb.append("\153"); + sb.append("\ufe48"); + sb.append("\154"); + sb.append("\ufe48"); + sb.append("\155"); + sb.append("\ufe48"); + sb.append("\156"); + sb.append("\ufe48"); + sb.append("\157"); + sb.append("\ufe48"); + sb.append("\160"); + sb.append("\ufe48"); + sb.append("\161"); + sb.append("\ufe48"); + sb.append("\162"); + sb.append("\ufe48"); + sb.append("\163"); + sb.append("\ufe48"); + sb.append("\164"); + sb.append("\ufe48"); + sb.append("\165"); + sb.append("\ufe48"); + sb.append("\166"); + sb.append("\ufe48"); + sb.append("\167"); + sb.append("\ufe48"); + sb.append("\170"); + sb.append("\ufe48"); + sb.append("\171"); + sb.append("\ufe48"); + sb.append("\172"); + sb.append("\ufe48"); + sb.append("\173"); + sb.append("\ufe48"); + sb.append("\174"); + sb.append("\ufe48"); + sb.append("\175"); + sb.append("\ufe48"); + sb.append("\176"); + sb.append("\ufe48"); + sb.append("\177"); + sb.append("\ufe48"); + sb.append("\202"); + sb.append("\ufe48"); + sb.append("\216"); + sb.append("\ufe48"); + sb.append("\232"); + sb.append("\ufe48"); + sb.append("\233"); + sb.append("\ufe48"); + sb.append("\243"); + sb.append("\ufe48"); + sb.append("\246"); + sb.append("\ufe48"); + sb.append("\252"); + sb.append("\ufe48"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1727,7 +1800,7 @@ protected EncodedActionTable15() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1770,132 +1843,134 @@ protected EncodedActionTable15() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\102"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\231"); - sb.append("\u04f9"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\232"); + sb.append("\u04f4"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\246"); + sb.append("\250"); sb.append("\003"); sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\005"); sb.append("\164"); sb.append("\006"); @@ -1941,7 +2016,7 @@ protected EncodedActionTable15() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\047"); sb.append("\212"); sb.append("\050"); @@ -1953,7 +2028,7 @@ protected EncodedActionTable15() { sb.append("\054"); sb.append("\026"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\u03a9"); sb.append("\057"); sb.append("\016"); sb.append("\061"); @@ -2004,1088 +2079,892 @@ protected EncodedActionTable15() { sb.append("\020"); sb.append("\151"); sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff02"); - sb.append("\003"); - sb.append("\uff02"); - sb.append("\004"); - sb.append("\uff02"); - sb.append("\005"); - sb.append("\uff02"); - sb.append("\006"); - sb.append("\uff02"); - sb.append("\007"); - sb.append("\uff02"); - sb.append("\010"); - sb.append("\uff02"); - sb.append("\011"); - sb.append("\uff02"); - sb.append("\012"); - sb.append("\uff02"); - sb.append("\014"); - sb.append("\uff02"); - sb.append("\015"); - sb.append("\uff02"); - sb.append("\016"); - sb.append("\uff02"); - sb.append("\017"); - sb.append("\uff02"); - sb.append("\020"); - sb.append("\uff02"); - sb.append("\021"); - sb.append("\uff02"); - sb.append("\022"); - sb.append("\uff02"); - sb.append("\023"); - sb.append("\uff02"); - sb.append("\024"); - sb.append("\uff02"); - sb.append("\025"); - sb.append("\uff02"); - sb.append("\026"); - sb.append("\uff02"); - sb.append("\027"); - sb.append("\uff02"); - sb.append("\030"); - sb.append("\uff02"); - sb.append("\032"); - sb.append("\uff02"); - sb.append("\034"); - sb.append("\uff02"); - sb.append("\035"); - sb.append("\uff02"); - sb.append("\036"); - sb.append("\uff02"); - sb.append("\037"); - sb.append("\uff02"); - sb.append("\040"); - sb.append("\uff02"); - sb.append("\041"); - sb.append("\uff02"); - sb.append("\042"); - sb.append("\uff02"); - sb.append("\043"); - sb.append("\uff02"); - sb.append("\044"); - sb.append("\uff02"); - sb.append("\045"); - sb.append("\uff02"); - sb.append("\046"); - sb.append("\uff02"); - sb.append("\047"); - sb.append("\uff02"); - sb.append("\050"); - sb.append("\uff02"); - sb.append("\051"); - sb.append("\uff02"); - sb.append("\052"); - sb.append("\uff02"); sb.append("\054"); - sb.append("\uff02"); - sb.append("\056"); - sb.append("\uff02"); - sb.append("\057"); - sb.append("\uff02"); - sb.append("\061"); - sb.append("\uff02"); - sb.append("\062"); - sb.append("\uff02"); - sb.append("\063"); - sb.append("\uff02"); - sb.append("\064"); - sb.append("\uff02"); - sb.append("\065"); - sb.append("\uff02"); - sb.append("\066"); - sb.append("\uff02"); - sb.append("\074"); - sb.append("\uff02"); - sb.append("\075"); - sb.append("\uff02"); - sb.append("\077"); - sb.append("\uff02"); - sb.append("\100"); - sb.append("\uff02"); - sb.append("\101"); - sb.append("\uff02"); - sb.append("\102"); - sb.append("\uff02"); - sb.append("\103"); - sb.append("\uff02"); - sb.append("\104"); - sb.append("\uff02"); - sb.append("\105"); - sb.append("\uff02"); - sb.append("\111"); - sb.append("\uff02"); - sb.append("\112"); - sb.append("\uff02"); - sb.append("\114"); - sb.append("\uff02"); - sb.append("\115"); - sb.append("\uff02"); - sb.append("\116"); - sb.append("\uff02"); - sb.append("\120"); - sb.append("\uff02"); - sb.append("\121"); - sb.append("\uff02"); - sb.append("\122"); - sb.append("\uff02"); - sb.append("\123"); - sb.append("\uff02"); - sb.append("\124"); - sb.append("\uff02"); - sb.append("\125"); - sb.append("\uff02"); - sb.append("\126"); - sb.append("\uff02"); - sb.append("\133"); - sb.append("\uff02"); - sb.append("\151"); - sb.append("\uff02"); - sb.append("\172"); - sb.append("\uff02"); - sb.append("\173"); - sb.append("\uff02"); - sb.append("\177"); - sb.append("\uff02"); - sb.append("\200"); - sb.append("\uff02"); - sb.append("\202"); - sb.append("\uff02"); - sb.append("\203"); - sb.append("\uff02"); sb.append("\204"); - sb.append("\uff02"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff02"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff02"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff02"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff02"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff02"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff02"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff02"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff02"); - sb.append("\216"); - sb.append("\uff02"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff02"); - sb.append("\220"); - sb.append("\uff02"); - sb.append("\221"); - sb.append("\uff02"); - sb.append("\222"); - sb.append("\uff02"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff02"); - sb.append("\224"); - sb.append("\uff02"); - sb.append("\230"); - sb.append("\uff02"); + sb.append("\025"); + sb.append("\231"); + sb.append("\047"); sb.append("\233"); - sb.append("\uff02"); + sb.append("\u04f5"); sb.append("\234"); - sb.append("\uff02"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff02"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff02"); - sb.append("\240"); - sb.append("\uff02"); - sb.append("\247"); - sb.append("\uff02"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff02"); - sb.append("\252"); - sb.append("\uff02"); - sb.append("\253"); - sb.append("\uff02"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff02"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff02"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\ufefe"); + sb.append("\272"); sb.append("\003"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\ufefe"); - sb.append("\022"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\ufefe"); - sb.append("\024"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\ufefe"); - sb.append("\026"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\ufefe"); - sb.append("\030"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\ufefe"); - sb.append("\035"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\ufefe"); - sb.append("\037"); - sb.append("\ufefe"); - sb.append("\040"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\ufefe"); - sb.append("\046"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\ufefe"); - sb.append("\064"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\ufefe"); - sb.append("\112"); - sb.append("\ufefe"); - sb.append("\114"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\ufefe"); - sb.append("\172"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\ufefe"); - sb.append("\177"); - sb.append("\ufefe"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\ufefe"); - sb.append("\202"); - sb.append("\ufefe"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\ufefe"); - sb.append("\216"); - sb.append("\ufefe"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); sb.append("\217"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\220"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\221"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\222"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\ufefe"); - sb.append("\230"); - sb.append("\ufefe"); - sb.append("\233"); - sb.append("\ufefe"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\ufefe"); - sb.append("\236"); - sb.append("\ufefe"); - sb.append("\240"); - sb.append("\ufefe"); - sb.append("\247"); - sb.append("\ufefe"); + sb.append("\uff7c"); + sb.append("\236"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\ufefe"); - sb.append("\252"); - sb.append("\ufefe"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\ufefe"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\ufefe"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\272"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff03"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff03"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff03"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff03"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff03"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff03"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff03"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff03"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff03"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff03"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff03"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff03"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff03"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff03"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff03"); + sb.append("\022"); + sb.append("\uff03"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff03"); + sb.append("\024"); + sb.append("\uff03"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff03"); + sb.append("\026"); + sb.append("\uff03"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff03"); + sb.append("\030"); + sb.append("\uff03"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff03"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff03"); + sb.append("\035"); + sb.append("\uff03"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff03"); + sb.append("\037"); + sb.append("\uff03"); + sb.append("\040"); + sb.append("\uff03"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff03"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff03"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff03"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff03"); sb.append("\045"); - sb.append("\023"); + sb.append("\uff03"); + sb.append("\046"); + sb.append("\uff03"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff03"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff03"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff03"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff03"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff03"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff03"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff03"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff03"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff03"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff03"); + sb.append("\064"); + sb.append("\uff03"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff03"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff03"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff03"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff03"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff03"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff03"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff03"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff03"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff03"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff03"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff03"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff03"); + sb.append("\112"); + sb.append("\uff03"); + sb.append("\114"); + sb.append("\uff03"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff03"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff03"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff03"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff03"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff03"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff03"); sb.append("\124"); + sb.append("\uff03"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff03"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff03"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff03"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff03"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff03"); + sb.append("\174"); + sb.append("\uff03"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff03"); + sb.append("\201"); + sb.append("\uff03"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff03"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff03"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff03"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff03"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff03"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff03"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff03"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff03"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff03"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff03"); + sb.append("\215"); + sb.append("\uff03"); sb.append("\217"); - sb.append("\uff01"); + sb.append("\uff03"); sb.append("\220"); - sb.append("\uff01"); + sb.append("\uff03"); sb.append("\221"); - sb.append("\uff01"); + sb.append("\uff03"); sb.append("\222"); - sb.append("\025"); + sb.append("\uff03"); sb.append("\223"); - sb.append("\030"); + sb.append("\uff03"); sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff03"); + sb.append("\225"); + sb.append("\uff03"); + sb.append("\231"); + sb.append("\uff03"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff03"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff03"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff03"); + sb.append("\237"); + sb.append("\uff03"); + sb.append("\241"); + sb.append("\uff03"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); + sb.append("\uff03"); + sb.append("\251"); + sb.append("\uff03"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff03"); sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\217"); - sb.append("\ufefd"); - sb.append("\220"); - sb.append("\u0500"); - sb.append("\221"); - sb.append("\u04ff"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\217"); - sb.append("\u0508"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\232"); - sb.append("\u0506"); + sb.append("\uff03"); + sb.append("\255"); + sb.append("\uff03"); + sb.append("\256"); + sb.append("\uff03"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u0501"); - sb.append("\001"); + sb.append("\322"); sb.append("\002"); - sb.append("\000"); - sb.append("\170"); + sb.append("\ufeff"); + sb.append("\003"); + sb.append("\ufeff"); sb.append("\004"); - sb.append("\201"); + sb.append("\ufeff"); + sb.append("\005"); + sb.append("\ufeff"); sb.append("\006"); - sb.append("\156"); + sb.append("\ufeff"); sb.append("\007"); - sb.append("\175"); + sb.append("\ufeff"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\ufeff"); sb.append("\011"); - sb.append("\204"); + sb.append("\ufeff"); sb.append("\012"); - sb.append("\075"); + sb.append("\ufeff"); + sb.append("\014"); + sb.append("\ufeff"); sb.append("\015"); - sb.append("\031"); + sb.append("\ufeff"); sb.append("\016"); - sb.append("\071"); + sb.append("\ufeff"); + sb.append("\017"); + sb.append("\ufeff"); + sb.append("\020"); + sb.append("\ufeff"); + sb.append("\021"); + sb.append("\ufeff"); + sb.append("\022"); + sb.append("\ufeff"); + sb.append("\023"); + sb.append("\ufeff"); + sb.append("\024"); + sb.append("\ufeff"); + sb.append("\025"); + sb.append("\ufeff"); + sb.append("\026"); + sb.append("\ufeff"); + sb.append("\027"); + sb.append("\ufeff"); + sb.append("\030"); + sb.append("\ufeff"); sb.append("\032"); - sb.append("\106"); + sb.append("\ufeff"); + sb.append("\034"); + sb.append("\ufeff"); + sb.append("\035"); + sb.append("\ufeff"); sb.append("\036"); - sb.append("\125"); + sb.append("\ufeff"); + sb.append("\037"); + sb.append("\ufeff"); + sb.append("\040"); + sb.append("\ufeff"); + sb.append("\041"); + sb.append("\ufeff"); + sb.append("\042"); + sb.append("\ufeff"); + sb.append("\043"); + sb.append("\ufeff"); sb.append("\044"); - sb.append("\222"); + sb.append("\ufeff"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\ufeff"); + sb.append("\046"); + sb.append("\ufeff"); + sb.append("\047"); + sb.append("\ufeff"); + sb.append("\050"); + sb.append("\ufeff"); + sb.append("\051"); + sb.append("\ufeff"); + sb.append("\052"); + sb.append("\ufeff"); sb.append("\054"); - sb.append("\026"); + sb.append("\ufeff"); + sb.append("\056"); + sb.append("\ufeff"); + sb.append("\057"); + sb.append("\ufeff"); + sb.append("\061"); + sb.append("\ufeff"); sb.append("\062"); - sb.append("\210"); + sb.append("\ufeff"); sb.append("\063"); - sb.append("\010"); + sb.append("\ufeff"); + sb.append("\064"); + sb.append("\ufeff"); + sb.append("\065"); + sb.append("\ufeff"); + sb.append("\066"); + sb.append("\ufeff"); sb.append("\074"); - sb.append("\051"); + sb.append("\ufeff"); sb.append("\075"); - sb.append("\166"); + sb.append("\ufeff"); sb.append("\077"); - sb.append("\123"); + sb.append("\ufeff"); sb.append("\100"); - sb.append("\012"); + sb.append("\ufeff"); sb.append("\101"); - sb.append("\206"); + sb.append("\ufeff"); sb.append("\102"); - sb.append("\041"); + sb.append("\ufeff"); sb.append("\103"); - sb.append("\144"); + sb.append("\ufeff"); sb.append("\104"); - sb.append("\117"); + sb.append("\ufeff"); sb.append("\105"); - sb.append("\141"); + sb.append("\ufeff"); + sb.append("\111"); + sb.append("\ufeff"); + sb.append("\112"); + sb.append("\ufeff"); + sb.append("\114"); + sb.append("\ufeff"); sb.append("\115"); - sb.append("\136"); + sb.append("\ufeff"); sb.append("\116"); - sb.append("\046"); + sb.append("\ufeff"); + sb.append("\120"); + sb.append("\ufeff"); sb.append("\121"); - sb.append("\160"); + sb.append("\ufeff"); sb.append("\122"); - sb.append("\013"); + sb.append("\ufeff"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\ufeff"); sb.append("\124"); + sb.append("\ufeff"); sb.append("\125"); - sb.append("\116"); + sb.append("\ufeff"); sb.append("\126"); - sb.append("\131"); + sb.append("\ufeff"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\ufeff"); + sb.append("\151"); + sb.append("\ufeff"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\ufeff"); + sb.append("\174"); + sb.append("\ufeff"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\ufeff"); + sb.append("\201"); + sb.append("\ufeff"); sb.append("\203"); - sb.append("\120"); + sb.append("\ufeff"); sb.append("\204"); - sb.append("\207"); + sb.append("\ufeff"); sb.append("\205"); - sb.append("\154"); + sb.append("\ufeff"); sb.append("\206"); - sb.append("\216"); + sb.append("\ufeff"); sb.append("\207"); - sb.append("\151"); + sb.append("\ufeff"); sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufeff"); + sb.append("\211"); + sb.append("\ufeff"); + sb.append("\212"); + sb.append("\ufeff"); + sb.append("\213"); + sb.append("\ufeff"); + sb.append("\214"); + sb.append("\ufeff"); + sb.append("\215"); + sb.append("\ufeff"); + sb.append("\217"); + sb.append("\ufeff"); + sb.append("\220"); + sb.append("\ufeff"); + sb.append("\221"); + sb.append("\u04fa"); + sb.append("\222"); + sb.append("\u04f9"); + sb.append("\223"); + sb.append("\ufeff"); + sb.append("\224"); + sb.append("\ufeff"); + sb.append("\225"); + sb.append("\ufeff"); sb.append("\231"); - sb.append("\u0503"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); + sb.append("\ufeff"); + sb.append("\234"); + sb.append("\ufeff"); + sb.append("\235"); + sb.append("\ufeff"); + sb.append("\236"); + sb.append("\ufeff"); + sb.append("\237"); + sb.append("\ufeff"); + sb.append("\241"); + sb.append("\ufeff"); + sb.append("\250"); + sb.append("\ufeff"); sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufeff"); + sb.append("\253"); + sb.append("\ufeff"); + sb.append("\254"); + sb.append("\ufeff"); + sb.append("\255"); + sb.append("\ufeff"); + sb.append("\256"); + sb.append("\ufeff"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\232"); - sb.append("\u0504"); - sb.append("\001"); + sb.append("\322"); sb.append("\002"); - sb.append("\000"); - sb.append("\272"); + sb.append("\uff75"); sb.append("\003"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\004"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\005"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\006"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\007"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\010"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\011"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\012"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\014"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\015"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\016"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\017"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\020"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\021"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\022"); + sb.append("\uff75"); sb.append("\023"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\024"); + sb.append("\uff75"); sb.append("\025"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\026"); + sb.append("\uff75"); sb.append("\027"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\030"); + sb.append("\uff75"); sb.append("\032"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\034"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\035"); + sb.append("\uff75"); sb.append("\036"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\037"); + sb.append("\uff75"); + sb.append("\040"); + sb.append("\uff75"); sb.append("\041"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\042"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\043"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\044"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\045"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\046"); + sb.append("\uff75"); sb.append("\047"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\050"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\051"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\052"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\054"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\056"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\057"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\061"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\062"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\063"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\064"); + sb.append("\uff75"); sb.append("\065"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\066"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\074"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\075"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\077"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\100"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\101"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\102"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\103"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\104"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\105"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\111"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\112"); + sb.append("\uff75"); + sb.append("\114"); + sb.append("\uff75"); sb.append("\115"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\116"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\120"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\121"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\122"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\123"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\124"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\125"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\126"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\133"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\174"); + sb.append("\uff75"); sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\201"); + sb.append("\uff75"); sb.append("\203"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\204"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\205"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\206"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\207"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\210"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\211"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\212"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\213"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\215"); + sb.append("\uff75"); sb.append("\217"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\220"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\221"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\222"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\225"); + sb.append("\uff75"); + sb.append("\231"); + sb.append("\uff75"); sb.append("\234"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\235"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\237"); + sb.append("\uff75"); + sb.append("\241"); + sb.append("\uff75"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\251"); + sb.append("\uff75"); sb.append("\253"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\254"); - sb.append("\uff7c"); + sb.append("\uff75"); sb.append("\255"); - sb.append("\uff7c"); + sb.append("\uff75"); + sb.append("\256"); + sb.append("\uff75"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\272"); + sb.append("\246"); sb.append("\003"); sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\005"); sb.append("\164"); sb.append("\006"); @@ -3131,7 +3010,7 @@ protected EncodedActionTable15() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\023"); + sb.append("\u01b3"); sb.append("\047"); sb.append("\212"); sb.append("\050"); @@ -3143,7 +3022,7 @@ protected EncodedActionTable15() { sb.append("\054"); sb.append("\026"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\u03a9"); sb.append("\057"); sb.append("\016"); sb.append("\061"); @@ -3152,10 +3031,6 @@ protected EncodedActionTable15() { sb.append("\210"); sb.append("\063"); sb.append("\010"); - sb.append("\065"); - sb.append("\027"); - sb.append("\066"); - sb.append("\111"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -3198,1335 +3073,1461 @@ protected EncodedActionTable15() { sb.append("\020"); sb.append("\151"); sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\101"); sb.append("\217"); - sb.append("\uff00"); - sb.append("\220"); - sb.append("\uff00"); - sb.append("\221"); - sb.append("\uff00"); - sb.append("\222"); - sb.append("\025"); + sb.append("\101"); sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); + sb.append("\025"); + sb.append("\231"); sb.append("\047"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u04fb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\u04fd"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); + sb.append("\246"); sb.append("\003"); - sb.append("\uff7c"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff7c"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff7c"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff7c"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff7c"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff7c"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff7c"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff7c"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff7c"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff7c"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff7c"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff7c"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff7c"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff7c"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff7c"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff7c"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff7c"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff7c"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff7c"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff7c"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff7c"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff7c"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff7c"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff7c"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff7c"); + sb.append("\u01b3"); sb.append("\047"); - sb.append("\uff7c"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff7c"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff7c"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff7c"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff7c"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff7c"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff7c"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff7c"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff7c"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff7c"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff7c"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff7c"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff7c"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff7c"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff7c"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff7c"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff7c"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff7c"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff7c"); + sb.append("\157"); sb.append("\115"); - sb.append("\uff7c"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff7c"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff7c"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff7c"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff7c"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff7c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff7c"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff7c"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff7c"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff7c"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff7c"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff7c"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff7c"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff7c"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff7c"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff7c"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff7c"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff7c"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff7c"); - sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); + sb.append("\025"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff7c"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff7c"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff7c"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff7c"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff02"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff02"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff02"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff02"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff02"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff02"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff02"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff02"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff02"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff02"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff02"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff02"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff02"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff02"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff02"); + sb.append("\022"); + sb.append("\uff02"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff02"); + sb.append("\024"); + sb.append("\uff02"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff02"); + sb.append("\026"); + sb.append("\uff02"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff02"); + sb.append("\030"); + sb.append("\uff02"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff02"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff02"); + sb.append("\035"); + sb.append("\uff02"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff02"); + sb.append("\037"); + sb.append("\uff02"); + sb.append("\040"); + sb.append("\uff02"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff02"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff02"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff02"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff02"); sb.append("\045"); - sb.append("\023"); + sb.append("\uff02"); + sb.append("\046"); + sb.append("\uff02"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff02"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff02"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff02"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff02"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff02"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff02"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff02"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff02"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff02"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff02"); + sb.append("\064"); + sb.append("\uff02"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff02"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff02"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff02"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff02"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff02"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff02"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff02"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff02"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff02"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff02"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff02"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff02"); + sb.append("\112"); + sb.append("\uff02"); + sb.append("\114"); + sb.append("\uff02"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff02"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff02"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff02"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff02"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff02"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff02"); sb.append("\124"); + sb.append("\uff02"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff02"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff02"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff02"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff02"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff02"); + sb.append("\174"); + sb.append("\uff02"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff02"); + sb.append("\201"); + sb.append("\uff02"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff02"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff02"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff02"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff02"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff02"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff02"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff02"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff02"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff02"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff02"); + sb.append("\215"); + sb.append("\uff02"); sb.append("\217"); - sb.append("\ufefc"); + sb.append("\uff02"); + sb.append("\220"); + sb.append("\uff02"); + sb.append("\221"); + sb.append("\uff02"); sb.append("\222"); - sb.append("\025"); + sb.append("\uff02"); sb.append("\223"); - sb.append("\030"); + sb.append("\uff02"); sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff02"); + sb.append("\225"); + sb.append("\uff02"); + sb.append("\231"); + sb.append("\uff02"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff02"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff02"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff02"); + sb.append("\237"); + sb.append("\uff02"); + sb.append("\241"); + sb.append("\uff02"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); + sb.append("\uff02"); + sb.append("\251"); + sb.append("\uff02"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff02"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff02"); sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u0509"); + sb.append("\uff02"); + sb.append("\256"); + sb.append("\uff02"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\003"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\004"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\005"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\006"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\007"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\010"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\011"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\012"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\014"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\015"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\016"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\017"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\020"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\021"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\022"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\023"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\024"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\025"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\026"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\027"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\030"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\032"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\034"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\035"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\036"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\037"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\040"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\041"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\042"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\043"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\044"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\045"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\046"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\047"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\050"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\051"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\052"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\054"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\056"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\057"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\061"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\062"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\063"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\064"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\065"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\066"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\074"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\075"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\077"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\100"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\101"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\102"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\103"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\104"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\105"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\111"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\112"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\114"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\115"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\116"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\120"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\121"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\122"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\123"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\124"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\125"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\126"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\133"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\151"); - sb.append("\uff74"); - sb.append("\172"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\173"); - sb.append("\uff74"); - sb.append("\177"); - sb.append("\uff74"); + sb.append("\ufefe"); + sb.append("\174"); + sb.append("\ufefe"); sb.append("\200"); - sb.append("\uff74"); - sb.append("\202"); - sb.append("\uff74"); + sb.append("\ufefe"); + sb.append("\201"); + sb.append("\ufefe"); sb.append("\203"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\204"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\205"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\206"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\207"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\210"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\211"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\212"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\213"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\214"); - sb.append("\uff74"); - sb.append("\216"); - sb.append("\uff74"); + sb.append("\ufefe"); + sb.append("\215"); + sb.append("\ufefe"); sb.append("\217"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\220"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\221"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\222"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\223"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\224"); - sb.append("\uff74"); - sb.append("\230"); - sb.append("\uff74"); - sb.append("\233"); - sb.append("\uff74"); + sb.append("\ufefe"); + sb.append("\225"); + sb.append("\ufefe"); + sb.append("\231"); + sb.append("\ufefe"); sb.append("\234"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\235"); - sb.append("\uff74"); + sb.append("\ufefe"); sb.append("\236"); - sb.append("\uff74"); - sb.append("\240"); - sb.append("\uff74"); - sb.append("\247"); - sb.append("\uff74"); + sb.append("\ufefe"); + sb.append("\237"); + sb.append("\ufefe"); + sb.append("\241"); + sb.append("\ufefe"); sb.append("\250"); - sb.append("\uff74"); - sb.append("\252"); - sb.append("\uff74"); + sb.append("\ufefe"); + sb.append("\251"); + sb.append("\ufefe"); sb.append("\253"); - sb.append("\uff74"); - sb.append("\254"); - sb.append("\uff74"); - sb.append("\255"); - sb.append("\uff74"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\033"); - sb.append("\u0517"); - sb.append("\117"); - sb.append("\u0516"); - sb.append("\127"); - sb.append("\uff8a"); - sb.append("\151"); - sb.append("\uff8a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\010"); - sb.append("\u0447"); - sb.append("\121"); - sb.append("\u0443"); - sb.append("\254"); - sb.append("\u0444"); - sb.append("\255"); - sb.append("\u0449"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff8b"); - sb.append("\151"); - sb.append("\uff8b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\010"); - sb.append("\u0447"); - sb.append("\121"); - sb.append("\u0443"); - sb.append("\254"); - sb.append("\u0444"); - sb.append("\255"); - sb.append("\u0449"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u050f"); - sb.append("\151"); - sb.append("\u0510"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\010"); - sb.append("\u0447"); - sb.append("\121"); - sb.append("\u0443"); + sb.append("\ufefe"); sb.append("\254"); - sb.append("\u0444"); + sb.append("\ufefe"); sb.append("\255"); - sb.append("\u0449"); + sb.append("\ufefe"); + sb.append("\256"); + sb.append("\ufefe"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\276"); - sb.append("\002"); - sb.append("\uff97"); + sb.append("\272"); sb.append("\003"); - sb.append("\uff97"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff97"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff97"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff97"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff97"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff97"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff97"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff97"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff97"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff97"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff97"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff97"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff97"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff97"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff97"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff97"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff97"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff97"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff97"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff97"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff97"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff97"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff97"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff97"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff97"); - sb.append("\046"); - sb.append("\uff97"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff97"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff97"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff97"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff97"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff97"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff97"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff97"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff97"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff97"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff97"); - sb.append("\064"); - sb.append("\uff97"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff97"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff97"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff97"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff97"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff97"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff97"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff97"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff97"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff97"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff97"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff97"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff97"); - sb.append("\112"); - sb.append("\uff97"); - sb.append("\114"); - sb.append("\uff97"); + sb.append("\157"); sb.append("\115"); - sb.append("\uff97"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff97"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff97"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff97"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff97"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff97"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff97"); sb.append("\125"); - sb.append("\uff97"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff97"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff97"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff97"); - sb.append("\172"); - sb.append("\uff97"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff97"); - sb.append("\177"); - sb.append("\uff97"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff97"); - sb.append("\202"); - sb.append("\uff97"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff97"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff97"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff97"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff97"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff97"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff97"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff97"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff97"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff97"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff97"); - sb.append("\216"); - sb.append("\uff97"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\220"); + sb.append("\uff01"); + sb.append("\221"); + sb.append("\uff01"); sb.append("\222"); - sb.append("\uff97"); + sb.append("\uff01"); sb.append("\223"); - sb.append("\uff97"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff97"); - sb.append("\230"); - sb.append("\uff97"); - sb.append("\233"); - sb.append("\uff97"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff97"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff97"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff97"); - sb.append("\240"); - sb.append("\uff97"); - sb.append("\247"); - sb.append("\uff97"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); sb.append("\250"); - sb.append("\uff97"); - sb.append("\252"); - sb.append("\uff97"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\uff97"); + sb.append("\227"); sb.append("\254"); - sb.append("\uff97"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff97"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff8c"); - sb.append("\151"); - sb.append("\uff8c"); + sb.append("\010"); + sb.append("\220"); + sb.append("\ufefd"); + sb.append("\221"); + sb.append("\u0504"); + sb.append("\222"); + sb.append("\u0503"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u050f"); - sb.append("\151"); - sb.append("\u0513"); + sb.append("\004"); + sb.append("\220"); + sb.append("\u050c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\233"); + sb.append("\u050a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\276"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u0505"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff95"); - sb.append("\003"); - sb.append("\uff95"); + sb.append("\000"); + sb.append("\170"); sb.append("\004"); - sb.append("\uff95"); - sb.append("\005"); - sb.append("\uff95"); + sb.append("\202"); sb.append("\006"); - sb.append("\uff95"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff95"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff95"); + sb.append("\u01b1"); sb.append("\011"); - sb.append("\uff95"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff95"); - sb.append("\014"); - sb.append("\uff95"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff95"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff95"); - sb.append("\017"); - sb.append("\uff95"); - sb.append("\020"); - sb.append("\uff95"); - sb.append("\021"); - sb.append("\uff95"); - sb.append("\023"); - sb.append("\uff95"); - sb.append("\025"); - sb.append("\uff95"); - sb.append("\027"); - sb.append("\uff95"); + sb.append("\071"); sb.append("\032"); - sb.append("\uff95"); - sb.append("\034"); - sb.append("\uff95"); + sb.append("\106"); sb.append("\036"); - sb.append("\uff95"); - sb.append("\041"); - sb.append("\uff95"); - sb.append("\042"); - sb.append("\uff95"); - sb.append("\043"); - sb.append("\uff95"); + sb.append("\125"); sb.append("\044"); - sb.append("\uff95"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff95"); - sb.append("\046"); - sb.append("\uff95"); - sb.append("\047"); - sb.append("\uff95"); - sb.append("\050"); - sb.append("\uff95"); - sb.append("\051"); - sb.append("\uff95"); - sb.append("\052"); - sb.append("\uff95"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\uff95"); - sb.append("\056"); - sb.append("\uff95"); - sb.append("\057"); - sb.append("\uff95"); - sb.append("\061"); - sb.append("\uff95"); + sb.append("\026"); sb.append("\062"); - sb.append("\uff95"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff95"); - sb.append("\064"); - sb.append("\uff95"); - sb.append("\065"); - sb.append("\uff95"); - sb.append("\066"); - sb.append("\uff95"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff95"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff95"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff95"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff95"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff95"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff95"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff95"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff95"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff95"); - sb.append("\111"); - sb.append("\uff95"); - sb.append("\112"); - sb.append("\uff95"); - sb.append("\114"); - sb.append("\uff95"); + sb.append("\141"); sb.append("\115"); - sb.append("\uff95"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff95"); - sb.append("\120"); - sb.append("\uff95"); + sb.append("\046"); sb.append("\121"); - sb.append("\uff95"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff95"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff95"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff95"); sb.append("\125"); - sb.append("\uff95"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff95"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff95"); - sb.append("\151"); - sb.append("\uff95"); - sb.append("\172"); - sb.append("\uff95"); + sb.append("\020"); sb.append("\173"); - sb.append("\uff95"); - sb.append("\177"); - sb.append("\uff95"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff95"); - sb.append("\202"); - sb.append("\uff95"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff95"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff95"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff95"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff95"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff95"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff95"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff95"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff95"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff95"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff95"); - sb.append("\216"); - sb.append("\uff95"); - sb.append("\222"); - sb.append("\uff95"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff95"); - sb.append("\224"); - sb.append("\uff95"); - sb.append("\230"); - sb.append("\uff95"); - sb.append("\233"); - sb.append("\uff95"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\uff95"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff95"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff95"); - sb.append("\240"); - sb.append("\uff95"); - sb.append("\247"); - sb.append("\uff95"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff95"); - sb.append("\252"); - sb.append("\uff95"); - sb.append("\253"); - sb.append("\uff95"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff95"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff95"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u050f"); - sb.append("\151"); - sb.append("\u0515"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\u0507"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\276"); + sb.append("\004"); + sb.append("\233"); + sb.append("\u0508"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff96"); + sb.append("\000"); + sb.append("\272"); sb.append("\003"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uff96"); - sb.append("\046"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uff96"); - sb.append("\064"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff96"); - sb.append("\112"); - sb.append("\uff96"); - sb.append("\114"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff96"); - sb.append("\172"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff96"); - sb.append("\177"); - sb.append("\uff96"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff96"); - sb.append("\202"); - sb.append("\uff96"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\uff96"); - sb.append("\216"); - sb.append("\uff96"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); + sb.append("\217"); + sb.append("\uff7c"); + sb.append("\220"); + sb.append("\uff7c"); + sb.append("\221"); + sb.append("\uff7c"); sb.append("\222"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff96"); - sb.append("\230"); - sb.append("\uff96"); - sb.append("\233"); - sb.append("\uff96"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\uff96"); - sb.append("\240"); - sb.append("\uff96"); - sb.append("\247"); - sb.append("\uff96"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\uff96"); - sb.append("\252"); - sb.append("\uff96"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\uff96"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\uff96"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\111"); - sb.append("\u0519"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\272"); + sb.append("\003"); + sb.append("\211"); sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\u0518"); + sb.append("\217"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java index fa07ead3d5a3..6412a9009fff 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,512 +29,362 @@ public String getTableData() { } protected EncodedActionTable16() { sb = new StringBuilder(); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff89"); - sb.append("\151"); - sb.append("\uff89"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\010"); - sb.append("\u0447"); - sb.append("\045"); - sb.append("\u051c"); - sb.append("\046"); - sb.append("\u051e"); - sb.append("\112"); - sb.append("\uff86"); - sb.append("\121"); - sb.append("\u0443"); - sb.append("\254"); - sb.append("\u0444"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\uff84"); - sb.append("\127"); - sb.append("\uff84"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\033"); - sb.append("\u052a"); - sb.append("\112"); - sb.append("\uff83"); - sb.append("\127"); - sb.append("\uff83"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\010"); - sb.append("\u0447"); - sb.append("\121"); - sb.append("\u0443"); - sb.append("\254"); - sb.append("\u0444"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\112"); - sb.append("\u0526"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\010"); - sb.append("\u0447"); - sb.append("\121"); - sb.append("\u0443"); - sb.append("\254"); - sb.append("\u0444"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\ufd6e"); - sb.append("\127"); - sb.append("\u0520"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\010"); - sb.append("\u0447"); - sb.append("\045"); - sb.append("\u051c"); - sb.append("\046"); - sb.append("\u051e"); - sb.append("\112"); - sb.append("\ufd6d"); - sb.append("\121"); - sb.append("\u0443"); - sb.append("\254"); - sb.append("\u0444"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\112"); - sb.append("\uff87"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\uff85"); - sb.append("\127"); - sb.append("\uff85"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\033"); - sb.append("\u0524"); - sb.append("\112"); - sb.append("\uff7f"); - sb.append("\127"); - sb.append("\uff7f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\010"); - sb.append("\u0525"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\uff7e"); - sb.append("\127"); - sb.append("\uff7e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff88"); - sb.append("\151"); - sb.append("\uff88"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\033"); - sb.append("\u0528"); - sb.append("\112"); - sb.append("\uff81"); - sb.append("\127"); - sb.append("\uff81"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\010"); - sb.append("\u0529"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\uff80"); - sb.append("\127"); - sb.append("\uff80"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\010"); - sb.append("\u052b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\uff82"); - sb.append("\127"); - sb.append("\uff82"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\276"); - sb.append("\002"); - sb.append("\uff94"); - sb.append("\003"); - sb.append("\uff94"); - sb.append("\004"); - sb.append("\uff94"); - sb.append("\005"); - sb.append("\uff94"); - sb.append("\006"); - sb.append("\uff94"); - sb.append("\007"); - sb.append("\uff94"); - sb.append("\010"); - sb.append("\uff94"); sb.append("\011"); - sb.append("\uff94"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff94"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff94"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff94"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff94"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff94"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff94"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff94"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff94"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff94"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff94"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff94"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff94"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff94"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff94"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff94"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff94"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff94"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff94"); - sb.append("\046"); - sb.append("\uff94"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff94"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff94"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff94"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff94"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff94"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff94"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff94"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff94"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff94"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff94"); - sb.append("\064"); - sb.append("\uff94"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff94"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff94"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff94"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff94"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff94"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff94"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff94"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff94"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff94"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff94"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff94"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff94"); - sb.append("\112"); - sb.append("\uff94"); - sb.append("\114"); - sb.append("\uff94"); + sb.append("\157"); sb.append("\115"); - sb.append("\uff94"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff94"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff94"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff94"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff94"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff94"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff94"); sb.append("\125"); - sb.append("\uff94"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff94"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff94"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff94"); - sb.append("\172"); - sb.append("\uff94"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff94"); - sb.append("\177"); - sb.append("\uff94"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff94"); - sb.append("\202"); - sb.append("\uff94"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff94"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff94"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff94"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff94"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff94"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff94"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff94"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff94"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff94"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff94"); - sb.append("\216"); - sb.append("\uff94"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\220"); + sb.append("\uff00"); + sb.append("\221"); + sb.append("\uff00"); sb.append("\222"); - sb.append("\uff94"); + sb.append("\uff00"); sb.append("\223"); - sb.append("\uff94"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff94"); - sb.append("\230"); - sb.append("\uff94"); - sb.append("\233"); - sb.append("\uff94"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff94"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff94"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff94"); - sb.append("\240"); - sb.append("\uff94"); - sb.append("\247"); - sb.append("\uff94"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); sb.append("\250"); - sb.append("\uff94"); - sb.append("\252"); - sb.append("\uff94"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\uff94"); + sb.append("\227"); sb.append("\254"); - sb.append("\uff94"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff94"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\266"); + sb.append("\003"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\134"); - sb.append("\u052f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\070"); + sb.append("\uff7c"); + sb.append("\005"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\357"); + sb.append("\uff7c"); + sb.append("\011"); + sb.append("\uff7c"); + sb.append("\012"); + sb.append("\uff7c"); + sb.append("\014"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\364"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\356"); + sb.append("\uff7c"); + sb.append("\017"); + sb.append("\uff7c"); + sb.append("\020"); + sb.append("\uff7c"); + sb.append("\021"); + sb.append("\uff7c"); + sb.append("\023"); + sb.append("\uff7c"); + sb.append("\025"); + sb.append("\uff7c"); + sb.append("\027"); + sb.append("\uff7c"); + sb.append("\032"); + sb.append("\uff7c"); + sb.append("\034"); + sb.append("\uff7c"); + sb.append("\036"); + sb.append("\uff7c"); + sb.append("\041"); + sb.append("\uff7c"); + sb.append("\042"); + sb.append("\uff7c"); + sb.append("\043"); + sb.append("\uff7c"); + sb.append("\044"); + sb.append("\uff7c"); + sb.append("\045"); + sb.append("\uff7c"); + sb.append("\047"); + sb.append("\uff7c"); + sb.append("\050"); + sb.append("\uff7c"); + sb.append("\051"); + sb.append("\uff7c"); + sb.append("\052"); + sb.append("\uff7c"); + sb.append("\054"); + sb.append("\uff7c"); + sb.append("\056"); + sb.append("\uff7c"); + sb.append("\057"); + sb.append("\uff7c"); + sb.append("\061"); + sb.append("\uff7c"); + sb.append("\062"); + sb.append("\uff7c"); + sb.append("\063"); + sb.append("\uff7c"); + sb.append("\065"); + sb.append("\uff7c"); + sb.append("\066"); + sb.append("\uff7c"); + sb.append("\074"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\351"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff7c"); + sb.append("\111"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff7c"); + sb.append("\120"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\160"); - sb.append("\172"); - sb.append("\362"); + sb.append("\uff7c"); + sb.append("\122"); + sb.append("\uff7c"); + sb.append("\123"); + sb.append("\uff7c"); + sb.append("\124"); + sb.append("\uff7c"); + sb.append("\125"); + sb.append("\uff7c"); + sb.append("\126"); + sb.append("\uff7c"); + sb.append("\133"); + sb.append("\uff7c"); + sb.append("\151"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\352"); - sb.append("\177"); - sb.append("\347"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); + sb.append("\203"); + sb.append("\uff7c"); + sb.append("\204"); + sb.append("\uff7c"); + sb.append("\205"); + sb.append("\uff7c"); + sb.append("\206"); + sb.append("\uff7c"); + sb.append("\207"); + sb.append("\uff7c"); + sb.append("\210"); + sb.append("\uff7c"); + sb.append("\211"); + sb.append("\uff7c"); + sb.append("\212"); + sb.append("\uff7c"); + sb.append("\213"); + sb.append("\uff7c"); + sb.append("\214"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); + sb.append("\217"); + sb.append("\uff7c"); + sb.append("\220"); + sb.append("\uff7c"); + sb.append("\223"); + sb.append("\uff7c"); + sb.append("\224"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); + sb.append("\234"); + sb.append("\uff7c"); + sb.append("\235"); + sb.append("\uff7c"); + sb.append("\236"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); + sb.append("\250"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\127"); - sb.append("\ufe6b"); - sb.append("\130"); - sb.append("\u0105"); - sb.append("\131"); - sb.append("\u0115"); - sb.append("\132"); - sb.append("\374"); - sb.append("\150"); - sb.append("\u0101"); - sb.append("\151"); - sb.append("\ufe6b"); - sb.append("\152"); - sb.append("\375"); - sb.append("\153"); - sb.append("\u010e"); - sb.append("\154"); - sb.append("\376"); - sb.append("\155"); - sb.append("\u0107"); - sb.append("\156"); - sb.append("\u010f"); - sb.append("\157"); - sb.append("\u0114"); - sb.append("\160"); - sb.append("\u0108"); - sb.append("\161"); - sb.append("\371"); - sb.append("\162"); - sb.append("\u0106"); - sb.append("\163"); - sb.append("\u0112"); - sb.append("\164"); - sb.append("\u0111"); - sb.append("\165"); - sb.append("\u0104"); - sb.append("\166"); - sb.append("\u0102"); - sb.append("\167"); - sb.append("\u0110"); - sb.append("\170"); - sb.append("\u010d"); - sb.append("\171"); - sb.append("\u0109"); - sb.append("\172"); - sb.append("\u0116"); - sb.append("\173"); - sb.append("\u0103"); - sb.append("\174"); - sb.append("\u010c"); - sb.append("\175"); - sb.append("\u010a"); - sb.append("\176"); - sb.append("\373"); - sb.append("\201"); - sb.append("\u0100"); - sb.append("\242"); - sb.append("\377"); - sb.append("\245"); - sb.append("\372"); - sb.append("\251"); - sb.append("\u0113"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -541,7 +392,7 @@ protected EncodedActionTable16() { sb.append("\003"); sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\005"); sb.append("\164"); sb.append("\006"); @@ -599,7 +450,7 @@ protected EncodedActionTable16() { sb.append("\054"); sb.append("\026"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\u03a9"); sb.append("\057"); sb.append("\016"); sb.append("\061"); @@ -632,8 +483,6 @@ protected EncodedActionTable16() { sb.append("\141"); sb.append("\111"); sb.append("\157"); - sb.append("\112"); - sb.append("\u0532"); sb.append("\115"); sb.append("\136"); sb.append("\116"); @@ -656,2040 +505,2148 @@ protected EncodedActionTable16() { sb.append("\020"); sb.append("\151"); sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\025"); + sb.append("\220"); + sb.append("\ufefc"); sb.append("\223"); - sb.append("\030"); + sb.append("\025"); sb.append("\224"); + sb.append("\030"); + sb.append("\225"); sb.append("\115"); - sb.append("\230"); + sb.append("\231"); sb.append("\047"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); + sb.append("\241"); sb.append("\105"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); + sb.append("\021"); + sb.append("\251"); sb.append("\231"); - sb.append("\252"); - sb.append("\227"); sb.append("\253"); - sb.append("\147"); + sb.append("\227"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u050d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\003"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\004"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\005"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\006"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\007"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\010"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\011"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\012"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\014"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\015"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\016"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\017"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\020"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\021"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\022"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\023"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\024"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\025"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\026"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\027"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\030"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\032"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\034"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\035"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\036"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\037"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\040"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\041"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\042"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\043"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\044"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\045"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\046"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\047"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\050"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\051"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\052"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\054"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\056"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\057"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\061"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\062"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\063"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\064"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\065"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\066"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\074"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\075"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\077"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\100"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\101"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\102"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\103"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\104"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\105"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\111"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\112"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\114"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\115"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\116"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\120"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\121"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\122"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\123"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\124"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\125"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\126"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\133"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\151"); - sb.append("\uff76"); - sb.append("\172"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\173"); - sb.append("\uff76"); - sb.append("\177"); - sb.append("\uff76"); + sb.append("\uff74"); + sb.append("\174"); + sb.append("\uff74"); sb.append("\200"); - sb.append("\uff76"); - sb.append("\202"); - sb.append("\uff76"); + sb.append("\uff74"); + sb.append("\201"); + sb.append("\uff74"); sb.append("\203"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\204"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\205"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\206"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\207"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\210"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\211"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\212"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\213"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\214"); - sb.append("\uff76"); - sb.append("\216"); - sb.append("\uff76"); + sb.append("\uff74"); + sb.append("\215"); + sb.append("\uff74"); sb.append("\217"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\220"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\221"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\222"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\223"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\224"); - sb.append("\uff76"); - sb.append("\230"); - sb.append("\uff76"); - sb.append("\233"); - sb.append("\uff76"); + sb.append("\uff74"); + sb.append("\225"); + sb.append("\uff74"); + sb.append("\231"); + sb.append("\uff74"); sb.append("\234"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\235"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\236"); - sb.append("\uff76"); - sb.append("\240"); - sb.append("\uff76"); - sb.append("\247"); - sb.append("\uff76"); + sb.append("\uff74"); + sb.append("\237"); + sb.append("\uff74"); + sb.append("\241"); + sb.append("\uff74"); sb.append("\250"); - sb.append("\uff76"); - sb.append("\252"); - sb.append("\uff76"); + sb.append("\uff74"); + sb.append("\251"); + sb.append("\uff74"); sb.append("\253"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\254"); - sb.append("\uff76"); + sb.append("\uff74"); sb.append("\255"); - sb.append("\uff76"); + sb.append("\uff74"); + sb.append("\256"); + sb.append("\uff74"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe1c"); + sb.append("\012"); sb.append("\033"); - sb.append("\ufe1c"); - sb.append("\073"); - sb.append("\ufe1c"); - sb.append("\112"); - sb.append("\ufe1c"); + sb.append("\u051b"); + sb.append("\117"); + sb.append("\u051a"); sb.append("\127"); - sb.append("\ufe1c"); - sb.append("\130"); - sb.append("\ufe1c"); - sb.append("\131"); - sb.append("\ufe1c"); - sb.append("\132"); - sb.append("\ufe1c"); - sb.append("\150"); - sb.append("\ufe1c"); + sb.append("\uff8a"); sb.append("\151"); - sb.append("\ufe1c"); - sb.append("\152"); - sb.append("\ufe1c"); - sb.append("\153"); - sb.append("\ufe1c"); - sb.append("\154"); - sb.append("\ufe1c"); - sb.append("\155"); - sb.append("\ufe1c"); - sb.append("\156"); - sb.append("\ufe1c"); - sb.append("\157"); - sb.append("\ufe1c"); - sb.append("\160"); - sb.append("\ufe1c"); - sb.append("\161"); - sb.append("\ufe1c"); - sb.append("\162"); - sb.append("\ufe1c"); - sb.append("\163"); - sb.append("\ufe1c"); - sb.append("\164"); - sb.append("\ufe1c"); - sb.append("\165"); - sb.append("\ufe1c"); - sb.append("\166"); - sb.append("\ufe1c"); - sb.append("\167"); - sb.append("\ufe1c"); - sb.append("\170"); - sb.append("\ufe1c"); - sb.append("\171"); - sb.append("\ufe1c"); - sb.append("\172"); - sb.append("\ufe1c"); - sb.append("\173"); - sb.append("\ufe1c"); - sb.append("\174"); - sb.append("\ufe1c"); - sb.append("\175"); - sb.append("\ufe1c"); - sb.append("\176"); - sb.append("\ufe1c"); - sb.append("\201"); - sb.append("\ufe1c"); - sb.append("\215"); - sb.append("\ufe1c"); - sb.append("\231"); - sb.append("\ufe1c"); - sb.append("\232"); - sb.append("\ufe1c"); - sb.append("\242"); - sb.append("\ufe1c"); - sb.append("\245"); - sb.append("\ufe1c"); - sb.append("\251"); - sb.append("\ufe1c"); + sb.append("\uff8a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe20"); - sb.append("\033"); - sb.append("\ufe20"); - sb.append("\073"); - sb.append("\ufe20"); - sb.append("\112"); - sb.append("\ufe20"); + sb.append("\012"); + sb.append("\010"); + sb.append("\u044b"); + sb.append("\121"); + sb.append("\u0447"); + sb.append("\255"); + sb.append("\u0448"); + sb.append("\256"); + sb.append("\u044d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); sb.append("\127"); - sb.append("\ufe20"); - sb.append("\130"); - sb.append("\ufe20"); - sb.append("\131"); - sb.append("\ufe20"); - sb.append("\132"); - sb.append("\ufe20"); - sb.append("\150"); - sb.append("\ufe20"); + sb.append("\uff8b"); sb.append("\151"); - sb.append("\ufe20"); - sb.append("\152"); - sb.append("\ufe20"); - sb.append("\153"); - sb.append("\ufe20"); - sb.append("\154"); - sb.append("\ufe20"); - sb.append("\155"); - sb.append("\ufe20"); - sb.append("\156"); - sb.append("\ufe20"); - sb.append("\157"); - sb.append("\ufe20"); - sb.append("\160"); - sb.append("\ufe20"); - sb.append("\161"); - sb.append("\ufe20"); - sb.append("\162"); - sb.append("\ufe20"); - sb.append("\163"); - sb.append("\ufe20"); - sb.append("\164"); - sb.append("\ufe20"); - sb.append("\165"); - sb.append("\ufe20"); - sb.append("\166"); - sb.append("\ufe20"); - sb.append("\167"); - sb.append("\ufe20"); - sb.append("\170"); - sb.append("\ufe20"); - sb.append("\171"); - sb.append("\ufe20"); - sb.append("\172"); - sb.append("\ufe20"); - sb.append("\173"); - sb.append("\ufe20"); - sb.append("\174"); - sb.append("\ufe20"); - sb.append("\175"); - sb.append("\ufe20"); - sb.append("\176"); - sb.append("\ufe20"); - sb.append("\201"); - sb.append("\ufe20"); - sb.append("\215"); - sb.append("\ufe20"); - sb.append("\231"); - sb.append("\ufe20"); - sb.append("\232"); - sb.append("\ufe20"); - sb.append("\242"); - sb.append("\ufe20"); - sb.append("\245"); - sb.append("\ufe20"); - sb.append("\251"); - sb.append("\ufe20"); + sb.append("\uff8b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe1e"); - sb.append("\033"); - sb.append("\ufe1e"); - sb.append("\073"); - sb.append("\ufe1e"); - sb.append("\112"); - sb.append("\ufe1e"); + sb.append("\012"); + sb.append("\010"); + sb.append("\u044b"); + sb.append("\121"); + sb.append("\u0447"); + sb.append("\255"); + sb.append("\u0448"); + sb.append("\256"); + sb.append("\u044d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); sb.append("\127"); - sb.append("\ufe1e"); - sb.append("\130"); - sb.append("\ufe1e"); - sb.append("\131"); - sb.append("\ufe1e"); - sb.append("\132"); - sb.append("\ufe1e"); - sb.append("\150"); - sb.append("\ufe1e"); + sb.append("\u0513"); sb.append("\151"); - sb.append("\ufe1e"); - sb.append("\152"); - sb.append("\ufe1e"); - sb.append("\153"); - sb.append("\ufe1e"); - sb.append("\154"); - sb.append("\ufe1e"); - sb.append("\155"); - sb.append("\ufe1e"); - sb.append("\156"); - sb.append("\ufe1e"); - sb.append("\157"); - sb.append("\ufe1e"); - sb.append("\160"); - sb.append("\ufe1e"); - sb.append("\161"); - sb.append("\ufe1e"); - sb.append("\162"); - sb.append("\ufe1e"); - sb.append("\163"); - sb.append("\ufe1e"); - sb.append("\164"); - sb.append("\ufe1e"); - sb.append("\165"); - sb.append("\ufe1e"); - sb.append("\166"); - sb.append("\ufe1e"); - sb.append("\167"); - sb.append("\ufe1e"); - sb.append("\170"); - sb.append("\ufe1e"); - sb.append("\171"); - sb.append("\ufe1e"); - sb.append("\172"); - sb.append("\ufe1e"); - sb.append("\173"); - sb.append("\ufe1e"); - sb.append("\174"); - sb.append("\ufe1e"); - sb.append("\175"); - sb.append("\ufe1e"); - sb.append("\176"); - sb.append("\ufe1e"); - sb.append("\201"); - sb.append("\ufe1e"); - sb.append("\215"); - sb.append("\ufe1e"); - sb.append("\231"); - sb.append("\ufe1e"); - sb.append("\232"); - sb.append("\ufe1e"); - sb.append("\242"); - sb.append("\ufe1e"); - sb.append("\245"); - sb.append("\ufe1e"); - sb.append("\251"); - sb.append("\ufe1e"); + sb.append("\u0514"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\012"); + sb.append("\010"); + sb.append("\u044b"); + sb.append("\121"); + sb.append("\u0447"); + sb.append("\255"); + sb.append("\u0448"); + sb.append("\256"); + sb.append("\u044d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\276"); + sb.append("\002"); + sb.append("\uff97"); + sb.append("\003"); + sb.append("\uff97"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff97"); + sb.append("\005"); + sb.append("\uff97"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff97"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff97"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\uff97"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff97"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff97"); + sb.append("\014"); + sb.append("\uff97"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff97"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff97"); + sb.append("\017"); + sb.append("\uff97"); + sb.append("\020"); + sb.append("\uff97"); + sb.append("\021"); + sb.append("\uff97"); + sb.append("\023"); + sb.append("\uff97"); + sb.append("\025"); + sb.append("\uff97"); + sb.append("\027"); + sb.append("\uff97"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff97"); + sb.append("\034"); + sb.append("\uff97"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff97"); + sb.append("\041"); + sb.append("\uff97"); + sb.append("\042"); + sb.append("\uff97"); + sb.append("\043"); + sb.append("\uff97"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff97"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff97"); + sb.append("\046"); + sb.append("\uff97"); + sb.append("\047"); + sb.append("\uff97"); + sb.append("\050"); + sb.append("\uff97"); + sb.append("\051"); + sb.append("\uff97"); + sb.append("\052"); + sb.append("\uff97"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff97"); + sb.append("\056"); + sb.append("\uff97"); + sb.append("\057"); + sb.append("\uff97"); + sb.append("\061"); + sb.append("\uff97"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff97"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff97"); + sb.append("\064"); + sb.append("\uff97"); + sb.append("\065"); + sb.append("\uff97"); + sb.append("\066"); + sb.append("\uff97"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff97"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff97"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff97"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff97"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff97"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff97"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff97"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff97"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff97"); + sb.append("\111"); + sb.append("\uff97"); + sb.append("\112"); + sb.append("\uff97"); + sb.append("\114"); + sb.append("\uff97"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff97"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff97"); + sb.append("\120"); + sb.append("\uff97"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff97"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff97"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff97"); sb.append("\124"); + sb.append("\uff97"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff97"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff97"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff97"); sb.append("\151"); - sb.append("\ufe64"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff97"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff97"); + sb.append("\174"); + sb.append("\uff97"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff97"); + sb.append("\201"); + sb.append("\uff97"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff97"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff97"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff97"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff97"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff97"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff97"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff97"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff97"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff97"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff97"); + sb.append("\215"); + sb.append("\uff97"); + sb.append("\217"); + sb.append("\uff97"); + sb.append("\223"); + sb.append("\uff97"); + sb.append("\224"); + sb.append("\uff97"); + sb.append("\225"); + sb.append("\uff97"); + sb.append("\231"); + sb.append("\uff97"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff97"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff97"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff97"); + sb.append("\237"); + sb.append("\uff97"); + sb.append("\241"); + sb.append("\uff97"); + sb.append("\250"); + sb.append("\uff97"); + sb.append("\251"); + sb.append("\uff97"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff97"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff97"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff97"); + sb.append("\256"); + sb.append("\uff97"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); - sb.append("\031"); - sb.append("\u01d2"); + sb.append("\006"); sb.append("\127"); - sb.append("\ufe61"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe61"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\231"); - sb.append("\ufe61"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); + sb.append("\uff8c"); sb.append("\151"); - sb.append("\u053c"); + sb.append("\uff8c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); + sb.append("\006"); sb.append("\127"); - sb.append("\u053a"); + sb.append("\u0513"); sb.append("\151"); - sb.append("\ufe63"); - sb.append("\231"); - sb.append("\ufe63"); + sb.append("\u0517"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\276"); + sb.append("\002"); + sb.append("\uff95"); + sb.append("\003"); + sb.append("\uff95"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff95"); + sb.append("\005"); + sb.append("\uff95"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff95"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff95"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\uff95"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff95"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff95"); + sb.append("\014"); + sb.append("\uff95"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff95"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff95"); + sb.append("\017"); + sb.append("\uff95"); + sb.append("\020"); + sb.append("\uff95"); + sb.append("\021"); + sb.append("\uff95"); + sb.append("\023"); + sb.append("\uff95"); + sb.append("\025"); + sb.append("\uff95"); + sb.append("\027"); + sb.append("\uff95"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff95"); + sb.append("\034"); + sb.append("\uff95"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff95"); + sb.append("\041"); + sb.append("\uff95"); + sb.append("\042"); + sb.append("\uff95"); + sb.append("\043"); + sb.append("\uff95"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff95"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff95"); + sb.append("\046"); + sb.append("\uff95"); + sb.append("\047"); + sb.append("\uff95"); + sb.append("\050"); + sb.append("\uff95"); + sb.append("\051"); + sb.append("\uff95"); + sb.append("\052"); + sb.append("\uff95"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff95"); + sb.append("\056"); + sb.append("\uff95"); + sb.append("\057"); + sb.append("\uff95"); + sb.append("\061"); + sb.append("\uff95"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff95"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff95"); + sb.append("\064"); + sb.append("\uff95"); + sb.append("\065"); + sb.append("\uff95"); + sb.append("\066"); + sb.append("\uff95"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff95"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff95"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff95"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff95"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff95"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff95"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff95"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff95"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff95"); + sb.append("\111"); + sb.append("\uff95"); + sb.append("\112"); + sb.append("\uff95"); + sb.append("\114"); + sb.append("\uff95"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff95"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff95"); + sb.append("\120"); + sb.append("\uff95"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff95"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff95"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff95"); sb.append("\124"); + sb.append("\uff95"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff95"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff95"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff95"); + sb.append("\151"); + sb.append("\uff95"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff95"); + sb.append("\174"); + sb.append("\uff95"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff95"); + sb.append("\201"); + sb.append("\uff95"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff95"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff95"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff95"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff95"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff95"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff95"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff95"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff95"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff95"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff95"); + sb.append("\215"); + sb.append("\uff95"); + sb.append("\217"); + sb.append("\uff95"); + sb.append("\223"); + sb.append("\uff95"); + sb.append("\224"); + sb.append("\uff95"); + sb.append("\225"); + sb.append("\uff95"); + sb.append("\231"); + sb.append("\uff95"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff95"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff95"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff95"); + sb.append("\237"); + sb.append("\uff95"); + sb.append("\241"); + sb.append("\uff95"); + sb.append("\250"); + sb.append("\uff95"); + sb.append("\251"); + sb.append("\uff95"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff95"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff95"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff95"); + sb.append("\256"); + sb.append("\uff95"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); - sb.append("\031"); - sb.append("\u01d2"); + sb.append("\006"); sb.append("\127"); - sb.append("\ufe62"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u0513"); sb.append("\151"); - sb.append("\ufe62"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\231"); - sb.append("\ufe62"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u0519"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\276"); + sb.append("\002"); + sb.append("\uff96"); + sb.append("\003"); + sb.append("\uff96"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff96"); + sb.append("\005"); + sb.append("\uff96"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff96"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff96"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\uff96"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff96"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff96"); + sb.append("\014"); + sb.append("\uff96"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff96"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff96"); + sb.append("\017"); + sb.append("\uff96"); + sb.append("\020"); + sb.append("\uff96"); + sb.append("\021"); + sb.append("\uff96"); + sb.append("\023"); + sb.append("\uff96"); + sb.append("\025"); + sb.append("\uff96"); + sb.append("\027"); + sb.append("\uff96"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff96"); + sb.append("\034"); + sb.append("\uff96"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff96"); + sb.append("\041"); + sb.append("\uff96"); + sb.append("\042"); + sb.append("\uff96"); + sb.append("\043"); + sb.append("\uff96"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff96"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff96"); + sb.append("\046"); + sb.append("\uff96"); + sb.append("\047"); + sb.append("\uff96"); + sb.append("\050"); + sb.append("\uff96"); + sb.append("\051"); + sb.append("\uff96"); + sb.append("\052"); + sb.append("\uff96"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff96"); + sb.append("\056"); + sb.append("\uff96"); + sb.append("\057"); + sb.append("\uff96"); + sb.append("\061"); + sb.append("\uff96"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff96"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff96"); + sb.append("\064"); + sb.append("\uff96"); + sb.append("\065"); + sb.append("\uff96"); + sb.append("\066"); + sb.append("\uff96"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff96"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff96"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff96"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff96"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff96"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff96"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff96"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff96"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff96"); + sb.append("\111"); + sb.append("\uff96"); + sb.append("\112"); + sb.append("\uff96"); + sb.append("\114"); + sb.append("\uff96"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff96"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff96"); + sb.append("\120"); + sb.append("\uff96"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff96"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff96"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff96"); sb.append("\124"); + sb.append("\uff96"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff96"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff96"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff96"); sb.append("\151"); - sb.append("\ufe64"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff96"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff96"); + sb.append("\174"); + sb.append("\uff96"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff96"); + sb.append("\201"); + sb.append("\uff96"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff96"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff96"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff96"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff96"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff96"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff96"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff96"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff96"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff96"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff96"); + sb.append("\215"); + sb.append("\uff96"); + sb.append("\217"); + sb.append("\uff96"); + sb.append("\223"); + sb.append("\uff96"); + sb.append("\224"); + sb.append("\uff96"); + sb.append("\225"); + sb.append("\uff96"); + sb.append("\231"); + sb.append("\uff96"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff96"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff96"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff96"); + sb.append("\237"); + sb.append("\uff96"); + sb.append("\241"); + sb.append("\uff96"); + sb.append("\250"); + sb.append("\uff96"); + sb.append("\251"); + sb.append("\uff96"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff96"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff96"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff96"); + sb.append("\256"); + sb.append("\uff96"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\151"); - sb.append("\u053e"); + sb.append("\111"); + sb.append("\u051d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); + sb.append("\u051c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\uff89"); + sb.append("\151"); + sb.append("\uff89"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); + sb.append("\u044b"); + sb.append("\045"); + sb.append("\u0520"); sb.append("\046"); + sb.append("\u0522"); + sb.append("\112"); + sb.append("\uff86"); sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufe64"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); + sb.append("\u0447"); sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u0540"); + sb.append("\u0448"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\250"); + sb.append("\006"); + sb.append("\112"); + sb.append("\uff84"); + sb.append("\127"); + sb.append("\uff84"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\033"); + sb.append("\u052e"); + sb.append("\112"); + sb.append("\uff83"); + sb.append("\127"); + sb.append("\uff83"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\010"); + sb.append("\u044b"); + sb.append("\121"); + sb.append("\u0447"); + sb.append("\255"); + sb.append("\u0448"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\112"); + sb.append("\u052a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\010"); + sb.append("\u044b"); + sb.append("\121"); + sb.append("\u0447"); + sb.append("\255"); + sb.append("\u0448"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\112"); + sb.append("\ufd6c"); + sb.append("\127"); + sb.append("\u0524"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); + sb.append("\010"); + sb.append("\u044b"); + sb.append("\045"); + sb.append("\u0520"); + sb.append("\046"); + sb.append("\u0522"); + sb.append("\112"); + sb.append("\ufd6b"); + sb.append("\121"); + sb.append("\u0447"); + sb.append("\255"); + sb.append("\u0448"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\112"); + sb.append("\uff87"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\112"); + sb.append("\uff85"); + sb.append("\127"); + sb.append("\uff85"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\033"); + sb.append("\u0528"); + sb.append("\112"); + sb.append("\uff7f"); + sb.append("\127"); + sb.append("\uff7f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\010"); + sb.append("\u0529"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\112"); + sb.append("\uff7e"); + sb.append("\127"); + sb.append("\uff7e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\uff88"); + sb.append("\151"); + sb.append("\uff88"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\033"); + sb.append("\u052c"); + sb.append("\112"); + sb.append("\uff81"); + sb.append("\127"); + sb.append("\uff81"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\010"); + sb.append("\u052d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\112"); + sb.append("\uff80"); + sb.append("\127"); + sb.append("\uff80"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\010"); + sb.append("\u052f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\112"); + sb.append("\uff82"); + sb.append("\127"); + sb.append("\uff82"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\276"); + sb.append("\002"); + sb.append("\uff94"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff94"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff94"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff94"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff94"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff94"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff94"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff94"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff94"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff94"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff94"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff94"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff94"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff94"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff94"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff94"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff94"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff94"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff94"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff94"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff94"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff94"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff94"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff94"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff94"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff94"); + sb.append("\046"); + sb.append("\uff94"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff94"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff94"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff94"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff94"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff94"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff94"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff94"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff94"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff94"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff94"); + sb.append("\064"); + sb.append("\uff94"); + sb.append("\065"); + sb.append("\uff94"); + sb.append("\066"); + sb.append("\uff94"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff94"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff94"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff94"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff94"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff94"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff94"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff94"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff94"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff94"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff94"); + sb.append("\112"); + sb.append("\uff94"); + sb.append("\114"); + sb.append("\uff94"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff94"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff94"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff94"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff94"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff94"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff94"); sb.append("\124"); + sb.append("\uff94"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff94"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff94"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff94"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff94"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff94"); + sb.append("\174"); + sb.append("\uff94"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff94"); + sb.append("\201"); + sb.append("\uff94"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff94"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff94"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff94"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff94"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff94"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff94"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff94"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff94"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff94"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\230"); - sb.append("\047"); - sb.append("\232"); - sb.append("\u0542"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff94"); + sb.append("\215"); + sb.append("\uff94"); + sb.append("\217"); + sb.append("\uff94"); + sb.append("\223"); + sb.append("\uff94"); + sb.append("\224"); + sb.append("\uff94"); + sb.append("\225"); + sb.append("\uff94"); + sb.append("\231"); + sb.append("\uff94"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff94"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff94"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff94"); + sb.append("\237"); + sb.append("\uff94"); + sb.append("\241"); + sb.append("\uff94"); + sb.append("\250"); + sb.append("\uff94"); + sb.append("\251"); + sb.append("\uff94"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff94"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff94"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff94"); + sb.append("\256"); + sb.append("\uff94"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff71"); - sb.append("\003"); - sb.append("\uff71"); sb.append("\004"); - sb.append("\uff71"); - sb.append("\005"); - sb.append("\uff71"); + sb.append("\134"); + sb.append("\u0533"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\070"); sb.append("\006"); - sb.append("\uff71"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff71"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff71"); - sb.append("\011"); - sb.append("\uff71"); - sb.append("\012"); - sb.append("\uff71"); - sb.append("\014"); - sb.append("\uff71"); + sb.append("\356"); sb.append("\015"); - sb.append("\uff71"); + sb.append("\364"); sb.append("\016"); - sb.append("\uff71"); - sb.append("\017"); - sb.append("\uff71"); - sb.append("\020"); - sb.append("\uff71"); - sb.append("\021"); - sb.append("\uff71"); - sb.append("\022"); - sb.append("\uff71"); - sb.append("\023"); - sb.append("\uff71"); - sb.append("\024"); - sb.append("\uff71"); - sb.append("\025"); - sb.append("\uff71"); - sb.append("\026"); - sb.append("\uff71"); - sb.append("\027"); - sb.append("\uff71"); - sb.append("\030"); - sb.append("\uff71"); - sb.append("\032"); - sb.append("\uff71"); - sb.append("\034"); - sb.append("\uff71"); - sb.append("\035"); - sb.append("\uff71"); - sb.append("\036"); - sb.append("\uff71"); - sb.append("\037"); - sb.append("\uff71"); - sb.append("\040"); - sb.append("\uff71"); - sb.append("\041"); - sb.append("\uff71"); - sb.append("\042"); - sb.append("\uff71"); - sb.append("\043"); - sb.append("\uff71"); - sb.append("\044"); - sb.append("\uff71"); - sb.append("\045"); - sb.append("\uff71"); - sb.append("\046"); - sb.append("\uff71"); - sb.append("\047"); - sb.append("\uff71"); - sb.append("\050"); - sb.append("\uff71"); - sb.append("\051"); - sb.append("\uff71"); - sb.append("\052"); - sb.append("\uff71"); - sb.append("\054"); - sb.append("\uff71"); - sb.append("\056"); - sb.append("\uff71"); - sb.append("\057"); - sb.append("\uff71"); - sb.append("\061"); - sb.append("\uff71"); - sb.append("\062"); - sb.append("\uff71"); - sb.append("\063"); - sb.append("\uff71"); - sb.append("\064"); - sb.append("\uff71"); - sb.append("\065"); - sb.append("\uff71"); - sb.append("\066"); - sb.append("\uff71"); - sb.append("\074"); - sb.append("\uff71"); + sb.append("\357"); sb.append("\075"); - sb.append("\uff71"); + sb.append("\351"); sb.append("\077"); - sb.append("\uff71"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff71"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff71"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff71"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff71"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff71"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff71"); - sb.append("\111"); - sb.append("\uff71"); - sb.append("\112"); - sb.append("\uff71"); - sb.append("\114"); - sb.append("\uff71"); + sb.append("\141"); sb.append("\115"); - sb.append("\uff71"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff71"); - sb.append("\120"); - sb.append("\uff71"); + sb.append("\046"); sb.append("\121"); - sb.append("\uff71"); - sb.append("\122"); - sb.append("\uff71"); - sb.append("\123"); - sb.append("\uff71"); - sb.append("\124"); - sb.append("\uff71"); - sb.append("\125"); - sb.append("\uff71"); - sb.append("\126"); - sb.append("\uff71"); - sb.append("\133"); - sb.append("\uff71"); - sb.append("\151"); - sb.append("\uff71"); - sb.append("\172"); - sb.append("\uff71"); + sb.append("\160"); sb.append("\173"); - sb.append("\uff71"); - sb.append("\177"); - sb.append("\uff71"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); sb.append("\200"); - sb.append("\uff71"); - sb.append("\202"); - sb.append("\uff71"); - sb.append("\203"); - sb.append("\uff71"); - sb.append("\204"); - sb.append("\uff71"); - sb.append("\205"); - sb.append("\uff71"); - sb.append("\206"); - sb.append("\uff71"); - sb.append("\207"); - sb.append("\uff71"); - sb.append("\210"); - sb.append("\uff71"); - sb.append("\211"); - sb.append("\uff71"); - sb.append("\212"); - sb.append("\uff71"); - sb.append("\213"); - sb.append("\uff71"); - sb.append("\214"); - sb.append("\uff71"); - sb.append("\216"); - sb.append("\uff71"); - sb.append("\217"); - sb.append("\uff71"); - sb.append("\220"); - sb.append("\uff71"); - sb.append("\221"); - sb.append("\uff71"); - sb.append("\222"); - sb.append("\uff71"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); sb.append("\223"); - sb.append("\uff71"); - sb.append("\224"); - sb.append("\uff71"); - sb.append("\230"); - sb.append("\uff71"); - sb.append("\233"); - sb.append("\uff71"); - sb.append("\234"); - sb.append("\uff71"); - sb.append("\235"); - sb.append("\uff71"); - sb.append("\236"); - sb.append("\uff71"); - sb.append("\240"); - sb.append("\uff71"); - sb.append("\247"); - sb.append("\uff71"); - sb.append("\250"); - sb.append("\uff71"); - sb.append("\252"); - sb.append("\uff71"); - sb.append("\253"); - sb.append("\uff71"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); sb.append("\254"); - sb.append("\uff71"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff71"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\127"); + sb.append("\ufe6b"); + sb.append("\130"); + sb.append("\u0105"); + sb.append("\131"); + sb.append("\u0116"); + sb.append("\132"); + sb.append("\375"); + sb.append("\150"); + sb.append("\u0100"); + sb.append("\151"); + sb.append("\ufe6b"); + sb.append("\152"); + sb.append("\374"); + sb.append("\153"); + sb.append("\u010e"); + sb.append("\154"); + sb.append("\u0113"); + sb.append("\155"); + sb.append("\376"); + sb.append("\156"); + sb.append("\u0107"); + sb.append("\157"); + sb.append("\u010f"); + sb.append("\160"); + sb.append("\u0115"); + sb.append("\161"); + sb.append("\u0109"); + sb.append("\162"); + sb.append("\371"); + sb.append("\163"); + sb.append("\u0106"); + sb.append("\164"); + sb.append("\u0112"); + sb.append("\165"); + sb.append("\u0110"); + sb.append("\166"); + sb.append("\u0104"); + sb.append("\167"); + sb.append("\u0102"); + sb.append("\170"); + sb.append("\u0111"); + sb.append("\171"); + sb.append("\u010d"); + sb.append("\172"); + sb.append("\u0108"); + sb.append("\173"); + sb.append("\u0117"); + sb.append("\174"); + sb.append("\u0103"); + sb.append("\175"); + sb.append("\u010c"); + sb.append("\176"); + sb.append("\u010a"); + sb.append("\177"); + sb.append("\372"); + sb.append("\202"); + sb.append("\377"); + sb.append("\243"); + sb.append("\u0101"); + sb.append("\246"); + sb.append("\373"); + sb.append("\252"); + sb.append("\u0114"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\266"); sb.append("\003"); - sb.append("\uff7c"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff7c"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff7c"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff7c"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff7c"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff7c"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff7c"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff7c"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff7c"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff7c"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff7c"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff7c"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff7c"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff7c"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff7c"); - sb.append("\024"); - sb.append("\uff7c"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff7c"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff7c"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff7c"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff7c"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff7c"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff7c"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff7c"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff7c"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff7c"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff7c"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff7c"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff7c"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff7c"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff7c"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff7c"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff7c"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff7c"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff7c"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff7c"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff7c"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff7c"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff7c"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff7c"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff7c"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff7c"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff7c"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff7c"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff7c"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff7c"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff7c"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff7c"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff7c"); + sb.append("\157"); + sb.append("\112"); + sb.append("\u0536"); sb.append("\115"); - sb.append("\uff7c"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff7c"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff7c"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff7c"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff7c"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff7c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff7c"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff7c"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff7c"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff7c"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff7c"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff7c"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff7c"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff7c"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff7c"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff7c"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff7c"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff7c"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff7c"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff7c"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\uff7c"); + sb.append("\227"); sb.append("\254"); - sb.append("\uff7c"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff7c"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\003"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\004"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\005"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\006"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\007"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\010"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\011"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\012"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\014"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\015"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\016"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\017"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\020"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\021"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\022"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\023"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\024"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\025"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\026"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\027"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\030"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\032"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\034"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\035"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\036"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\037"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\040"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\041"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\042"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\043"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\044"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\045"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\046"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\047"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\050"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\051"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\052"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\054"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\056"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\057"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\061"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\062"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\063"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\064"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\065"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\066"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\074"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\075"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\077"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\100"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\101"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\102"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\103"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\104"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\105"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\111"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\112"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\114"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\115"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\116"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\120"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\121"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\122"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\123"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\124"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\125"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\126"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\133"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\151"); - sb.append("\uff16"); - sb.append("\172"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\173"); - sb.append("\uff16"); - sb.append("\177"); - sb.append("\uff16"); + sb.append("\uff76"); + sb.append("\174"); + sb.append("\uff76"); sb.append("\200"); - sb.append("\uff16"); - sb.append("\202"); - sb.append("\uff16"); + sb.append("\uff76"); + sb.append("\201"); + sb.append("\uff76"); sb.append("\203"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\204"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\205"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\206"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\207"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\210"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\211"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\212"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\213"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\214"); - sb.append("\uff16"); - sb.append("\216"); - sb.append("\uff16"); + sb.append("\uff76"); + sb.append("\215"); + sb.append("\uff76"); sb.append("\217"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\220"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\221"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\222"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\223"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\224"); - sb.append("\uff16"); - sb.append("\230"); - sb.append("\uff16"); - sb.append("\233"); - sb.append("\uff16"); - sb.append("\234"); - sb.append("\uff16"); - sb.append("\235"); - sb.append("\uff16"); + sb.append("\uff76"); + sb.append("\225"); + sb.append("\uff76"); + sb.append("\231"); + sb.append("\uff76"); + sb.append("\234"); + sb.append("\uff76"); + sb.append("\235"); + sb.append("\uff76"); sb.append("\236"); - sb.append("\uff16"); - sb.append("\240"); - sb.append("\uff16"); - sb.append("\247"); - sb.append("\uff16"); + sb.append("\uff76"); + sb.append("\237"); + sb.append("\uff76"); + sb.append("\241"); + sb.append("\uff76"); sb.append("\250"); - sb.append("\uff16"); - sb.append("\252"); - sb.append("\uff16"); + sb.append("\uff76"); + sb.append("\251"); + sb.append("\uff76"); sb.append("\253"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\254"); - sb.append("\uff16"); + sb.append("\uff76"); sb.append("\255"); - sb.append("\uff16"); + sb.append("\uff76"); + sb.append("\256"); + sb.append("\uff76"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\211"); - sb.append("\004"); - sb.append("\201"); - sb.append("\005"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe1b"); + sb.append("\033"); + sb.append("\ufe1b"); + sb.append("\073"); + sb.append("\ufe1b"); + sb.append("\112"); + sb.append("\ufe1b"); + sb.append("\127"); + sb.append("\ufe1b"); + sb.append("\130"); + sb.append("\ufe1b"); + sb.append("\131"); + sb.append("\ufe1b"); + sb.append("\132"); + sb.append("\ufe1b"); + sb.append("\150"); + sb.append("\ufe1b"); + sb.append("\151"); + sb.append("\ufe1b"); + sb.append("\152"); + sb.append("\ufe1b"); + sb.append("\153"); + sb.append("\ufe1b"); + sb.append("\154"); + sb.append("\ufe1b"); + sb.append("\155"); + sb.append("\ufe1b"); + sb.append("\156"); + sb.append("\ufe1b"); + sb.append("\157"); + sb.append("\ufe1b"); + sb.append("\160"); + sb.append("\ufe1b"); + sb.append("\161"); + sb.append("\ufe1b"); + sb.append("\162"); + sb.append("\ufe1b"); + sb.append("\163"); + sb.append("\ufe1b"); + sb.append("\164"); + sb.append("\ufe1b"); + sb.append("\165"); + sb.append("\ufe1b"); + sb.append("\166"); + sb.append("\ufe1b"); + sb.append("\167"); + sb.append("\ufe1b"); + sb.append("\170"); + sb.append("\ufe1b"); + sb.append("\171"); + sb.append("\ufe1b"); + sb.append("\172"); + sb.append("\ufe1b"); + sb.append("\173"); + sb.append("\ufe1b"); + sb.append("\174"); + sb.append("\ufe1b"); + sb.append("\175"); + sb.append("\ufe1b"); + sb.append("\176"); + sb.append("\ufe1b"); + sb.append("\177"); + sb.append("\ufe1b"); + sb.append("\202"); + sb.append("\ufe1b"); + sb.append("\216"); + sb.append("\ufe1b"); + sb.append("\232"); + sb.append("\ufe1b"); + sb.append("\233"); + sb.append("\ufe1b"); + sb.append("\243"); + sb.append("\ufe1b"); + sb.append("\246"); + sb.append("\ufe1b"); + sb.append("\252"); + sb.append("\ufe1b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe1f"); + sb.append("\033"); + sb.append("\ufe1f"); + sb.append("\073"); + sb.append("\ufe1f"); + sb.append("\112"); + sb.append("\ufe1f"); + sb.append("\127"); + sb.append("\ufe1f"); + sb.append("\130"); + sb.append("\ufe1f"); + sb.append("\131"); + sb.append("\ufe1f"); + sb.append("\132"); + sb.append("\ufe1f"); + sb.append("\150"); + sb.append("\ufe1f"); + sb.append("\151"); + sb.append("\ufe1f"); + sb.append("\152"); + sb.append("\ufe1f"); + sb.append("\153"); + sb.append("\ufe1f"); + sb.append("\154"); + sb.append("\ufe1f"); + sb.append("\155"); + sb.append("\ufe1f"); + sb.append("\156"); + sb.append("\ufe1f"); + sb.append("\157"); + sb.append("\ufe1f"); + sb.append("\160"); + sb.append("\ufe1f"); + sb.append("\161"); + sb.append("\ufe1f"); + sb.append("\162"); + sb.append("\ufe1f"); + sb.append("\163"); + sb.append("\ufe1f"); + sb.append("\164"); + sb.append("\ufe1f"); + sb.append("\165"); + sb.append("\ufe1f"); + sb.append("\166"); + sb.append("\ufe1f"); + sb.append("\167"); + sb.append("\ufe1f"); + sb.append("\170"); + sb.append("\ufe1f"); + sb.append("\171"); + sb.append("\ufe1f"); + sb.append("\172"); + sb.append("\ufe1f"); + sb.append("\173"); + sb.append("\ufe1f"); + sb.append("\174"); + sb.append("\ufe1f"); + sb.append("\175"); + sb.append("\ufe1f"); + sb.append("\176"); + sb.append("\ufe1f"); + sb.append("\177"); + sb.append("\ufe1f"); + sb.append("\202"); + sb.append("\ufe1f"); + sb.append("\216"); + sb.append("\ufe1f"); + sb.append("\232"); + sb.append("\ufe1f"); + sb.append("\233"); + sb.append("\ufe1f"); + sb.append("\243"); + sb.append("\ufe1f"); + sb.append("\246"); + sb.append("\ufe1f"); + sb.append("\252"); + sb.append("\ufe1f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe1d"); + sb.append("\033"); + sb.append("\ufe1d"); + sb.append("\073"); + sb.append("\ufe1d"); + sb.append("\112"); + sb.append("\ufe1d"); + sb.append("\127"); + sb.append("\ufe1d"); + sb.append("\130"); + sb.append("\ufe1d"); + sb.append("\131"); + sb.append("\ufe1d"); + sb.append("\132"); + sb.append("\ufe1d"); + sb.append("\150"); + sb.append("\ufe1d"); + sb.append("\151"); + sb.append("\ufe1d"); + sb.append("\152"); + sb.append("\ufe1d"); + sb.append("\153"); + sb.append("\ufe1d"); + sb.append("\154"); + sb.append("\ufe1d"); + sb.append("\155"); + sb.append("\ufe1d"); + sb.append("\156"); + sb.append("\ufe1d"); + sb.append("\157"); + sb.append("\ufe1d"); + sb.append("\160"); + sb.append("\ufe1d"); + sb.append("\161"); + sb.append("\ufe1d"); + sb.append("\162"); + sb.append("\ufe1d"); + sb.append("\163"); + sb.append("\ufe1d"); sb.append("\164"); + sb.append("\ufe1d"); + sb.append("\165"); + sb.append("\ufe1d"); + sb.append("\166"); + sb.append("\ufe1d"); + sb.append("\167"); + sb.append("\ufe1d"); + sb.append("\170"); + sb.append("\ufe1d"); + sb.append("\171"); + sb.append("\ufe1d"); + sb.append("\172"); + sb.append("\ufe1d"); + sb.append("\173"); + sb.append("\ufe1d"); + sb.append("\174"); + sb.append("\ufe1d"); + sb.append("\175"); + sb.append("\ufe1d"); + sb.append("\176"); + sb.append("\ufe1d"); + sb.append("\177"); + sb.append("\ufe1d"); + sb.append("\202"); + sb.append("\ufe1d"); + sb.append("\216"); + sb.append("\ufe1d"); + sb.append("\232"); + sb.append("\ufe1d"); + sb.append("\233"); + sb.append("\ufe1d"); + sb.append("\243"); + sb.append("\ufe1d"); + sb.append("\246"); + sb.append("\ufe1d"); + sb.append("\252"); + sb.append("\ufe1d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\172"); + sb.append("\004"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\217"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); sb.append("\075"); - sb.append("\014"); - sb.append("\007"); sb.append("\015"); sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\023"); - sb.append("\145"); - sb.append("\024"); - sb.append("\u0545"); - sb.append("\025"); - sb.append("\200"); - sb.append("\027"); - sb.append("\203"); sb.append("\032"); sb.append("\106"); - sb.append("\034"); - sb.append("\113"); sb.append("\036"); sb.append("\125"); - sb.append("\041"); - sb.append("\033"); - sb.append("\042"); - sb.append("\040"); - sb.append("\043"); - sb.append("\226"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\023"); - sb.append("\047"); - sb.append("\212"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\052"); - sb.append("\057"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); - sb.append("\056"); - sb.append("\u03a5"); - sb.append("\057"); - sb.append("\016"); - sb.append("\061"); - sb.append("\110"); sb.append("\062"); sb.append("\210"); sb.append("\063"); sb.append("\010"); - sb.append("\065"); - sb.append("\027"); - sb.append("\066"); - sb.append("\111"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -2708,14 +2665,10 @@ protected EncodedActionTable16() { sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\111"); - sb.append("\157"); sb.append("\115"); sb.append("\136"); sb.append("\116"); sb.append("\046"); - sb.append("\120"); - sb.append("\172"); sb.append("\121"); sb.append("\160"); sb.append("\122"); @@ -2731,375 +2684,353 @@ protected EncodedActionTable16() { sb.append("\133"); sb.append("\020"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\ufe64"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\025"); sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\106"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\127"); + sb.append("\ufe61"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe61"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\ufe61"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\004"); sb.append("\151"); - sb.append("\u0546"); + sb.append("\u0540"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\010"); + sb.append("\127"); + sb.append("\u053e"); + sb.append("\151"); + sb.append("\ufe63"); + sb.append("\232"); + sb.append("\ufe63"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff15"); - sb.append("\003"); - sb.append("\uff15"); + sb.append("\000"); + sb.append("\170"); sb.append("\004"); - sb.append("\uff15"); - sb.append("\005"); - sb.append("\uff15"); + sb.append("\202"); sb.append("\006"); - sb.append("\uff15"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff15"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff15"); + sb.append("\u01b1"); sb.append("\011"); - sb.append("\uff15"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff15"); - sb.append("\014"); - sb.append("\uff15"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff15"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff15"); - sb.append("\017"); - sb.append("\uff15"); - sb.append("\020"); - sb.append("\uff15"); - sb.append("\021"); - sb.append("\uff15"); - sb.append("\022"); - sb.append("\uff15"); - sb.append("\023"); - sb.append("\uff15"); - sb.append("\024"); - sb.append("\uff15"); - sb.append("\025"); - sb.append("\uff15"); - sb.append("\026"); - sb.append("\uff15"); - sb.append("\027"); - sb.append("\uff15"); - sb.append("\030"); - sb.append("\uff15"); + sb.append("\071"); sb.append("\032"); - sb.append("\uff15"); - sb.append("\034"); - sb.append("\uff15"); - sb.append("\035"); - sb.append("\uff15"); + sb.append("\106"); sb.append("\036"); - sb.append("\uff15"); - sb.append("\037"); - sb.append("\uff15"); - sb.append("\040"); - sb.append("\uff15"); - sb.append("\041"); - sb.append("\uff15"); - sb.append("\042"); - sb.append("\uff15"); - sb.append("\043"); - sb.append("\uff15"); + sb.append("\125"); sb.append("\044"); - sb.append("\uff15"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff15"); - sb.append("\046"); - sb.append("\uff15"); - sb.append("\047"); - sb.append("\uff15"); - sb.append("\050"); - sb.append("\uff15"); - sb.append("\051"); - sb.append("\uff15"); - sb.append("\052"); - sb.append("\uff15"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\uff15"); - sb.append("\056"); - sb.append("\uff15"); - sb.append("\057"); - sb.append("\uff15"); - sb.append("\061"); - sb.append("\uff15"); + sb.append("\026"); sb.append("\062"); - sb.append("\uff15"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff15"); - sb.append("\064"); - sb.append("\uff15"); - sb.append("\065"); - sb.append("\uff15"); - sb.append("\066"); - sb.append("\uff15"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff15"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff15"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff15"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff15"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff15"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff15"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff15"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff15"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff15"); - sb.append("\111"); - sb.append("\uff15"); - sb.append("\112"); - sb.append("\uff15"); - sb.append("\114"); - sb.append("\uff15"); + sb.append("\141"); sb.append("\115"); - sb.append("\uff15"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff15"); - sb.append("\120"); - sb.append("\uff15"); + sb.append("\046"); sb.append("\121"); - sb.append("\uff15"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff15"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff15"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff15"); sb.append("\125"); - sb.append("\uff15"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff15"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff15"); - sb.append("\151"); - sb.append("\uff15"); - sb.append("\172"); - sb.append("\uff15"); + sb.append("\020"); sb.append("\173"); - sb.append("\uff15"); - sb.append("\177"); - sb.append("\uff15"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff15"); - sb.append("\202"); - sb.append("\uff15"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff15"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff15"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff15"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff15"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff15"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff15"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff15"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff15"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff15"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff15"); - sb.append("\216"); - sb.append("\uff15"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff15"); - sb.append("\220"); - sb.append("\uff15"); - sb.append("\221"); - sb.append("\uff15"); - sb.append("\222"); - sb.append("\uff15"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff15"); - sb.append("\224"); - sb.append("\uff15"); - sb.append("\230"); - sb.append("\uff15"); - sb.append("\233"); - sb.append("\uff15"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\uff15"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff15"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff15"); - sb.append("\240"); - sb.append("\uff15"); - sb.append("\247"); - sb.append("\uff15"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff15"); - sb.append("\252"); - sb.append("\uff15"); - sb.append("\253"); - sb.append("\uff15"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff15"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff15"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\102"); + sb.append("\106"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\127"); - sb.append("\ufe65"); + sb.append("\ufe62"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe65"); + sb.append("\ufe62"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u0549"); - sb.append("\151"); - sb.append("\u054a"); + sb.append("\232"); + sb.append("\ufe62"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\172"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3115,7 +3046,7 @@ protected EncodedActionTable16() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3158,892 +3089,1054 @@ protected EncodedActionTable16() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\151"); + sb.append("\ufe64"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u0542"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff65"); - sb.append("\003"); - sb.append("\uff65"); + sb.append("\000"); + sb.append("\172"); sb.append("\004"); - sb.append("\uff65"); - sb.append("\005"); - sb.append("\uff65"); + sb.append("\202"); sb.append("\006"); - sb.append("\uff65"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff65"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff65"); + sb.append("\u01b1"); sb.append("\011"); - sb.append("\uff65"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff65"); - sb.append("\014"); - sb.append("\uff65"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff65"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff65"); - sb.append("\017"); - sb.append("\uff65"); - sb.append("\020"); - sb.append("\uff65"); - sb.append("\021"); - sb.append("\uff65"); - sb.append("\022"); - sb.append("\uff65"); - sb.append("\023"); - sb.append("\uff65"); - sb.append("\024"); - sb.append("\uff65"); - sb.append("\025"); - sb.append("\uff65"); - sb.append("\026"); - sb.append("\uff65"); - sb.append("\027"); - sb.append("\uff65"); - sb.append("\030"); - sb.append("\uff65"); + sb.append("\071"); sb.append("\032"); - sb.append("\uff65"); - sb.append("\034"); - sb.append("\uff65"); - sb.append("\035"); - sb.append("\uff65"); + sb.append("\106"); sb.append("\036"); - sb.append("\uff65"); - sb.append("\037"); - sb.append("\uff65"); - sb.append("\040"); - sb.append("\uff65"); - sb.append("\041"); - sb.append("\uff65"); - sb.append("\042"); - sb.append("\uff65"); - sb.append("\043"); - sb.append("\uff65"); + sb.append("\125"); sb.append("\044"); - sb.append("\uff65"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff65"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); sb.append("\046"); - sb.append("\uff65"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufe64"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u0544"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\250"); + sb.append("\003"); + sb.append("\211"); + sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\217"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\014"); + sb.append("\007"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); + sb.append("\032"); + sb.append("\106"); + sb.append("\034"); + sb.append("\113"); + sb.append("\036"); + sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); sb.append("\047"); - sb.append("\uff65"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff65"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff65"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff65"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff65"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff65"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff65"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff65"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff65"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff65"); - sb.append("\064"); - sb.append("\uff65"); - sb.append("\065"); - sb.append("\uff65"); - sb.append("\066"); - sb.append("\uff65"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff65"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff65"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff65"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff65"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff65"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff65"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff65"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff65"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff65"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff65"); - sb.append("\112"); - sb.append("\uff65"); - sb.append("\114"); - sb.append("\uff65"); + sb.append("\157"); sb.append("\115"); - sb.append("\uff65"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff65"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff65"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff65"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff65"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff65"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff65"); sb.append("\125"); - sb.append("\uff65"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff65"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff65"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff65"); - sb.append("\172"); - sb.append("\uff65"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff65"); - sb.append("\177"); - sb.append("\uff65"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff65"); - sb.append("\202"); - sb.append("\uff65"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff65"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff65"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff65"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff65"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff65"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff65"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff65"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff65"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff65"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff65"); - sb.append("\216"); - sb.append("\uff65"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff65"); - sb.append("\220"); - sb.append("\uff65"); - sb.append("\221"); - sb.append("\uff65"); - sb.append("\222"); - sb.append("\uff65"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff65"); - sb.append("\224"); - sb.append("\uff65"); - sb.append("\230"); - sb.append("\uff65"); + sb.append("\025"); + sb.append("\231"); + sb.append("\047"); sb.append("\233"); - sb.append("\uff65"); + sb.append("\u0546"); sb.append("\234"); - sb.append("\uff65"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff65"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff65"); - sb.append("\240"); - sb.append("\uff65"); - sb.append("\247"); - sb.append("\uff65"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff65"); - sb.append("\252"); - sb.append("\uff65"); - sb.append("\253"); - sb.append("\uff65"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff65"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff65"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\102"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\127"); - sb.append("\ufe66"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe66"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff71"); + sb.append("\003"); + sb.append("\uff71"); + sb.append("\004"); + sb.append("\uff71"); + sb.append("\005"); + sb.append("\uff71"); + sb.append("\006"); + sb.append("\uff71"); + sb.append("\007"); + sb.append("\uff71"); + sb.append("\010"); + sb.append("\uff71"); + sb.append("\011"); + sb.append("\uff71"); + sb.append("\012"); + sb.append("\uff71"); + sb.append("\014"); + sb.append("\uff71"); + sb.append("\015"); + sb.append("\uff71"); + sb.append("\016"); + sb.append("\uff71"); + sb.append("\017"); + sb.append("\uff71"); + sb.append("\020"); + sb.append("\uff71"); + sb.append("\021"); + sb.append("\uff71"); + sb.append("\022"); + sb.append("\uff71"); + sb.append("\023"); + sb.append("\uff71"); + sb.append("\024"); + sb.append("\uff71"); + sb.append("\025"); + sb.append("\uff71"); + sb.append("\026"); + sb.append("\uff71"); + sb.append("\027"); + sb.append("\uff71"); + sb.append("\030"); + sb.append("\uff71"); + sb.append("\032"); + sb.append("\uff71"); + sb.append("\034"); + sb.append("\uff71"); + sb.append("\035"); + sb.append("\uff71"); + sb.append("\036"); + sb.append("\uff71"); + sb.append("\037"); + sb.append("\uff71"); + sb.append("\040"); + sb.append("\uff71"); + sb.append("\041"); + sb.append("\uff71"); + sb.append("\042"); + sb.append("\uff71"); + sb.append("\043"); + sb.append("\uff71"); + sb.append("\044"); + sb.append("\uff71"); + sb.append("\045"); + sb.append("\uff71"); + sb.append("\046"); + sb.append("\uff71"); + sb.append("\047"); + sb.append("\uff71"); + sb.append("\050"); + sb.append("\uff71"); + sb.append("\051"); + sb.append("\uff71"); + sb.append("\052"); + sb.append("\uff71"); + sb.append("\054"); + sb.append("\uff71"); + sb.append("\056"); + sb.append("\uff71"); + sb.append("\057"); + sb.append("\uff71"); + sb.append("\061"); + sb.append("\uff71"); + sb.append("\062"); + sb.append("\uff71"); + sb.append("\063"); + sb.append("\uff71"); + sb.append("\064"); + sb.append("\uff71"); + sb.append("\065"); + sb.append("\uff71"); + sb.append("\066"); + sb.append("\uff71"); + sb.append("\074"); + sb.append("\uff71"); + sb.append("\075"); + sb.append("\uff71"); + sb.append("\077"); + sb.append("\uff71"); + sb.append("\100"); + sb.append("\uff71"); + sb.append("\101"); + sb.append("\uff71"); + sb.append("\102"); + sb.append("\uff71"); + sb.append("\103"); + sb.append("\uff71"); + sb.append("\104"); + sb.append("\uff71"); + sb.append("\105"); + sb.append("\uff71"); + sb.append("\111"); + sb.append("\uff71"); + sb.append("\112"); + sb.append("\uff71"); + sb.append("\114"); + sb.append("\uff71"); + sb.append("\115"); + sb.append("\uff71"); + sb.append("\116"); + sb.append("\uff71"); + sb.append("\120"); + sb.append("\uff71"); + sb.append("\121"); + sb.append("\uff71"); + sb.append("\122"); + sb.append("\uff71"); + sb.append("\123"); + sb.append("\uff71"); + sb.append("\124"); + sb.append("\uff71"); + sb.append("\125"); + sb.append("\uff71"); + sb.append("\126"); + sb.append("\uff71"); + sb.append("\133"); + sb.append("\uff71"); + sb.append("\151"); + sb.append("\uff71"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\uff71"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); + sb.append("\uff71"); + sb.append("\200"); + sb.append("\uff71"); sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); + sb.append("\uff71"); + sb.append("\203"); + sb.append("\uff71"); + sb.append("\204"); + sb.append("\uff71"); + sb.append("\205"); + sb.append("\uff71"); + sb.append("\206"); + sb.append("\uff71"); + sb.append("\207"); + sb.append("\uff71"); + sb.append("\210"); + sb.append("\uff71"); + sb.append("\211"); + sb.append("\uff71"); + sb.append("\212"); + sb.append("\uff71"); + sb.append("\213"); + sb.append("\uff71"); + sb.append("\214"); + sb.append("\uff71"); + sb.append("\215"); + sb.append("\uff71"); + sb.append("\217"); + sb.append("\uff71"); + sb.append("\220"); + sb.append("\uff71"); + sb.append("\221"); + sb.append("\uff71"); + sb.append("\222"); + sb.append("\uff71"); + sb.append("\223"); + sb.append("\uff71"); + sb.append("\224"); + sb.append("\uff71"); + sb.append("\225"); + sb.append("\uff71"); + sb.append("\231"); + sb.append("\uff71"); + sb.append("\234"); + sb.append("\uff71"); + sb.append("\235"); + sb.append("\uff71"); + sb.append("\236"); + sb.append("\uff71"); + sb.append("\237"); + sb.append("\uff71"); + sb.append("\241"); + sb.append("\uff71"); + sb.append("\250"); + sb.append("\uff71"); sb.append("\251"); - sb.append("\u01d8"); + sb.append("\uff71"); + sb.append("\253"); + sb.append("\uff71"); + sb.append("\254"); + sb.append("\uff71"); + sb.append("\255"); + sb.append("\uff71"); + sb.append("\256"); + sb.append("\uff71"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\266"); + sb.append("\003"); + sb.append("\uff7c"); + sb.append("\004"); + sb.append("\uff7c"); + sb.append("\005"); + sb.append("\uff7c"); + sb.append("\006"); + sb.append("\uff7c"); + sb.append("\007"); + sb.append("\uff7c"); + sb.append("\010"); + sb.append("\uff7c"); + sb.append("\011"); + sb.append("\uff7c"); + sb.append("\012"); + sb.append("\uff7c"); + sb.append("\014"); + sb.append("\uff7c"); + sb.append("\015"); + sb.append("\uff7c"); + sb.append("\016"); + sb.append("\uff7c"); + sb.append("\017"); + sb.append("\uff7c"); + sb.append("\020"); + sb.append("\uff7c"); + sb.append("\021"); + sb.append("\uff7c"); + sb.append("\023"); + sb.append("\uff7c"); + sb.append("\024"); + sb.append("\uff7c"); + sb.append("\025"); + sb.append("\uff7c"); + sb.append("\027"); + sb.append("\uff7c"); + sb.append("\032"); + sb.append("\uff7c"); + sb.append("\034"); + sb.append("\uff7c"); + sb.append("\036"); + sb.append("\uff7c"); + sb.append("\041"); + sb.append("\uff7c"); + sb.append("\042"); + sb.append("\uff7c"); + sb.append("\043"); + sb.append("\uff7c"); + sb.append("\044"); + sb.append("\uff7c"); + sb.append("\045"); + sb.append("\uff7c"); + sb.append("\047"); + sb.append("\uff7c"); + sb.append("\050"); + sb.append("\uff7c"); + sb.append("\051"); + sb.append("\uff7c"); + sb.append("\052"); + sb.append("\uff7c"); + sb.append("\054"); + sb.append("\uff7c"); + sb.append("\056"); + sb.append("\uff7c"); + sb.append("\057"); + sb.append("\uff7c"); + sb.append("\061"); + sb.append("\uff7c"); + sb.append("\062"); + sb.append("\uff7c"); + sb.append("\063"); + sb.append("\uff7c"); + sb.append("\065"); + sb.append("\uff7c"); + sb.append("\066"); + sb.append("\uff7c"); + sb.append("\074"); + sb.append("\uff7c"); + sb.append("\075"); + sb.append("\uff7c"); + sb.append("\077"); + sb.append("\uff7c"); + sb.append("\100"); + sb.append("\uff7c"); + sb.append("\101"); + sb.append("\uff7c"); + sb.append("\102"); + sb.append("\uff7c"); + sb.append("\103"); + sb.append("\uff7c"); + sb.append("\104"); + sb.append("\uff7c"); + sb.append("\105"); + sb.append("\uff7c"); + sb.append("\111"); + sb.append("\uff7c"); + sb.append("\115"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\031"); - sb.append("\ufe1d"); - sb.append("\033"); - sb.append("\ufe1d"); - sb.append("\073"); - sb.append("\ufe1d"); - sb.append("\112"); - sb.append("\ufe1d"); - sb.append("\127"); - sb.append("\ufe1d"); - sb.append("\130"); - sb.append("\ufe1d"); - sb.append("\131"); - sb.append("\ufe1d"); - sb.append("\132"); - sb.append("\ufe1d"); - sb.append("\150"); - sb.append("\ufe1d"); + sb.append("\uff7c"); + sb.append("\120"); + sb.append("\uff7c"); + sb.append("\121"); + sb.append("\uff7c"); + sb.append("\122"); + sb.append("\uff7c"); + sb.append("\123"); + sb.append("\uff7c"); + sb.append("\124"); + sb.append("\uff7c"); + sb.append("\125"); + sb.append("\uff7c"); + sb.append("\126"); + sb.append("\uff7c"); + sb.append("\133"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\ufe1d"); - sb.append("\152"); - sb.append("\ufe1d"); - sb.append("\153"); - sb.append("\ufe1d"); - sb.append("\154"); - sb.append("\ufe1d"); - sb.append("\155"); - sb.append("\ufe1d"); - sb.append("\156"); - sb.append("\ufe1d"); - sb.append("\157"); - sb.append("\ufe1d"); - sb.append("\160"); - sb.append("\ufe1d"); - sb.append("\161"); - sb.append("\ufe1d"); - sb.append("\162"); - sb.append("\ufe1d"); - sb.append("\163"); - sb.append("\ufe1d"); - sb.append("\164"); - sb.append("\ufe1d"); - sb.append("\165"); - sb.append("\ufe1d"); - sb.append("\166"); - sb.append("\ufe1d"); - sb.append("\167"); - sb.append("\ufe1d"); - sb.append("\170"); - sb.append("\ufe1d"); - sb.append("\171"); - sb.append("\ufe1d"); - sb.append("\172"); - sb.append("\ufe1d"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\ufe1d"); + sb.append("\uff7c"); sb.append("\174"); - sb.append("\ufe1d"); - sb.append("\175"); - sb.append("\ufe1d"); - sb.append("\176"); - sb.append("\ufe1d"); + sb.append("\uff7c"); + sb.append("\200"); + sb.append("\uff7c"); sb.append("\201"); - sb.append("\ufe1d"); + sb.append("\uff7c"); + sb.append("\203"); + sb.append("\uff7c"); + sb.append("\204"); + sb.append("\uff7c"); + sb.append("\205"); + sb.append("\uff7c"); + sb.append("\206"); + sb.append("\uff7c"); + sb.append("\207"); + sb.append("\uff7c"); + sb.append("\210"); + sb.append("\uff7c"); + sb.append("\211"); + sb.append("\uff7c"); + sb.append("\212"); + sb.append("\uff7c"); + sb.append("\213"); + sb.append("\uff7c"); + sb.append("\214"); + sb.append("\uff7c"); sb.append("\215"); - sb.append("\ufe1d"); + sb.append("\uff7c"); + sb.append("\217"); + sb.append("\uff7c"); + sb.append("\223"); + sb.append("\uff7c"); + sb.append("\224"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); sb.append("\231"); - sb.append("\ufe1d"); - sb.append("\232"); - sb.append("\ufe1d"); - sb.append("\242"); - sb.append("\ufe1d"); - sb.append("\245"); - sb.append("\ufe1d"); - sb.append("\251"); - sb.append("\ufe1d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\u0553"); - sb.append("\106"); - sb.append("\u0551"); - sb.append("\107"); - sb.append("\u0552"); - sb.append("\110"); - sb.append("\u0550"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\026"); - sb.append("\012"); - sb.append("\ufcef"); - sb.append("\015"); - sb.append("\ufcef"); - sb.append("\071"); - sb.append("\u055f"); - sb.append("\072"); - sb.append("\u055d"); - sb.append("\106"); - sb.append("\ufcef"); - sb.append("\107"); - sb.append("\ufcef"); - sb.append("\110"); - sb.append("\ufcef"); - sb.append("\214"); - sb.append("\u055e"); - sb.append("\234"); - sb.append("\ufcef"); - sb.append("\235"); - sb.append("\ufcef"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\012"); - sb.append("\ufcf2"); - sb.append("\015"); - sb.append("\ufcf2"); - sb.append("\106"); - sb.append("\ufcf2"); - sb.append("\107"); - sb.append("\ufcf2"); - sb.append("\110"); - sb.append("\ufcf2"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\ufcf2"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\ufcf2"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\016"); - sb.append("\u0338"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); + sb.append("\uff7c"); + sb.append("\236"); + sb.append("\uff7c"); sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\253"); + sb.append("\uff7c"); sb.append("\241"); + sb.append("\uff7c"); + sb.append("\250"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); + sb.append("\253"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\240"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\245"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufd71"); - sb.append("\033"); - sb.append("\ufd71"); - sb.append("\073"); - sb.append("\ufd71"); - sb.append("\112"); - sb.append("\ufd71"); - sb.append("\127"); - sb.append("\ufd71"); - sb.append("\130"); - sb.append("\ufd71"); - sb.append("\131"); - sb.append("\ufd71"); - sb.append("\132"); - sb.append("\ufd71"); - sb.append("\150"); - sb.append("\ufd71"); - sb.append("\151"); - sb.append("\ufd71"); - sb.append("\152"); - sb.append("\ufd71"); - sb.append("\153"); - sb.append("\ufd71"); - sb.append("\154"); - sb.append("\ufd71"); - sb.append("\155"); - sb.append("\ufd71"); - sb.append("\156"); - sb.append("\ufd71"); - sb.append("\157"); - sb.append("\ufd71"); - sb.append("\160"); - sb.append("\ufd71"); - sb.append("\161"); - sb.append("\ufd71"); - sb.append("\162"); - sb.append("\ufd71"); - sb.append("\163"); - sb.append("\ufd71"); - sb.append("\164"); - sb.append("\ufd71"); - sb.append("\165"); - sb.append("\ufd71"); - sb.append("\166"); - sb.append("\ufd71"); - sb.append("\167"); - sb.append("\ufd71"); - sb.append("\170"); - sb.append("\ufd71"); - sb.append("\171"); - sb.append("\ufd71"); - sb.append("\172"); - sb.append("\ufd71"); - sb.append("\173"); - sb.append("\ufd71"); - sb.append("\174"); - sb.append("\ufd71"); - sb.append("\175"); - sb.append("\ufd71"); - sb.append("\176"); - sb.append("\ufd71"); - sb.append("\201"); - sb.append("\ufd71"); - sb.append("\215"); - sb.append("\ufd71"); - sb.append("\231"); - sb.append("\ufd71"); - sb.append("\232"); - sb.append("\ufd71"); - sb.append("\242"); - sb.append("\ufd71"); - sb.append("\245"); - sb.append("\ufd71"); - sb.append("\251"); - sb.append("\ufd71"); - sb.append("\001"); + sb.append("\322"); sb.append("\002"); - sb.append("\000"); - sb.append("\170"); + sb.append("\uff16"); + sb.append("\003"); + sb.append("\uff16"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff16"); + sb.append("\005"); + sb.append("\uff16"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff16"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff16"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\uff16"); sb.append("\011"); - sb.append("\u0555"); + sb.append("\uff16"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff16"); + sb.append("\014"); + sb.append("\uff16"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff16"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff16"); + sb.append("\017"); + sb.append("\uff16"); + sb.append("\020"); + sb.append("\uff16"); + sb.append("\021"); + sb.append("\uff16"); + sb.append("\022"); + sb.append("\uff16"); + sb.append("\023"); + sb.append("\uff16"); + sb.append("\024"); + sb.append("\uff16"); + sb.append("\025"); + sb.append("\uff16"); + sb.append("\026"); + sb.append("\uff16"); + sb.append("\027"); + sb.append("\uff16"); + sb.append("\030"); + sb.append("\uff16"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff16"); + sb.append("\034"); + sb.append("\uff16"); + sb.append("\035"); + sb.append("\uff16"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff16"); + sb.append("\037"); + sb.append("\uff16"); + sb.append("\040"); + sb.append("\uff16"); + sb.append("\041"); + sb.append("\uff16"); + sb.append("\042"); + sb.append("\uff16"); + sb.append("\043"); + sb.append("\uff16"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff16"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\uff16"); + sb.append("\046"); + sb.append("\uff16"); + sb.append("\047"); + sb.append("\uff16"); + sb.append("\050"); + sb.append("\uff16"); + sb.append("\051"); + sb.append("\uff16"); + sb.append("\052"); + sb.append("\uff16"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff16"); + sb.append("\056"); + sb.append("\uff16"); + sb.append("\057"); + sb.append("\uff16"); + sb.append("\061"); + sb.append("\uff16"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff16"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff16"); + sb.append("\064"); + sb.append("\uff16"); + sb.append("\065"); + sb.append("\uff16"); + sb.append("\066"); + sb.append("\uff16"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff16"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff16"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff16"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff16"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff16"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff16"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff16"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff16"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff16"); + sb.append("\111"); + sb.append("\uff16"); + sb.append("\112"); + sb.append("\uff16"); + sb.append("\114"); + sb.append("\uff16"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff16"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff16"); + sb.append("\120"); + sb.append("\uff16"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff16"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff16"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff16"); sb.append("\124"); + sb.append("\uff16"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff16"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff16"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff16"); + sb.append("\151"); + sb.append("\uff16"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff16"); + sb.append("\174"); + sb.append("\uff16"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff16"); + sb.append("\201"); + sb.append("\uff16"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff16"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff16"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff16"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff16"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff16"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff16"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff16"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff16"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff16"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff16"); + sb.append("\215"); + sb.append("\uff16"); + sb.append("\217"); + sb.append("\uff16"); + sb.append("\220"); + sb.append("\uff16"); + sb.append("\221"); + sb.append("\uff16"); sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff16"); + sb.append("\223"); + sb.append("\uff16"); + sb.append("\224"); + sb.append("\uff16"); + sb.append("\225"); + sb.append("\uff16"); + sb.append("\231"); + sb.append("\uff16"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff16"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff16"); sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff16"); + sb.append("\237"); + sb.append("\uff16"); + sb.append("\241"); + sb.append("\uff16"); + sb.append("\250"); + sb.append("\uff16"); + sb.append("\251"); + sb.append("\uff16"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff16"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff16"); sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\012"); - sb.append("\ufcf1"); - sb.append("\015"); - sb.append("\ufcf1"); - sb.append("\106"); - sb.append("\ufcf1"); - sb.append("\107"); - sb.append("\ufcf1"); - sb.append("\110"); - sb.append("\ufcf1"); - sb.append("\234"); - sb.append("\ufcf1"); - sb.append("\235"); - sb.append("\ufcf1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\112"); - sb.append("\u055a"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\102"); - sb.append("\031"); - sb.append("\ufd77"); - sb.append("\112"); - sb.append("\ufd77"); - sb.append("\130"); - sb.append("\ufd77"); - sb.append("\131"); - sb.append("\ufd77"); - sb.append("\132"); - sb.append("\ufd77"); - sb.append("\150"); - sb.append("\ufd77"); - sb.append("\152"); - sb.append("\ufd77"); - sb.append("\153"); - sb.append("\ufd77"); - sb.append("\154"); - sb.append("\ufd77"); - sb.append("\155"); - sb.append("\ufd77"); - sb.append("\156"); - sb.append("\ufd77"); - sb.append("\157"); - sb.append("\ufd77"); - sb.append("\160"); - sb.append("\ufd77"); - sb.append("\161"); - sb.append("\ufd77"); - sb.append("\162"); - sb.append("\ufd77"); - sb.append("\163"); - sb.append("\ufd77"); - sb.append("\164"); - sb.append("\ufd77"); - sb.append("\165"); - sb.append("\ufd77"); - sb.append("\166"); - sb.append("\ufd77"); - sb.append("\167"); - sb.append("\ufd77"); - sb.append("\170"); - sb.append("\ufd77"); - sb.append("\171"); - sb.append("\ufd77"); - sb.append("\172"); - sb.append("\ufd77"); - sb.append("\173"); - sb.append("\ufd77"); - sb.append("\174"); - sb.append("\ufd77"); - sb.append("\175"); - sb.append("\ufd77"); - sb.append("\176"); - sb.append("\ufd77"); - sb.append("\201"); - sb.append("\ufd77"); - sb.append("\214"); - sb.append("\u0556"); - sb.append("\242"); - sb.append("\ufd77"); - sb.append("\245"); - sb.append("\ufd77"); - sb.append("\251"); - sb.append("\ufd77"); + sb.append("\uff16"); + sb.append("\256"); + sb.append("\uff16"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\266"); + sb.append("\003"); + sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\217"); sb.append("\011"); sb.append("\204"); sb.append("\012"); sb.append("\075"); + sb.append("\014"); + sb.append("\007"); sb.append("\015"); sb.append("\031"); sb.append("\016"); sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\024"); + sb.append("\u0549"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); sb.append("\032"); sb.append("\106"); + sb.append("\034"); + sb.append("\113"); sb.append("\036"); sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\023"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\052"); + sb.append("\057"); sb.append("\054"); sb.append("\026"); + sb.append("\056"); + sb.append("\u03a9"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); sb.append("\062"); sb.append("\210"); sb.append("\063"); sb.append("\010"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); + sb.append("\111"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -4062,10 +4155,14 @@ protected EncodedActionTable16() { sb.append("\117"); sb.append("\105"); sb.append("\141"); + sb.append("\111"); + sb.append("\157"); sb.append("\115"); sb.append("\136"); sb.append("\116"); sb.append("\046"); + sb.append("\120"); + sb.append("\172"); sb.append("\121"); sb.append("\160"); sb.append("\122"); @@ -4080,453 +4177,357 @@ protected EncodedActionTable16() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\151"); + sb.append("\171"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\025"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\147"); + sb.append("\227"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\u0558"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); sb.append("\004"); - sb.append("\112"); - sb.append("\u0559"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\012"); - sb.append("\ufcea"); - sb.append("\015"); - sb.append("\ufcea"); - sb.append("\106"); - sb.append("\ufcea"); - sb.append("\107"); - sb.append("\ufcea"); - sb.append("\110"); - sb.append("\ufcea"); - sb.append("\234"); - sb.append("\ufcea"); - sb.append("\235"); - sb.append("\ufcea"); + sb.append("\151"); + sb.append("\u054a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\020"); - sb.append("\012"); - sb.append("\ufceb"); - sb.append("\015"); - sb.append("\ufceb"); - sb.append("\106"); - sb.append("\ufceb"); - sb.append("\107"); - sb.append("\ufceb"); - sb.append("\110"); - sb.append("\ufceb"); - sb.append("\234"); - sb.append("\ufceb"); - sb.append("\235"); - sb.append("\ufceb"); - sb.append("\001"); + sb.append("\322"); sb.append("\002"); - sb.append("\000"); + sb.append("\uff15"); + sb.append("\003"); + sb.append("\uff15"); sb.append("\004"); - sb.append("\112"); - sb.append("\u055c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\012"); - sb.append("\ufce9"); - sb.append("\015"); - sb.append("\ufce9"); - sb.append("\106"); - sb.append("\ufce9"); - sb.append("\107"); - sb.append("\ufce9"); - sb.append("\110"); - sb.append("\ufce9"); - sb.append("\234"); - sb.append("\ufce9"); - sb.append("\235"); - sb.append("\ufce9"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\uff15"); + sb.append("\005"); + sb.append("\uff15"); sb.append("\006"); + sb.append("\uff15"); + sb.append("\007"); + sb.append("\uff15"); sb.append("\010"); - sb.append("\u028e"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\010"); - sb.append("\u028e"); + sb.append("\uff15"); + sb.append("\011"); + sb.append("\uff15"); sb.append("\012"); + sb.append("\uff15"); + sb.append("\014"); + sb.append("\uff15"); + sb.append("\015"); + sb.append("\uff15"); + sb.append("\016"); + sb.append("\uff15"); + sb.append("\017"); + sb.append("\uff15"); + sb.append("\020"); + sb.append("\uff15"); + sb.append("\021"); + sb.append("\uff15"); + sb.append("\022"); + sb.append("\uff15"); + sb.append("\023"); + sb.append("\uff15"); + sb.append("\024"); + sb.append("\uff15"); + sb.append("\025"); + sb.append("\uff15"); + sb.append("\026"); + sb.append("\uff15"); + sb.append("\027"); + sb.append("\uff15"); + sb.append("\030"); + sb.append("\uff15"); + sb.append("\032"); + sb.append("\uff15"); + sb.append("\034"); + sb.append("\uff15"); + sb.append("\035"); + sb.append("\uff15"); + sb.append("\036"); + sb.append("\uff15"); + sb.append("\037"); + sb.append("\uff15"); + sb.append("\040"); + sb.append("\uff15"); + sb.append("\041"); + sb.append("\uff15"); + sb.append("\042"); + sb.append("\uff15"); + sb.append("\043"); + sb.append("\uff15"); + sb.append("\044"); + sb.append("\uff15"); + sb.append("\045"); + sb.append("\uff15"); + sb.append("\046"); + sb.append("\uff15"); + sb.append("\047"); + sb.append("\uff15"); + sb.append("\050"); + sb.append("\uff15"); + sb.append("\051"); + sb.append("\uff15"); + sb.append("\052"); + sb.append("\uff15"); + sb.append("\054"); + sb.append("\uff15"); + sb.append("\056"); + sb.append("\uff15"); + sb.append("\057"); + sb.append("\uff15"); + sb.append("\061"); + sb.append("\uff15"); + sb.append("\062"); + sb.append("\uff15"); + sb.append("\063"); + sb.append("\uff15"); + sb.append("\064"); + sb.append("\uff15"); + sb.append("\065"); + sb.append("\uff15"); + sb.append("\066"); + sb.append("\uff15"); + sb.append("\074"); + sb.append("\uff15"); sb.append("\075"); - sb.append("\013"); - sb.append("\u0564"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\010"); - sb.append("\u028e"); + sb.append("\uff15"); + sb.append("\077"); + sb.append("\uff15"); + sb.append("\100"); + sb.append("\uff15"); + sb.append("\101"); + sb.append("\uff15"); + sb.append("\102"); + sb.append("\uff15"); + sb.append("\103"); + sb.append("\uff15"); + sb.append("\104"); + sb.append("\uff15"); + sb.append("\105"); + sb.append("\uff15"); + sb.append("\111"); + sb.append("\uff15"); + sb.append("\112"); + sb.append("\uff15"); + sb.append("\114"); + sb.append("\uff15"); + sb.append("\115"); + sb.append("\uff15"); + sb.append("\116"); + sb.append("\uff15"); + sb.append("\120"); + sb.append("\uff15"); sb.append("\121"); - sb.append("\u028d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\012"); - sb.append("\ufced"); - sb.append("\015"); - sb.append("\ufced"); - sb.append("\106"); - sb.append("\ufced"); - sb.append("\107"); - sb.append("\ufced"); - sb.append("\110"); - sb.append("\ufced"); - sb.append("\234"); - sb.append("\ufced"); - sb.append("\235"); - sb.append("\ufced"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\215"); - sb.append("\ufce6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\215"); - sb.append("\u0565"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\215"); - sb.append("\ufce8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); + sb.append("\uff15"); + sb.append("\122"); + sb.append("\uff15"); + sb.append("\123"); + sb.append("\uff15"); + sb.append("\124"); + sb.append("\uff15"); + sb.append("\125"); + sb.append("\uff15"); + sb.append("\126"); + sb.append("\uff15"); + sb.append("\133"); + sb.append("\uff15"); + sb.append("\151"); + sb.append("\uff15"); + sb.append("\173"); + sb.append("\uff15"); + sb.append("\174"); + sb.append("\uff15"); + sb.append("\200"); + sb.append("\uff15"); + sb.append("\201"); + sb.append("\uff15"); + sb.append("\203"); + sb.append("\uff15"); + sb.append("\204"); + sb.append("\uff15"); + sb.append("\205"); + sb.append("\uff15"); + sb.append("\206"); + sb.append("\uff15"); + sb.append("\207"); + sb.append("\uff15"); + sb.append("\210"); + sb.append("\uff15"); + sb.append("\211"); + sb.append("\uff15"); + sb.append("\212"); + sb.append("\uff15"); + sb.append("\213"); + sb.append("\uff15"); + sb.append("\214"); + sb.append("\uff15"); sb.append("\215"); - sb.append("\ufce7"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\012"); - sb.append("\ufcee"); - sb.append("\015"); - sb.append("\ufcee"); - sb.append("\106"); - sb.append("\ufcee"); - sb.append("\107"); - sb.append("\ufcee"); - sb.append("\110"); - sb.append("\ufcee"); - sb.append("\234"); - sb.append("\ufcee"); - sb.append("\235"); - sb.append("\ufcee"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\020"); - sb.append("\012"); - sb.append("\ufcec"); - sb.append("\015"); - sb.append("\ufcec"); - sb.append("\106"); - sb.append("\ufcec"); - sb.append("\107"); - sb.append("\ufcec"); - sb.append("\110"); - sb.append("\ufcec"); + sb.append("\uff15"); + sb.append("\217"); + sb.append("\uff15"); + sb.append("\220"); + sb.append("\uff15"); + sb.append("\221"); + sb.append("\uff15"); + sb.append("\222"); + sb.append("\uff15"); + sb.append("\223"); + sb.append("\uff15"); + sb.append("\224"); + sb.append("\uff15"); + sb.append("\225"); + sb.append("\uff15"); + sb.append("\231"); + sb.append("\uff15"); sb.append("\234"); - sb.append("\ufcec"); + sb.append("\uff15"); sb.append("\235"); - sb.append("\ufcec"); + sb.append("\uff15"); + sb.append("\236"); + sb.append("\uff15"); + sb.append("\237"); + sb.append("\uff15"); + sb.append("\241"); + sb.append("\uff15"); + sb.append("\250"); + sb.append("\uff15"); + sb.append("\251"); + sb.append("\uff15"); + sb.append("\253"); + sb.append("\uff15"); + sb.append("\254"); + sb.append("\uff15"); + sb.append("\255"); + sb.append("\uff15"); + sb.append("\256"); + sb.append("\uff15"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\104"); sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe32"); - sb.append("\073"); - sb.append("\ufe32"); - sb.append("\112"); - sb.append("\ufe32"); + sb.append("\u01d4"); sb.append("\127"); - sb.append("\ufe32"); + sb.append("\ufe65"); sb.append("\130"); - sb.append("\ufe32"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufe32"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufe32"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufe32"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe32"); + sb.append("\ufe65"); sb.append("\152"); - sb.append("\ufe32"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufe32"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufe32"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufe32"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufe32"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufe32"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufe32"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufe32"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufe32"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufe32"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufe32"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufe32"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufe32"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufe32"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufe32"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufe32"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufe32"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufe32"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufe32"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufe32"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufe32"); - sb.append("\201"); - sb.append("\ufe32"); - sb.append("\215"); - sb.append("\ufe32"); - sb.append("\231"); - sb.append("\ufe32"); - sb.append("\232"); - sb.append("\ufe32"); - sb.append("\242"); - sb.append("\ufe32"); - sb.append("\245"); - sb.append("\ufe32"); - sb.append("\251"); - sb.append("\ufe32"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\244"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\010"); - sb.append("\u016b"); - sb.append("\012"); - sb.append("\075"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); - sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java index e29a8ab67179..45838b353e51 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,362 +29,682 @@ public String getTableData() { } protected EncodedActionTable17() { sb = new StringBuilder(); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u054d"); + sb.append("\151"); + sb.append("\u054e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff65"); + sb.append("\003"); + sb.append("\uff65"); + sb.append("\004"); + sb.append("\uff65"); + sb.append("\005"); + sb.append("\uff65"); + sb.append("\006"); + sb.append("\uff65"); + sb.append("\007"); + sb.append("\uff65"); + sb.append("\010"); + sb.append("\uff65"); + sb.append("\011"); + sb.append("\uff65"); + sb.append("\012"); + sb.append("\uff65"); + sb.append("\014"); + sb.append("\uff65"); + sb.append("\015"); + sb.append("\uff65"); + sb.append("\016"); + sb.append("\uff65"); + sb.append("\017"); + sb.append("\uff65"); + sb.append("\020"); + sb.append("\uff65"); + sb.append("\021"); + sb.append("\uff65"); + sb.append("\022"); + sb.append("\uff65"); + sb.append("\023"); + sb.append("\uff65"); + sb.append("\024"); + sb.append("\uff65"); + sb.append("\025"); + sb.append("\uff65"); + sb.append("\026"); + sb.append("\uff65"); + sb.append("\027"); + sb.append("\uff65"); + sb.append("\030"); + sb.append("\uff65"); + sb.append("\032"); + sb.append("\uff65"); + sb.append("\034"); + sb.append("\uff65"); + sb.append("\035"); + sb.append("\uff65"); + sb.append("\036"); + sb.append("\uff65"); + sb.append("\037"); + sb.append("\uff65"); + sb.append("\040"); + sb.append("\uff65"); + sb.append("\041"); + sb.append("\uff65"); + sb.append("\042"); + sb.append("\uff65"); + sb.append("\043"); + sb.append("\uff65"); + sb.append("\044"); + sb.append("\uff65"); + sb.append("\045"); + sb.append("\uff65"); + sb.append("\046"); + sb.append("\uff65"); + sb.append("\047"); + sb.append("\uff65"); + sb.append("\050"); + sb.append("\uff65"); + sb.append("\051"); + sb.append("\uff65"); + sb.append("\052"); + sb.append("\uff65"); + sb.append("\054"); + sb.append("\uff65"); + sb.append("\056"); + sb.append("\uff65"); + sb.append("\057"); + sb.append("\uff65"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\uff65"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\uff65"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\uff65"); + sb.append("\064"); + sb.append("\uff65"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\uff65"); sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\uff65"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\uff65"); sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\uff65"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\uff65"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\uff65"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\uff65"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\uff65"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\uff65"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\uff65"); + sb.append("\105"); + sb.append("\uff65"); sb.append("\111"); - sb.append("\u02cd"); + sb.append("\uff65"); + sb.append("\112"); + sb.append("\uff65"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\uff65"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\uff65"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\uff65"); + sb.append("\120"); + sb.append("\uff65"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\uff65"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\uff65"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\uff65"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\uff65"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\uff65"); sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); + sb.append("\uff65"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); + sb.append("\uff65"); + sb.append("\151"); + sb.append("\uff65"); + sb.append("\173"); + sb.append("\uff65"); + sb.append("\174"); + sb.append("\uff65"); + sb.append("\200"); + sb.append("\uff65"); + sb.append("\201"); + sb.append("\uff65"); + sb.append("\203"); + sb.append("\uff65"); + sb.append("\204"); + sb.append("\uff65"); + sb.append("\205"); + sb.append("\uff65"); + sb.append("\206"); + sb.append("\uff65"); + sb.append("\207"); + sb.append("\uff65"); + sb.append("\210"); + sb.append("\uff65"); + sb.append("\211"); + sb.append("\uff65"); + sb.append("\212"); + sb.append("\uff65"); + sb.append("\213"); + sb.append("\uff65"); + sb.append("\214"); + sb.append("\uff65"); + sb.append("\215"); + sb.append("\uff65"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\uff65"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\uff65"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\uff65"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\uff65"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\uff65"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\uff65"); sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\233"); - sb.append("\152"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\uff65"); + sb.append("\231"); + sb.append("\uff65"); + sb.append("\234"); + sb.append("\uff65"); + sb.append("\235"); + sb.append("\uff65"); + sb.append("\236"); + sb.append("\uff65"); + sb.append("\237"); + sb.append("\uff65"); sb.append("\241"); - sb.append("\u018e"); + sb.append("\uff65"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\uff65"); + sb.append("\251"); + sb.append("\uff65"); + sb.append("\253"); + sb.append("\uff65"); + sb.append("\254"); + sb.append("\uff65"); + sb.append("\255"); + sb.append("\uff65"); + sb.append("\256"); + sb.append("\uff65"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\104"); sb.append("\031"); - sb.append("\ufe47"); - sb.append("\033"); - sb.append("\ufe47"); - sb.append("\073"); - sb.append("\ufe47"); - sb.append("\112"); - sb.append("\ufe47"); + sb.append("\u01d4"); sb.append("\127"); - sb.append("\ufe47"); + sb.append("\ufe66"); sb.append("\130"); - sb.append("\ufe47"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufe47"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufe47"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufe47"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe47"); + sb.append("\ufe66"); sb.append("\152"); - sb.append("\ufe47"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufe47"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufe47"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufe47"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufe47"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufe47"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufe47"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufe47"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufe47"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufe47"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufe47"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufe47"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufe47"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufe47"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufe47"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufe47"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufe47"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufe47"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufe47"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufe47"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufe47"); - sb.append("\201"); - sb.append("\ufe47"); - sb.append("\215"); - sb.append("\ufe47"); - sb.append("\231"); - sb.append("\ufe47"); - sb.append("\232"); - sb.append("\ufe47"); - sb.append("\242"); - sb.append("\ufe47"); - sb.append("\245"); - sb.append("\ufe47"); - sb.append("\251"); - sb.append("\ufe47"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\033"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\073"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\112"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\127"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\130"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\131"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\132"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\150"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\151"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\152"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\153"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\154"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\155"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\156"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\157"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\160"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\161"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\162"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\163"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\164"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\165"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\166"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\167"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\170"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\171"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\172"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\173"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\174"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\175"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); sb.append("\176"); - sb.append("\ufd4e"); - sb.append("\201"); - sb.append("\ufd4e"); - sb.append("\215"); - sb.append("\ufd4e"); - sb.append("\231"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); + sb.append("\177"); + sb.append("\ufe1c"); + sb.append("\202"); + sb.append("\ufe1c"); + sb.append("\216"); + sb.append("\ufe1c"); sb.append("\232"); - sb.append("\ufd4e"); - sb.append("\242"); - sb.append("\ufd4e"); - sb.append("\245"); - sb.append("\ufd4e"); - sb.append("\251"); - sb.append("\ufd4e"); + sb.append("\ufe1c"); + sb.append("\233"); + sb.append("\ufe1c"); + sb.append("\243"); + sb.append("\ufe1c"); + sb.append("\246"); + sb.append("\ufe1c"); + sb.append("\252"); + sb.append("\ufe1c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\014"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\u0557"); + sb.append("\106"); + sb.append("\u0555"); + sb.append("\107"); + sb.append("\u0556"); + sb.append("\110"); + sb.append("\u0554"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\026"); + sb.append("\012"); + sb.append("\ufced"); + sb.append("\015"); + sb.append("\ufced"); + sb.append("\071"); + sb.append("\u0563"); + sb.append("\072"); + sb.append("\u0561"); + sb.append("\106"); + sb.append("\ufced"); + sb.append("\107"); + sb.append("\ufced"); + sb.append("\110"); + sb.append("\ufced"); sb.append("\215"); - sb.append("\u056c"); + sb.append("\u0562"); + sb.append("\235"); + sb.append("\ufced"); + sb.append("\236"); + sb.append("\ufced"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\126"); + sb.append("\020"); + sb.append("\012"); + sb.append("\ufcf0"); + sb.append("\015"); + sb.append("\ufcf0"); + sb.append("\106"); + sb.append("\ufcf0"); + sb.append("\107"); + sb.append("\ufcf0"); + sb.append("\110"); + sb.append("\ufcf0"); + sb.append("\235"); + sb.append("\ufcf0"); + sb.append("\236"); + sb.append("\ufcf0"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\034"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\016"); + sb.append("\u033c"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\033"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\073"); - sb.append("\ufd1e"); - sb.append("\111"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\112"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\127"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\130"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\131"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\132"); - sb.append("\ufd1e"); - sb.append("\134"); - sb.append("\u056d"); + sb.append("\ufd6f"); sb.append("\150"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\151"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\152"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\153"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\154"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\155"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\156"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\157"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\160"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\161"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\162"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\163"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\164"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\165"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\166"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\167"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\170"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\171"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\172"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\173"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\174"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\175"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); sb.append("\176"); - sb.append("\ufd1e"); - sb.append("\201"); - sb.append("\ufd1e"); - sb.append("\214"); - sb.append("\ufd1e"); - sb.append("\215"); - sb.append("\ufd1e"); - sb.append("\230"); - sb.append("\ufd1e"); - sb.append("\231"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); + sb.append("\177"); + sb.append("\ufd6f"); + sb.append("\202"); + sb.append("\ufd6f"); + sb.append("\216"); + sb.append("\ufd6f"); sb.append("\232"); - sb.append("\ufd1e"); - sb.append("\242"); - sb.append("\ufd1e"); - sb.append("\245"); - sb.append("\ufd1e"); - sb.append("\251"); - sb.append("\ufd1e"); + sb.append("\ufd6f"); + sb.append("\233"); + sb.append("\ufd6f"); + sb.append("\243"); + sb.append("\ufd6f"); + sb.append("\246"); + sb.append("\ufd6f"); + sb.append("\252"); + sb.append("\ufd6f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); - sb.append("\204"); + sb.append("\u0559"); sb.append("\012"); sb.append("\075"); sb.append("\015"); @@ -397,7 +718,7 @@ protected EncodedActionTable17() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -440,150 +761,226 @@ protected EncodedActionTable17() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\020"); + sb.append("\012"); + sb.append("\ufcef"); + sb.append("\015"); + sb.append("\ufcef"); + sb.append("\106"); + sb.append("\ufcef"); + sb.append("\107"); + sb.append("\ufcef"); + sb.append("\110"); + sb.append("\ufcef"); + sb.append("\235"); + sb.append("\ufcef"); + sb.append("\236"); + sb.append("\ufcef"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe5b"); - sb.append("\073"); - sb.append("\ufe5b"); + sb.append("\u01d4"); sb.append("\112"); - sb.append("\ufe5b"); - sb.append("\127"); - sb.append("\ufe5b"); + sb.append("\u055e"); sb.append("\130"); - sb.append("\ufe5b"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufe5b"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufe5b"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe5b"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\104"); + sb.append("\031"); + sb.append("\ufd75"); + sb.append("\112"); + sb.append("\ufd75"); + sb.append("\130"); + sb.append("\ufd75"); + sb.append("\131"); + sb.append("\ufd75"); + sb.append("\132"); + sb.append("\ufd75"); + sb.append("\150"); + sb.append("\ufd75"); + sb.append("\152"); + sb.append("\ufd75"); + sb.append("\153"); + sb.append("\ufd75"); + sb.append("\154"); + sb.append("\ufd75"); + sb.append("\155"); + sb.append("\ufd75"); + sb.append("\156"); + sb.append("\ufd75"); + sb.append("\157"); + sb.append("\ufd75"); + sb.append("\160"); + sb.append("\ufd75"); + sb.append("\161"); + sb.append("\ufd75"); + sb.append("\162"); + sb.append("\ufd75"); + sb.append("\163"); + sb.append("\ufd75"); + sb.append("\164"); + sb.append("\ufd75"); + sb.append("\165"); + sb.append("\ufd75"); + sb.append("\166"); + sb.append("\ufd75"); + sb.append("\167"); + sb.append("\ufd75"); + sb.append("\170"); + sb.append("\ufd75"); + sb.append("\171"); + sb.append("\ufd75"); + sb.append("\172"); + sb.append("\ufd75"); + sb.append("\173"); + sb.append("\ufd75"); + sb.append("\174"); + sb.append("\ufd75"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd75"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd75"); + sb.append("\177"); + sb.append("\ufd75"); + sb.append("\202"); + sb.append("\ufd75"); sb.append("\215"); - sb.append("\ufe5b"); - sb.append("\231"); - sb.append("\ufe5b"); - sb.append("\232"); - sb.append("\ufe5b"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u055a"); + sb.append("\243"); + sb.append("\ufd75"); + sb.append("\246"); + sb.append("\ufd75"); + sb.append("\252"); + sb.append("\ufd75"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -599,7 +996,7 @@ protected EncodedActionTable17() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -642,416 +1039,818 @@ protected EncodedActionTable17() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\102"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\231"); - sb.append("\u0571"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\216"); + sb.append("\u055c"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\u0573"); - sb.append("\232"); - sb.append("\u0574"); + sb.append("\004"); + sb.append("\112"); + sb.append("\u055d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\020"); + sb.append("\012"); + sb.append("\ufce8"); + sb.append("\015"); + sb.append("\ufce8"); + sb.append("\106"); + sb.append("\ufce8"); + sb.append("\107"); + sb.append("\ufce8"); + sb.append("\110"); + sb.append("\ufce8"); + sb.append("\235"); + sb.append("\ufce8"); + sb.append("\236"); + sb.append("\ufce8"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff70"); - sb.append("\003"); - sb.append("\uff70"); - sb.append("\004"); - sb.append("\uff70"); - sb.append("\005"); - sb.append("\uff70"); - sb.append("\006"); - sb.append("\uff70"); - sb.append("\007"); - sb.append("\uff70"); - sb.append("\010"); - sb.append("\uff70"); - sb.append("\011"); - sb.append("\uff70"); + sb.append("\000"); + sb.append("\020"); sb.append("\012"); - sb.append("\uff70"); - sb.append("\014"); - sb.append("\uff70"); + sb.append("\ufce9"); sb.append("\015"); - sb.append("\uff70"); - sb.append("\016"); - sb.append("\uff70"); - sb.append("\017"); - sb.append("\uff70"); + sb.append("\ufce9"); + sb.append("\106"); + sb.append("\ufce9"); + sb.append("\107"); + sb.append("\ufce9"); + sb.append("\110"); + sb.append("\ufce9"); + sb.append("\235"); + sb.append("\ufce9"); + sb.append("\236"); + sb.append("\ufce9"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\112"); + sb.append("\u0560"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\020"); - sb.append("\uff70"); + sb.append("\012"); + sb.append("\ufce7"); + sb.append("\015"); + sb.append("\ufce7"); + sb.append("\106"); + sb.append("\ufce7"); + sb.append("\107"); + sb.append("\ufce7"); + sb.append("\110"); + sb.append("\ufce7"); + sb.append("\235"); + sb.append("\ufce7"); + sb.append("\236"); + sb.append("\ufce7"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\013"); + sb.append("\u0568"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\020"); + sb.append("\012"); + sb.append("\ufceb"); + sb.append("\015"); + sb.append("\ufceb"); + sb.append("\106"); + sb.append("\ufceb"); + sb.append("\107"); + sb.append("\ufceb"); + sb.append("\110"); + sb.append("\ufceb"); + sb.append("\235"); + sb.append("\ufceb"); + sb.append("\236"); + sb.append("\ufceb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\216"); + sb.append("\ufce4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\216"); + sb.append("\u0569"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\216"); + sb.append("\ufce6"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\216"); + sb.append("\ufce5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\020"); + sb.append("\012"); + sb.append("\ufcec"); + sb.append("\015"); + sb.append("\ufcec"); + sb.append("\106"); + sb.append("\ufcec"); + sb.append("\107"); + sb.append("\ufcec"); + sb.append("\110"); + sb.append("\ufcec"); + sb.append("\235"); + sb.append("\ufcec"); + sb.append("\236"); + sb.append("\ufcec"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\020"); + sb.append("\012"); + sb.append("\ufcea"); + sb.append("\015"); + sb.append("\ufcea"); + sb.append("\106"); + sb.append("\ufcea"); + sb.append("\107"); + sb.append("\ufcea"); + sb.append("\110"); + sb.append("\ufcea"); + sb.append("\235"); + sb.append("\ufcea"); + sb.append("\236"); + sb.append("\ufcea"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe32"); + sb.append("\073"); + sb.append("\ufe32"); + sb.append("\112"); + sb.append("\ufe32"); + sb.append("\127"); + sb.append("\ufe32"); + sb.append("\130"); + sb.append("\ufe32"); + sb.append("\131"); + sb.append("\ufe32"); + sb.append("\132"); + sb.append("\ufe32"); + sb.append("\150"); + sb.append("\ufe32"); + sb.append("\151"); + sb.append("\ufe32"); + sb.append("\152"); + sb.append("\ufe32"); + sb.append("\153"); + sb.append("\ufe32"); + sb.append("\154"); + sb.append("\ufe32"); + sb.append("\155"); + sb.append("\ufe32"); + sb.append("\156"); + sb.append("\ufe32"); + sb.append("\157"); + sb.append("\ufe32"); + sb.append("\160"); + sb.append("\ufe32"); + sb.append("\161"); + sb.append("\ufe32"); + sb.append("\162"); + sb.append("\ufe32"); + sb.append("\163"); + sb.append("\ufe32"); + sb.append("\164"); + sb.append("\ufe32"); + sb.append("\165"); + sb.append("\ufe32"); + sb.append("\166"); + sb.append("\ufe32"); + sb.append("\167"); + sb.append("\ufe32"); + sb.append("\170"); + sb.append("\ufe32"); + sb.append("\171"); + sb.append("\ufe32"); + sb.append("\172"); + sb.append("\ufe32"); + sb.append("\173"); + sb.append("\ufe32"); + sb.append("\174"); + sb.append("\ufe32"); + sb.append("\175"); + sb.append("\ufe32"); + sb.append("\176"); + sb.append("\ufe32"); + sb.append("\177"); + sb.append("\ufe32"); + sb.append("\202"); + sb.append("\ufe32"); + sb.append("\216"); + sb.append("\ufe32"); + sb.append("\232"); + sb.append("\ufe32"); + sb.append("\233"); + sb.append("\ufe32"); + sb.append("\243"); + sb.append("\ufe32"); + sb.append("\246"); + sb.append("\ufe32"); + sb.append("\252"); + sb.append("\ufe32"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\244"); + sb.append("\004"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\010"); + sb.append("\u016d"); + sb.append("\012"); + sb.append("\075"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\uff70"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\uff70"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\uff70"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\uff70"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\uff70"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\uff70"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\uff70"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\uff70"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\uff70"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\uff70"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\uff70"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\uff70"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\uff70"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\uff70"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\uff70"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\uff70"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\uff70"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\uff70"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\uff70"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\uff70"); + sb.append("\u019f"); sb.append("\047"); - sb.append("\uff70"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\uff70"); - sb.append("\051"); - sb.append("\uff70"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\uff70"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\uff70"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\uff70"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\uff70"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\uff70"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\uff70"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\uff70"); - sb.append("\064"); - sb.append("\uff70"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\uff70"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\uff70"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\uff70"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\uff70"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\uff70"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\uff70"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\uff70"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\uff70"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\uff70"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\uff70"); - sb.append("\105"); - sb.append("\uff70"); + sb.append("\u015d"); sb.append("\111"); - sb.append("\uff70"); - sb.append("\112"); - sb.append("\uff70"); + sb.append("\u02d1"); sb.append("\114"); - sb.append("\uff70"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\uff70"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\uff70"); - sb.append("\120"); - sb.append("\uff70"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\uff70"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\uff70"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\uff70"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\uff70"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\uff70"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\uff70"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\uff70"); - sb.append("\151"); - sb.append("\uff70"); - sb.append("\172"); - sb.append("\uff70"); - sb.append("\173"); - sb.append("\uff70"); - sb.append("\177"); - sb.append("\uff70"); - sb.append("\200"); - sb.append("\uff70"); - sb.append("\202"); - sb.append("\uff70"); - sb.append("\203"); - sb.append("\uff70"); - sb.append("\204"); - sb.append("\uff70"); - sb.append("\205"); - sb.append("\uff70"); - sb.append("\206"); - sb.append("\uff70"); - sb.append("\207"); - sb.append("\uff70"); - sb.append("\210"); - sb.append("\uff70"); - sb.append("\211"); - sb.append("\uff70"); - sb.append("\212"); - sb.append("\uff70"); - sb.append("\213"); - sb.append("\uff70"); - sb.append("\214"); - sb.append("\uff70"); - sb.append("\216"); - sb.append("\uff70"); + sb.append("\u017f"); sb.append("\217"); - sb.append("\uff70"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\uff70"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\uff70"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\uff70"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\uff70"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\uff70"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\uff70"); - sb.append("\233"); - sb.append("\uff70"); + sb.append("\u01a0"); sb.append("\234"); - sb.append("\uff70"); - sb.append("\235"); - sb.append("\uff70"); - sb.append("\236"); - sb.append("\uff70"); - sb.append("\240"); - sb.append("\uff70"); - sb.append("\247"); - sb.append("\uff70"); - sb.append("\250"); - sb.append("\uff70"); - sb.append("\252"); - sb.append("\uff70"); - sb.append("\253"); - sb.append("\uff70"); - sb.append("\254"); - sb.append("\uff70"); - sb.append("\255"); - sb.append("\uff70"); + sb.append("\152"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\012"); - sb.append("\037"); - sb.append("\uff0a"); - sb.append("\040"); - sb.append("\uff0a"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe47"); + sb.append("\033"); + sb.append("\ufe47"); + sb.append("\073"); + sb.append("\ufe47"); sb.append("\112"); - sb.append("\uff0a"); + sb.append("\ufe47"); + sb.append("\127"); + sb.append("\ufe47"); + sb.append("\130"); + sb.append("\ufe47"); + sb.append("\131"); + sb.append("\ufe47"); + sb.append("\132"); + sb.append("\ufe47"); + sb.append("\150"); + sb.append("\ufe47"); sb.append("\151"); - sb.append("\u0586"); + sb.append("\ufe47"); + sb.append("\152"); + sb.append("\ufe47"); + sb.append("\153"); + sb.append("\ufe47"); + sb.append("\154"); + sb.append("\ufe47"); + sb.append("\155"); + sb.append("\ufe47"); + sb.append("\156"); + sb.append("\ufe47"); + sb.append("\157"); + sb.append("\ufe47"); + sb.append("\160"); + sb.append("\ufe47"); + sb.append("\161"); + sb.append("\ufe47"); + sb.append("\162"); + sb.append("\ufe47"); + sb.append("\163"); + sb.append("\ufe47"); + sb.append("\164"); + sb.append("\ufe47"); + sb.append("\165"); + sb.append("\ufe47"); + sb.append("\166"); + sb.append("\ufe47"); + sb.append("\167"); + sb.append("\ufe47"); + sb.append("\170"); + sb.append("\ufe47"); + sb.append("\171"); + sb.append("\ufe47"); + sb.append("\172"); + sb.append("\ufe47"); + sb.append("\173"); + sb.append("\ufe47"); + sb.append("\174"); + sb.append("\ufe47"); + sb.append("\175"); + sb.append("\ufe47"); + sb.append("\176"); + sb.append("\ufe47"); + sb.append("\177"); + sb.append("\ufe47"); + sb.append("\202"); + sb.append("\ufe47"); + sb.append("\216"); + sb.append("\ufe47"); + sb.append("\232"); + sb.append("\ufe47"); + sb.append("\233"); + sb.append("\ufe47"); + sb.append("\243"); + sb.append("\ufe47"); + sb.append("\246"); + sb.append("\ufe47"); + sb.append("\252"); + sb.append("\ufe47"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\012"); - sb.append("\035"); - sb.append("\uff0a"); - sb.append("\037"); - sb.append("\uff0a"); - sb.append("\040"); - sb.append("\uff0a"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufd4c"); + sb.append("\033"); + sb.append("\ufd4c"); + sb.append("\073"); + sb.append("\ufd4c"); + sb.append("\112"); + sb.append("\ufd4c"); + sb.append("\127"); + sb.append("\ufd4c"); + sb.append("\130"); + sb.append("\ufd4c"); + sb.append("\131"); + sb.append("\ufd4c"); + sb.append("\132"); + sb.append("\ufd4c"); + sb.append("\150"); + sb.append("\ufd4c"); sb.append("\151"); - sb.append("\u0576"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\035"); - sb.append("\u0583"); - sb.append("\037"); - sb.append("\u0579"); - sb.append("\040"); - sb.append("\u057a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\035"); - sb.append("\uff0a"); - sb.append("\037"); - sb.append("\uff0a"); - sb.append("\040"); - sb.append("\uff0a"); + sb.append("\ufd4c"); + sb.append("\152"); + sb.append("\ufd4c"); + sb.append("\153"); + sb.append("\ufd4c"); + sb.append("\154"); + sb.append("\ufd4c"); + sb.append("\155"); + sb.append("\ufd4c"); + sb.append("\156"); + sb.append("\ufd4c"); + sb.append("\157"); + sb.append("\ufd4c"); + sb.append("\160"); + sb.append("\ufd4c"); + sb.append("\161"); + sb.append("\ufd4c"); + sb.append("\162"); + sb.append("\ufd4c"); + sb.append("\163"); + sb.append("\ufd4c"); + sb.append("\164"); + sb.append("\ufd4c"); + sb.append("\165"); + sb.append("\ufd4c"); + sb.append("\166"); + sb.append("\ufd4c"); + sb.append("\167"); + sb.append("\ufd4c"); + sb.append("\170"); + sb.append("\ufd4c"); + sb.append("\171"); + sb.append("\ufd4c"); + sb.append("\172"); + sb.append("\ufd4c"); + sb.append("\173"); + sb.append("\ufd4c"); + sb.append("\174"); + sb.append("\ufd4c"); + sb.append("\175"); + sb.append("\ufd4c"); + sb.append("\176"); + sb.append("\ufd4c"); + sb.append("\177"); + sb.append("\ufd4c"); + sb.append("\202"); + sb.append("\ufd4c"); + sb.append("\216"); + sb.append("\ufd4c"); + sb.append("\232"); + sb.append("\ufd4c"); + sb.append("\233"); + sb.append("\ufd4c"); + sb.append("\243"); + sb.append("\ufd4c"); + sb.append("\246"); + sb.append("\ufd4c"); + sb.append("\252"); + sb.append("\ufd4c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); - sb.append("\035"); - sb.append("\u0578"); - sb.append("\037"); - sb.append("\u0579"); - sb.append("\040"); - sb.append("\u057a"); + sb.append("\004"); + sb.append("\216"); + sb.append("\u0570"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\130"); + sb.append("\031"); + sb.append("\ufd1c"); + sb.append("\033"); + sb.append("\ufd1c"); + sb.append("\073"); + sb.append("\ufd1c"); + sb.append("\111"); + sb.append("\ufd1c"); + sb.append("\112"); + sb.append("\ufd1c"); + sb.append("\127"); + sb.append("\ufd1c"); + sb.append("\130"); + sb.append("\ufd1c"); + sb.append("\131"); + sb.append("\ufd1c"); + sb.append("\132"); + sb.append("\ufd1c"); + sb.append("\134"); + sb.append("\u0571"); + sb.append("\150"); + sb.append("\ufd1c"); sb.append("\151"); - sb.append("\u0582"); + sb.append("\ufd1c"); + sb.append("\152"); + sb.append("\ufd1c"); + sb.append("\153"); + sb.append("\ufd1c"); + sb.append("\154"); + sb.append("\ufd1c"); + sb.append("\155"); + sb.append("\ufd1c"); + sb.append("\156"); + sb.append("\ufd1c"); + sb.append("\157"); + sb.append("\ufd1c"); + sb.append("\160"); + sb.append("\ufd1c"); + sb.append("\161"); + sb.append("\ufd1c"); + sb.append("\162"); + sb.append("\ufd1c"); + sb.append("\163"); + sb.append("\ufd1c"); + sb.append("\164"); + sb.append("\ufd1c"); + sb.append("\165"); + sb.append("\ufd1c"); + sb.append("\166"); + sb.append("\ufd1c"); + sb.append("\167"); + sb.append("\ufd1c"); + sb.append("\170"); + sb.append("\ufd1c"); + sb.append("\171"); + sb.append("\ufd1c"); + sb.append("\172"); + sb.append("\ufd1c"); + sb.append("\173"); + sb.append("\ufd1c"); + sb.append("\174"); + sb.append("\ufd1c"); + sb.append("\175"); + sb.append("\ufd1c"); + sb.append("\176"); + sb.append("\ufd1c"); + sb.append("\177"); + sb.append("\ufd1c"); + sb.append("\202"); + sb.append("\ufd1c"); + sb.append("\215"); + sb.append("\ufd1c"); + sb.append("\216"); + sb.append("\ufd1c"); + sb.append("\231"); + sb.append("\ufd1c"); + sb.append("\232"); + sb.append("\ufd1c"); + sb.append("\233"); + sb.append("\ufd1c"); + sb.append("\243"); + sb.append("\ufd1c"); + sb.append("\246"); + sb.append("\ufd1c"); + sb.append("\252"); + sb.append("\ufd1c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1067,7 +1866,7 @@ protected EncodedActionTable17() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1110,720 +1909,644 @@ protected EncodedActionTable17() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\151"); - sb.append("\u057c"); - sb.append("\232"); - sb.append("\u057d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\274"); - sb.append("\003"); - sb.append("\uff7c"); - sb.append("\004"); - sb.append("\uff7c"); - sb.append("\005"); - sb.append("\uff7c"); - sb.append("\006"); - sb.append("\uff7c"); - sb.append("\007"); - sb.append("\uff7c"); - sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); - sb.append("\012"); - sb.append("\uff7c"); - sb.append("\014"); - sb.append("\uff7c"); - sb.append("\015"); - sb.append("\uff7c"); - sb.append("\016"); - sb.append("\uff7c"); - sb.append("\017"); - sb.append("\uff7c"); - sb.append("\020"); - sb.append("\uff7c"); - sb.append("\021"); - sb.append("\uff7c"); - sb.append("\023"); - sb.append("\uff7c"); - sb.append("\025"); - sb.append("\uff7c"); - sb.append("\027"); - sb.append("\uff7c"); - sb.append("\032"); - sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); - sb.append("\035"); - sb.append("\uff7c"); - sb.append("\036"); - sb.append("\uff7c"); - sb.append("\037"); - sb.append("\uff7c"); - sb.append("\040"); - sb.append("\uff7c"); - sb.append("\041"); - sb.append("\uff7c"); - sb.append("\042"); - sb.append("\uff7c"); - sb.append("\043"); - sb.append("\uff7c"); - sb.append("\044"); - sb.append("\uff7c"); - sb.append("\045"); - sb.append("\uff7c"); - sb.append("\047"); - sb.append("\uff7c"); - sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); - sb.append("\052"); - sb.append("\uff7c"); - sb.append("\054"); - sb.append("\uff7c"); - sb.append("\056"); - sb.append("\uff7c"); - sb.append("\057"); - sb.append("\uff7c"); - sb.append("\061"); - sb.append("\uff7c"); - sb.append("\062"); - sb.append("\uff7c"); - sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); - sb.append("\074"); - sb.append("\uff7c"); - sb.append("\075"); - sb.append("\uff7c"); - sb.append("\077"); - sb.append("\uff7c"); - sb.append("\100"); - sb.append("\uff7c"); - sb.append("\101"); - sb.append("\uff7c"); - sb.append("\102"); - sb.append("\uff7c"); - sb.append("\103"); - sb.append("\uff7c"); - sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); - sb.append("\111"); - sb.append("\uff7c"); - sb.append("\112"); - sb.append("\uff7c"); - sb.append("\115"); - sb.append("\uff7c"); - sb.append("\116"); - sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff7c"); - sb.append("\121"); - sb.append("\uff7c"); - sb.append("\122"); - sb.append("\uff7c"); - sb.append("\123"); - sb.append("\uff7c"); - sb.append("\124"); - sb.append("\uff7c"); - sb.append("\125"); - sb.append("\uff7c"); - sb.append("\126"); - sb.append("\uff7c"); - sb.append("\133"); - sb.append("\uff7c"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe5b"); + sb.append("\073"); + sb.append("\ufe5b"); + sb.append("\112"); + sb.append("\ufe5b"); + sb.append("\127"); + sb.append("\ufe5b"); + sb.append("\130"); + sb.append("\ufe5b"); + sb.append("\131"); + sb.append("\ufe5b"); + sb.append("\132"); + sb.append("\ufe5b"); + sb.append("\150"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\uff7c"); + sb.append("\ufe5b"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\uff7c"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\uff7c"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\uff7c"); - sb.append("\203"); - sb.append("\uff7c"); - sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); + sb.append("\u01c5"); sb.append("\216"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); - sb.append("\223"); - sb.append("\uff7c"); - sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); + sb.append("\ufe5b"); + sb.append("\232"); + sb.append("\ufe5b"); sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); - sb.append("\250"); - sb.append("\uff7c"); + sb.append("\ufe5b"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); - sb.append("\254"); - sb.append("\uff7c"); - sb.append("\255"); - sb.append("\uff7c"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\274"); - sb.append("\003"); - sb.append("\uff06"); + sb.append("\170"); sb.append("\004"); - sb.append("\uff06"); - sb.append("\005"); - sb.append("\uff06"); + sb.append("\202"); sb.append("\006"); - sb.append("\uff06"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff06"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff06"); + sb.append("\u01b1"); sb.append("\011"); - sb.append("\uff06"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff06"); - sb.append("\014"); - sb.append("\uff06"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff06"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff06"); - sb.append("\017"); - sb.append("\uff06"); - sb.append("\020"); - sb.append("\uff06"); - sb.append("\021"); - sb.append("\uff06"); - sb.append("\023"); - sb.append("\uff06"); - sb.append("\025"); - sb.append("\uff06"); - sb.append("\027"); - sb.append("\uff06"); + sb.append("\071"); sb.append("\032"); - sb.append("\uff06"); - sb.append("\034"); - sb.append("\uff06"); - sb.append("\035"); - sb.append("\uff06"); + sb.append("\106"); sb.append("\036"); - sb.append("\uff06"); - sb.append("\037"); - sb.append("\uff06"); - sb.append("\040"); - sb.append("\uff06"); - sb.append("\041"); - sb.append("\uff06"); - sb.append("\042"); - sb.append("\uff06"); - sb.append("\043"); - sb.append("\uff06"); + sb.append("\125"); sb.append("\044"); - sb.append("\uff06"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff06"); - sb.append("\047"); - sb.append("\uff06"); - sb.append("\050"); - sb.append("\uff06"); - sb.append("\051"); - sb.append("\uff06"); - sb.append("\052"); - sb.append("\uff06"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\uff06"); - sb.append("\056"); - sb.append("\uff06"); - sb.append("\057"); - sb.append("\uff06"); - sb.append("\061"); - sb.append("\uff06"); + sb.append("\026"); sb.append("\062"); - sb.append("\uff06"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff06"); - sb.append("\065"); - sb.append("\uff06"); - sb.append("\066"); - sb.append("\uff06"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff06"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff06"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff06"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff06"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff06"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff06"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff06"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff06"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff06"); - sb.append("\111"); - sb.append("\uff06"); - sb.append("\112"); - sb.append("\uff06"); + sb.append("\141"); sb.append("\115"); - sb.append("\uff06"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff06"); - sb.append("\120"); - sb.append("\uff06"); + sb.append("\046"); sb.append("\121"); - sb.append("\uff06"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff06"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff06"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff06"); sb.append("\125"); - sb.append("\uff06"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff06"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff06"); - sb.append("\151"); - sb.append("\uff06"); - sb.append("\172"); - sb.append("\uff06"); + sb.append("\020"); sb.append("\173"); - sb.append("\uff06"); - sb.append("\177"); - sb.append("\uff06"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff06"); - sb.append("\202"); - sb.append("\uff06"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff06"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff06"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff06"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff06"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff06"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff06"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff06"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff06"); - sb.append("\213"); - sb.append("\uff06"); - sb.append("\214"); - sb.append("\uff06"); - sb.append("\216"); - sb.append("\uff06"); - sb.append("\222"); - sb.append("\uff06"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff06"); - sb.append("\224"); - sb.append("\uff06"); - sb.append("\230"); - sb.append("\uff06"); - sb.append("\233"); - sb.append("\uff06"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\uff06"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff06"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff06"); - sb.append("\240"); - sb.append("\uff06"); - sb.append("\247"); - sb.append("\uff06"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff06"); - sb.append("\252"); - sb.append("\uff06"); - sb.append("\253"); - sb.append("\uff06"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff06"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff06"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\274"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\u0575"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\u0577"); + sb.append("\233"); + sb.append("\u0578"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff70"); sb.append("\003"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\004"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\005"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\006"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\007"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\010"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\011"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\012"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\014"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\015"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\016"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\017"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\020"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\021"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\022"); + sb.append("\uff70"); sb.append("\023"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\024"); + sb.append("\uff70"); sb.append("\025"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\026"); + sb.append("\uff70"); sb.append("\027"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\030"); + sb.append("\uff70"); sb.append("\032"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\034"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\035"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\036"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\037"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\040"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\041"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\042"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\043"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\044"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\045"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\046"); + sb.append("\uff70"); sb.append("\047"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\050"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\051"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\052"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\054"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\056"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\057"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\061"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\062"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\063"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\064"); + sb.append("\uff70"); sb.append("\065"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\066"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\074"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\075"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\077"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\100"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\101"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\102"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\103"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\104"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\105"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\111"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\112"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\114"); + sb.append("\uff70"); sb.append("\115"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\116"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\120"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\121"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\122"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\123"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\124"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\125"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\126"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\133"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\151"); - sb.append("\uff07"); - sb.append("\172"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\173"); - sb.append("\uff07"); - sb.append("\177"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\174"); + sb.append("\uff70"); sb.append("\200"); - sb.append("\uff07"); - sb.append("\202"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\201"); + sb.append("\uff70"); sb.append("\203"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\204"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\205"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\206"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\207"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\210"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\211"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\212"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\213"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\214"); - sb.append("\uff07"); - sb.append("\216"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\215"); + sb.append("\uff70"); + sb.append("\217"); + sb.append("\uff70"); + sb.append("\220"); + sb.append("\uff70"); + sb.append("\221"); + sb.append("\uff70"); sb.append("\222"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\223"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\224"); - sb.append("\uff07"); - sb.append("\230"); - sb.append("\uff07"); - sb.append("\233"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\225"); + sb.append("\uff70"); + sb.append("\231"); + sb.append("\uff70"); sb.append("\234"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\235"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\236"); - sb.append("\uff07"); - sb.append("\240"); - sb.append("\uff07"); - sb.append("\247"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\237"); + sb.append("\uff70"); + sb.append("\241"); + sb.append("\uff70"); sb.append("\250"); - sb.append("\uff07"); - sb.append("\252"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\251"); + sb.append("\uff70"); sb.append("\253"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\254"); - sb.append("\uff07"); + sb.append("\uff70"); sb.append("\255"); - sb.append("\uff07"); + sb.append("\uff70"); + sb.append("\256"); + sb.append("\uff70"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\037"); + sb.append("\uff0a"); + sb.append("\040"); + sb.append("\uff0a"); + sb.append("\112"); + sb.append("\uff0a"); + sb.append("\151"); + sb.append("\u058a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\035"); + sb.append("\uff0a"); + sb.append("\037"); + sb.append("\uff0a"); + sb.append("\040"); + sb.append("\uff0a"); + sb.append("\151"); + sb.append("\u057a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\035"); + sb.append("\u0587"); + sb.append("\037"); + sb.append("\u057d"); + sb.append("\040"); + sb.append("\u057e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\035"); + sb.append("\uff0a"); + sb.append("\037"); + sb.append("\uff0a"); + sb.append("\040"); + sb.append("\uff0a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\035"); + sb.append("\u057c"); + sb.append("\037"); + sb.append("\u057d"); + sb.append("\040"); + sb.append("\u057e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\274"); - sb.append("\003"); - sb.append("\211"); sb.append("\004"); - sb.append("\201"); - sb.append("\005"); - sb.append("\164"); + sb.append("\151"); + sb.append("\u0586"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\217"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); sb.append("\075"); - sb.append("\014"); - sb.append("\007"); sb.append("\015"); sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\023"); - sb.append("\145"); - sb.append("\025"); - sb.append("\200"); - sb.append("\027"); - sb.append("\203"); sb.append("\032"); sb.append("\106"); - sb.append("\034"); - sb.append("\113"); - sb.append("\035"); - sb.append("\uff08"); sb.append("\036"); sb.append("\125"); - sb.append("\037"); - sb.append("\uff08"); - sb.append("\040"); - sb.append("\uff08"); - sb.append("\041"); - sb.append("\033"); - sb.append("\042"); - sb.append("\040"); - sb.append("\043"); - sb.append("\226"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\023"); - sb.append("\047"); - sb.append("\212"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\052"); - sb.append("\057"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); - sb.append("\056"); - sb.append("\u03a5"); - sb.append("\057"); - sb.append("\016"); - sb.append("\061"); - sb.append("\110"); sb.append("\062"); sb.append("\210"); sb.append("\063"); sb.append("\010"); - sb.append("\065"); - sb.append("\027"); - sb.append("\066"); - sb.append("\111"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -1842,16 +2565,10 @@ protected EncodedActionTable17() { sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\111"); - sb.append("\157"); - sb.append("\112"); - sb.append("\uff08"); sb.append("\115"); sb.append("\136"); sb.append("\116"); sb.append("\046"); - sb.append("\120"); - sb.append("\172"); sb.append("\121"); sb.append("\160"); sb.append("\122"); @@ -1866,138 +2583,66 @@ protected EncodedActionTable17() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\025"); sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); + sb.append("\250"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\102"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); + sb.append("\006"); sb.append("\151"); - sb.append("\u057c"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\232"); - sb.append("\u057d"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u0580"); + sb.append("\233"); + sb.append("\u0581"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -2126,15 +2771,13 @@ protected EncodedActionTable17() { sb.append("\uff7c"); sb.append("\151"); sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); sb.append("\173"); sb.append("\uff7c"); - sb.append("\177"); + sb.append("\174"); sb.append("\uff7c"); sb.append("\200"); sb.append("\uff7c"); - sb.append("\202"); + sb.append("\201"); sb.append("\uff7c"); sb.append("\203"); sb.append("\uff7c"); @@ -2156,17 +2799,17 @@ protected EncodedActionTable17() { sb.append("\uff7c"); sb.append("\214"); sb.append("\uff7c"); - sb.append("\216"); + sb.append("\215"); sb.append("\uff7c"); - sb.append("\222"); + sb.append("\217"); sb.append("\uff7c"); sb.append("\223"); sb.append("\uff7c"); sb.append("\224"); sb.append("\uff7c"); - sb.append("\230"); + sb.append("\225"); sb.append("\uff7c"); - sb.append("\233"); + sb.append("\231"); sb.append("\uff7c"); sb.append("\234"); sb.append("\uff7c"); @@ -2174,13 +2817,13 @@ protected EncodedActionTable17() { sb.append("\uff7c"); sb.append("\236"); sb.append("\uff7c"); - sb.append("\240"); + sb.append("\237"); sb.append("\uff7c"); - sb.append("\247"); + sb.append("\241"); sb.append("\uff7c"); sb.append("\250"); sb.append("\uff7c"); - sb.append("\252"); + sb.append("\251"); sb.append("\uff7c"); sb.append("\253"); sb.append("\uff7c"); @@ -2188,2345 +2831,1703 @@ protected EncodedActionTable17() { sb.append("\uff7c"); sb.append("\255"); sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\274"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff06"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff06"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff06"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff06"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff06"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff06"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff06"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff06"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff06"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff06"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff06"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff06"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff06"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff06"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff06"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff06"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff06"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff06"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff06"); sb.append("\035"); - sb.append("\uff09"); + sb.append("\uff06"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff06"); sb.append("\037"); - sb.append("\uff09"); + sb.append("\uff06"); sb.append("\040"); - sb.append("\uff09"); + sb.append("\uff06"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff06"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff06"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff06"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff06"); sb.append("\045"); - sb.append("\023"); + sb.append("\uff06"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff06"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff06"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff06"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff06"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff06"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff06"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff06"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff06"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff06"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff06"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff06"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff06"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff06"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff06"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff06"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff06"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff06"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff06"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff06"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff06"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff06"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff06"); sb.append("\112"); - sb.append("\uff09"); + sb.append("\uff06"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff06"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff06"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff06"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff06"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff06"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff06"); sb.append("\124"); + sb.append("\uff06"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff06"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff06"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff06"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff06"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff06"); + sb.append("\174"); + sb.append("\uff06"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff06"); + sb.append("\201"); + sb.append("\uff06"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff06"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff06"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff06"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff06"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff06"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff06"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff06"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff06"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff06"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); + sb.append("\uff06"); + sb.append("\215"); + sb.append("\uff06"); + sb.append("\217"); + sb.append("\uff06"); sb.append("\223"); - sb.append("\030"); + sb.append("\uff06"); sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff06"); + sb.append("\225"); + sb.append("\uff06"); + sb.append("\231"); + sb.append("\uff06"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff06"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff06"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff06"); + sb.append("\237"); + sb.append("\uff06"); + sb.append("\241"); + sb.append("\uff06"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); + sb.append("\uff06"); + sb.append("\251"); + sb.append("\uff06"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff06"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff06"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff06"); + sb.append("\256"); + sb.append("\uff06"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff0b"); + sb.append("\274"); sb.append("\003"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\004"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\005"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\006"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\007"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\010"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\011"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\012"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\014"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\015"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\016"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\017"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\020"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\021"); - sb.append("\uff0b"); - sb.append("\022"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\023"); - sb.append("\uff0b"); - sb.append("\024"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\025"); - sb.append("\uff0b"); - sb.append("\026"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\027"); - sb.append("\uff0b"); - sb.append("\030"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\032"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\034"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\035"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\036"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\037"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\040"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\041"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\042"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\043"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\044"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\045"); - sb.append("\uff0b"); - sb.append("\046"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\047"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\050"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\051"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\052"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\054"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\056"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\057"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\061"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\062"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\063"); - sb.append("\uff0b"); - sb.append("\064"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\065"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\066"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\074"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\075"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\077"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\100"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\101"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\102"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\103"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\104"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\105"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\111"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\112"); - sb.append("\uff0b"); - sb.append("\114"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\115"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\116"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\120"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\121"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\122"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\123"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\124"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\125"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\126"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\133"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\151"); - sb.append("\uff0b"); - sb.append("\172"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\173"); - sb.append("\uff0b"); - sb.append("\177"); - sb.append("\uff0b"); + sb.append("\uff07"); + sb.append("\174"); + sb.append("\uff07"); sb.append("\200"); - sb.append("\uff0b"); - sb.append("\202"); - sb.append("\uff0b"); + sb.append("\uff07"); + sb.append("\201"); + sb.append("\uff07"); sb.append("\203"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\204"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\205"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\206"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\207"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\210"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\211"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\212"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\213"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\214"); - sb.append("\uff0b"); - sb.append("\216"); - sb.append("\uff0b"); + sb.append("\uff07"); + sb.append("\215"); + sb.append("\uff07"); sb.append("\217"); - sb.append("\uff0b"); - sb.append("\220"); - sb.append("\uff0b"); - sb.append("\221"); - sb.append("\uff0b"); - sb.append("\222"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\223"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\224"); - sb.append("\uff0b"); - sb.append("\230"); - sb.append("\uff0b"); - sb.append("\233"); - sb.append("\uff0b"); + sb.append("\uff07"); + sb.append("\225"); + sb.append("\uff07"); + sb.append("\231"); + sb.append("\uff07"); sb.append("\234"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\235"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\236"); - sb.append("\uff0b"); - sb.append("\240"); - sb.append("\uff0b"); - sb.append("\247"); - sb.append("\uff0b"); + sb.append("\uff07"); + sb.append("\237"); + sb.append("\uff07"); + sb.append("\241"); + sb.append("\uff07"); sb.append("\250"); - sb.append("\uff0b"); - sb.append("\252"); - sb.append("\uff0b"); + sb.append("\uff07"); + sb.append("\251"); + sb.append("\uff07"); sb.append("\253"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\254"); - sb.append("\uff0b"); + sb.append("\uff07"); sb.append("\255"); - sb.append("\uff0b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u0584"); + sb.append("\uff07"); + sb.append("\256"); + sb.append("\uff07"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff0c"); + sb.append("\274"); sb.append("\003"); - sb.append("\uff0c"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff0c"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff0c"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff0c"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff0c"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff0c"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff0c"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff0c"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff0c"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff0c"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff0c"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff0c"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff0c"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff0c"); - sb.append("\022"); - sb.append("\uff0c"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff0c"); - sb.append("\024"); - sb.append("\uff0c"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff0c"); - sb.append("\026"); - sb.append("\uff0c"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff0c"); - sb.append("\030"); - sb.append("\uff0c"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff0c"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff0c"); + sb.append("\113"); sb.append("\035"); - sb.append("\uff0c"); + sb.append("\uff08"); sb.append("\036"); - sb.append("\uff0c"); + sb.append("\125"); sb.append("\037"); - sb.append("\uff0c"); + sb.append("\uff08"); sb.append("\040"); - sb.append("\uff0c"); + sb.append("\uff08"); sb.append("\041"); - sb.append("\uff0c"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff0c"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff0c"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff0c"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff0c"); - sb.append("\046"); - sb.append("\uff0c"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff0c"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff0c"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff0c"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff0c"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff0c"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff0c"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff0c"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff0c"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff0c"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff0c"); - sb.append("\064"); - sb.append("\uff0c"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff0c"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff0c"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff0c"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff0c"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff0c"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff0c"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff0c"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff0c"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff0c"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff0c"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff0c"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff0c"); + sb.append("\157"); sb.append("\112"); - sb.append("\uff0c"); - sb.append("\114"); - sb.append("\uff0c"); + sb.append("\uff08"); sb.append("\115"); - sb.append("\uff0c"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff0c"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff0c"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff0c"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff0c"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff0c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff0c"); sb.append("\125"); - sb.append("\uff0c"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff0c"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff0c"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff0c"); - sb.append("\172"); - sb.append("\uff0c"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff0c"); - sb.append("\177"); - sb.append("\uff0c"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff0c"); - sb.append("\202"); - sb.append("\uff0c"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff0c"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff0c"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff0c"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff0c"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff0c"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff0c"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff0c"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff0c"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff0c"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff0c"); - sb.append("\216"); - sb.append("\uff0c"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff0c"); - sb.append("\220"); - sb.append("\uff0c"); - sb.append("\221"); - sb.append("\uff0c"); - sb.append("\222"); - sb.append("\uff0c"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff0c"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff0c"); - sb.append("\230"); - sb.append("\uff0c"); - sb.append("\233"); - sb.append("\uff0c"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff0c"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff0c"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff0c"); - sb.append("\240"); - sb.append("\uff0c"); - sb.append("\247"); - sb.append("\uff0c"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); sb.append("\250"); - sb.append("\uff0c"); - sb.append("\252"); - sb.append("\uff0c"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\uff0c"); - sb.append("\254"); - sb.append("\uff0c"); - sb.append("\255"); - sb.append("\uff0c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\037"); - sb.append("\u0579"); - sb.append("\040"); - sb.append("\u057a"); - sb.append("\112"); - sb.append("\u0589"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\037"); - sb.append("\uff0a"); - sb.append("\040"); - sb.append("\uff0a"); - sb.append("\112"); - sb.append("\uff0a"); + sb.append("\227"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); - sb.append("\037"); - sb.append("\u0579"); - sb.append("\040"); - sb.append("\u057a"); - sb.append("\112"); - sb.append("\u0588"); + sb.append("\104"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\u0580"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\233"); + sb.append("\u0581"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff0d"); + sb.append("\274"); sb.append("\003"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uff0d"); - sb.append("\022"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uff0d"); - sb.append("\024"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uff0d"); - sb.append("\026"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uff0d"); - sb.append("\030"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\035"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\037"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\040"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uff0d"); - sb.append("\046"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uff0d"); - sb.append("\064"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\112"); - sb.append("\uff0d"); - sb.append("\114"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff0d"); - sb.append("\172"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff0d"); - sb.append("\177"); - sb.append("\uff0d"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff0d"); - sb.append("\202"); - sb.append("\uff0d"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff0d"); - sb.append("\214"); - sb.append("\uff0d"); - sb.append("\216"); - sb.append("\uff0d"); - sb.append("\217"); - sb.append("\uff0d"); - sb.append("\220"); - sb.append("\uff0d"); - sb.append("\221"); - sb.append("\uff0d"); - sb.append("\222"); - sb.append("\uff0d"); + sb.append("\uff7c"); + sb.append("\214"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); + sb.append("\217"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff0d"); - sb.append("\230"); - sb.append("\uff0d"); - sb.append("\233"); - sb.append("\uff0d"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\uff0d"); - sb.append("\240"); - sb.append("\uff0d"); - sb.append("\247"); - sb.append("\uff0d"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\uff0d"); - sb.append("\252"); - sb.append("\uff0d"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\uff0d"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\uff0d"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff0e"); + sb.append("\274"); sb.append("\003"); - sb.append("\uff0e"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff0e"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff0e"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff0e"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff0e"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff0e"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff0e"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff0e"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff0e"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff0e"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff0e"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff0e"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff0e"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff0e"); - sb.append("\022"); - sb.append("\uff0e"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff0e"); - sb.append("\024"); - sb.append("\uff0e"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff0e"); - sb.append("\026"); - sb.append("\uff0e"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff0e"); - sb.append("\030"); - sb.append("\uff0e"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff0e"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff0e"); + sb.append("\113"); sb.append("\035"); - sb.append("\uff0e"); + sb.append("\uff09"); sb.append("\036"); - sb.append("\uff0e"); + sb.append("\125"); sb.append("\037"); - sb.append("\uff0e"); + sb.append("\uff09"); sb.append("\040"); - sb.append("\uff0e"); + sb.append("\uff09"); sb.append("\041"); - sb.append("\uff0e"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff0e"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff0e"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff0e"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff0e"); - sb.append("\046"); - sb.append("\uff0e"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff0e"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff0e"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff0e"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff0e"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff0e"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff0e"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff0e"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff0e"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff0e"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff0e"); - sb.append("\064"); - sb.append("\uff0e"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff0e"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff0e"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff0e"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff0e"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff0e"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff0e"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff0e"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff0e"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff0e"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff0e"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff0e"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff0e"); + sb.append("\157"); sb.append("\112"); - sb.append("\uff0e"); - sb.append("\114"); - sb.append("\uff0e"); + sb.append("\uff09"); sb.append("\115"); - sb.append("\uff0e"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff0e"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff0e"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff0e"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff0e"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff0e"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff0e"); sb.append("\125"); - sb.append("\uff0e"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff0e"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff0e"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff0e"); - sb.append("\172"); - sb.append("\uff0e"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff0e"); - sb.append("\177"); - sb.append("\uff0e"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff0e"); - sb.append("\202"); - sb.append("\uff0e"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff0e"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff0e"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff0e"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff0e"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff0e"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff0e"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff0e"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff0e"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff0e"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff0e"); - sb.append("\216"); - sb.append("\uff0e"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff0e"); - sb.append("\220"); - sb.append("\uff0e"); - sb.append("\221"); - sb.append("\uff0e"); - sb.append("\222"); - sb.append("\uff0e"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff0e"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff0e"); - sb.append("\230"); - sb.append("\uff0e"); - sb.append("\233"); - sb.append("\uff0e"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff0e"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff0e"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff0e"); - sb.append("\240"); - sb.append("\uff0e"); - sb.append("\247"); - sb.append("\uff0e"); - sb.append("\250"); - sb.append("\uff0e"); - sb.append("\252"); - sb.append("\uff0e"); - sb.append("\253"); - sb.append("\uff0e"); - sb.append("\254"); - sb.append("\uff0e"); - sb.append("\255"); - sb.append("\uff0e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\016"); - sb.append("\u0338"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); + sb.append("\073"); sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\253"); + sb.append("\060"); sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u058e"); - sb.append("\231"); - sb.append("\ufd6e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff48"); - sb.append("\231"); - sb.append("\uff48"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff4a"); - sb.append("\231"); - sb.append("\uff4a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\036"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\016"); - sb.append("\u0338"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\105"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); sb.append("\231"); - sb.append("\ufd6d"); - sb.append("\233"); - sb.append("\152"); sb.append("\253"); - sb.append("\241"); + sb.append("\227"); sb.append("\254"); - sb.append("\240"); + sb.append("\147"); sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u0590"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u0591"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\003"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\004"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\005"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\006"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\007"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\010"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\011"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\012"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\014"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\015"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\016"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\017"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\020"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\021"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\022"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\023"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\024"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\025"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\026"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\027"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\030"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\032"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\034"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\035"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\036"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\037"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\040"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\041"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\042"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\043"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\044"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\045"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\046"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\047"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\050"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\051"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\052"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\054"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\056"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\057"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\061"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\062"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\063"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\064"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\065"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\066"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\074"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\075"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\077"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\100"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\101"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\102"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\103"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\104"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\105"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\111"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\112"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\114"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\115"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\116"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\120"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\121"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\122"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\123"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\124"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\125"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\126"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\133"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\151"); - sb.append("\uff61"); - sb.append("\172"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\173"); - sb.append("\uff61"); - sb.append("\177"); - sb.append("\uff61"); + sb.append("\uff0b"); + sb.append("\174"); + sb.append("\uff0b"); sb.append("\200"); - sb.append("\uff61"); - sb.append("\202"); - sb.append("\uff61"); + sb.append("\uff0b"); + sb.append("\201"); + sb.append("\uff0b"); sb.append("\203"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\204"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\205"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\206"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\207"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\210"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\211"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\212"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\213"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\214"); - sb.append("\uff61"); - sb.append("\216"); - sb.append("\uff61"); + sb.append("\uff0b"); + sb.append("\215"); + sb.append("\uff0b"); sb.append("\217"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\220"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\221"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\222"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\223"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\224"); - sb.append("\uff61"); - sb.append("\230"); - sb.append("\uff61"); - sb.append("\233"); - sb.append("\uff61"); + sb.append("\uff0b"); + sb.append("\225"); + sb.append("\uff0b"); + sb.append("\231"); + sb.append("\uff0b"); sb.append("\234"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\235"); - sb.append("\uff61"); + sb.append("\uff0b"); sb.append("\236"); - sb.append("\uff61"); - sb.append("\240"); - sb.append("\uff61"); - sb.append("\247"); - sb.append("\uff61"); - sb.append("\250"); - sb.append("\uff61"); - sb.append("\252"); - sb.append("\uff61"); - sb.append("\253"); - sb.append("\uff61"); - sb.append("\254"); - sb.append("\uff61"); - sb.append("\255"); - sb.append("\uff61"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\uff49"); - sb.append("\231"); - sb.append("\uff49"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\111"); - sb.append("\u0594"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\uff32"); - sb.append("\045"); - sb.append("\uff32"); - sb.append("\046"); - sb.append("\uff32"); - sb.append("\056"); - sb.append("\uff32"); - sb.append("\060"); - sb.append("\uff32"); - sb.append("\112"); - sb.append("\uff32"); - sb.append("\120"); - sb.append("\uff32"); - sb.append("\222"); - sb.append("\uff32"); - sb.append("\223"); - sb.append("\uff32"); - sb.append("\224"); - sb.append("\uff32"); - sb.append("\225"); - sb.append("\uff32"); - sb.append("\226"); - sb.append("\uff32"); - sb.append("\227"); - sb.append("\uff32"); - sb.append("\247"); - sb.append("\uff32"); - sb.append("\250"); - sb.append("\uff32"); - sb.append("\256"); - sb.append("\uff32"); - sb.append("\257"); - sb.append("\uff32"); - sb.append("\260"); - sb.append("\uff32"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\274"); - sb.append("\045"); - sb.append("\ufe84"); - sb.append("\046"); - sb.append("\ufe88"); - sb.append("\056"); - sb.append("\u059c"); - sb.append("\060"); - sb.append("\306"); - sb.append("\112"); - sb.append("\u059b"); - sb.append("\120"); - sb.append("\u059a"); - sb.append("\222"); - sb.append("\303"); - sb.append("\223"); - sb.append("\264"); - sb.append("\224"); - sb.append("\265"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\uff31"); - sb.append("\045"); - sb.append("\uff31"); - sb.append("\046"); - sb.append("\uff31"); - sb.append("\056"); - sb.append("\uff31"); - sb.append("\060"); - sb.append("\uff31"); - sb.append("\112"); - sb.append("\uff31"); - sb.append("\120"); - sb.append("\uff31"); - sb.append("\222"); - sb.append("\uff31"); - sb.append("\223"); - sb.append("\uff31"); - sb.append("\224"); - sb.append("\uff31"); - sb.append("\225"); - sb.append("\uff31"); - sb.append("\226"); - sb.append("\uff31"); - sb.append("\227"); - sb.append("\uff31"); - sb.append("\247"); - sb.append("\uff31"); - sb.append("\250"); - sb.append("\uff31"); - sb.append("\256"); - sb.append("\uff31"); - sb.append("\257"); - sb.append("\uff31"); - sb.append("\260"); - sb.append("\uff31"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\uff30"); - sb.append("\045"); - sb.append("\uff30"); - sb.append("\046"); - sb.append("\uff30"); - sb.append("\056"); - sb.append("\uff30"); - sb.append("\060"); - sb.append("\uff30"); - sb.append("\112"); - sb.append("\uff30"); - sb.append("\120"); - sb.append("\uff30"); - sb.append("\222"); - sb.append("\uff30"); - sb.append("\223"); - sb.append("\uff30"); - sb.append("\224"); - sb.append("\uff30"); - sb.append("\225"); - sb.append("\uff30"); - sb.append("\226"); - sb.append("\uff30"); - sb.append("\227"); - sb.append("\uff30"); - sb.append("\247"); - sb.append("\uff30"); - sb.append("\250"); - sb.append("\uff30"); - sb.append("\256"); - sb.append("\uff30"); - sb.append("\257"); - sb.append("\uff30"); - sb.append("\260"); - sb.append("\uff30"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\040"); - sb.append("\037"); - sb.append("\274"); - sb.append("\045"); - sb.append("\ufe84"); - sb.append("\046"); - sb.append("\ufe88"); - sb.append("\060"); - sb.append("\306"); - sb.append("\222"); - sb.append("\303"); - sb.append("\223"); - sb.append("\264"); - sb.append("\224"); - sb.append("\265"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\uff33"); - sb.append("\045"); - sb.append("\uff33"); - sb.append("\046"); - sb.append("\uff33"); - sb.append("\056"); - sb.append("\uff33"); - sb.append("\060"); - sb.append("\uff33"); - sb.append("\112"); - sb.append("\uff33"); - sb.append("\120"); - sb.append("\uff33"); - sb.append("\222"); - sb.append("\uff33"); - sb.append("\223"); - sb.append("\uff33"); - sb.append("\224"); - sb.append("\uff33"); - sb.append("\225"); - sb.append("\uff33"); - sb.append("\226"); - sb.append("\uff33"); - sb.append("\227"); - sb.append("\uff33"); - sb.append("\247"); - sb.append("\uff33"); - sb.append("\250"); - sb.append("\uff33"); - sb.append("\256"); - sb.append("\uff33"); - sb.append("\257"); - sb.append("\uff33"); - sb.append("\260"); - sb.append("\uff33"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\uff2e"); - sb.append("\045"); - sb.append("\uff2e"); - sb.append("\046"); - sb.append("\uff2e"); - sb.append("\056"); - sb.append("\uff2e"); - sb.append("\060"); - sb.append("\uff2e"); - sb.append("\112"); - sb.append("\uff2e"); - sb.append("\120"); - sb.append("\uff2e"); - sb.append("\222"); - sb.append("\uff2e"); - sb.append("\223"); - sb.append("\uff2e"); - sb.append("\224"); - sb.append("\uff2e"); - sb.append("\225"); - sb.append("\uff2e"); - sb.append("\226"); - sb.append("\uff2e"); - sb.append("\227"); - sb.append("\uff2e"); - sb.append("\247"); - sb.append("\uff2e"); + sb.append("\uff0b"); + sb.append("\237"); + sb.append("\uff0b"); + sb.append("\241"); + sb.append("\uff0b"); sb.append("\250"); - sb.append("\uff2e"); + sb.append("\uff0b"); + sb.append("\251"); + sb.append("\uff0b"); + sb.append("\253"); + sb.append("\uff0b"); + sb.append("\254"); + sb.append("\uff0b"); + sb.append("\255"); + sb.append("\uff0b"); sb.append("\256"); - sb.append("\uff2e"); - sb.append("\257"); - sb.append("\uff2e"); - sb.append("\260"); - sb.append("\uff2e"); + sb.append("\uff0b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u0588"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\003"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\004"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\005"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\006"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\007"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\010"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\011"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\012"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\014"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\015"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\016"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\017"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\020"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\021"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\022"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\023"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\024"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\025"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\026"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\027"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\030"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\032"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\034"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\035"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\036"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\037"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\040"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\041"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\042"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\043"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\044"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\045"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\046"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\047"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\050"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\051"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\052"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\054"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\056"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\057"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\061"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\062"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\063"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\064"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\065"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\066"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\074"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\075"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\077"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\100"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\101"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\102"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\103"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\104"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\105"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\111"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\112"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\114"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\115"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\116"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\120"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\121"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\122"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\123"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\124"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\125"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\126"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\133"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\151"); - sb.append("\uff3c"); - sb.append("\172"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\173"); - sb.append("\uff3c"); - sb.append("\177"); - sb.append("\uff3c"); + sb.append("\uff0c"); + sb.append("\174"); + sb.append("\uff0c"); sb.append("\200"); - sb.append("\uff3c"); - sb.append("\202"); - sb.append("\uff3c"); + sb.append("\uff0c"); + sb.append("\201"); + sb.append("\uff0c"); sb.append("\203"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\204"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\205"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\206"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\207"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\210"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\211"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\212"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\213"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\214"); - sb.append("\uff3c"); - sb.append("\216"); - sb.append("\uff3c"); + sb.append("\uff0c"); + sb.append("\215"); + sb.append("\uff0c"); sb.append("\217"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\220"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\221"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\222"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\223"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\224"); - sb.append("\uff3c"); - sb.append("\230"); - sb.append("\uff3c"); - sb.append("\233"); - sb.append("\uff3c"); + sb.append("\uff0c"); + sb.append("\225"); + sb.append("\uff0c"); + sb.append("\231"); + sb.append("\uff0c"); sb.append("\234"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\235"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\236"); - sb.append("\uff3c"); - sb.append("\240"); - sb.append("\uff3c"); - sb.append("\247"); - sb.append("\uff3c"); + sb.append("\uff0c"); + sb.append("\237"); + sb.append("\uff0c"); + sb.append("\241"); + sb.append("\uff0c"); sb.append("\250"); - sb.append("\uff3c"); - sb.append("\252"); - sb.append("\uff3c"); + sb.append("\uff0c"); + sb.append("\251"); + sb.append("\uff0c"); sb.append("\253"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\254"); - sb.append("\uff3c"); + sb.append("\uff0c"); sb.append("\255"); - sb.append("\uff3c"); + sb.append("\uff0c"); + sb.append("\256"); + sb.append("\uff0c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\012"); sb.append("\010"); - sb.append("\u0447"); - sb.append("\121"); - sb.append("\u0443"); - sb.append("\254"); - sb.append("\u0444"); - sb.append("\255"); - sb.append("\u0449"); + sb.append("\037"); + sb.append("\u057d"); + sb.append("\040"); + sb.append("\u057e"); + sb.append("\112"); + sb.append("\u058d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\010"); - sb.append("\111"); - sb.append("\u044c"); - sb.append("\127"); - sb.append("\u044b"); - sb.append("\151"); - sb.append("\u044e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); sb.append("\037"); - sb.append("\uff2d"); - sb.append("\045"); - sb.append("\uff2d"); - sb.append("\046"); - sb.append("\uff2d"); - sb.append("\056"); - sb.append("\uff2d"); - sb.append("\060"); - sb.append("\uff2d"); + sb.append("\uff0a"); + sb.append("\040"); + sb.append("\uff0a"); sb.append("\112"); - sb.append("\uff2d"); - sb.append("\120"); - sb.append("\uff2d"); - sb.append("\222"); - sb.append("\uff2d"); - sb.append("\223"); - sb.append("\uff2d"); - sb.append("\224"); - sb.append("\uff2d"); - sb.append("\225"); - sb.append("\uff2d"); - sb.append("\226"); - sb.append("\uff2d"); - sb.append("\227"); - sb.append("\uff2d"); - sb.append("\247"); - sb.append("\uff2d"); - sb.append("\250"); - sb.append("\uff2d"); - sb.append("\256"); - sb.append("\uff2d"); - sb.append("\257"); - sb.append("\uff2d"); - sb.append("\260"); - sb.append("\uff2d"); + sb.append("\uff0a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\046"); + sb.append("\010"); sb.append("\037"); - sb.append("\uff2f"); - sb.append("\045"); - sb.append("\uff2f"); - sb.append("\046"); - sb.append("\uff2f"); - sb.append("\056"); - sb.append("\uff2f"); - sb.append("\060"); - sb.append("\uff2f"); + sb.append("\u057d"); + sb.append("\040"); + sb.append("\u057e"); sb.append("\112"); - sb.append("\uff2f"); - sb.append("\120"); - sb.append("\uff2f"); - sb.append("\222"); - sb.append("\uff2f"); - sb.append("\223"); - sb.append("\uff2f"); - sb.append("\224"); - sb.append("\uff2f"); - sb.append("\225"); - sb.append("\uff2f"); - sb.append("\226"); - sb.append("\uff2f"); - sb.append("\227"); - sb.append("\uff2f"); - sb.append("\247"); - sb.append("\uff2f"); - sb.append("\250"); - sb.append("\uff2f"); - sb.append("\256"); - sb.append("\uff2f"); - sb.append("\257"); - sb.append("\uff2f"); - sb.append("\260"); - sb.append("\uff2f"); + sb.append("\u058c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe34"); - sb.append("\073"); - sb.append("\ufe34"); - sb.append("\112"); - sb.append("\ufe34"); - sb.append("\127"); - sb.append("\ufe34"); - sb.append("\130"); - sb.append("\ufe34"); - sb.append("\131"); - sb.append("\ufe34"); - sb.append("\132"); - sb.append("\ufe34"); - sb.append("\150"); - sb.append("\ufe34"); - sb.append("\151"); - sb.append("\ufe34"); - sb.append("\152"); - sb.append("\ufe34"); - sb.append("\153"); - sb.append("\ufe34"); - sb.append("\154"); - sb.append("\ufe34"); - sb.append("\155"); - sb.append("\ufe34"); - sb.append("\156"); - sb.append("\ufe34"); - sb.append("\157"); - sb.append("\ufe34"); - sb.append("\160"); - sb.append("\ufe34"); - sb.append("\161"); - sb.append("\ufe34"); - sb.append("\162"); - sb.append("\ufe34"); - sb.append("\163"); - sb.append("\ufe34"); - sb.append("\164"); - sb.append("\ufe34"); - sb.append("\165"); - sb.append("\ufe34"); - sb.append("\166"); - sb.append("\ufe34"); - sb.append("\167"); - sb.append("\ufe34"); - sb.append("\170"); - sb.append("\ufe34"); - sb.append("\171"); - sb.append("\ufe34"); - sb.append("\172"); - sb.append("\ufe34"); - sb.append("\173"); - sb.append("\ufe34"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\ufe34"); - sb.append("\215"); - sb.append("\ufe34"); - sb.append("\231"); - sb.append("\ufe34"); - sb.append("\232"); - sb.append("\ufe34"); - sb.append("\242"); - sb.append("\ufe34"); - sb.append("\245"); - sb.append("\ufe34"); - sb.append("\251"); - sb.append("\ufe34"); - sb.append("\001"); + sb.append("\322"); sb.append("\002"); - sb.append("\000"); - sb.append("\244"); + sb.append("\uff0d"); + sb.append("\003"); + sb.append("\uff0d"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\uff0d"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\uff0d"); + sb.append("\006"); + sb.append("\uff0d"); + sb.append("\007"); + sb.append("\uff0d"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\uff0d"); + sb.append("\011"); + sb.append("\uff0d"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff0d"); + sb.append("\014"); + sb.append("\uff0d"); + sb.append("\015"); + sb.append("\uff0d"); + sb.append("\016"); + sb.append("\uff0d"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\uff0d"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\uff0d"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\uff0d"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\uff0d"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\uff0d"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\uff0d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\uff0d"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\uff0d"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\uff0d"); sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); + sb.append("\uff0d"); sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); + sb.append("\uff0d"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\uff0d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\uff0d"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\uff0d"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\uff0d"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\uff0d"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\uff0d"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\uff0d"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\uff0d"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\uff0d"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\uff0d"); sb.append("\046"); - sb.append("\u019d"); + sb.append("\uff0d"); sb.append("\047"); - sb.append("\u019f"); + sb.append("\uff0d"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\uff0d"); + sb.append("\051"); + sb.append("\uff0d"); sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\uff0d"); sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); + sb.append("\uff0d"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\uff0d"); sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); + sb.append("\uff0d"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\uff0d"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\uff0d"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\uff0d"); + sb.append("\064"); + sb.append("\uff0d"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\uff0d"); sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\uff0d"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\uff0d"); sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\uff0d"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\uff0d"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\uff0d"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\uff0d"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\uff0d"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\uff0d"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\uff0d"); + sb.append("\105"); + sb.append("\uff0d"); sb.append("\111"); - sb.append("\u02ac"); + sb.append("\uff0d"); + sb.append("\112"); + sb.append("\uff0d"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\uff0d"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\uff0d"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\uff0d"); + sb.append("\120"); + sb.append("\uff0d"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\uff0d"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\uff0d"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\uff0d"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\uff0d"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\uff0d"); sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); + sb.append("\uff0d"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); + sb.append("\uff0d"); + sb.append("\151"); + sb.append("\uff0d"); + sb.append("\173"); + sb.append("\uff0d"); + sb.append("\174"); + sb.append("\uff0d"); + sb.append("\200"); + sb.append("\uff0d"); + sb.append("\201"); + sb.append("\uff0d"); + sb.append("\203"); + sb.append("\uff0d"); + sb.append("\204"); + sb.append("\uff0d"); + sb.append("\205"); + sb.append("\uff0d"); + sb.append("\206"); + sb.append("\uff0d"); + sb.append("\207"); + sb.append("\uff0d"); + sb.append("\210"); + sb.append("\uff0d"); + sb.append("\211"); + sb.append("\uff0d"); + sb.append("\212"); + sb.append("\uff0d"); + sb.append("\213"); + sb.append("\uff0d"); + sb.append("\214"); + sb.append("\uff0d"); + sb.append("\215"); + sb.append("\uff0d"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\uff0d"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\uff0d"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\uff0d"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\uff0d"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\uff0d"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\uff0d"); sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\233"); - sb.append("\152"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\uff0d"); + sb.append("\231"); + sb.append("\uff0d"); + sb.append("\234"); + sb.append("\uff0d"); + sb.append("\235"); + sb.append("\uff0d"); + sb.append("\236"); + sb.append("\uff0d"); + sb.append("\237"); + sb.append("\uff0d"); sb.append("\241"); - sb.append("\u018e"); + sb.append("\uff0d"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\uff0d"); + sb.append("\251"); + sb.append("\uff0d"); + sb.append("\253"); + sb.append("\uff0d"); + sb.append("\254"); + sb.append("\uff0d"); + sb.append("\255"); + sb.append("\uff0d"); + sb.append("\256"); + sb.append("\uff0d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd36"); - sb.append("\033"); - sb.append("\ufd36"); - sb.append("\071"); - sb.append("\ufd36"); - sb.append("\072"); - sb.append("\ufd36"); - sb.append("\073"); - sb.append("\ufd36"); - sb.append("\111"); - sb.append("\ufd36"); - sb.append("\112"); - sb.append("\ufd36"); - sb.append("\113"); - sb.append("\ufd36"); - sb.append("\127"); - sb.append("\ufd36"); - sb.append("\130"); - sb.append("\ufd36"); - sb.append("\131"); - sb.append("\ufd36"); - sb.append("\132"); - sb.append("\ufd36"); - sb.append("\134"); - sb.append("\ufd36"); - sb.append("\135"); - sb.append("\ufd36"); - sb.append("\136"); - sb.append("\ufd36"); - sb.append("\137"); - sb.append("\ufd36"); - sb.append("\140"); - sb.append("\ufd36"); - sb.append("\141"); - sb.append("\ufd36"); - sb.append("\142"); - sb.append("\ufd36"); - sb.append("\143"); - sb.append("\ufd36"); - sb.append("\144"); - sb.append("\ufd36"); - sb.append("\145"); - sb.append("\ufd36"); - sb.append("\146"); - sb.append("\ufd36"); - sb.append("\147"); - sb.append("\ufd36"); - sb.append("\150"); - sb.append("\ufd36"); - sb.append("\151"); - sb.append("\ufd36"); - sb.append("\152"); - sb.append("\ufd36"); - sb.append("\153"); - sb.append("\ufd36"); - sb.append("\154"); - sb.append("\ufd36"); - sb.append("\155"); - sb.append("\ufd36"); - sb.append("\156"); - sb.append("\ufd36"); - sb.append("\157"); - sb.append("\ufd36"); - sb.append("\160"); - sb.append("\ufd36"); - sb.append("\161"); - sb.append("\ufd36"); - sb.append("\162"); - sb.append("\ufd36"); - sb.append("\163"); - sb.append("\ufd36"); - sb.append("\164"); - sb.append("\ufd36"); - sb.append("\165"); - sb.append("\ufd36"); - sb.append("\166"); - sb.append("\ufd36"); - sb.append("\167"); - sb.append("\ufd36"); - sb.append("\170"); - sb.append("\ufd36"); - sb.append("\171"); - sb.append("\ufd36"); - sb.append("\172"); - sb.append("\ufd36"); - sb.append("\173"); - sb.append("\ufd36"); - sb.append("\174"); - sb.append("\ufd36"); - sb.append("\175"); - sb.append("\ufd36"); - sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); - sb.append("\202"); - sb.append("\ufd36"); - sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); - sb.append("\215"); - sb.append("\ufd36"); + sb.append("\322"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java index 63611eb4a12b..8ecc691a177f 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,4505 +29,4505 @@ public String getTableData() { } protected EncodedActionTable18() { sb = new StringBuilder(); - sb.append("\230"); - sb.append("\u029b"); - sb.append("\231"); - sb.append("\ufd36"); - sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); - sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); - sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); - sb.append("\001"); sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd2f"); - sb.append("\033"); - sb.append("\ufd2f"); - sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); - sb.append("\073"); - sb.append("\ufd2f"); + sb.append("\uff0e"); + sb.append("\003"); + sb.append("\uff0e"); + sb.append("\004"); + sb.append("\uff0e"); + sb.append("\005"); + sb.append("\uff0e"); + sb.append("\006"); + sb.append("\uff0e"); + sb.append("\007"); + sb.append("\uff0e"); + sb.append("\010"); + sb.append("\uff0e"); + sb.append("\011"); + sb.append("\uff0e"); + sb.append("\012"); + sb.append("\uff0e"); + sb.append("\014"); + sb.append("\uff0e"); + sb.append("\015"); + sb.append("\uff0e"); + sb.append("\016"); + sb.append("\uff0e"); + sb.append("\017"); + sb.append("\uff0e"); + sb.append("\020"); + sb.append("\uff0e"); + sb.append("\021"); + sb.append("\uff0e"); + sb.append("\022"); + sb.append("\uff0e"); + sb.append("\023"); + sb.append("\uff0e"); + sb.append("\024"); + sb.append("\uff0e"); + sb.append("\025"); + sb.append("\uff0e"); + sb.append("\026"); + sb.append("\uff0e"); + sb.append("\027"); + sb.append("\uff0e"); + sb.append("\030"); + sb.append("\uff0e"); + sb.append("\032"); + sb.append("\uff0e"); + sb.append("\034"); + sb.append("\uff0e"); + sb.append("\035"); + sb.append("\uff0e"); + sb.append("\036"); + sb.append("\uff0e"); + sb.append("\037"); + sb.append("\uff0e"); + sb.append("\040"); + sb.append("\uff0e"); + sb.append("\041"); + sb.append("\uff0e"); + sb.append("\042"); + sb.append("\uff0e"); + sb.append("\043"); + sb.append("\uff0e"); + sb.append("\044"); + sb.append("\uff0e"); + sb.append("\045"); + sb.append("\uff0e"); + sb.append("\046"); + sb.append("\uff0e"); + sb.append("\047"); + sb.append("\uff0e"); + sb.append("\050"); + sb.append("\uff0e"); + sb.append("\051"); + sb.append("\uff0e"); + sb.append("\052"); + sb.append("\uff0e"); + sb.append("\054"); + sb.append("\uff0e"); + sb.append("\056"); + sb.append("\uff0e"); + sb.append("\057"); + sb.append("\uff0e"); + sb.append("\061"); + sb.append("\uff0e"); + sb.append("\062"); + sb.append("\uff0e"); + sb.append("\063"); + sb.append("\uff0e"); + sb.append("\064"); + sb.append("\uff0e"); + sb.append("\065"); + sb.append("\uff0e"); + sb.append("\066"); + sb.append("\uff0e"); + sb.append("\074"); + sb.append("\uff0e"); + sb.append("\075"); + sb.append("\uff0e"); + sb.append("\077"); + sb.append("\uff0e"); + sb.append("\100"); + sb.append("\uff0e"); + sb.append("\101"); + sb.append("\uff0e"); + sb.append("\102"); + sb.append("\uff0e"); + sb.append("\103"); + sb.append("\uff0e"); + sb.append("\104"); + sb.append("\uff0e"); + sb.append("\105"); + sb.append("\uff0e"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\uff0e"); sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); - sb.append("\127"); - sb.append("\ufd2f"); - sb.append("\130"); - sb.append("\ufd2f"); - sb.append("\131"); - sb.append("\ufd2f"); - sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); - sb.append("\150"); - sb.append("\ufd2f"); + sb.append("\uff0e"); + sb.append("\114"); + sb.append("\uff0e"); + sb.append("\115"); + sb.append("\uff0e"); + sb.append("\116"); + sb.append("\uff0e"); + sb.append("\120"); + sb.append("\uff0e"); + sb.append("\121"); + sb.append("\uff0e"); + sb.append("\122"); + sb.append("\uff0e"); + sb.append("\123"); + sb.append("\uff0e"); + sb.append("\124"); + sb.append("\uff0e"); + sb.append("\125"); + sb.append("\uff0e"); + sb.append("\126"); + sb.append("\uff0e"); + sb.append("\133"); + sb.append("\uff0e"); sb.append("\151"); - sb.append("\ufd2f"); - sb.append("\152"); - sb.append("\ufd2f"); - sb.append("\153"); - sb.append("\ufd2f"); - sb.append("\154"); - sb.append("\ufd2f"); - sb.append("\155"); - sb.append("\ufd2f"); - sb.append("\156"); - sb.append("\ufd2f"); - sb.append("\157"); - sb.append("\ufd2f"); - sb.append("\160"); - sb.append("\ufd2f"); - sb.append("\161"); - sb.append("\ufd2f"); - sb.append("\162"); - sb.append("\ufd2f"); - sb.append("\163"); - sb.append("\ufd2f"); - sb.append("\164"); - sb.append("\ufd2f"); - sb.append("\165"); - sb.append("\ufd2f"); - sb.append("\166"); - sb.append("\ufd2f"); - sb.append("\167"); - sb.append("\ufd2f"); - sb.append("\170"); - sb.append("\ufd2f"); - sb.append("\171"); - sb.append("\ufd2f"); - sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\uff0e"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\uff0e"); sb.append("\174"); - sb.append("\ufd2f"); - sb.append("\175"); - sb.append("\ufd2f"); - sb.append("\176"); - sb.append("\ufd2f"); + sb.append("\uff0e"); + sb.append("\200"); + sb.append("\uff0e"); sb.append("\201"); - sb.append("\ufd2f"); - sb.append("\202"); - sb.append("\ufd2f"); + sb.append("\uff0e"); sb.append("\203"); - sb.append("\ufd2f"); + sb.append("\uff0e"); + sb.append("\204"); + sb.append("\uff0e"); + sb.append("\205"); + sb.append("\uff0e"); + sb.append("\206"); + sb.append("\uff0e"); + sb.append("\207"); + sb.append("\uff0e"); + sb.append("\210"); + sb.append("\uff0e"); + sb.append("\211"); + sb.append("\uff0e"); + sb.append("\212"); + sb.append("\uff0e"); + sb.append("\213"); + sb.append("\uff0e"); sb.append("\214"); - sb.append("\u0270"); + sb.append("\uff0e"); sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); + sb.append("\uff0e"); + sb.append("\217"); + sb.append("\uff0e"); + sb.append("\220"); + sb.append("\uff0e"); + sb.append("\221"); + sb.append("\uff0e"); + sb.append("\222"); + sb.append("\uff0e"); + sb.append("\223"); + sb.append("\uff0e"); + sb.append("\224"); + sb.append("\uff0e"); + sb.append("\225"); + sb.append("\uff0e"); sb.append("\231"); - sb.append("\ufd2f"); - sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); - sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); - sb.append("\246"); - sb.append("\ufd2f"); + sb.append("\uff0e"); + sb.append("\234"); + sb.append("\uff0e"); + sb.append("\235"); + sb.append("\uff0e"); + sb.append("\236"); + sb.append("\uff0e"); + sb.append("\237"); + sb.append("\uff0e"); + sb.append("\241"); + sb.append("\uff0e"); + sb.append("\250"); + sb.append("\uff0e"); sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\uff0e"); + sb.append("\253"); + sb.append("\uff0e"); + sb.append("\254"); + sb.append("\uff0e"); + sb.append("\255"); + sb.append("\uff0e"); + sb.append("\256"); + sb.append("\uff0e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd3b"); - sb.append("\033"); - sb.append("\ufd3b"); - sb.append("\071"); - sb.append("\ufd3b"); - sb.append("\072"); - sb.append("\ufd3b"); - sb.append("\073"); - sb.append("\ufd3b"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd3b"); - sb.append("\113"); - sb.append("\ufd3b"); - sb.append("\127"); - sb.append("\ufd3b"); - sb.append("\130"); - sb.append("\ufd3b"); - sb.append("\131"); - sb.append("\ufd3b"); - sb.append("\132"); - sb.append("\ufd3b"); - sb.append("\134"); - sb.append("\ufd3b"); - sb.append("\135"); - sb.append("\ufd3b"); - sb.append("\136"); - sb.append("\ufd3b"); - sb.append("\137"); - sb.append("\ufd3b"); - sb.append("\140"); - sb.append("\ufd3b"); - sb.append("\141"); - sb.append("\ufd3b"); - sb.append("\142"); - sb.append("\ufd3b"); - sb.append("\143"); - sb.append("\ufd3b"); - sb.append("\144"); - sb.append("\ufd3b"); - sb.append("\145"); - sb.append("\ufd3b"); - sb.append("\146"); - sb.append("\ufd3b"); - sb.append("\147"); - sb.append("\ufd3b"); - sb.append("\150"); - sb.append("\ufd3b"); - sb.append("\151"); - sb.append("\ufd3b"); - sb.append("\152"); - sb.append("\ufd3b"); - sb.append("\153"); - sb.append("\ufd3b"); - sb.append("\154"); - sb.append("\ufd3b"); - sb.append("\155"); - sb.append("\ufd3b"); - sb.append("\156"); - sb.append("\ufd3b"); - sb.append("\157"); - sb.append("\ufd3b"); - sb.append("\160"); - sb.append("\ufd3b"); - sb.append("\161"); - sb.append("\ufd3b"); - sb.append("\162"); - sb.append("\ufd3b"); - sb.append("\163"); - sb.append("\ufd3b"); - sb.append("\164"); - sb.append("\ufd3b"); - sb.append("\165"); - sb.append("\ufd3b"); + sb.append("\034"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\016"); + sb.append("\u033c"); + sb.append("\075"); sb.append("\166"); - sb.append("\ufd3b"); - sb.append("\167"); - sb.append("\ufd3b"); - sb.append("\170"); - sb.append("\ufd3b"); - sb.append("\171"); - sb.append("\ufd3b"); - sb.append("\172"); - sb.append("\ufd3b"); - sb.append("\173"); - sb.append("\ufd3b"); - sb.append("\174"); - sb.append("\ufd3b"); - sb.append("\175"); - sb.append("\ufd3b"); - sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); - sb.append("\202"); - sb.append("\ufd3b"); - sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\121"); + sb.append("\240"); sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); sb.append("\231"); - sb.append("\ufd3b"); - sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); - sb.append("\243"); - sb.append("\ufd3b"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); - sb.append("\ufd3b"); - sb.append("\246"); - sb.append("\ufd3b"); - sb.append("\251"); - sb.append("\ufd3b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); - sb.append("\031"); - sb.append("\ufd48"); - sb.append("\033"); - sb.append("\ufd48"); - sb.append("\071"); - sb.append("\u02a5"); - sb.append("\072"); - sb.append("\u02a2"); - sb.append("\073"); - sb.append("\ufd48"); - sb.append("\112"); - sb.append("\ufd48"); - sb.append("\113"); - sb.append("\u02a3"); + sb.append("\006"); sb.append("\127"); - sb.append("\ufd48"); - sb.append("\130"); - sb.append("\ufd48"); - sb.append("\131"); - sb.append("\ufd48"); - sb.append("\132"); - sb.append("\ufd48"); - sb.append("\134"); - sb.append("\ufd48"); - sb.append("\135"); - sb.append("\ufd48"); - sb.append("\136"); - sb.append("\ufd48"); - sb.append("\137"); - sb.append("\ufd48"); - sb.append("\140"); - sb.append("\ufd48"); - sb.append("\141"); - sb.append("\ufd48"); - sb.append("\142"); - sb.append("\ufd48"); - sb.append("\143"); - sb.append("\ufd48"); - sb.append("\144"); - sb.append("\ufd48"); - sb.append("\145"); - sb.append("\ufd48"); - sb.append("\146"); - sb.append("\ufd48"); - sb.append("\147"); - sb.append("\ufd48"); - sb.append("\150"); - sb.append("\ufd48"); - sb.append("\151"); - sb.append("\ufd48"); - sb.append("\152"); - sb.append("\ufd48"); - sb.append("\153"); - sb.append("\ufd48"); - sb.append("\154"); - sb.append("\ufd48"); - sb.append("\155"); - sb.append("\ufd48"); - sb.append("\156"); - sb.append("\ufd48"); - sb.append("\157"); - sb.append("\ufd48"); - sb.append("\160"); - sb.append("\ufd48"); - sb.append("\161"); - sb.append("\ufd48"); - sb.append("\162"); - sb.append("\ufd48"); - sb.append("\163"); - sb.append("\ufd48"); - sb.append("\164"); - sb.append("\ufd48"); - sb.append("\165"); - sb.append("\ufd48"); - sb.append("\166"); - sb.append("\ufd48"); - sb.append("\167"); - sb.append("\ufd48"); - sb.append("\170"); - sb.append("\ufd48"); - sb.append("\171"); - sb.append("\ufd48"); - sb.append("\172"); - sb.append("\ufd48"); - sb.append("\173"); - sb.append("\ufd48"); - sb.append("\174"); - sb.append("\ufd48"); - sb.append("\175"); - sb.append("\ufd48"); - sb.append("\176"); - sb.append("\ufd48"); - sb.append("\201"); - sb.append("\ufd48"); - sb.append("\202"); - sb.append("\ufd48"); - sb.append("\203"); - sb.append("\ufd48"); - sb.append("\215"); - sb.append("\ufd48"); - sb.append("\230"); - sb.append("\ufd48"); - sb.append("\231"); - sb.append("\ufd48"); + sb.append("\u0592"); sb.append("\232"); - sb.append("\ufd48"); - sb.append("\242"); - sb.append("\ufd48"); - sb.append("\243"); - sb.append("\ufd48"); - sb.append("\245"); - sb.append("\ufd48"); - sb.append("\246"); - sb.append("\ufd48"); - sb.append("\251"); - sb.append("\ufd48"); + sb.append("\ufd6c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe19"); - sb.append("\033"); - sb.append("\ufe19"); - sb.append("\073"); - sb.append("\ufe19"); - sb.append("\112"); - sb.append("\ufe19"); + sb.append("\006"); sb.append("\127"); - sb.append("\ufe19"); - sb.append("\130"); - sb.append("\ufe19"); - sb.append("\131"); - sb.append("\ufe19"); - sb.append("\132"); - sb.append("\ufe19"); - sb.append("\150"); - sb.append("\ufe19"); - sb.append("\151"); - sb.append("\ufe19"); - sb.append("\152"); - sb.append("\ufe19"); - sb.append("\153"); - sb.append("\ufe19"); - sb.append("\154"); - sb.append("\ufe19"); - sb.append("\155"); - sb.append("\ufe19"); - sb.append("\156"); - sb.append("\ufe19"); - sb.append("\157"); - sb.append("\ufe19"); - sb.append("\160"); - sb.append("\ufe19"); - sb.append("\161"); - sb.append("\ufe19"); - sb.append("\162"); - sb.append("\ufe19"); - sb.append("\163"); - sb.append("\ufe19"); - sb.append("\164"); - sb.append("\ufe19"); - sb.append("\165"); - sb.append("\ufe19"); - sb.append("\166"); - sb.append("\ufe19"); - sb.append("\167"); - sb.append("\ufe19"); - sb.append("\170"); - sb.append("\ufe19"); - sb.append("\171"); - sb.append("\ufe19"); - sb.append("\172"); - sb.append("\ufe19"); - sb.append("\173"); - sb.append("\ufe19"); - sb.append("\174"); - sb.append("\ufe19"); - sb.append("\175"); - sb.append("\ufe19"); - sb.append("\176"); - sb.append("\ufe19"); - sb.append("\201"); - sb.append("\ufe19"); - sb.append("\215"); - sb.append("\ufe19"); - sb.append("\231"); - sb.append("\ufe19"); + sb.append("\uff48"); sb.append("\232"); - sb.append("\ufe19"); - sb.append("\242"); - sb.append("\ufe19"); - sb.append("\245"); - sb.append("\ufe19"); - sb.append("\251"); - sb.append("\ufe19"); + sb.append("\uff48"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\014"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\u0553"); - sb.append("\107"); - sb.append("\u0552"); - sb.append("\110"); - sb.append("\u0550"); - sb.append("\235"); - sb.append("\u05a8"); + sb.append("\006"); + sb.append("\127"); + sb.append("\uff4a"); + sb.append("\232"); + sb.append("\uff4a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe16"); - sb.append("\033"); - sb.append("\ufe16"); - sb.append("\073"); - sb.append("\ufe16"); - sb.append("\112"); - sb.append("\ufe16"); - sb.append("\127"); - sb.append("\ufe16"); - sb.append("\130"); - sb.append("\ufe16"); - sb.append("\131"); - sb.append("\ufe16"); - sb.append("\132"); - sb.append("\ufe16"); - sb.append("\150"); - sb.append("\ufe16"); - sb.append("\151"); - sb.append("\ufe16"); - sb.append("\152"); - sb.append("\ufe16"); - sb.append("\153"); - sb.append("\ufe16"); - sb.append("\154"); - sb.append("\ufe16"); - sb.append("\155"); - sb.append("\ufe16"); - sb.append("\156"); - sb.append("\ufe16"); - sb.append("\157"); - sb.append("\ufe16"); - sb.append("\160"); - sb.append("\ufe16"); - sb.append("\161"); - sb.append("\ufe16"); - sb.append("\162"); - sb.append("\ufe16"); - sb.append("\163"); - sb.append("\ufe16"); - sb.append("\164"); - sb.append("\ufe16"); - sb.append("\165"); - sb.append("\ufe16"); + sb.append("\036"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\016"); + sb.append("\u033c"); + sb.append("\075"); sb.append("\166"); - sb.append("\ufe16"); - sb.append("\167"); - sb.append("\ufe16"); - sb.append("\170"); - sb.append("\ufe16"); - sb.append("\171"); - sb.append("\ufe16"); - sb.append("\172"); - sb.append("\ufe16"); - sb.append("\173"); - sb.append("\ufe16"); - sb.append("\174"); - sb.append("\ufe16"); - sb.append("\175"); - sb.append("\ufe16"); - sb.append("\176"); - sb.append("\ufe16"); - sb.append("\201"); - sb.append("\ufe16"); + sb.append("\121"); + sb.append("\240"); sb.append("\215"); - sb.append("\ufe16"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); sb.append("\231"); - sb.append("\ufe16"); + sb.append("\u01b5"); sb.append("\232"); - sb.append("\ufe16"); - sb.append("\242"); - sb.append("\ufe16"); + sb.append("\ufd6b"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); - sb.append("\ufe16"); - sb.append("\251"); - sb.append("\ufe16"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe31"); - sb.append("\033"); - sb.append("\ufe31"); - sb.append("\073"); - sb.append("\ufe31"); - sb.append("\112"); - sb.append("\ufe31"); - sb.append("\127"); - sb.append("\ufe31"); - sb.append("\130"); - sb.append("\ufe31"); - sb.append("\131"); - sb.append("\ufe31"); - sb.append("\132"); - sb.append("\ufe31"); - sb.append("\150"); - sb.append("\ufe31"); - sb.append("\151"); - sb.append("\ufe31"); - sb.append("\152"); - sb.append("\ufe31"); - sb.append("\153"); - sb.append("\ufe31"); - sb.append("\154"); - sb.append("\ufe31"); - sb.append("\155"); - sb.append("\ufe31"); - sb.append("\156"); - sb.append("\ufe31"); - sb.append("\157"); - sb.append("\ufe31"); - sb.append("\160"); - sb.append("\ufe31"); - sb.append("\161"); - sb.append("\ufe31"); - sb.append("\162"); - sb.append("\ufe31"); - sb.append("\163"); - sb.append("\ufe31"); - sb.append("\164"); - sb.append("\ufe31"); - sb.append("\165"); - sb.append("\ufe31"); - sb.append("\166"); - sb.append("\ufe31"); - sb.append("\167"); - sb.append("\ufe31"); - sb.append("\170"); - sb.append("\ufe31"); - sb.append("\171"); - sb.append("\ufe31"); - sb.append("\172"); - sb.append("\ufe31"); - sb.append("\173"); - sb.append("\ufe31"); - sb.append("\174"); - sb.append("\ufe31"); - sb.append("\175"); - sb.append("\ufe31"); - sb.append("\176"); - sb.append("\ufe31"); - sb.append("\201"); - sb.append("\ufe31"); - sb.append("\215"); - sb.append("\ufe31"); - sb.append("\231"); - sb.append("\ufe31"); + sb.append("\004"); sb.append("\232"); - sb.append("\ufe31"); - sb.append("\242"); - sb.append("\ufe31"); - sb.append("\245"); - sb.append("\ufe31"); - sb.append("\251"); - sb.append("\ufe31"); + sb.append("\u0594"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u0595"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff61"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\uff61"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\uff61"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\uff61"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff61"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff61"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\uff61"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff61"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff61"); + sb.append("\014"); + sb.append("\uff61"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff61"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff61"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\uff61"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\uff61"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\uff61"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\uff61"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\uff61"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\uff61"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\uff61"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\uff61"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\uff61"); sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); + sb.append("\uff61"); sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); + sb.append("\uff61"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\uff61"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\uff61"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\uff61"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\uff61"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\uff61"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\uff61"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\uff61"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\uff61"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\uff61"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\uff61"); sb.append("\046"); - sb.append("\u019d"); + sb.append("\uff61"); sb.append("\047"); - sb.append("\u019f"); + sb.append("\uff61"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\uff61"); + sb.append("\051"); + sb.append("\uff61"); sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\uff61"); sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); + sb.append("\uff61"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\uff61"); sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); + sb.append("\uff61"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\uff61"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\uff61"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\uff61"); + sb.append("\064"); + sb.append("\uff61"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\uff61"); sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\uff61"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\uff61"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\uff61"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\uff61"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\uff61"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\uff61"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\uff61"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\uff61"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\uff61"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff61"); + sb.append("\111"); + sb.append("\uff61"); + sb.append("\112"); + sb.append("\uff61"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\uff61"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\uff61"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\uff61"); + sb.append("\120"); + sb.append("\uff61"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\uff61"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\uff61"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\uff61"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\uff61"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\uff61"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); + sb.append("\uff61"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff61"); + sb.append("\151"); + sb.append("\uff61"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff61"); + sb.append("\174"); + sb.append("\uff61"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff61"); + sb.append("\201"); + sb.append("\uff61"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff61"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff61"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff61"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff61"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff61"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff61"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff61"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff61"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff61"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); + sb.append("\uff61"); + sb.append("\215"); + sb.append("\uff61"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\uff61"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\uff61"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\uff61"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\uff61"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\uff61"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\uff61"); sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\uff61"); sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff61"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff61"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff61"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\uff61"); + sb.append("\237"); + sb.append("\uff61"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff61"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\uff61"); + sb.append("\251"); + sb.append("\uff61"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff61"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff61"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff61"); + sb.append("\256"); + sb.append("\uff61"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\uff49"); + sb.append("\232"); + sb.append("\uff49"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\244"); sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\010"); - sb.append("\u016b"); - sb.append("\012"); - sb.append("\075"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); + sb.append("\111"); + sb.append("\u0598"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); + sb.append("\uff32"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\uff32"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); + sb.append("\uff32"); sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); + sb.append("\uff32"); sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\111"); - sb.append("\u02ac"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); - sb.append("\121"); - sb.append("\u0178"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); + sb.append("\uff32"); + sb.append("\112"); + sb.append("\uff32"); + sb.append("\120"); + sb.append("\uff32"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\uff32"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\uff32"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\uff32"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\uff32"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\233"); - sb.append("\152"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); + sb.append("\uff32"); + sb.append("\230"); + sb.append("\uff32"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\uff32"); + sb.append("\251"); + sb.append("\uff32"); + sb.append("\257"); + sb.append("\uff32"); + sb.append("\260"); + sb.append("\uff32"); + sb.append("\261"); + sb.append("\uff32"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufdec"); - sb.append("\033"); - sb.append("\ufdec"); - sb.append("\071"); - sb.append("\ufdec"); - sb.append("\072"); - sb.append("\ufdec"); - sb.append("\073"); - sb.append("\ufdec"); - sb.append("\111"); - sb.append("\ufdec"); + sb.append("\046"); + sb.append("\037"); + sb.append("\274"); + sb.append("\045"); + sb.append("\ufe84"); + sb.append("\046"); + sb.append("\ufe88"); + sb.append("\056"); + sb.append("\u05a0"); + sb.append("\060"); + sb.append("\306"); sb.append("\112"); - sb.append("\ufdec"); - sb.append("\113"); - sb.append("\ufdec"); - sb.append("\127"); - sb.append("\ufdec"); - sb.append("\130"); - sb.append("\ufdec"); - sb.append("\131"); - sb.append("\ufdec"); - sb.append("\132"); - sb.append("\ufdec"); - sb.append("\134"); - sb.append("\ufdec"); - sb.append("\135"); - sb.append("\ufdec"); - sb.append("\136"); - sb.append("\ufdec"); - sb.append("\137"); - sb.append("\ufdec"); - sb.append("\140"); - sb.append("\ufdec"); - sb.append("\141"); - sb.append("\ufdec"); - sb.append("\142"); - sb.append("\ufdec"); - sb.append("\143"); - sb.append("\ufdec"); - sb.append("\144"); - sb.append("\ufdec"); - sb.append("\145"); - sb.append("\ufdec"); - sb.append("\146"); - sb.append("\ufdec"); - sb.append("\147"); - sb.append("\ufdec"); - sb.append("\150"); - sb.append("\ufdec"); - sb.append("\151"); - sb.append("\ufdec"); - sb.append("\152"); - sb.append("\ufdec"); - sb.append("\153"); - sb.append("\ufdec"); - sb.append("\154"); - sb.append("\ufdec"); - sb.append("\155"); - sb.append("\ufdec"); - sb.append("\156"); - sb.append("\ufdec"); - sb.append("\157"); - sb.append("\ufdec"); - sb.append("\160"); - sb.append("\ufdec"); - sb.append("\161"); - sb.append("\ufdec"); - sb.append("\162"); - sb.append("\ufdec"); - sb.append("\163"); - sb.append("\ufdec"); - sb.append("\164"); - sb.append("\ufdec"); - sb.append("\165"); - sb.append("\ufdec"); - sb.append("\166"); - sb.append("\ufdec"); - sb.append("\167"); - sb.append("\ufdec"); - sb.append("\170"); - sb.append("\ufdec"); - sb.append("\171"); - sb.append("\ufdec"); - sb.append("\172"); - sb.append("\ufdec"); - sb.append("\173"); - sb.append("\ufdec"); - sb.append("\174"); - sb.append("\ufdec"); - sb.append("\175"); - sb.append("\ufdec"); - sb.append("\176"); - sb.append("\ufdec"); - sb.append("\201"); - sb.append("\ufdec"); - sb.append("\202"); - sb.append("\ufdec"); - sb.append("\203"); - sb.append("\ufdec"); - sb.append("\214"); - sb.append("\ufdec"); - sb.append("\215"); - sb.append("\ufdec"); + sb.append("\u059f"); + sb.append("\120"); + sb.append("\u059e"); + sb.append("\223"); + sb.append("\303"); + sb.append("\224"); + sb.append("\264"); + sb.append("\225"); + sb.append("\265"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); sb.append("\230"); - sb.append("\ufdec"); - sb.append("\231"); - sb.append("\ufdec"); - sb.append("\232"); - sb.append("\ufdec"); - sb.append("\242"); - sb.append("\ufdec"); - sb.append("\243"); - sb.append("\ufdec"); - sb.append("\245"); - sb.append("\ufdec"); - sb.append("\246"); - sb.append("\ufdec"); + sb.append("\302"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufdec"); + sb.append("\254"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd36"); - sb.append("\033"); - sb.append("\ufd36"); - sb.append("\071"); - sb.append("\ufd36"); - sb.append("\072"); - sb.append("\ufd36"); - sb.append("\073"); - sb.append("\ufd36"); - sb.append("\111"); - sb.append("\ufd36"); + sb.append("\046"); + sb.append("\037"); + sb.append("\uff31"); + sb.append("\045"); + sb.append("\uff31"); + sb.append("\046"); + sb.append("\uff31"); + sb.append("\056"); + sb.append("\uff31"); + sb.append("\060"); + sb.append("\uff31"); sb.append("\112"); - sb.append("\ufd36"); - sb.append("\113"); - sb.append("\ufd36"); - sb.append("\127"); - sb.append("\ufd36"); - sb.append("\130"); - sb.append("\ufd36"); - sb.append("\131"); - sb.append("\ufd36"); - sb.append("\132"); - sb.append("\ufd36"); - sb.append("\134"); - sb.append("\ufd36"); - sb.append("\135"); - sb.append("\ufd36"); - sb.append("\136"); - sb.append("\ufd36"); - sb.append("\137"); - sb.append("\ufd36"); - sb.append("\140"); - sb.append("\ufd36"); - sb.append("\141"); - sb.append("\ufd36"); - sb.append("\142"); - sb.append("\ufd36"); - sb.append("\143"); - sb.append("\ufd36"); - sb.append("\144"); - sb.append("\ufd36"); - sb.append("\145"); - sb.append("\ufd36"); - sb.append("\146"); - sb.append("\ufd36"); - sb.append("\147"); - sb.append("\ufd36"); - sb.append("\150"); - sb.append("\ufd36"); - sb.append("\151"); - sb.append("\ufd36"); - sb.append("\152"); - sb.append("\ufd36"); - sb.append("\153"); - sb.append("\ufd36"); - sb.append("\154"); - sb.append("\ufd36"); - sb.append("\155"); - sb.append("\ufd36"); - sb.append("\156"); - sb.append("\ufd36"); - sb.append("\157"); - sb.append("\ufd36"); - sb.append("\160"); - sb.append("\ufd36"); - sb.append("\161"); - sb.append("\ufd36"); - sb.append("\162"); - sb.append("\ufd36"); - sb.append("\163"); - sb.append("\ufd36"); - sb.append("\164"); - sb.append("\ufd36"); - sb.append("\165"); - sb.append("\ufd36"); - sb.append("\166"); - sb.append("\ufd36"); - sb.append("\167"); - sb.append("\ufd36"); - sb.append("\170"); - sb.append("\ufd36"); - sb.append("\171"); - sb.append("\ufd36"); - sb.append("\172"); - sb.append("\ufd36"); - sb.append("\173"); - sb.append("\ufd36"); - sb.append("\174"); - sb.append("\ufd36"); - sb.append("\175"); - sb.append("\ufd36"); - sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); - sb.append("\202"); - sb.append("\ufd36"); - sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); - sb.append("\215"); - sb.append("\ufd36"); + sb.append("\uff31"); + sb.append("\120"); + sb.append("\uff31"); + sb.append("\223"); + sb.append("\uff31"); + sb.append("\224"); + sb.append("\uff31"); + sb.append("\225"); + sb.append("\uff31"); + sb.append("\226"); + sb.append("\uff31"); + sb.append("\227"); + sb.append("\uff31"); sb.append("\230"); - sb.append("\u029b"); - sb.append("\231"); - sb.append("\ufd36"); - sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); - sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); - sb.append("\246"); - sb.append("\ufd36"); + sb.append("\uff31"); + sb.append("\250"); + sb.append("\uff31"); sb.append("\251"); - sb.append("\ufd36"); + sb.append("\uff31"); + sb.append("\257"); + sb.append("\uff31"); + sb.append("\260"); + sb.append("\uff31"); + sb.append("\261"); + sb.append("\uff31"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd2f"); - sb.append("\033"); - sb.append("\ufd2f"); - sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); - sb.append("\073"); - sb.append("\ufd2f"); - sb.append("\111"); - sb.append("\u026f"); + sb.append("\046"); + sb.append("\037"); + sb.append("\uff30"); + sb.append("\045"); + sb.append("\uff30"); + sb.append("\046"); + sb.append("\uff30"); + sb.append("\056"); + sb.append("\uff30"); + sb.append("\060"); + sb.append("\uff30"); sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); - sb.append("\127"); - sb.append("\ufd2f"); - sb.append("\130"); - sb.append("\ufd2f"); - sb.append("\131"); - sb.append("\ufd2f"); - sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); - sb.append("\150"); - sb.append("\ufd2f"); - sb.append("\151"); - sb.append("\ufd2f"); - sb.append("\152"); - sb.append("\ufd2f"); - sb.append("\153"); - sb.append("\ufd2f"); - sb.append("\154"); - sb.append("\ufd2f"); - sb.append("\155"); - sb.append("\ufd2f"); - sb.append("\156"); - sb.append("\ufd2f"); - sb.append("\157"); - sb.append("\ufd2f"); - sb.append("\160"); - sb.append("\ufd2f"); - sb.append("\161"); - sb.append("\ufd2f"); - sb.append("\162"); - sb.append("\ufd2f"); - sb.append("\163"); - sb.append("\ufd2f"); - sb.append("\164"); - sb.append("\ufd2f"); - sb.append("\165"); - sb.append("\ufd2f"); - sb.append("\166"); - sb.append("\ufd2f"); - sb.append("\167"); - sb.append("\ufd2f"); - sb.append("\170"); - sb.append("\ufd2f"); - sb.append("\171"); - sb.append("\ufd2f"); - sb.append("\172"); - sb.append("\ufd2f"); - sb.append("\173"); - sb.append("\ufd2f"); - sb.append("\174"); - sb.append("\ufd2f"); - sb.append("\175"); - sb.append("\ufd2f"); - sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); - sb.append("\202"); - sb.append("\ufd2f"); - sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd2f"); + sb.append("\uff30"); + sb.append("\120"); + sb.append("\uff30"); + sb.append("\223"); + sb.append("\uff30"); + sb.append("\224"); + sb.append("\uff30"); + sb.append("\225"); + sb.append("\uff30"); + sb.append("\226"); + sb.append("\uff30"); + sb.append("\227"); + sb.append("\uff30"); sb.append("\230"); - sb.append("\ufd2f"); - sb.append("\231"); - sb.append("\ufd2f"); - sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); - sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); - sb.append("\246"); - sb.append("\ufd2f"); + sb.append("\uff30"); + sb.append("\250"); + sb.append("\uff30"); sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\uff30"); + sb.append("\257"); + sb.append("\uff30"); + sb.append("\260"); + sb.append("\uff30"); + sb.append("\261"); + sb.append("\uff30"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd3b"); - sb.append("\033"); - sb.append("\ufd3b"); - sb.append("\071"); - sb.append("\ufd3b"); - sb.append("\072"); - sb.append("\ufd3b"); - sb.append("\073"); - sb.append("\ufd3b"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd3b"); - sb.append("\113"); - sb.append("\ufd3b"); - sb.append("\127"); - sb.append("\ufd3b"); - sb.append("\130"); - sb.append("\ufd3b"); - sb.append("\131"); - sb.append("\ufd3b"); - sb.append("\132"); - sb.append("\ufd3b"); - sb.append("\134"); - sb.append("\ufd3b"); - sb.append("\135"); - sb.append("\ufd3b"); - sb.append("\136"); - sb.append("\ufd3b"); - sb.append("\137"); - sb.append("\ufd3b"); - sb.append("\140"); - sb.append("\ufd3b"); - sb.append("\141"); - sb.append("\ufd3b"); - sb.append("\142"); - sb.append("\ufd3b"); - sb.append("\143"); - sb.append("\ufd3b"); - sb.append("\144"); - sb.append("\ufd3b"); - sb.append("\145"); - sb.append("\ufd3b"); - sb.append("\146"); - sb.append("\ufd3b"); - sb.append("\147"); - sb.append("\ufd3b"); + sb.append("\040"); + sb.append("\037"); + sb.append("\274"); + sb.append("\045"); + sb.append("\ufe84"); + sb.append("\046"); + sb.append("\ufe88"); + sb.append("\060"); + sb.append("\306"); + sb.append("\223"); + sb.append("\303"); + sb.append("\224"); + sb.append("\264"); + sb.append("\225"); + sb.append("\265"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\uff33"); + sb.append("\045"); + sb.append("\uff33"); + sb.append("\046"); + sb.append("\uff33"); + sb.append("\056"); + sb.append("\uff33"); + sb.append("\060"); + sb.append("\uff33"); + sb.append("\112"); + sb.append("\uff33"); + sb.append("\120"); + sb.append("\uff33"); + sb.append("\223"); + sb.append("\uff33"); + sb.append("\224"); + sb.append("\uff33"); + sb.append("\225"); + sb.append("\uff33"); + sb.append("\226"); + sb.append("\uff33"); + sb.append("\227"); + sb.append("\uff33"); + sb.append("\230"); + sb.append("\uff33"); + sb.append("\250"); + sb.append("\uff33"); + sb.append("\251"); + sb.append("\uff33"); + sb.append("\257"); + sb.append("\uff33"); + sb.append("\260"); + sb.append("\uff33"); + sb.append("\261"); + sb.append("\uff33"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\uff2e"); + sb.append("\045"); + sb.append("\uff2e"); + sb.append("\046"); + sb.append("\uff2e"); + sb.append("\056"); + sb.append("\uff2e"); + sb.append("\060"); + sb.append("\uff2e"); + sb.append("\112"); + sb.append("\uff2e"); + sb.append("\120"); + sb.append("\uff2e"); + sb.append("\223"); + sb.append("\uff2e"); + sb.append("\224"); + sb.append("\uff2e"); + sb.append("\225"); + sb.append("\uff2e"); + sb.append("\226"); + sb.append("\uff2e"); + sb.append("\227"); + sb.append("\uff2e"); + sb.append("\230"); + sb.append("\uff2e"); + sb.append("\250"); + sb.append("\uff2e"); + sb.append("\251"); + sb.append("\uff2e"); + sb.append("\257"); + sb.append("\uff2e"); + sb.append("\260"); + sb.append("\uff2e"); + sb.append("\261"); + sb.append("\uff2e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff3c"); + sb.append("\003"); + sb.append("\uff3c"); + sb.append("\004"); + sb.append("\uff3c"); + sb.append("\005"); + sb.append("\uff3c"); + sb.append("\006"); + sb.append("\uff3c"); + sb.append("\007"); + sb.append("\uff3c"); + sb.append("\010"); + sb.append("\uff3c"); + sb.append("\011"); + sb.append("\uff3c"); + sb.append("\012"); + sb.append("\uff3c"); + sb.append("\014"); + sb.append("\uff3c"); + sb.append("\015"); + sb.append("\uff3c"); + sb.append("\016"); + sb.append("\uff3c"); + sb.append("\017"); + sb.append("\uff3c"); + sb.append("\020"); + sb.append("\uff3c"); + sb.append("\021"); + sb.append("\uff3c"); + sb.append("\022"); + sb.append("\uff3c"); + sb.append("\023"); + sb.append("\uff3c"); + sb.append("\024"); + sb.append("\uff3c"); + sb.append("\025"); + sb.append("\uff3c"); + sb.append("\026"); + sb.append("\uff3c"); + sb.append("\027"); + sb.append("\uff3c"); + sb.append("\030"); + sb.append("\uff3c"); + sb.append("\032"); + sb.append("\uff3c"); + sb.append("\034"); + sb.append("\uff3c"); + sb.append("\035"); + sb.append("\uff3c"); + sb.append("\036"); + sb.append("\uff3c"); + sb.append("\037"); + sb.append("\uff3c"); + sb.append("\040"); + sb.append("\uff3c"); + sb.append("\041"); + sb.append("\uff3c"); + sb.append("\042"); + sb.append("\uff3c"); + sb.append("\043"); + sb.append("\uff3c"); + sb.append("\044"); + sb.append("\uff3c"); + sb.append("\045"); + sb.append("\uff3c"); + sb.append("\046"); + sb.append("\uff3c"); + sb.append("\047"); + sb.append("\uff3c"); + sb.append("\050"); + sb.append("\uff3c"); + sb.append("\051"); + sb.append("\uff3c"); + sb.append("\052"); + sb.append("\uff3c"); + sb.append("\054"); + sb.append("\uff3c"); + sb.append("\056"); + sb.append("\uff3c"); + sb.append("\057"); + sb.append("\uff3c"); + sb.append("\061"); + sb.append("\uff3c"); + sb.append("\062"); + sb.append("\uff3c"); + sb.append("\063"); + sb.append("\uff3c"); + sb.append("\064"); + sb.append("\uff3c"); + sb.append("\065"); + sb.append("\uff3c"); + sb.append("\066"); + sb.append("\uff3c"); + sb.append("\074"); + sb.append("\uff3c"); + sb.append("\075"); + sb.append("\uff3c"); + sb.append("\077"); + sb.append("\uff3c"); + sb.append("\100"); + sb.append("\uff3c"); + sb.append("\101"); + sb.append("\uff3c"); + sb.append("\102"); + sb.append("\uff3c"); + sb.append("\103"); + sb.append("\uff3c"); + sb.append("\104"); + sb.append("\uff3c"); + sb.append("\105"); + sb.append("\uff3c"); + sb.append("\111"); + sb.append("\uff3c"); + sb.append("\112"); + sb.append("\uff3c"); + sb.append("\114"); + sb.append("\uff3c"); + sb.append("\115"); + sb.append("\uff3c"); + sb.append("\116"); + sb.append("\uff3c"); + sb.append("\120"); + sb.append("\uff3c"); + sb.append("\121"); + sb.append("\uff3c"); + sb.append("\122"); + sb.append("\uff3c"); + sb.append("\123"); + sb.append("\uff3c"); + sb.append("\124"); + sb.append("\uff3c"); + sb.append("\125"); + sb.append("\uff3c"); + sb.append("\126"); + sb.append("\uff3c"); + sb.append("\133"); + sb.append("\uff3c"); + sb.append("\151"); + sb.append("\uff3c"); + sb.append("\173"); + sb.append("\uff3c"); + sb.append("\174"); + sb.append("\uff3c"); + sb.append("\200"); + sb.append("\uff3c"); + sb.append("\201"); + sb.append("\uff3c"); + sb.append("\203"); + sb.append("\uff3c"); + sb.append("\204"); + sb.append("\uff3c"); + sb.append("\205"); + sb.append("\uff3c"); + sb.append("\206"); + sb.append("\uff3c"); + sb.append("\207"); + sb.append("\uff3c"); + sb.append("\210"); + sb.append("\uff3c"); + sb.append("\211"); + sb.append("\uff3c"); + sb.append("\212"); + sb.append("\uff3c"); + sb.append("\213"); + sb.append("\uff3c"); + sb.append("\214"); + sb.append("\uff3c"); + sb.append("\215"); + sb.append("\uff3c"); + sb.append("\217"); + sb.append("\uff3c"); + sb.append("\220"); + sb.append("\uff3c"); + sb.append("\221"); + sb.append("\uff3c"); + sb.append("\222"); + sb.append("\uff3c"); + sb.append("\223"); + sb.append("\uff3c"); + sb.append("\224"); + sb.append("\uff3c"); + sb.append("\225"); + sb.append("\uff3c"); + sb.append("\231"); + sb.append("\uff3c"); + sb.append("\234"); + sb.append("\uff3c"); + sb.append("\235"); + sb.append("\uff3c"); + sb.append("\236"); + sb.append("\uff3c"); + sb.append("\237"); + sb.append("\uff3c"); + sb.append("\241"); + sb.append("\uff3c"); + sb.append("\250"); + sb.append("\uff3c"); + sb.append("\251"); + sb.append("\uff3c"); + sb.append("\253"); + sb.append("\uff3c"); + sb.append("\254"); + sb.append("\uff3c"); + sb.append("\255"); + sb.append("\uff3c"); + sb.append("\256"); + sb.append("\uff3c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\010"); + sb.append("\u044b"); + sb.append("\121"); + sb.append("\u0447"); + sb.append("\255"); + sb.append("\u0448"); + sb.append("\256"); + sb.append("\u044d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\111"); + sb.append("\u0450"); + sb.append("\127"); + sb.append("\u044f"); + sb.append("\151"); + sb.append("\u0452"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\uff2d"); + sb.append("\045"); + sb.append("\uff2d"); + sb.append("\046"); + sb.append("\uff2d"); + sb.append("\056"); + sb.append("\uff2d"); + sb.append("\060"); + sb.append("\uff2d"); + sb.append("\112"); + sb.append("\uff2d"); + sb.append("\120"); + sb.append("\uff2d"); + sb.append("\223"); + sb.append("\uff2d"); + sb.append("\224"); + sb.append("\uff2d"); + sb.append("\225"); + sb.append("\uff2d"); + sb.append("\226"); + sb.append("\uff2d"); + sb.append("\227"); + sb.append("\uff2d"); + sb.append("\230"); + sb.append("\uff2d"); + sb.append("\250"); + sb.append("\uff2d"); + sb.append("\251"); + sb.append("\uff2d"); + sb.append("\257"); + sb.append("\uff2d"); + sb.append("\260"); + sb.append("\uff2d"); + sb.append("\261"); + sb.append("\uff2d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\uff2f"); + sb.append("\045"); + sb.append("\uff2f"); + sb.append("\046"); + sb.append("\uff2f"); + sb.append("\056"); + sb.append("\uff2f"); + sb.append("\060"); + sb.append("\uff2f"); + sb.append("\112"); + sb.append("\uff2f"); + sb.append("\120"); + sb.append("\uff2f"); + sb.append("\223"); + sb.append("\uff2f"); + sb.append("\224"); + sb.append("\uff2f"); + sb.append("\225"); + sb.append("\uff2f"); + sb.append("\226"); + sb.append("\uff2f"); + sb.append("\227"); + sb.append("\uff2f"); + sb.append("\230"); + sb.append("\uff2f"); + sb.append("\250"); + sb.append("\uff2f"); + sb.append("\251"); + sb.append("\uff2f"); + sb.append("\257"); + sb.append("\uff2f"); + sb.append("\260"); + sb.append("\uff2f"); + sb.append("\261"); + sb.append("\uff2f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe34"); + sb.append("\073"); + sb.append("\ufe34"); + sb.append("\112"); + sb.append("\ufe34"); + sb.append("\127"); + sb.append("\ufe34"); + sb.append("\130"); + sb.append("\ufe34"); + sb.append("\131"); + sb.append("\ufe34"); + sb.append("\132"); + sb.append("\ufe34"); sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\151"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\152"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\153"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\154"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\155"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\156"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\157"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\160"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\161"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\162"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\163"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\164"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\165"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\166"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\167"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\170"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\171"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\172"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\173"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\174"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\175"); - sb.append("\ufd3b"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd3b"); - sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); - sb.append("\231"); - sb.append("\ufd3b"); + sb.append("\ufe34"); + sb.append("\216"); + sb.append("\ufe34"); sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); + sb.append("\ufe34"); + sb.append("\233"); + sb.append("\ufe34"); sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); + sb.append("\ufe34"); sb.append("\246"); - sb.append("\ufd3b"); + sb.append("\ufe34"); + sb.append("\252"); + sb.append("\ufe34"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\244"); + sb.append("\004"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\010"); + sb.append("\u016d"); + sb.append("\012"); + sb.append("\075"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); + sb.append("\045"); + sb.append("\u018f"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u01a8"); + sb.append("\063"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u01a9"); + sb.append("\075"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0166"); + sb.append("\100"); + sb.append("\u0194"); + sb.append("\101"); + sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); + sb.append("\103"); + sb.append("\u019e"); + sb.append("\104"); + sb.append("\u015d"); + sb.append("\111"); + sb.append("\u02b0"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u019c"); + sb.append("\116"); + sb.append("\u0170"); + sb.append("\121"); + sb.append("\u017a"); + sb.append("\122"); + sb.append("\u0169"); + sb.append("\123"); + sb.append("\u0183"); + sb.append("\124"); + sb.append("\u0176"); + sb.append("\125"); + sb.append("\u019b"); + sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\234"); + sb.append("\152"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); sb.append("\251"); - sb.append("\ufd3b"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\033"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\071"); - sb.append("\u02a5"); + sb.append("\ufd34"); sb.append("\072"); - sb.append("\u02a2"); + sb.append("\ufd34"); sb.append("\073"); - sb.append("\ufd49"); + sb.append("\ufd34"); + sb.append("\111"); + sb.append("\ufd34"); sb.append("\112"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\113"); - sb.append("\u02a3"); + sb.append("\ufd34"); sb.append("\127"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\130"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\131"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\132"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\134"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\135"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\136"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\137"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\140"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\141"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\142"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\143"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\144"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\145"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\146"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\147"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\150"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\151"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\152"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\153"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\154"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\155"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\156"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\157"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\160"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\161"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\162"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\163"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\164"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\165"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\166"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\167"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\170"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\171"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\172"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\173"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\174"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\175"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\176"); - sb.append("\ufd49"); - sb.append("\201"); - sb.append("\ufd49"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); sb.append("\202"); - sb.append("\ufd49"); + sb.append("\ufd34"); sb.append("\203"); - sb.append("\ufd49"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); sb.append("\215"); - sb.append("\ufd49"); - sb.append("\230"); - sb.append("\ufd49"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); sb.append("\231"); - sb.append("\ufd49"); + sb.append("\u029f"); sb.append("\232"); - sb.append("\ufd49"); - sb.append("\242"); - sb.append("\ufd49"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); sb.append("\243"); - sb.append("\ufd49"); - sb.append("\245"); - sb.append("\ufd49"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); sb.append("\246"); - sb.append("\ufd49"); - sb.append("\251"); - sb.append("\ufd49"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u05b2"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\071"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\072"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\073"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\111"); - sb.append("\ufdeb"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\113"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\127"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\134"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\135"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\136"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\137"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\140"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\141"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\142"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\143"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\144"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\145"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\146"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\147"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\150"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\152"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\153"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\154"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\155"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\156"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\157"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\161"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\162"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\163"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\164"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\165"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\166"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\167"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\170"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\171"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\174"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\175"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\176"); - sb.append("\ufdeb"); - sb.append("\201"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); sb.append("\202"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\203"); - sb.append("\ufdeb"); - sb.append("\214"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); sb.append("\215"); - sb.append("\ufdeb"); - sb.append("\230"); - sb.append("\ufdeb"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); sb.append("\231"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); sb.append("\232"); - sb.append("\ufdeb"); - sb.append("\242"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); sb.append("\243"); - sb.append("\ufdeb"); - sb.append("\245"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); sb.append("\246"); - sb.append("\ufdeb"); - sb.append("\251"); - sb.append("\ufdeb"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\033"); - sb.append("\ufe1b"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); sb.append("\073"); - sb.append("\ufe1b"); + sb.append("\ufd39"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufe1b"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); sb.append("\127"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\130"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\131"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\132"); - sb.append("\ufe1b"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); sb.append("\150"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\151"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\152"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\153"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\154"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\155"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\156"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\157"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\160"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\161"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\162"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\163"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\164"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\165"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\166"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\167"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\170"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\171"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\172"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\173"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\174"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\175"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\176"); - sb.append("\ufe1b"); - sb.append("\201"); - sb.append("\ufe1b"); + sb.append("\ufd39"); + sb.append("\177"); + sb.append("\ufd39"); + sb.append("\202"); + sb.append("\ufd39"); + sb.append("\203"); + sb.append("\ufd39"); + sb.append("\204"); + sb.append("\ufd39"); sb.append("\215"); - sb.append("\ufe1b"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd39"); sb.append("\231"); - sb.append("\ufe1b"); + sb.append("\ufd39"); sb.append("\232"); - sb.append("\ufe1b"); - sb.append("\242"); - sb.append("\ufe1b"); - sb.append("\245"); - sb.append("\ufe1b"); - sb.append("\251"); - sb.append("\ufe1b"); + sb.append("\ufd39"); + sb.append("\233"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); + sb.append("\247"); + sb.append("\ufd39"); + sb.append("\252"); + sb.append("\ufd39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\170"); sb.append("\031"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\033"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\071"); - sb.append("\ufd20"); + sb.append("\u02a9"); sb.append("\072"); - sb.append("\ufd20"); + sb.append("\u02a6"); sb.append("\073"); - sb.append("\ufd20"); - sb.append("\111"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\112"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\113"); - sb.append("\ufd20"); + sb.append("\u02a7"); sb.append("\127"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\130"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\131"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\132"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\134"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\135"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\136"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\137"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\140"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\141"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\142"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\143"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\144"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\145"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\146"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\147"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\150"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\151"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\152"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\153"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\154"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\155"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\156"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\157"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\160"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\161"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\162"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\163"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\164"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\165"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\166"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\167"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\170"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\171"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\172"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\173"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\174"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\175"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\176"); - sb.append("\ufd20"); - sb.append("\201"); - sb.append("\ufd20"); + sb.append("\ufd46"); + sb.append("\177"); + sb.append("\ufd46"); sb.append("\202"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\203"); - sb.append("\ufd20"); - sb.append("\214"); - sb.append("\ufd20"); - sb.append("\215"); - sb.append("\ufd20"); - sb.append("\230"); - sb.append("\ufd20"); + sb.append("\ufd46"); + sb.append("\204"); + sb.append("\ufd46"); + sb.append("\216"); + sb.append("\ufd46"); sb.append("\231"); - sb.append("\ufd20"); + sb.append("\ufd46"); sb.append("\232"); - sb.append("\ufd20"); - sb.append("\242"); - sb.append("\ufd20"); + sb.append("\ufd46"); + sb.append("\233"); + sb.append("\ufd46"); sb.append("\243"); - sb.append("\ufd20"); - sb.append("\245"); - sb.append("\ufd20"); + sb.append("\ufd46"); + sb.append("\244"); + sb.append("\ufd46"); sb.append("\246"); - sb.append("\ufd20"); - sb.append("\251"); - sb.append("\ufd20"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\067"); - sb.append("\u05b7"); - sb.append("\111"); - sb.append("\uff22"); + sb.append("\ufd46"); + sb.append("\247"); + sb.append("\ufd46"); + sb.append("\252"); + sb.append("\ufd46"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\111"); - sb.append("\u05b9"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe18"); + sb.append("\033"); + sb.append("\ufe18"); + sb.append("\073"); + sb.append("\ufe18"); + sb.append("\112"); + sb.append("\ufe18"); + sb.append("\127"); + sb.append("\ufe18"); + sb.append("\130"); + sb.append("\ufe18"); + sb.append("\131"); + sb.append("\ufe18"); + sb.append("\132"); + sb.append("\ufe18"); + sb.append("\150"); + sb.append("\ufe18"); + sb.append("\151"); + sb.append("\ufe18"); + sb.append("\152"); + sb.append("\ufe18"); + sb.append("\153"); + sb.append("\ufe18"); + sb.append("\154"); + sb.append("\ufe18"); + sb.append("\155"); + sb.append("\ufe18"); + sb.append("\156"); + sb.append("\ufe18"); + sb.append("\157"); + sb.append("\ufe18"); + sb.append("\160"); + sb.append("\ufe18"); + sb.append("\161"); + sb.append("\ufe18"); + sb.append("\162"); + sb.append("\ufe18"); + sb.append("\163"); + sb.append("\ufe18"); + sb.append("\164"); + sb.append("\ufe18"); + sb.append("\165"); + sb.append("\ufe18"); + sb.append("\166"); + sb.append("\ufe18"); + sb.append("\167"); + sb.append("\ufe18"); + sb.append("\170"); + sb.append("\ufe18"); + sb.append("\171"); + sb.append("\ufe18"); + sb.append("\172"); + sb.append("\ufe18"); + sb.append("\173"); + sb.append("\ufe18"); + sb.append("\174"); + sb.append("\ufe18"); + sb.append("\175"); + sb.append("\ufe18"); + sb.append("\176"); + sb.append("\ufe18"); + sb.append("\177"); + sb.append("\ufe18"); + sb.append("\202"); + sb.append("\ufe18"); + sb.append("\216"); + sb.append("\ufe18"); + sb.append("\232"); + sb.append("\ufe18"); + sb.append("\233"); + sb.append("\ufe18"); + sb.append("\243"); + sb.append("\ufe18"); + sb.append("\246"); + sb.append("\ufe18"); + sb.append("\252"); + sb.append("\ufe18"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\014"); - sb.append("\010"); - sb.append("\244"); - sb.append("\121"); - sb.append("\237"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\u0557"); + sb.append("\107"); + sb.append("\u0556"); + sb.append("\110"); + sb.append("\u0554"); + sb.append("\236"); + sb.append("\u05ac"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\uff21"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe15"); + sb.append("\033"); + sb.append("\ufe15"); + sb.append("\073"); + sb.append("\ufe15"); + sb.append("\112"); + sb.append("\ufe15"); sb.append("\127"); + sb.append("\ufe15"); + sb.append("\130"); + sb.append("\ufe15"); + sb.append("\131"); + sb.append("\ufe15"); + sb.append("\132"); + sb.append("\ufe15"); + sb.append("\150"); + sb.append("\ufe15"); + sb.append("\151"); + sb.append("\ufe15"); + sb.append("\152"); + sb.append("\ufe15"); + sb.append("\153"); + sb.append("\ufe15"); + sb.append("\154"); + sb.append("\ufe15"); + sb.append("\155"); + sb.append("\ufe15"); + sb.append("\156"); + sb.append("\ufe15"); + sb.append("\157"); + sb.append("\ufe15"); + sb.append("\160"); + sb.append("\ufe15"); + sb.append("\161"); + sb.append("\ufe15"); + sb.append("\162"); + sb.append("\ufe15"); + sb.append("\163"); + sb.append("\ufe15"); + sb.append("\164"); + sb.append("\ufe15"); + sb.append("\165"); + sb.append("\ufe15"); + sb.append("\166"); + sb.append("\ufe15"); + sb.append("\167"); + sb.append("\ufe15"); + sb.append("\170"); + sb.append("\ufe15"); + sb.append("\171"); + sb.append("\ufe15"); + sb.append("\172"); + sb.append("\ufe15"); + sb.append("\173"); + sb.append("\ufe15"); + sb.append("\174"); + sb.append("\ufe15"); + sb.append("\175"); + sb.append("\ufe15"); + sb.append("\176"); + sb.append("\ufe15"); + sb.append("\177"); + sb.append("\ufe15"); + sb.append("\202"); + sb.append("\ufe15"); + sb.append("\216"); + sb.append("\ufe15"); + sb.append("\232"); + sb.append("\ufe15"); + sb.append("\233"); + sb.append("\ufe15"); + sb.append("\243"); + sb.append("\ufe15"); sb.append("\246"); + sb.append("\ufe15"); + sb.append("\252"); + sb.append("\ufe15"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\040"); - sb.append("\045"); - sb.append("\uff39"); - sb.append("\046"); - sb.append("\uff39"); - sb.append("\112"); - sb.append("\uff39"); - sb.append("\120"); - sb.append("\uff39"); - sb.append("\222"); - sb.append("\uff39"); - sb.append("\223"); - sb.append("\uff39"); - sb.append("\224"); - sb.append("\uff39"); - sb.append("\225"); - sb.append("\uff39"); - sb.append("\226"); - sb.append("\uff39"); - sb.append("\227"); - sb.append("\uff39"); - sb.append("\247"); - sb.append("\uff39"); - sb.append("\250"); - sb.append("\uff39"); - sb.append("\256"); - sb.append("\uff39"); - sb.append("\257"); - sb.append("\uff39"); - sb.append("\260"); - sb.append("\uff39"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\040"); - sb.append("\045"); - sb.append("\ufe84"); - sb.append("\046"); - sb.append("\ufe88"); - sb.append("\112"); - sb.append("\u05c1"); sb.append("\120"); - sb.append("\u05c0"); - sb.append("\222"); - sb.append("\303"); - sb.append("\223"); - sb.append("\264"); - sb.append("\224"); - sb.append("\265"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\045"); - sb.append("\u05c6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\046"); - sb.append("\u0479"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\040"); - sb.append("\045"); - sb.append("\uff3a"); - sb.append("\046"); - sb.append("\uff3a"); + sb.append("\031"); + sb.append("\ufe31"); + sb.append("\033"); + sb.append("\ufe31"); + sb.append("\073"); + sb.append("\ufe31"); sb.append("\112"); - sb.append("\uff3a"); - sb.append("\120"); - sb.append("\uff3a"); - sb.append("\222"); - sb.append("\uff3a"); - sb.append("\223"); - sb.append("\uff3a"); - sb.append("\224"); - sb.append("\uff3a"); - sb.append("\225"); - sb.append("\uff3a"); - sb.append("\226"); - sb.append("\uff3a"); - sb.append("\227"); - sb.append("\uff3a"); - sb.append("\247"); - sb.append("\uff3a"); - sb.append("\250"); - sb.append("\uff3a"); - sb.append("\256"); - sb.append("\uff3a"); - sb.append("\257"); - sb.append("\uff3a"); - sb.append("\260"); - sb.append("\uff3a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\045"); - sb.append("\ufe84"); - sb.append("\046"); - sb.append("\ufe88"); - sb.append("\222"); - sb.append("\303"); - sb.append("\223"); - sb.append("\264"); - sb.append("\224"); - sb.append("\265"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\032"); - sb.append("\045"); - sb.append("\ufe83"); - sb.append("\046"); - sb.append("\ufe87"); - sb.append("\222"); - sb.append("\303"); - sb.append("\223"); - sb.append("\264"); - sb.append("\224"); - sb.append("\265"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\250"); - sb.append("\254"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\040"); - sb.append("\045"); - sb.append("\uff34"); - sb.append("\046"); - sb.append("\uff34"); - sb.append("\112"); - sb.append("\uff34"); - sb.append("\120"); - sb.append("\uff34"); - sb.append("\222"); - sb.append("\uff34"); - sb.append("\223"); - sb.append("\uff34"); - sb.append("\224"); - sb.append("\uff34"); - sb.append("\225"); - sb.append("\uff34"); - sb.append("\226"); - sb.append("\uff34"); - sb.append("\227"); - sb.append("\uff34"); - sb.append("\247"); - sb.append("\uff34"); - sb.append("\250"); - sb.append("\uff34"); - sb.append("\256"); - sb.append("\uff34"); - sb.append("\257"); - sb.append("\uff34"); - sb.append("\260"); - sb.append("\uff34"); + sb.append("\ufe31"); + sb.append("\127"); + sb.append("\ufe31"); + sb.append("\130"); + sb.append("\ufe31"); + sb.append("\131"); + sb.append("\ufe31"); + sb.append("\132"); + sb.append("\ufe31"); + sb.append("\150"); + sb.append("\ufe31"); + sb.append("\151"); + sb.append("\ufe31"); + sb.append("\152"); + sb.append("\ufe31"); + sb.append("\153"); + sb.append("\ufe31"); + sb.append("\154"); + sb.append("\ufe31"); + sb.append("\155"); + sb.append("\ufe31"); + sb.append("\156"); + sb.append("\ufe31"); + sb.append("\157"); + sb.append("\ufe31"); + sb.append("\160"); + sb.append("\ufe31"); + sb.append("\161"); + sb.append("\ufe31"); + sb.append("\162"); + sb.append("\ufe31"); + sb.append("\163"); + sb.append("\ufe31"); + sb.append("\164"); + sb.append("\ufe31"); + sb.append("\165"); + sb.append("\ufe31"); + sb.append("\166"); + sb.append("\ufe31"); + sb.append("\167"); + sb.append("\ufe31"); + sb.append("\170"); + sb.append("\ufe31"); + sb.append("\171"); + sb.append("\ufe31"); + sb.append("\172"); + sb.append("\ufe31"); + sb.append("\173"); + sb.append("\ufe31"); + sb.append("\174"); + sb.append("\ufe31"); + sb.append("\175"); + sb.append("\ufe31"); + sb.append("\176"); + sb.append("\ufe31"); + sb.append("\177"); + sb.append("\ufe31"); + sb.append("\202"); + sb.append("\ufe31"); + sb.append("\216"); + sb.append("\ufe31"); + sb.append("\232"); + sb.append("\ufe31"); + sb.append("\233"); + sb.append("\ufe31"); + sb.append("\243"); + sb.append("\ufe31"); + sb.append("\246"); + sb.append("\ufe31"); + sb.append("\252"); + sb.append("\ufe31"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff3d"); + sb.append("\344"); sb.append("\003"); - sb.append("\uff3d"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\uff3d"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\uff3d"); + sb.append("\u01ae"); sb.append("\006"); - sb.append("\uff3d"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff3d"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff3d"); + sb.append("\u0226"); sb.append("\011"); - sb.append("\uff3d"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff3d"); - sb.append("\014"); - sb.append("\uff3d"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff3d"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff3d"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff3d"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\uff3d"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\uff3d"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\uff3d"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\uff3d"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\uff3d"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\uff3d"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\uff3d"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\uff3d"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\uff3d"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\uff3d"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\uff3d"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\uff3d"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\uff3d"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\uff3d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\uff3d"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\uff3d"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\uff3d"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\uff3d"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\uff3d"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\uff3d"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\uff3d"); + sb.append("\u019f"); sb.append("\047"); - sb.append("\uff3d"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\uff3d"); - sb.append("\051"); - sb.append("\uff3d"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\uff3d"); - sb.append("\054"); - sb.append("\uff3d"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\uff3d"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\uff3d"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\uff3d"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\uff3d"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\uff3d"); - sb.append("\064"); - sb.append("\uff3d"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\uff3d"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\uff3d"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\uff3d"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\uff3d"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\uff3d"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\uff3d"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\uff3d"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\uff3d"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\uff3d"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\uff3d"); + sb.append("\u0216"); sb.append("\105"); - sb.append("\uff3d"); - sb.append("\111"); - sb.append("\uff3d"); - sb.append("\112"); - sb.append("\uff3d"); + sb.append("\141"); sb.append("\114"); - sb.append("\uff3d"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\uff3d"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\uff3d"); - sb.append("\120"); - sb.append("\uff3d"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\uff3d"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\uff3d"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\uff3d"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\uff3d"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\uff3d"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\uff3d"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\uff3d"); - sb.append("\151"); - sb.append("\uff3d"); - sb.append("\172"); - sb.append("\uff3d"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); - sb.append("\uff3d"); - sb.append("\177"); - sb.append("\uff3d"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff3d"); - sb.append("\202"); - sb.append("\uff3d"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff3d"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff3d"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff3d"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff3d"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff3d"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff3d"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff3d"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff3d"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff3d"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff3d"); - sb.append("\216"); - sb.append("\uff3d"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff3d"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\uff3d"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\uff3d"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\uff3d"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\uff3d"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\uff3d"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\uff3d"); - sb.append("\233"); - sb.append("\uff3d"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); sb.append("\234"); - sb.append("\uff3d"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff3d"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff3d"); - sb.append("\240"); - sb.append("\uff3d"); - sb.append("\247"); - sb.append("\uff3d"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\uff3d"); - sb.append("\252"); - sb.append("\uff3d"); - sb.append("\253"); - sb.append("\uff3d"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\uff3d"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff3d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\040"); - sb.append("\045"); - sb.append("\uff36"); - sb.append("\046"); - sb.append("\uff36"); - sb.append("\112"); - sb.append("\uff36"); - sb.append("\120"); - sb.append("\uff36"); - sb.append("\222"); - sb.append("\uff36"); - sb.append("\223"); - sb.append("\uff36"); - sb.append("\224"); - sb.append("\uff36"); - sb.append("\225"); - sb.append("\uff36"); - sb.append("\226"); - sb.append("\uff36"); - sb.append("\227"); - sb.append("\uff36"); - sb.append("\247"); - sb.append("\uff36"); - sb.append("\250"); - sb.append("\uff36"); + sb.append("\064"); sb.append("\256"); - sb.append("\uff36"); - sb.append("\257"); - sb.append("\uff36"); - sb.append("\260"); - sb.append("\uff36"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\244"); + sb.append("\004"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\010"); + sb.append("\u016d"); + sb.append("\012"); + sb.append("\075"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\uff35"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\uff35"); - sb.append("\112"); - sb.append("\uff35"); - sb.append("\120"); - sb.append("\uff35"); - sb.append("\222"); - sb.append("\uff35"); - sb.append("\223"); - sb.append("\uff35"); - sb.append("\224"); - sb.append("\uff35"); - sb.append("\225"); - sb.append("\uff35"); - sb.append("\226"); - sb.append("\uff35"); - sb.append("\227"); - sb.append("\uff35"); - sb.append("\247"); - sb.append("\uff35"); - sb.append("\250"); - sb.append("\uff35"); - sb.append("\256"); - sb.append("\uff35"); - sb.append("\257"); - sb.append("\uff35"); - sb.append("\260"); - sb.append("\uff35"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u047b"); - sb.append("\151"); - sb.append("\u05c5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\040"); - sb.append("\045"); - sb.append("\uff38"); - sb.append("\046"); - sb.append("\uff38"); - sb.append("\112"); - sb.append("\uff38"); - sb.append("\120"); - sb.append("\uff38"); - sb.append("\222"); - sb.append("\uff38"); - sb.append("\223"); - sb.append("\uff38"); - sb.append("\224"); - sb.append("\uff38"); - sb.append("\225"); - sb.append("\uff38"); - sb.append("\226"); - sb.append("\uff38"); - sb.append("\227"); - sb.append("\uff38"); - sb.append("\247"); - sb.append("\uff38"); - sb.append("\250"); - sb.append("\uff38"); - sb.append("\256"); - sb.append("\uff38"); - sb.append("\257"); - sb.append("\uff38"); - sb.append("\260"); - sb.append("\uff38"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\242"); - sb.append("\004"); - sb.append("\uff43"); - sb.append("\005"); - sb.append("\uff43"); - sb.append("\010"); - sb.append("\uff43"); - sb.append("\017"); - sb.append("\uff43"); - sb.append("\020"); - sb.append("\uff43"); - sb.append("\021"); - sb.append("\uff43"); - sb.append("\022"); - sb.append("\uff43"); - sb.append("\023"); - sb.append("\uff43"); - sb.append("\024"); - sb.append("\uff43"); - sb.append("\025"); - sb.append("\uff43"); - sb.append("\026"); - sb.append("\uff43"); - sb.append("\027"); - sb.append("\uff43"); - sb.append("\030"); - sb.append("\uff43"); - sb.append("\031"); - sb.append("\uff43"); - sb.append("\032"); - sb.append("\uff43"); - sb.append("\033"); - sb.append("\uff43"); - sb.append("\034"); - sb.append("\uff43"); - sb.append("\035"); - sb.append("\uff43"); - sb.append("\036"); - sb.append("\uff43"); - sb.append("\037"); - sb.append("\uff43"); - sb.append("\040"); - sb.append("\uff43"); - sb.append("\041"); - sb.append("\uff43"); - sb.append("\042"); - sb.append("\uff43"); - sb.append("\043"); - sb.append("\uff43"); - sb.append("\044"); - sb.append("\uff43"); - sb.append("\045"); - sb.append("\uff43"); - sb.append("\046"); - sb.append("\uff43"); + sb.append("\u019f"); sb.append("\047"); - sb.append("\uff43"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\uff43"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\uff43"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\uff43"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\uff43"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\uff43"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\uff43"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\uff43"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\uff43"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\uff43"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\uff43"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\uff43"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\uff43"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\uff43"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\uff43"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\uff43"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\uff43"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\uff43"); + sb.append("\u0163"); sb.append("\076"); - sb.append("\uff43"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\uff43"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\uff43"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\uff43"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\uff43"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\uff43"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\uff43"); + sb.append("\u015d"); + sb.append("\111"); + sb.append("\u02b0"); sb.append("\114"); - sb.append("\uff43"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\uff43"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\uff43"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\uff43"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\uff43"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\uff43"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\uff43"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\uff43"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\uff43"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\uff43"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\uff43"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\uff43"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\uff43"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\216"); - sb.append("\uff43"); + sb.append("\u017f"); sb.append("\217"); - sb.append("\uff43"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\uff43"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\uff43"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\uff43"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\uff43"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\uff43"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\uff43"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\uff43"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\uff43"); - sb.append("\240"); - sb.append("\uff43"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\234"); + sb.append("\152"); sb.append("\241"); - sb.append("\uff43"); - sb.append("\250"); - sb.append("\uff43"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); sb.append("\251"); - sb.append("\u0227"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\236"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\010"); - sb.append("\u016b"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufdeb"); + sb.append("\033"); + sb.append("\ufdeb"); + sb.append("\071"); + sb.append("\ufdeb"); + sb.append("\072"); + sb.append("\ufdeb"); + sb.append("\073"); + sb.append("\ufdeb"); + sb.append("\111"); + sb.append("\ufdeb"); + sb.append("\112"); + sb.append("\ufdeb"); + sb.append("\113"); + sb.append("\ufdeb"); + sb.append("\127"); + sb.append("\ufdeb"); + sb.append("\130"); + sb.append("\ufdeb"); + sb.append("\131"); + sb.append("\ufdeb"); + sb.append("\132"); + sb.append("\ufdeb"); + sb.append("\134"); + sb.append("\ufdeb"); + sb.append("\135"); + sb.append("\ufdeb"); + sb.append("\136"); + sb.append("\ufdeb"); + sb.append("\137"); + sb.append("\ufdeb"); + sb.append("\140"); + sb.append("\ufdeb"); + sb.append("\141"); + sb.append("\ufdeb"); + sb.append("\142"); + sb.append("\ufdeb"); + sb.append("\143"); + sb.append("\ufdeb"); + sb.append("\144"); + sb.append("\ufdeb"); + sb.append("\145"); + sb.append("\ufdeb"); + sb.append("\146"); + sb.append("\ufdeb"); + sb.append("\147"); + sb.append("\ufdeb"); + sb.append("\150"); + sb.append("\ufdeb"); + sb.append("\151"); + sb.append("\ufdeb"); + sb.append("\152"); + sb.append("\ufdeb"); + sb.append("\153"); + sb.append("\ufdeb"); + sb.append("\154"); + sb.append("\ufdeb"); + sb.append("\155"); + sb.append("\ufdeb"); + sb.append("\156"); + sb.append("\ufdeb"); + sb.append("\157"); + sb.append("\ufdeb"); + sb.append("\160"); + sb.append("\ufdeb"); + sb.append("\161"); + sb.append("\ufdeb"); + sb.append("\162"); + sb.append("\ufdeb"); + sb.append("\163"); + sb.append("\ufdeb"); + sb.append("\164"); + sb.append("\ufdeb"); + sb.append("\165"); + sb.append("\ufdeb"); + sb.append("\166"); + sb.append("\ufdeb"); + sb.append("\167"); + sb.append("\ufdeb"); + sb.append("\170"); + sb.append("\ufdeb"); + sb.append("\171"); + sb.append("\ufdeb"); + sb.append("\172"); + sb.append("\ufdeb"); + sb.append("\173"); + sb.append("\ufdeb"); + sb.append("\174"); + sb.append("\ufdeb"); + sb.append("\175"); + sb.append("\ufdeb"); + sb.append("\176"); + sb.append("\ufdeb"); + sb.append("\177"); + sb.append("\ufdeb"); + sb.append("\202"); + sb.append("\ufdeb"); + sb.append("\203"); + sb.append("\ufdeb"); + sb.append("\204"); + sb.append("\ufdeb"); + sb.append("\215"); + sb.append("\ufdeb"); + sb.append("\216"); + sb.append("\ufdeb"); + sb.append("\231"); + sb.append("\ufdeb"); + sb.append("\232"); + sb.append("\ufdeb"); + sb.append("\233"); + sb.append("\ufdeb"); + sb.append("\243"); + sb.append("\ufdeb"); + sb.append("\244"); + sb.append("\ufdeb"); + sb.append("\246"); + sb.append("\ufdeb"); + sb.append("\247"); + sb.append("\ufdeb"); + sb.append("\252"); + sb.append("\ufdeb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd34"); + sb.append("\033"); + sb.append("\ufd34"); + sb.append("\071"); + sb.append("\ufd34"); + sb.append("\072"); + sb.append("\ufd34"); + sb.append("\073"); + sb.append("\ufd34"); + sb.append("\111"); + sb.append("\ufd34"); + sb.append("\112"); + sb.append("\ufd34"); + sb.append("\113"); + sb.append("\ufd34"); + sb.append("\127"); + sb.append("\ufd34"); + sb.append("\130"); + sb.append("\ufd34"); + sb.append("\131"); + sb.append("\ufd34"); + sb.append("\132"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); + sb.append("\150"); + sb.append("\ufd34"); + sb.append("\151"); + sb.append("\ufd34"); + sb.append("\152"); + sb.append("\ufd34"); + sb.append("\153"); + sb.append("\ufd34"); + sb.append("\154"); + sb.append("\ufd34"); + sb.append("\155"); + sb.append("\ufd34"); + sb.append("\156"); + sb.append("\ufd34"); + sb.append("\157"); + sb.append("\ufd34"); + sb.append("\160"); + sb.append("\ufd34"); + sb.append("\161"); + sb.append("\ufd34"); + sb.append("\162"); + sb.append("\ufd34"); + sb.append("\163"); + sb.append("\ufd34"); + sb.append("\164"); + sb.append("\ufd34"); + sb.append("\165"); + sb.append("\ufd34"); + sb.append("\166"); + sb.append("\ufd34"); + sb.append("\167"); + sb.append("\ufd34"); + sb.append("\170"); + sb.append("\ufd34"); + sb.append("\171"); + sb.append("\ufd34"); + sb.append("\172"); + sb.append("\ufd34"); + sb.append("\173"); + sb.append("\ufd34"); + sb.append("\174"); + sb.append("\ufd34"); + sb.append("\175"); + sb.append("\ufd34"); + sb.append("\176"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); + sb.append("\215"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); + sb.append("\231"); + sb.append("\u029f"); + sb.append("\232"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd2d"); + sb.append("\033"); + sb.append("\ufd2d"); + sb.append("\071"); + sb.append("\ufd2d"); + sb.append("\072"); + sb.append("\ufd2d"); + sb.append("\073"); + sb.append("\ufd2d"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd2d"); + sb.append("\113"); + sb.append("\ufd2d"); + sb.append("\127"); + sb.append("\ufd2d"); + sb.append("\130"); + sb.append("\ufd2d"); + sb.append("\131"); + sb.append("\ufd2d"); + sb.append("\132"); + sb.append("\ufd2d"); + sb.append("\134"); + sb.append("\ufd2d"); + sb.append("\135"); + sb.append("\ufd2d"); + sb.append("\136"); + sb.append("\ufd2d"); + sb.append("\137"); + sb.append("\ufd2d"); + sb.append("\140"); + sb.append("\ufd2d"); + sb.append("\141"); + sb.append("\ufd2d"); + sb.append("\142"); + sb.append("\ufd2d"); + sb.append("\143"); + sb.append("\ufd2d"); + sb.append("\144"); + sb.append("\ufd2d"); + sb.append("\145"); + sb.append("\ufd2d"); + sb.append("\146"); + sb.append("\ufd2d"); + sb.append("\147"); + sb.append("\ufd2d"); + sb.append("\150"); + sb.append("\ufd2d"); + sb.append("\151"); + sb.append("\ufd2d"); + sb.append("\152"); + sb.append("\ufd2d"); + sb.append("\153"); + sb.append("\ufd2d"); + sb.append("\154"); + sb.append("\ufd2d"); + sb.append("\155"); + sb.append("\ufd2d"); + sb.append("\156"); + sb.append("\ufd2d"); + sb.append("\157"); + sb.append("\ufd2d"); + sb.append("\160"); + sb.append("\ufd2d"); + sb.append("\161"); + sb.append("\ufd2d"); + sb.append("\162"); + sb.append("\ufd2d"); + sb.append("\163"); + sb.append("\ufd2d"); + sb.append("\164"); + sb.append("\ufd2d"); + sb.append("\165"); + sb.append("\ufd2d"); + sb.append("\166"); + sb.append("\ufd2d"); + sb.append("\167"); + sb.append("\ufd2d"); + sb.append("\170"); + sb.append("\ufd2d"); + sb.append("\171"); + sb.append("\ufd2d"); + sb.append("\172"); + sb.append("\ufd2d"); + sb.append("\173"); + sb.append("\ufd2d"); + sb.append("\174"); + sb.append("\ufd2d"); + sb.append("\175"); + sb.append("\ufd2d"); + sb.append("\176"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); + sb.append("\202"); + sb.append("\ufd2d"); + sb.append("\203"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); + sb.append("\231"); + sb.append("\ufd2d"); + sb.append("\232"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); + sb.append("\243"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); + sb.append("\246"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd39"); + sb.append("\033"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); + sb.append("\073"); + sb.append("\ufd39"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); + sb.append("\127"); + sb.append("\ufd39"); + sb.append("\130"); + sb.append("\ufd39"); + sb.append("\131"); + sb.append("\ufd39"); + sb.append("\132"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); + sb.append("\150"); + sb.append("\ufd39"); + sb.append("\151"); + sb.append("\ufd39"); + sb.append("\152"); + sb.append("\ufd39"); + sb.append("\153"); + sb.append("\ufd39"); + sb.append("\154"); + sb.append("\ufd39"); + sb.append("\155"); + sb.append("\ufd39"); + sb.append("\156"); + sb.append("\ufd39"); + sb.append("\157"); + sb.append("\ufd39"); + sb.append("\160"); + sb.append("\ufd39"); + sb.append("\161"); + sb.append("\ufd39"); + sb.append("\162"); + sb.append("\ufd39"); + sb.append("\163"); + sb.append("\ufd39"); + sb.append("\164"); + sb.append("\ufd39"); + sb.append("\165"); + sb.append("\ufd39"); + sb.append("\166"); + sb.append("\ufd39"); + sb.append("\167"); + sb.append("\ufd39"); + sb.append("\170"); + sb.append("\ufd39"); + sb.append("\171"); + sb.append("\ufd39"); + sb.append("\172"); + sb.append("\ufd39"); + sb.append("\173"); + sb.append("\ufd39"); + sb.append("\174"); + sb.append("\ufd39"); + sb.append("\175"); + sb.append("\ufd39"); + sb.append("\176"); + sb.append("\ufd39"); + sb.append("\177"); + sb.append("\ufd39"); + sb.append("\202"); + sb.append("\ufd39"); + sb.append("\203"); + sb.append("\ufd39"); + sb.append("\204"); + sb.append("\ufd39"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd39"); + sb.append("\231"); + sb.append("\ufd39"); + sb.append("\232"); + sb.append("\ufd39"); + sb.append("\233"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); + sb.append("\247"); + sb.append("\ufd39"); + sb.append("\252"); + sb.append("\ufd39"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\031"); + sb.append("\ufd47"); + sb.append("\033"); + sb.append("\ufd47"); + sb.append("\071"); + sb.append("\u02a9"); + sb.append("\072"); + sb.append("\u02a6"); + sb.append("\073"); + sb.append("\ufd47"); + sb.append("\112"); + sb.append("\ufd47"); + sb.append("\113"); + sb.append("\u02a7"); + sb.append("\127"); + sb.append("\ufd47"); + sb.append("\130"); + sb.append("\ufd47"); + sb.append("\131"); + sb.append("\ufd47"); + sb.append("\132"); + sb.append("\ufd47"); + sb.append("\134"); + sb.append("\ufd47"); + sb.append("\135"); + sb.append("\ufd47"); + sb.append("\136"); + sb.append("\ufd47"); + sb.append("\137"); + sb.append("\ufd47"); + sb.append("\140"); + sb.append("\ufd47"); + sb.append("\141"); + sb.append("\ufd47"); + sb.append("\142"); + sb.append("\ufd47"); + sb.append("\143"); + sb.append("\ufd47"); + sb.append("\144"); + sb.append("\ufd47"); + sb.append("\145"); + sb.append("\ufd47"); + sb.append("\146"); + sb.append("\ufd47"); + sb.append("\147"); + sb.append("\ufd47"); + sb.append("\150"); + sb.append("\ufd47"); + sb.append("\151"); + sb.append("\ufd47"); + sb.append("\152"); + sb.append("\ufd47"); + sb.append("\153"); + sb.append("\ufd47"); + sb.append("\154"); + sb.append("\ufd47"); + sb.append("\155"); + sb.append("\ufd47"); + sb.append("\156"); + sb.append("\ufd47"); + sb.append("\157"); + sb.append("\ufd47"); + sb.append("\160"); + sb.append("\ufd47"); + sb.append("\161"); + sb.append("\ufd47"); + sb.append("\162"); + sb.append("\ufd47"); + sb.append("\163"); + sb.append("\ufd47"); + sb.append("\164"); + sb.append("\ufd47"); + sb.append("\165"); + sb.append("\ufd47"); + sb.append("\166"); + sb.append("\ufd47"); + sb.append("\167"); + sb.append("\ufd47"); + sb.append("\170"); + sb.append("\ufd47"); + sb.append("\171"); + sb.append("\ufd47"); + sb.append("\172"); + sb.append("\ufd47"); + sb.append("\173"); + sb.append("\ufd47"); + sb.append("\174"); + sb.append("\ufd47"); + sb.append("\175"); + sb.append("\ufd47"); + sb.append("\176"); + sb.append("\ufd47"); + sb.append("\177"); + sb.append("\ufd47"); + sb.append("\202"); + sb.append("\ufd47"); + sb.append("\203"); + sb.append("\ufd47"); + sb.append("\204"); + sb.append("\ufd47"); + sb.append("\216"); + sb.append("\ufd47"); + sb.append("\231"); + sb.append("\ufd47"); + sb.append("\232"); + sb.append("\ufd47"); + sb.append("\233"); + sb.append("\ufd47"); + sb.append("\243"); + sb.append("\ufd47"); + sb.append("\244"); + sb.append("\ufd47"); + sb.append("\246"); + sb.append("\ufd47"); + sb.append("\247"); + sb.append("\ufd47"); + sb.append("\252"); + sb.append("\ufd47"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u05b6"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); + sb.append("\ufdea"); sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); - sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); - sb.append("\121"); - sb.append("\u0178"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); + sb.append("\ufdea"); + sb.append("\071"); + sb.append("\ufdea"); + sb.append("\072"); + sb.append("\ufdea"); + sb.append("\073"); + sb.append("\ufdea"); + sb.append("\111"); + sb.append("\ufdea"); + sb.append("\112"); + sb.append("\ufdea"); + sb.append("\113"); + sb.append("\ufdea"); + sb.append("\127"); + sb.append("\ufdea"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\ufdea"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\ufdea"); sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); + sb.append("\ufdea"); + sb.append("\134"); + sb.append("\ufdea"); + sb.append("\135"); + sb.append("\ufdea"); + sb.append("\136"); + sb.append("\ufdea"); + sb.append("\137"); + sb.append("\ufdea"); + sb.append("\140"); + sb.append("\ufdea"); + sb.append("\141"); + sb.append("\ufdea"); + sb.append("\142"); + sb.append("\ufdea"); + sb.append("\143"); + sb.append("\ufdea"); + sb.append("\144"); + sb.append("\ufdea"); + sb.append("\145"); + sb.append("\ufdea"); + sb.append("\146"); + sb.append("\ufdea"); + sb.append("\147"); + sb.append("\ufdea"); + sb.append("\150"); + sb.append("\ufdea"); + sb.append("\151"); + sb.append("\ufdea"); + sb.append("\152"); + sb.append("\ufdea"); + sb.append("\153"); + sb.append("\ufdea"); + sb.append("\154"); + sb.append("\ufdea"); + sb.append("\155"); + sb.append("\ufdea"); + sb.append("\156"); + sb.append("\ufdea"); + sb.append("\157"); + sb.append("\ufdea"); + sb.append("\160"); + sb.append("\ufdea"); + sb.append("\161"); + sb.append("\ufdea"); + sb.append("\162"); + sb.append("\ufdea"); + sb.append("\163"); + sb.append("\ufdea"); + sb.append("\164"); + sb.append("\ufdea"); + sb.append("\165"); + sb.append("\ufdea"); + sb.append("\166"); + sb.append("\ufdea"); + sb.append("\167"); + sb.append("\ufdea"); + sb.append("\170"); + sb.append("\ufdea"); + sb.append("\171"); + sb.append("\ufdea"); + sb.append("\172"); + sb.append("\ufdea"); + sb.append("\173"); + sb.append("\ufdea"); + sb.append("\174"); + sb.append("\ufdea"); + sb.append("\175"); + sb.append("\ufdea"); + sb.append("\176"); + sb.append("\ufdea"); + sb.append("\177"); + sb.append("\ufdea"); + sb.append("\202"); + sb.append("\ufdea"); + sb.append("\203"); + sb.append("\ufdea"); + sb.append("\204"); + sb.append("\ufdea"); + sb.append("\215"); + sb.append("\ufdea"); + sb.append("\216"); + sb.append("\ufdea"); + sb.append("\231"); + sb.append("\ufdea"); + sb.append("\232"); + sb.append("\ufdea"); + sb.append("\233"); + sb.append("\ufdea"); + sb.append("\243"); + sb.append("\ufdea"); + sb.append("\244"); + sb.append("\ufdea"); + sb.append("\246"); + sb.append("\ufdea"); + sb.append("\247"); + sb.append("\ufdea"); + sb.append("\252"); + sb.append("\ufdea"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe1a"); + sb.append("\033"); + sb.append("\ufe1a"); + sb.append("\073"); + sb.append("\ufe1a"); + sb.append("\112"); + sb.append("\ufe1a"); + sb.append("\127"); + sb.append("\ufe1a"); + sb.append("\130"); + sb.append("\ufe1a"); + sb.append("\131"); + sb.append("\ufe1a"); + sb.append("\132"); + sb.append("\ufe1a"); + sb.append("\150"); + sb.append("\ufe1a"); + sb.append("\151"); + sb.append("\ufe1a"); + sb.append("\152"); + sb.append("\ufe1a"); + sb.append("\153"); + sb.append("\ufe1a"); + sb.append("\154"); + sb.append("\ufe1a"); + sb.append("\155"); + sb.append("\ufe1a"); + sb.append("\156"); + sb.append("\ufe1a"); + sb.append("\157"); + sb.append("\ufe1a"); + sb.append("\160"); + sb.append("\ufe1a"); + sb.append("\161"); + sb.append("\ufe1a"); + sb.append("\162"); + sb.append("\ufe1a"); + sb.append("\163"); + sb.append("\ufe1a"); + sb.append("\164"); + sb.append("\ufe1a"); + sb.append("\165"); + sb.append("\ufe1a"); + sb.append("\166"); + sb.append("\ufe1a"); + sb.append("\167"); + sb.append("\ufe1a"); + sb.append("\170"); + sb.append("\ufe1a"); + sb.append("\171"); + sb.append("\ufe1a"); + sb.append("\172"); + sb.append("\ufe1a"); + sb.append("\173"); + sb.append("\ufe1a"); + sb.append("\174"); + sb.append("\ufe1a"); + sb.append("\175"); + sb.append("\ufe1a"); + sb.append("\176"); + sb.append("\ufe1a"); + sb.append("\177"); + sb.append("\ufe1a"); + sb.append("\202"); + sb.append("\ufe1a"); + sb.append("\216"); + sb.append("\ufe1a"); + sb.append("\232"); + sb.append("\ufe1a"); + sb.append("\233"); + sb.append("\ufe1a"); + sb.append("\243"); + sb.append("\ufe1a"); + sb.append("\246"); + sb.append("\ufe1a"); + sb.append("\252"); + sb.append("\ufe1a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd1e"); + sb.append("\033"); + sb.append("\ufd1e"); + sb.append("\071"); + sb.append("\ufd1e"); + sb.append("\072"); + sb.append("\ufd1e"); + sb.append("\073"); + sb.append("\ufd1e"); + sb.append("\111"); + sb.append("\ufd1e"); + sb.append("\112"); + sb.append("\ufd1e"); + sb.append("\113"); + sb.append("\ufd1e"); + sb.append("\127"); + sb.append("\ufd1e"); + sb.append("\130"); + sb.append("\ufd1e"); + sb.append("\131"); + sb.append("\ufd1e"); + sb.append("\132"); + sb.append("\ufd1e"); + sb.append("\134"); + sb.append("\ufd1e"); + sb.append("\135"); + sb.append("\ufd1e"); + sb.append("\136"); + sb.append("\ufd1e"); + sb.append("\137"); + sb.append("\ufd1e"); + sb.append("\140"); + sb.append("\ufd1e"); + sb.append("\141"); + sb.append("\ufd1e"); + sb.append("\142"); + sb.append("\ufd1e"); + sb.append("\143"); + sb.append("\ufd1e"); + sb.append("\144"); + sb.append("\ufd1e"); + sb.append("\145"); + sb.append("\ufd1e"); + sb.append("\146"); + sb.append("\ufd1e"); + sb.append("\147"); + sb.append("\ufd1e"); + sb.append("\150"); + sb.append("\ufd1e"); + sb.append("\151"); + sb.append("\ufd1e"); + sb.append("\152"); + sb.append("\ufd1e"); + sb.append("\153"); + sb.append("\ufd1e"); + sb.append("\154"); + sb.append("\ufd1e"); + sb.append("\155"); + sb.append("\ufd1e"); + sb.append("\156"); + sb.append("\ufd1e"); + sb.append("\157"); + sb.append("\ufd1e"); + sb.append("\160"); + sb.append("\ufd1e"); + sb.append("\161"); + sb.append("\ufd1e"); + sb.append("\162"); + sb.append("\ufd1e"); + sb.append("\163"); + sb.append("\ufd1e"); + sb.append("\164"); + sb.append("\ufd1e"); + sb.append("\165"); + sb.append("\ufd1e"); + sb.append("\166"); + sb.append("\ufd1e"); + sb.append("\167"); + sb.append("\ufd1e"); + sb.append("\170"); + sb.append("\ufd1e"); + sb.append("\171"); + sb.append("\ufd1e"); + sb.append("\172"); + sb.append("\ufd1e"); + sb.append("\173"); + sb.append("\ufd1e"); + sb.append("\174"); + sb.append("\ufd1e"); + sb.append("\175"); + sb.append("\ufd1e"); + sb.append("\176"); + sb.append("\ufd1e"); + sb.append("\177"); + sb.append("\ufd1e"); + sb.append("\202"); + sb.append("\ufd1e"); + sb.append("\203"); + sb.append("\ufd1e"); + sb.append("\204"); + sb.append("\ufd1e"); + sb.append("\215"); + sb.append("\ufd1e"); sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\ufd1e"); + sb.append("\231"); + sb.append("\ufd1e"); + sb.append("\232"); + sb.append("\ufd1e"); + sb.append("\233"); + sb.append("\ufd1e"); + sb.append("\243"); + sb.append("\ufd1e"); + sb.append("\244"); + sb.append("\ufd1e"); + sb.append("\246"); + sb.append("\ufd1e"); + sb.append("\247"); + sb.append("\ufd1e"); + sb.append("\252"); + sb.append("\ufd1e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\067"); + sb.append("\u05bb"); + sb.append("\111"); + sb.append("\uff22"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\230"); - sb.append("\u05c9"); + sb.append("\111"); + sb.append("\u05bd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\056"); + sb.append("\014"); sb.append("\010"); - sb.append("\ufef5"); - sb.append("\012"); - sb.append("\ufef5"); - sb.append("\075"); - sb.append("\ufef5"); - sb.append("\076"); - sb.append("\ufef5"); + sb.append("\244"); sb.append("\121"); - sb.append("\ufef5"); - sb.append("\150"); - sb.append("\ufef5"); - sb.append("\156"); - sb.append("\ufef5"); + sb.append("\240"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\uff21"); + sb.append("\127"); + sb.append("\246"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\040"); + sb.append("\045"); + sb.append("\uff39"); + sb.append("\046"); + sb.append("\uff39"); + sb.append("\112"); + sb.append("\uff39"); + sb.append("\120"); + sb.append("\uff39"); + sb.append("\223"); + sb.append("\uff39"); + sb.append("\224"); + sb.append("\uff39"); sb.append("\225"); - sb.append("\277"); + sb.append("\uff39"); sb.append("\226"); - sb.append("\257"); + sb.append("\uff39"); sb.append("\227"); - sb.append("\302"); + sb.append("\uff39"); sb.append("\230"); - sb.append("\ufef5"); - sb.append("\231"); - sb.append("\ufefa"); - sb.append("\244"); - sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff39"); sb.append("\250"); - sb.append("\254"); + sb.append("\uff39"); sb.append("\251"); - sb.append("\ufef5"); - sb.append("\253"); - sb.append("\ufef5"); - sb.append("\254"); - sb.append("\ufef5"); - sb.append("\255"); - sb.append("\ufef5"); - sb.append("\256"); - sb.append("\271"); + sb.append("\uff39"); sb.append("\257"); - sb.append("\275"); + sb.append("\uff39"); sb.append("\260"); + sb.append("\uff39"); sb.append("\261"); + sb.append("\uff39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u05cb"); + sb.append("\040"); + sb.append("\045"); + sb.append("\ufe84"); + sb.append("\046"); + sb.append("\ufe88"); + sb.append("\112"); + sb.append("\u05c5"); + sb.append("\120"); + sb.append("\u05c4"); + sb.append("\223"); + sb.append("\303"); + sb.append("\224"); + sb.append("\264"); + sb.append("\225"); + sb.append("\265"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\151"); - sb.append("\ufee2"); - sb.append("\232"); - sb.append("\u0242"); + sb.append("\004"); + sb.append("\045"); + sb.append("\u05ca"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\151"); - sb.append("\u05cd"); + sb.append("\046"); + sb.append("\u047d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\040"); sb.append("\045"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\046"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\112"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\120"); - sb.append("\uff37"); - sb.append("\222"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\223"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\224"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\225"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\226"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\227"); - sb.append("\uff37"); - sb.append("\247"); - sb.append("\uff37"); + sb.append("\uff3a"); + sb.append("\230"); + sb.append("\uff3a"); sb.append("\250"); - sb.append("\uff37"); - sb.append("\256"); - sb.append("\uff37"); + sb.append("\uff3a"); + sb.append("\251"); + sb.append("\uff3a"); sb.append("\257"); - sb.append("\uff37"); + sb.append("\uff3a"); sb.append("\260"); - sb.append("\uff37"); + sb.append("\uff3a"); + sb.append("\261"); + sb.append("\uff3a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufdc0"); - sb.append("\033"); - sb.append("\ufdc0"); - sb.append("\073"); - sb.append("\ufdc0"); - sb.append("\112"); - sb.append("\ufdc0"); - sb.append("\127"); - sb.append("\ufdc0"); - sb.append("\130"); - sb.append("\ufdc0"); - sb.append("\131"); - sb.append("\ufdc0"); - sb.append("\132"); - sb.append("\ufdc0"); - sb.append("\150"); - sb.append("\ufdc0"); - sb.append("\151"); - sb.append("\ufdc0"); - sb.append("\152"); - sb.append("\ufdc0"); - sb.append("\153"); - sb.append("\ufdc0"); - sb.append("\154"); - sb.append("\ufdc0"); - sb.append("\155"); - sb.append("\ufdc0"); - sb.append("\156"); - sb.append("\ufdc0"); - sb.append("\157"); - sb.append("\ufdc0"); - sb.append("\160"); - sb.append("\ufdc0"); - sb.append("\161"); - sb.append("\ufdc0"); - sb.append("\162"); - sb.append("\ufdc0"); - sb.append("\163"); - sb.append("\ufdc0"); - sb.append("\164"); - sb.append("\ufdc0"); - sb.append("\165"); - sb.append("\ufdc0"); - sb.append("\166"); - sb.append("\ufdc0"); - sb.append("\167"); - sb.append("\ufdc0"); - sb.append("\170"); - sb.append("\ufdc0"); - sb.append("\171"); - sb.append("\ufdc0"); - sb.append("\172"); - sb.append("\ufdc0"); - sb.append("\173"); - sb.append("\ufdc0"); - sb.append("\174"); - sb.append("\ufdc0"); - sb.append("\175"); - sb.append("\ufdc0"); - sb.append("\176"); - sb.append("\ufdc0"); - sb.append("\201"); - sb.append("\ufdc0"); - sb.append("\215"); - sb.append("\ufdc0"); - sb.append("\231"); - sb.append("\ufdc0"); - sb.append("\232"); - sb.append("\ufdc0"); - sb.append("\242"); - sb.append("\ufdc0"); - sb.append("\245"); - sb.append("\ufdc0"); + sb.append("\034"); + sb.append("\045"); + sb.append("\ufe84"); + sb.append("\046"); + sb.append("\ufe88"); + sb.append("\223"); + sb.append("\303"); + sb.append("\224"); + sb.append("\264"); + sb.append("\225"); + sb.append("\265"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufdc0"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\237"); - sb.append("\u05d0"); + sb.append("\254"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufdc1"); - sb.append("\033"); - sb.append("\ufdc1"); - sb.append("\073"); - sb.append("\ufdc1"); - sb.append("\112"); - sb.append("\ufdc1"); - sb.append("\127"); - sb.append("\ufdc1"); - sb.append("\130"); - sb.append("\ufdc1"); - sb.append("\131"); - sb.append("\ufdc1"); - sb.append("\132"); - sb.append("\ufdc1"); - sb.append("\150"); - sb.append("\ufdc1"); - sb.append("\151"); - sb.append("\ufdc1"); - sb.append("\152"); - sb.append("\ufdc1"); - sb.append("\153"); - sb.append("\ufdc1"); - sb.append("\154"); - sb.append("\ufdc1"); - sb.append("\155"); - sb.append("\ufdc1"); - sb.append("\156"); - sb.append("\ufdc1"); - sb.append("\157"); - sb.append("\ufdc1"); - sb.append("\160"); - sb.append("\ufdc1"); - sb.append("\161"); - sb.append("\ufdc1"); - sb.append("\162"); - sb.append("\ufdc1"); - sb.append("\163"); - sb.append("\ufdc1"); - sb.append("\164"); - sb.append("\ufdc1"); - sb.append("\165"); - sb.append("\ufdc1"); - sb.append("\166"); - sb.append("\ufdc1"); - sb.append("\167"); - sb.append("\ufdc1"); - sb.append("\170"); - sb.append("\ufdc1"); - sb.append("\171"); - sb.append("\ufdc1"); - sb.append("\172"); - sb.append("\ufdc1"); - sb.append("\173"); - sb.append("\ufdc1"); - sb.append("\174"); - sb.append("\ufdc1"); - sb.append("\175"); - sb.append("\ufdc1"); - sb.append("\176"); - sb.append("\ufdc1"); - sb.append("\201"); - sb.append("\ufdc1"); - sb.append("\215"); - sb.append("\ufdc1"); - sb.append("\231"); - sb.append("\ufdc1"); - sb.append("\232"); - sb.append("\ufdc1"); - sb.append("\242"); - sb.append("\ufdc1"); - sb.append("\245"); - sb.append("\ufdc1"); + sb.append("\032"); + sb.append("\045"); + sb.append("\ufe83"); + sb.append("\046"); + sb.append("\ufe87"); + sb.append("\223"); + sb.append("\303"); + sb.append("\224"); + sb.append("\264"); + sb.append("\225"); + sb.append("\265"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); sb.append("\251"); - sb.append("\ufdc1"); + sb.append("\254"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\uff7c"); - sb.append("\004"); - sb.append("\uff7c"); - sb.append("\005"); - sb.append("\uff7c"); - sb.append("\006"); - sb.append("\uff7c"); - sb.append("\007"); - sb.append("\uff7c"); - sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); - sb.append("\012"); - sb.append("\uff7c"); - sb.append("\014"); - sb.append("\uff7c"); - sb.append("\015"); - sb.append("\uff7c"); - sb.append("\016"); - sb.append("\uff7c"); - sb.append("\017"); - sb.append("\uff7c"); - sb.append("\020"); - sb.append("\uff7c"); - sb.append("\021"); - sb.append("\uff7c"); - sb.append("\023"); - sb.append("\uff7c"); - sb.append("\025"); - sb.append("\uff7c"); - sb.append("\027"); - sb.append("\uff7c"); - sb.append("\032"); - sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); - sb.append("\036"); - sb.append("\uff7c"); - sb.append("\041"); - sb.append("\uff7c"); - sb.append("\042"); - sb.append("\uff7c"); - sb.append("\043"); - sb.append("\uff7c"); - sb.append("\044"); - sb.append("\uff7c"); + sb.append("\040"); sb.append("\045"); - sb.append("\uff7c"); - sb.append("\047"); - sb.append("\uff7c"); - sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); - sb.append("\052"); - sb.append("\uff7c"); - sb.append("\054"); - sb.append("\uff7c"); - sb.append("\056"); - sb.append("\uff7c"); - sb.append("\057"); - sb.append("\uff7c"); - sb.append("\061"); - sb.append("\uff7c"); - sb.append("\062"); - sb.append("\uff7c"); - sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); - sb.append("\074"); - sb.append("\uff7c"); - sb.append("\075"); - sb.append("\uff7c"); - sb.append("\077"); - sb.append("\uff7c"); - sb.append("\100"); - sb.append("\uff7c"); - sb.append("\101"); - sb.append("\uff7c"); - sb.append("\102"); - sb.append("\uff7c"); - sb.append("\103"); - sb.append("\uff7c"); - sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); - sb.append("\111"); - sb.append("\uff7c"); + sb.append("\uff34"); + sb.append("\046"); + sb.append("\uff34"); sb.append("\112"); - sb.append("\uff7c"); - sb.append("\115"); - sb.append("\uff7c"); - sb.append("\116"); - sb.append("\uff7c"); + sb.append("\uff34"); sb.append("\120"); - sb.append("\uff7c"); - sb.append("\121"); - sb.append("\uff7c"); - sb.append("\122"); - sb.append("\uff7c"); - sb.append("\123"); - sb.append("\uff7c"); - sb.append("\124"); - sb.append("\uff7c"); - sb.append("\125"); - sb.append("\uff7c"); - sb.append("\126"); - sb.append("\uff7c"); - sb.append("\133"); - sb.append("\uff7c"); - sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); - sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); - sb.append("\203"); - sb.append("\uff7c"); - sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); + sb.append("\uff34"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\uff34"); sb.append("\224"); - sb.append("\uff7c"); + sb.append("\uff34"); + sb.append("\225"); + sb.append("\uff34"); + sb.append("\226"); + sb.append("\uff34"); + sb.append("\227"); + sb.append("\uff34"); sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\uff34"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); - sb.append("\254"); - sb.append("\uff7c"); - sb.append("\255"); - sb.append("\uff7c"); + sb.append("\uff34"); + sb.append("\251"); + sb.append("\uff34"); + sb.append("\257"); + sb.append("\uff34"); + sb.append("\260"); + sb.append("\uff34"); + sb.append("\261"); + sb.append("\uff34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff3d"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff3d"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff3d"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff3d"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff3d"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff3d"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff3d"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff3d"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff3d"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff3d"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff3d"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff3d"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff3d"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff3d"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff3d"); + sb.append("\022"); + sb.append("\uff3d"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff3d"); + sb.append("\024"); + sb.append("\uff3d"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff3d"); + sb.append("\026"); + sb.append("\uff3d"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff3d"); + sb.append("\030"); + sb.append("\uff3d"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff3d"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff3d"); + sb.append("\035"); + sb.append("\uff3d"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff3d"); + sb.append("\037"); + sb.append("\uff3d"); + sb.append("\040"); + sb.append("\uff3d"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff3d"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff3d"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff3d"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff3d"); sb.append("\045"); - sb.append("\023"); + sb.append("\uff3d"); + sb.append("\046"); + sb.append("\uff3d"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff3d"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff3d"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff3d"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff3d"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff3d"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff3d"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff3d"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff3d"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff3d"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff3d"); + sb.append("\064"); + sb.append("\uff3d"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff3d"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff3d"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff3d"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff3d"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff3d"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff3d"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff3d"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff3d"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff3d"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff3d"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff3d"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff3d"); sb.append("\112"); - sb.append("\u05d3"); + sb.append("\uff3d"); + sb.append("\114"); + sb.append("\uff3d"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff3d"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff3d"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff3d"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff3d"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff3d"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff3d"); sb.append("\124"); + sb.append("\uff3d"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff3d"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff3d"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff3d"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff3d"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff3d"); + sb.append("\174"); + sb.append("\uff3d"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff3d"); + sb.append("\201"); + sb.append("\uff3d"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff3d"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff3d"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff3d"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff3d"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff3d"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff3d"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff3d"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff3d"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff3d"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff3d"); + sb.append("\215"); + sb.append("\uff3d"); + sb.append("\217"); + sb.append("\uff3d"); + sb.append("\220"); + sb.append("\uff3d"); + sb.append("\221"); + sb.append("\uff3d"); sb.append("\222"); - sb.append("\025"); + sb.append("\uff3d"); sb.append("\223"); - sb.append("\030"); + sb.append("\uff3d"); sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff3d"); + sb.append("\225"); + sb.append("\uff3d"); + sb.append("\231"); + sb.append("\uff3d"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff3d"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff3d"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff3d"); + sb.append("\237"); + sb.append("\uff3d"); + sb.append("\241"); + sb.append("\uff3d"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); + sb.append("\uff3d"); + sb.append("\251"); + sb.append("\uff3d"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff3d"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff3d"); sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\053"); - sb.append("\u05d4"); - sb.append("\055"); - sb.append("\u05d5"); + sb.append("\uff3d"); + sb.append("\256"); + sb.append("\uff3d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\040"); + sb.append("\045"); + sb.append("\uff36"); + sb.append("\046"); + sb.append("\uff36"); + sb.append("\112"); + sb.append("\uff36"); + sb.append("\120"); + sb.append("\uff36"); + sb.append("\223"); + sb.append("\uff36"); + sb.append("\224"); + sb.append("\uff36"); + sb.append("\225"); + sb.append("\uff36"); + sb.append("\226"); + sb.append("\uff36"); + sb.append("\227"); + sb.append("\uff36"); sb.append("\230"); - sb.append("\u05d9"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\111"); - sb.append("\u05d6"); + sb.append("\uff36"); + sb.append("\250"); + sb.append("\uff36"); + sb.append("\251"); + sb.append("\uff36"); + sb.append("\257"); + sb.append("\uff36"); + sb.append("\260"); + sb.append("\uff36"); + sb.append("\261"); + sb.append("\uff36"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\uff7c"); - sb.append("\004"); - sb.append("\uff7c"); - sb.append("\005"); - sb.append("\uff7c"); - sb.append("\006"); - sb.append("\uff7c"); - sb.append("\007"); - sb.append("\uff7c"); - sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); - sb.append("\012"); - sb.append("\uff7c"); - sb.append("\014"); - sb.append("\uff7c"); - sb.append("\015"); - sb.append("\uff7c"); - sb.append("\016"); - sb.append("\uff7c"); - sb.append("\017"); - sb.append("\uff7c"); - sb.append("\020"); - sb.append("\uff7c"); - sb.append("\021"); - sb.append("\uff7c"); - sb.append("\023"); - sb.append("\uff7c"); - sb.append("\025"); - sb.append("\uff7c"); - sb.append("\027"); - sb.append("\uff7c"); - sb.append("\032"); - sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); - sb.append("\036"); - sb.append("\uff7c"); - sb.append("\041"); - sb.append("\uff7c"); - sb.append("\042"); - sb.append("\uff7c"); - sb.append("\043"); - sb.append("\uff7c"); - sb.append("\044"); - sb.append("\uff7c"); + sb.append("\040"); sb.append("\045"); - sb.append("\uff7c"); - sb.append("\047"); - sb.append("\uff7c"); - sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); - sb.append("\052"); - sb.append("\uff7c"); - sb.append("\054"); - sb.append("\uff7c"); - sb.append("\056"); - sb.append("\uff7c"); - sb.append("\057"); - sb.append("\uff7c"); - sb.append("\061"); - sb.append("\uff7c"); - sb.append("\062"); - sb.append("\uff7c"); - sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); - sb.append("\074"); - sb.append("\uff7c"); - sb.append("\075"); - sb.append("\uff7c"); - sb.append("\077"); - sb.append("\uff7c"); - sb.append("\100"); - sb.append("\uff7c"); - sb.append("\101"); - sb.append("\uff7c"); - sb.append("\102"); - sb.append("\uff7c"); - sb.append("\103"); - sb.append("\uff7c"); - sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); - sb.append("\111"); - sb.append("\uff7c"); + sb.append("\uff35"); + sb.append("\046"); + sb.append("\uff35"); + sb.append("\112"); + sb.append("\uff35"); + sb.append("\120"); + sb.append("\uff35"); + sb.append("\223"); + sb.append("\uff35"); + sb.append("\224"); + sb.append("\uff35"); + sb.append("\225"); + sb.append("\uff35"); + sb.append("\226"); + sb.append("\uff35"); + sb.append("\227"); + sb.append("\uff35"); + sb.append("\230"); + sb.append("\uff35"); + sb.append("\250"); + sb.append("\uff35"); + sb.append("\251"); + sb.append("\uff35"); + sb.append("\257"); + sb.append("\uff35"); + sb.append("\260"); + sb.append("\uff35"); + sb.append("\261"); + sb.append("\uff35"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u047f"); + sb.append("\151"); + sb.append("\u05c9"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\040"); + sb.append("\045"); + sb.append("\uff38"); + sb.append("\046"); + sb.append("\uff38"); sb.append("\112"); - sb.append("\uff7c"); - sb.append("\115"); - sb.append("\uff7c"); - sb.append("\116"); - sb.append("\uff7c"); + sb.append("\uff38"); sb.append("\120"); - sb.append("\uff7c"); - sb.append("\121"); - sb.append("\uff7c"); - sb.append("\122"); - sb.append("\uff7c"); - sb.append("\123"); - sb.append("\uff7c"); - sb.append("\124"); - sb.append("\uff7c"); - sb.append("\125"); - sb.append("\uff7c"); - sb.append("\126"); - sb.append("\uff7c"); - sb.append("\133"); - sb.append("\uff7c"); - sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); - sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); - sb.append("\203"); - sb.append("\uff7c"); - sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); + sb.append("\uff38"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\uff38"); sb.append("\224"); - sb.append("\uff7c"); + sb.append("\uff38"); + sb.append("\225"); + sb.append("\uff38"); + sb.append("\226"); + sb.append("\uff38"); + sb.append("\227"); + sb.append("\uff38"); sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\uff38"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); - sb.append("\254"); - sb.append("\uff7c"); - sb.append("\255"); - sb.append("\uff7c"); + sb.append("\uff38"); + sb.append("\251"); + sb.append("\uff38"); + sb.append("\257"); + sb.append("\uff38"); + sb.append("\260"); + sb.append("\uff38"); + sb.append("\261"); + sb.append("\uff38"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\211"); + sb.append("\242"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff43"); sb.append("\005"); - sb.append("\164"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\uff43"); sb.append("\010"); - sb.append("\217"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\014"); - sb.append("\007"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\uff43"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff43"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff43"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff43"); + sb.append("\022"); + sb.append("\uff43"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff43"); + sb.append("\024"); + sb.append("\uff43"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff43"); + sb.append("\026"); + sb.append("\uff43"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff43"); + sb.append("\030"); + sb.append("\uff43"); + sb.append("\031"); + sb.append("\uff43"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff43"); + sb.append("\033"); + sb.append("\uff43"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff43"); + sb.append("\035"); + sb.append("\uff43"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff43"); + sb.append("\037"); + sb.append("\uff43"); + sb.append("\040"); + sb.append("\uff43"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff43"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff43"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff43"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff43"); sb.append("\045"); - sb.append("\023"); + sb.append("\uff43"); + sb.append("\046"); + sb.append("\uff43"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff43"); sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); + sb.append("\uff43"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff43"); + sb.append("\053"); + sb.append("\uff43"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff43"); + sb.append("\055"); + sb.append("\uff43"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff43"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff43"); + sb.append("\060"); + sb.append("\uff43"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff43"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff43"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff43"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff43"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff43"); + sb.append("\067"); + sb.append("\uff43"); + sb.append("\070"); + sb.append("\uff43"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff43"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff43"); + sb.append("\076"); + sb.append("\uff43"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff43"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff43"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff43"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff43"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff43"); sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\111"); - sb.append("\157"); - sb.append("\112"); - sb.append("\u05d8"); + sb.append("\uff43"); + sb.append("\114"); + sb.append("\uff43"); sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\120"); - sb.append("\172"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); + sb.append("\uff43"); sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff43"); + sb.append("\121"); + sb.append("\uff43"); + sb.append("\122"); + sb.append("\uff43"); + sb.append("\123"); + sb.append("\uff43"); + sb.append("\124"); + sb.append("\uff43"); + sb.append("\125"); + sb.append("\uff43"); + sb.append("\126"); + sb.append("\uff43"); + sb.append("\130"); + sb.append("\uff43"); + sb.append("\131"); + sb.append("\uff43"); + sb.append("\132"); + sb.append("\uff43"); + sb.append("\133"); + sb.append("\uff43"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\217"); + sb.append("\uff43"); + sb.append("\220"); + sb.append("\uff43"); + sb.append("\221"); + sb.append("\uff43"); sb.append("\222"); - sb.append("\025"); + sb.append("\uff43"); sb.append("\223"); - sb.append("\030"); + sb.append("\uff43"); sb.append("\224"); - sb.append("\115"); + sb.append("\uff43"); + sb.append("\225"); + sb.append("\uff43"); + sb.append("\226"); + sb.append("\uff43"); + sb.append("\227"); + sb.append("\uff43"); sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\231"); + sb.append("\uff43"); + sb.append("\241"); + sb.append("\uff43"); + sb.append("\242"); + sb.append("\uff43"); + sb.append("\251"); + sb.append("\uff43"); sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\u022b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff5c"); - sb.append("\003"); - sb.append("\uff5c"); + sb.append("\236"); sb.append("\004"); - sb.append("\uff5c"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\uff5c"); - sb.append("\006"); - sb.append("\uff5c"); - sb.append("\007"); - sb.append("\uff5c"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\uff5c"); - sb.append("\011"); - sb.append("\uff5c"); - sb.append("\012"); - sb.append("\uff5c"); - sb.append("\014"); - sb.append("\uff5c"); - sb.append("\015"); - sb.append("\uff5c"); - sb.append("\016"); - sb.append("\uff5c"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\uff5c"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\uff5c"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\uff5c"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\uff5c"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\uff5c"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\uff5c"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\uff5c"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\uff5c"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\uff5c"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\uff5c"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\uff5c"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\uff5c"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\uff5c"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\uff5c"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\uff5c"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\uff5c"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\uff5c"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\uff5c"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\uff5c"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\uff5c"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\uff5c"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\uff5c"); + sb.append("\u019f"); sb.append("\047"); - sb.append("\uff5c"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\uff5c"); - sb.append("\051"); - sb.append("\uff5c"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\uff5c"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\uff5c"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\uff5c"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\uff5c"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\uff5c"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\uff5c"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\uff5c"); - sb.append("\064"); - sb.append("\uff5c"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\uff5c"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\uff5c"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\uff5c"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\uff5c"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\uff5c"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\uff5c"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\uff5c"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\uff5c"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\uff5c"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\uff5c"); - sb.append("\105"); - sb.append("\uff5c"); - sb.append("\111"); - sb.append("\uff5c"); - sb.append("\112"); - sb.append("\uff5c"); + sb.append("\u015d"); sb.append("\114"); - sb.append("\uff5c"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\uff5c"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\uff5c"); - sb.append("\120"); - sb.append("\uff5c"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\uff5c"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\uff5c"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\uff5c"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\uff5c"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\uff5c"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\uff5c"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\uff5c"); - sb.append("\151"); - sb.append("\uff5c"); - sb.append("\172"); - sb.append("\uff5c"); - sb.append("\173"); - sb.append("\uff5c"); - sb.append("\177"); - sb.append("\uff5c"); - sb.append("\200"); - sb.append("\uff5c"); - sb.append("\202"); - sb.append("\uff5c"); - sb.append("\203"); - sb.append("\uff5c"); - sb.append("\204"); - sb.append("\uff5c"); - sb.append("\205"); - sb.append("\uff5c"); - sb.append("\206"); - sb.append("\uff5c"); - sb.append("\207"); - sb.append("\uff5c"); - sb.append("\210"); - sb.append("\uff5c"); - sb.append("\211"); - sb.append("\uff5c"); - sb.append("\212"); - sb.append("\uff5c"); - sb.append("\213"); - sb.append("\uff5c"); - sb.append("\214"); - sb.append("\uff5c"); - sb.append("\216"); - sb.append("\uff5c"); + sb.append("\u017f"); sb.append("\217"); - sb.append("\uff5c"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\uff5c"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\uff5c"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\uff5c"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\uff5c"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\uff5c"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\uff5c"); - sb.append("\233"); - sb.append("\uff5c"); - sb.append("\234"); - sb.append("\uff5c"); - sb.append("\235"); - sb.append("\uff5c"); - sb.append("\236"); - sb.append("\uff5c"); - sb.append("\240"); - sb.append("\uff5c"); - sb.append("\247"); - sb.append("\uff5c"); - sb.append("\250"); - sb.append("\uff5c"); - sb.append("\252"); - sb.append("\uff5c"); - sb.append("\253"); - sb.append("\uff5c"); - sb.append("\254"); - sb.append("\uff5c"); - sb.append("\255"); - sb.append("\uff5c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\244"); - sb.append("\121"); - sb.append("\237"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\012"); - sb.append("\075"); - sb.append("\231"); - sb.append("\ufcce"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\012"); - sb.append("\uff4e"); - sb.append("\154"); - sb.append("\u05dd"); - sb.append("\231"); - sb.append("\uff4e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\012"); - sb.append("\uff50"); - sb.append("\231"); - sb.append("\uff50"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\244"); - sb.append("\121"); - sb.append("\237"); - sb.append("\253"); + sb.append("\u01a0"); sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\012"); - sb.append("\uff4d"); - sb.append("\154"); - sb.append("\uff4d"); - sb.append("\231"); - sb.append("\uff4d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\012"); - sb.append("\uff4f"); - sb.append("\154"); - sb.append("\u05dd"); - sb.append("\231"); - sb.append("\uff4f"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); - sb.append("\012"); - sb.append("\uff4c"); - sb.append("\154"); - sb.append("\uff4c"); + sb.append("\004"); sb.append("\231"); - sb.append("\uff4c"); + sb.append("\u05cd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\056"); sb.append("\010"); + sb.append("\ufef5"); sb.append("\012"); - sb.append("\uff4b"); - sb.append("\154"); - sb.append("\uff4b"); + sb.append("\ufef5"); + sb.append("\075"); + sb.append("\ufef5"); + sb.append("\076"); + sb.append("\ufef5"); + sb.append("\121"); + sb.append("\ufef5"); + sb.append("\150"); + sb.append("\ufef5"); + sb.append("\157"); + sb.append("\ufef5"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); sb.append("\231"); - sb.append("\uff4b"); + sb.append("\ufef5"); + sb.append("\232"); + sb.append("\ufefa"); + sb.append("\245"); + sb.append("\ufef5"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufef5"); + sb.append("\254"); + sb.append("\ufef5"); + sb.append("\255"); + sb.append("\ufef5"); + sb.append("\256"); + sb.append("\ufef5"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\ufccd"); + sb.append("\232"); + sb.append("\u05cf"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u05e4"); + sb.append("\006"); + sb.append("\151"); + sb.append("\ufee2"); + sb.append("\233"); + sb.append("\u0246"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\111"); - sb.append("\u05e5"); + sb.append("\151"); + sb.append("\u05d1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\uff7c"); - sb.append("\004"); - sb.append("\uff7c"); - sb.append("\005"); - sb.append("\uff7c"); - sb.append("\006"); - sb.append("\uff7c"); - sb.append("\007"); - sb.append("\uff7c"); - sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); - sb.append("\012"); - sb.append("\uff7c"); - sb.append("\014"); - sb.append("\uff7c"); - sb.append("\015"); - sb.append("\uff7c"); - sb.append("\016"); - sb.append("\uff7c"); - sb.append("\017"); - sb.append("\uff7c"); - sb.append("\020"); - sb.append("\uff7c"); - sb.append("\021"); - sb.append("\uff7c"); - sb.append("\023"); - sb.append("\uff7c"); - sb.append("\025"); - sb.append("\uff7c"); - sb.append("\027"); - sb.append("\uff7c"); - sb.append("\032"); - sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); - sb.append("\036"); - sb.append("\uff7c"); - sb.append("\041"); - sb.append("\uff7c"); - sb.append("\042"); - sb.append("\uff7c"); - sb.append("\043"); - sb.append("\uff7c"); - sb.append("\044"); - sb.append("\uff7c"); + sb.append("\040"); sb.append("\045"); - sb.append("\uff7c"); - sb.append("\047"); - sb.append("\uff7c"); - sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); - sb.append("\052"); - sb.append("\uff7c"); - sb.append("\054"); - sb.append("\uff7c"); - sb.append("\056"); - sb.append("\uff7c"); - sb.append("\057"); - sb.append("\uff7c"); - sb.append("\061"); - sb.append("\uff7c"); - sb.append("\062"); - sb.append("\uff7c"); - sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); - sb.append("\074"); - sb.append("\uff7c"); - sb.append("\075"); - sb.append("\uff7c"); - sb.append("\077"); - sb.append("\uff7c"); - sb.append("\100"); - sb.append("\uff7c"); - sb.append("\101"); - sb.append("\uff7c"); - sb.append("\102"); - sb.append("\uff7c"); - sb.append("\103"); - sb.append("\uff7c"); - sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); - sb.append("\111"); - sb.append("\uff7c"); + sb.append("\uff37"); + sb.append("\046"); + sb.append("\uff37"); sb.append("\112"); - sb.append("\uff7c"); - sb.append("\115"); - sb.append("\uff7c"); - sb.append("\116"); - sb.append("\uff7c"); + sb.append("\uff37"); sb.append("\120"); - sb.append("\uff7c"); - sb.append("\121"); - sb.append("\uff7c"); - sb.append("\122"); - sb.append("\uff7c"); - sb.append("\123"); - sb.append("\uff7c"); - sb.append("\124"); - sb.append("\uff7c"); - sb.append("\125"); - sb.append("\uff7c"); - sb.append("\126"); - sb.append("\uff7c"); - sb.append("\133"); - sb.append("\uff7c"); - sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); - sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); - sb.append("\203"); - sb.append("\uff7c"); - sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); + sb.append("\uff37"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\uff37"); sb.append("\224"); - sb.append("\uff7c"); + sb.append("\uff37"); + sb.append("\225"); + sb.append("\uff37"); + sb.append("\226"); + sb.append("\uff37"); + sb.append("\227"); + sb.append("\uff37"); sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\uff37"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); - sb.append("\254"); - sb.append("\uff7c"); - sb.append("\255"); - sb.append("\uff7c"); + sb.append("\uff37"); + sb.append("\251"); + sb.append("\uff37"); + sb.append("\257"); + sb.append("\uff37"); + sb.append("\260"); + sb.append("\uff37"); + sb.append("\261"); + sb.append("\uff37"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\211"); - sb.append("\004"); - sb.append("\201"); - sb.append("\005"); - sb.append("\164"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\217"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\014"); - sb.append("\007"); - sb.append("\015"); + sb.append("\120"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\023"); - sb.append("\145"); - sb.append("\025"); - sb.append("\200"); - sb.append("\027"); - sb.append("\203"); - sb.append("\032"); - sb.append("\106"); - sb.append("\034"); - sb.append("\113"); - sb.append("\036"); - sb.append("\125"); - sb.append("\041"); + sb.append("\ufdbf"); sb.append("\033"); - sb.append("\042"); - sb.append("\040"); - sb.append("\043"); - sb.append("\226"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\023"); - sb.append("\047"); - sb.append("\212"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\052"); - sb.append("\057"); - sb.append("\054"); - sb.append("\026"); - sb.append("\056"); - sb.append("\u03a5"); - sb.append("\057"); - sb.append("\016"); - sb.append("\061"); - sb.append("\110"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\065"); - sb.append("\027"); - sb.append("\066"); - sb.append("\111"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); + sb.append("\ufdbf"); + sb.append("\073"); + sb.append("\ufdbf"); + sb.append("\112"); + sb.append("\ufdbf"); + sb.append("\127"); + sb.append("\ufdbf"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java index 8de8ee9cf8e1..82aef23a52fe 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,1402 +29,1242 @@ public String getTableData() { } protected EncodedActionTable19() { sb = new StringBuilder(); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\111"); - sb.append("\157"); - sb.append("\112"); - sb.append("\u05e7"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\120"); - sb.append("\172"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\130"); + sb.append("\ufdbf"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufdbf"); + sb.append("\132"); + sb.append("\ufdbf"); + sb.append("\150"); + sb.append("\ufdbf"); sb.append("\151"); + sb.append("\ufdbf"); + sb.append("\152"); + sb.append("\ufdbf"); + sb.append("\153"); + sb.append("\ufdbf"); + sb.append("\154"); + sb.append("\ufdbf"); + sb.append("\155"); + sb.append("\ufdbf"); + sb.append("\156"); + sb.append("\ufdbf"); + sb.append("\157"); + sb.append("\ufdbf"); + sb.append("\160"); + sb.append("\ufdbf"); + sb.append("\161"); + sb.append("\ufdbf"); + sb.append("\162"); + sb.append("\ufdbf"); + sb.append("\163"); + sb.append("\ufdbf"); + sb.append("\164"); + sb.append("\ufdbf"); + sb.append("\165"); + sb.append("\ufdbf"); + sb.append("\166"); + sb.append("\ufdbf"); + sb.append("\167"); + sb.append("\ufdbf"); + sb.append("\170"); + sb.append("\ufdbf"); sb.append("\171"); + sb.append("\ufdbf"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufdbf"); sb.append("\173"); + sb.append("\ufdbf"); + sb.append("\174"); + sb.append("\ufdbf"); + sb.append("\175"); + sb.append("\ufdbf"); sb.append("\176"); + sb.append("\ufdbf"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufdbf"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); + sb.append("\ufdbf"); sb.append("\216"); - sb.append("\207"); + sb.append("\ufdbf"); + sb.append("\232"); + sb.append("\ufdbf"); + sb.append("\233"); + sb.append("\ufdbf"); + sb.append("\243"); + sb.append("\ufdbf"); + sb.append("\246"); + sb.append("\ufdbf"); + sb.append("\252"); + sb.append("\ufdbf"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\240"); + sb.append("\u05d4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufdc0"); + sb.append("\033"); + sb.append("\ufdc0"); + sb.append("\073"); + sb.append("\ufdc0"); + sb.append("\112"); + sb.append("\ufdc0"); + sb.append("\127"); + sb.append("\ufdc0"); + sb.append("\130"); + sb.append("\ufdc0"); + sb.append("\131"); + sb.append("\ufdc0"); + sb.append("\132"); + sb.append("\ufdc0"); + sb.append("\150"); + sb.append("\ufdc0"); sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); + sb.append("\ufdc0"); + sb.append("\152"); + sb.append("\ufdc0"); + sb.append("\153"); + sb.append("\ufdc0"); + sb.append("\154"); + sb.append("\ufdc0"); sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufdc0"); + sb.append("\156"); + sb.append("\ufdc0"); + sb.append("\157"); + sb.append("\ufdc0"); + sb.append("\160"); + sb.append("\ufdc0"); + sb.append("\161"); + sb.append("\ufdc0"); + sb.append("\162"); + sb.append("\ufdc0"); + sb.append("\163"); + sb.append("\ufdc0"); + sb.append("\164"); + sb.append("\ufdc0"); + sb.append("\165"); + sb.append("\ufdc0"); + sb.append("\166"); + sb.append("\ufdc0"); + sb.append("\167"); + sb.append("\ufdc0"); + sb.append("\170"); + sb.append("\ufdc0"); + sb.append("\171"); + sb.append("\ufdc0"); + sb.append("\172"); + sb.append("\ufdc0"); + sb.append("\173"); + sb.append("\ufdc0"); + sb.append("\174"); + sb.append("\ufdc0"); + sb.append("\175"); + sb.append("\ufdc0"); + sb.append("\176"); + sb.append("\ufdc0"); + sb.append("\177"); + sb.append("\ufdc0"); + sb.append("\202"); + sb.append("\ufdc0"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); + sb.append("\ufdc0"); + sb.append("\232"); + sb.append("\ufdc0"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\231"); + sb.append("\ufdc0"); + sb.append("\243"); + sb.append("\ufdc0"); + sb.append("\246"); + sb.append("\ufdc0"); sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufdc0"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\326"); - sb.append("\002"); - sb.append("\uff56"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uff56"); - sb.append("\022"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uff56"); - sb.append("\024"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uff56"); - sb.append("\026"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uff56"); - sb.append("\030"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uff56"); - sb.append("\035"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\uff56"); - sb.append("\037"); - sb.append("\uff56"); - sb.append("\040"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uff56"); - sb.append("\046"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uff56"); - sb.append("\053"); - sb.append("\u05e8"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uff56"); - sb.append("\055"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uff56"); - sb.append("\064"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\112"); - sb.append("\uff56"); - sb.append("\114"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff56"); - sb.append("\172"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff56"); - sb.append("\177"); - sb.append("\uff56"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff56"); - sb.append("\202"); - sb.append("\uff56"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\uff56"); - sb.append("\216"); - sb.append("\uff56"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); sb.append("\217"); - sb.append("\uff56"); - sb.append("\220"); - sb.append("\uff56"); - sb.append("\221"); - sb.append("\uff56"); - sb.append("\222"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff56"); - sb.append("\230"); - sb.append("\uff56"); - sb.append("\233"); - sb.append("\uff56"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\uff56"); - sb.append("\240"); - sb.append("\uff56"); - sb.append("\247"); - sb.append("\uff56"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\uff56"); - sb.append("\252"); - sb.append("\uff56"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\uff56"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\uff56"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u05f2"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\324"); - sb.append("\002"); - sb.append("\uff52"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff52"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff52"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff52"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff52"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff52"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff52"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff52"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff52"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff52"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff52"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff52"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff52"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff52"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff52"); - sb.append("\022"); - sb.append("\uff52"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff52"); - sb.append("\024"); - sb.append("\uff52"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff52"); - sb.append("\026"); - sb.append("\uff52"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff52"); - sb.append("\030"); - sb.append("\uff52"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff52"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff52"); - sb.append("\035"); - sb.append("\uff52"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff52"); - sb.append("\037"); - sb.append("\uff52"); - sb.append("\040"); - sb.append("\uff52"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff52"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff52"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff52"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff52"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff52"); - sb.append("\046"); - sb.append("\uff52"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff52"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff52"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff52"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff52"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff52"); - sb.append("\055"); - sb.append("\u05ed"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff52"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff52"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff52"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff52"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff52"); - sb.append("\064"); - sb.append("\uff52"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff52"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff52"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff52"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff52"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff52"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff52"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff52"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff52"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff52"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff52"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff52"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff52"); + sb.append("\157"); sb.append("\112"); - sb.append("\uff52"); - sb.append("\114"); - sb.append("\uff52"); + sb.append("\u05d7"); sb.append("\115"); - sb.append("\uff52"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff52"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff52"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff52"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff52"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff52"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff52"); sb.append("\125"); - sb.append("\uff52"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff52"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff52"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff52"); - sb.append("\172"); - sb.append("\uff52"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff52"); - sb.append("\177"); - sb.append("\uff52"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff52"); - sb.append("\202"); - sb.append("\uff52"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff52"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff52"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff52"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff52"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff52"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff52"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff52"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff52"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff52"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff52"); - sb.append("\216"); - sb.append("\uff52"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff52"); - sb.append("\220"); - sb.append("\uff52"); - sb.append("\221"); - sb.append("\uff52"); - sb.append("\222"); - sb.append("\uff52"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff52"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff52"); - sb.append("\230"); - sb.append("\uff52"); - sb.append("\233"); - sb.append("\uff52"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff52"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff52"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff52"); - sb.append("\240"); - sb.append("\uff52"); - sb.append("\247"); - sb.append("\uff52"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); sb.append("\250"); - sb.append("\uff52"); - sb.append("\252"); - sb.append("\uff52"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\uff52"); + sb.append("\227"); sb.append("\254"); - sb.append("\uff52"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff52"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\326"); + sb.append("\006"); + sb.append("\053"); + sb.append("\u05d8"); + sb.append("\055"); + sb.append("\u05d9"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff55"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u05dd"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\111"); + sb.append("\u05da"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uff55"); - sb.append("\022"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uff55"); - sb.append("\024"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uff55"); - sb.append("\026"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uff55"); - sb.append("\030"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uff55"); - sb.append("\035"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\uff55"); - sb.append("\037"); - sb.append("\uff55"); - sb.append("\040"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uff55"); - sb.append("\046"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uff55"); - sb.append("\053"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uff55"); - sb.append("\055"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uff55"); - sb.append("\064"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\112"); - sb.append("\uff55"); - sb.append("\114"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff55"); - sb.append("\172"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff55"); - sb.append("\177"); - sb.append("\uff55"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff55"); - sb.append("\202"); - sb.append("\uff55"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\uff55"); - sb.append("\216"); - sb.append("\uff55"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); sb.append("\217"); - sb.append("\uff55"); - sb.append("\220"); - sb.append("\uff55"); - sb.append("\221"); - sb.append("\uff55"); - sb.append("\222"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff55"); - sb.append("\230"); - sb.append("\uff55"); - sb.append("\233"); - sb.append("\uff55"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\uff55"); - sb.append("\240"); - sb.append("\uff55"); - sb.append("\247"); - sb.append("\uff55"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\uff55"); - sb.append("\252"); - sb.append("\uff55"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\uff55"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\uff55"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\326"); - sb.append("\002"); - sb.append("\uff57"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff57"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff57"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff57"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff57"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff57"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff57"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff57"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff57"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff57"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff57"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff57"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff57"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff57"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff57"); - sb.append("\022"); - sb.append("\uff57"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff57"); - sb.append("\024"); - sb.append("\uff57"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff57"); - sb.append("\026"); - sb.append("\uff57"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff57"); - sb.append("\030"); - sb.append("\uff57"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff57"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff57"); - sb.append("\035"); - sb.append("\uff57"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff57"); - sb.append("\037"); - sb.append("\uff57"); - sb.append("\040"); - sb.append("\uff57"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff57"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff57"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff57"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff57"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff57"); - sb.append("\046"); - sb.append("\uff57"); + sb.append("\023"); sb.append("\047"); - sb.append("\uff57"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff57"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff57"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff57"); - sb.append("\053"); - sb.append("\u05e8"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff57"); - sb.append("\055"); - sb.append("\uff57"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff57"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff57"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff57"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff57"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff57"); - sb.append("\064"); - sb.append("\uff57"); + sb.append("\010"); sb.append("\065"); - sb.append("\uff57"); + sb.append("\027"); sb.append("\066"); - sb.append("\uff57"); + sb.append("\111"); sb.append("\074"); - sb.append("\uff57"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff57"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff57"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff57"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff57"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff57"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff57"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff57"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff57"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff57"); + sb.append("\157"); sb.append("\112"); - sb.append("\uff57"); - sb.append("\114"); - sb.append("\uff57"); + sb.append("\u05dc"); sb.append("\115"); - sb.append("\uff57"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff57"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff57"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff57"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff57"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff57"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff57"); sb.append("\125"); - sb.append("\uff57"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff57"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff57"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff57"); - sb.append("\172"); - sb.append("\uff57"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff57"); - sb.append("\177"); - sb.append("\uff57"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff57"); - sb.append("\202"); - sb.append("\uff57"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff57"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff57"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff57"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff57"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff57"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff57"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff57"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff57"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff57"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff57"); - sb.append("\216"); - sb.append("\uff57"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff57"); - sb.append("\220"); - sb.append("\uff57"); - sb.append("\221"); - sb.append("\uff57"); - sb.append("\222"); - sb.append("\uff57"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff57"); + sb.append("\025"); sb.append("\224"); - sb.append("\uff57"); - sb.append("\230"); - sb.append("\uff57"); - sb.append("\233"); - sb.append("\uff57"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\uff57"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff57"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff57"); - sb.append("\240"); - sb.append("\uff57"); - sb.append("\247"); - sb.append("\uff57"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); sb.append("\250"); - sb.append("\uff57"); - sb.append("\252"); - sb.append("\uff57"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); sb.append("\253"); - sb.append("\uff57"); + sb.append("\227"); sb.append("\254"); - sb.append("\uff57"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff57"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\326"); + sb.append("\322"); sb.append("\002"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\003"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\004"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\005"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\006"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\007"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\010"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\011"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\012"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\014"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\015"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\016"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\017"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\020"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\021"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\022"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\023"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\024"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\025"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\026"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\027"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\030"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\032"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\034"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\035"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\036"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\037"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\040"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\041"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\042"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\043"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\044"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\045"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\046"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\047"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\050"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\051"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\052"); - sb.append("\uff54"); - sb.append("\053"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\054"); - sb.append("\uff54"); - sb.append("\055"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\056"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\057"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\061"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\062"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\063"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\064"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\065"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\066"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\074"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\075"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\077"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\100"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\101"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\102"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\103"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\104"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\105"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\111"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\112"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\114"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\115"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\116"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\120"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\121"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\122"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\123"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\124"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\125"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\126"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\133"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\151"); - sb.append("\uff54"); - sb.append("\172"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\173"); - sb.append("\uff54"); - sb.append("\177"); - sb.append("\uff54"); + sb.append("\uff5c"); + sb.append("\174"); + sb.append("\uff5c"); sb.append("\200"); - sb.append("\uff54"); - sb.append("\202"); - sb.append("\uff54"); + sb.append("\uff5c"); + sb.append("\201"); + sb.append("\uff5c"); sb.append("\203"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\204"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\205"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\206"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\207"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\210"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\211"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\212"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\213"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\214"); - sb.append("\uff54"); - sb.append("\216"); - sb.append("\uff54"); + sb.append("\uff5c"); + sb.append("\215"); + sb.append("\uff5c"); sb.append("\217"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\220"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\221"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\222"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\223"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\224"); - sb.append("\uff54"); - sb.append("\230"); - sb.append("\uff54"); - sb.append("\233"); - sb.append("\uff54"); + sb.append("\uff5c"); + sb.append("\225"); + sb.append("\uff5c"); + sb.append("\231"); + sb.append("\uff5c"); sb.append("\234"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\235"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\236"); - sb.append("\uff54"); - sb.append("\240"); - sb.append("\uff54"); - sb.append("\247"); - sb.append("\uff54"); + sb.append("\uff5c"); + sb.append("\237"); + sb.append("\uff5c"); + sb.append("\241"); + sb.append("\uff5c"); sb.append("\250"); - sb.append("\uff54"); - sb.append("\252"); - sb.append("\uff54"); + sb.append("\uff5c"); + sb.append("\251"); + sb.append("\uff5c"); sb.append("\253"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\254"); - sb.append("\uff54"); + sb.append("\uff5c"); sb.append("\255"); - sb.append("\uff54"); + sb.append("\uff5c"); + sb.append("\256"); + sb.append("\uff5c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\111"); - sb.append("\u05ef"); + sb.append("\014"); + sb.append("\010"); + sb.append("\244"); + sb.append("\121"); + sb.append("\240"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff5b"); - sb.append("\003"); - sb.append("\uff5b"); - sb.append("\004"); - sb.append("\uff5b"); - sb.append("\005"); - sb.append("\uff5b"); sb.append("\006"); - sb.append("\uff5b"); - sb.append("\007"); - sb.append("\uff5b"); + sb.append("\012"); + sb.append("\075"); + sb.append("\232"); + sb.append("\ufccc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\010"); - sb.append("\uff5b"); - sb.append("\011"); - sb.append("\uff5b"); sb.append("\012"); - sb.append("\uff5b"); + sb.append("\uff4e"); + sb.append("\155"); + sb.append("\u05e1"); + sb.append("\232"); + sb.append("\uff4e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\012"); + sb.append("\uff50"); + sb.append("\232"); + sb.append("\uff50"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\014"); - sb.append("\uff5b"); - sb.append("\015"); - sb.append("\uff5b"); - sb.append("\016"); - sb.append("\uff5b"); - sb.append("\017"); - sb.append("\uff5b"); - sb.append("\020"); - sb.append("\uff5b"); - sb.append("\021"); - sb.append("\uff5b"); - sb.append("\022"); - sb.append("\uff5b"); - sb.append("\023"); - sb.append("\uff5b"); - sb.append("\024"); - sb.append("\uff5b"); - sb.append("\025"); - sb.append("\uff5b"); - sb.append("\026"); - sb.append("\uff5b"); - sb.append("\027"); - sb.append("\uff5b"); - sb.append("\030"); - sb.append("\uff5b"); - sb.append("\032"); - sb.append("\uff5b"); - sb.append("\034"); - sb.append("\uff5b"); - sb.append("\035"); - sb.append("\uff5b"); - sb.append("\036"); - sb.append("\uff5b"); - sb.append("\037"); - sb.append("\uff5b"); - sb.append("\040"); - sb.append("\uff5b"); - sb.append("\041"); - sb.append("\uff5b"); - sb.append("\042"); - sb.append("\uff5b"); - sb.append("\043"); - sb.append("\uff5b"); - sb.append("\044"); - sb.append("\uff5b"); - sb.append("\045"); - sb.append("\uff5b"); - sb.append("\046"); - sb.append("\uff5b"); - sb.append("\047"); - sb.append("\uff5b"); - sb.append("\050"); - sb.append("\uff5b"); - sb.append("\051"); - sb.append("\uff5b"); - sb.append("\052"); - sb.append("\uff5b"); - sb.append("\054"); - sb.append("\uff5b"); - sb.append("\056"); - sb.append("\uff5b"); - sb.append("\057"); - sb.append("\uff5b"); - sb.append("\061"); - sb.append("\uff5b"); - sb.append("\062"); - sb.append("\uff5b"); - sb.append("\063"); - sb.append("\uff5b"); - sb.append("\064"); - sb.append("\uff5b"); - sb.append("\065"); - sb.append("\uff5b"); - sb.append("\066"); - sb.append("\uff5b"); - sb.append("\074"); - sb.append("\uff5b"); - sb.append("\075"); - sb.append("\uff5b"); - sb.append("\077"); - sb.append("\uff5b"); - sb.append("\100"); - sb.append("\uff5b"); - sb.append("\101"); - sb.append("\uff5b"); - sb.append("\102"); - sb.append("\uff5b"); - sb.append("\103"); - sb.append("\uff5b"); - sb.append("\104"); - sb.append("\uff5b"); - sb.append("\105"); - sb.append("\uff5b"); - sb.append("\111"); - sb.append("\uff5b"); - sb.append("\112"); - sb.append("\uff5b"); - sb.append("\114"); - sb.append("\uff5b"); - sb.append("\115"); - sb.append("\uff5b"); - sb.append("\116"); - sb.append("\uff5b"); - sb.append("\120"); - sb.append("\uff5b"); + sb.append("\010"); + sb.append("\244"); sb.append("\121"); - sb.append("\uff5b"); - sb.append("\122"); - sb.append("\uff5b"); - sb.append("\123"); - sb.append("\uff5b"); - sb.append("\124"); - sb.append("\uff5b"); - sb.append("\125"); - sb.append("\uff5b"); - sb.append("\126"); - sb.append("\uff5b"); - sb.append("\133"); - sb.append("\uff5b"); - sb.append("\151"); - sb.append("\uff5b"); - sb.append("\172"); - sb.append("\uff5b"); - sb.append("\173"); - sb.append("\uff5b"); - sb.append("\177"); - sb.append("\uff5b"); - sb.append("\200"); - sb.append("\uff5b"); - sb.append("\202"); - sb.append("\uff5b"); - sb.append("\203"); - sb.append("\uff5b"); - sb.append("\204"); - sb.append("\uff5b"); - sb.append("\205"); - sb.append("\uff5b"); - sb.append("\206"); - sb.append("\uff5b"); - sb.append("\207"); - sb.append("\uff5b"); - sb.append("\210"); - sb.append("\uff5b"); - sb.append("\211"); - sb.append("\uff5b"); - sb.append("\212"); - sb.append("\uff5b"); - sb.append("\213"); - sb.append("\uff5b"); - sb.append("\214"); - sb.append("\uff5b"); - sb.append("\216"); - sb.append("\uff5b"); - sb.append("\217"); - sb.append("\uff5b"); - sb.append("\220"); - sb.append("\uff5b"); - sb.append("\221"); - sb.append("\uff5b"); - sb.append("\222"); - sb.append("\uff5b"); - sb.append("\223"); - sb.append("\uff5b"); - sb.append("\224"); - sb.append("\uff5b"); - sb.append("\230"); - sb.append("\uff5b"); - sb.append("\233"); - sb.append("\uff5b"); - sb.append("\234"); - sb.append("\uff5b"); - sb.append("\235"); - sb.append("\uff5b"); - sb.append("\236"); - sb.append("\uff5b"); sb.append("\240"); - sb.append("\uff5b"); - sb.append("\247"); - sb.append("\uff5b"); - sb.append("\250"); - sb.append("\uff5b"); - sb.append("\252"); - sb.append("\uff5b"); - sb.append("\253"); - sb.append("\uff5b"); sb.append("\254"); - sb.append("\uff5b"); + sb.append("\241"); sb.append("\255"); - sb.append("\uff5b"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\012"); + sb.append("\uff4d"); + sb.append("\155"); + sb.append("\uff4d"); + sb.append("\232"); + sb.append("\uff4d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\012"); + sb.append("\uff4f"); + sb.append("\155"); + sb.append("\u05e1"); + sb.append("\232"); + sb.append("\uff4f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\012"); + sb.append("\uff4c"); + sb.append("\155"); + sb.append("\uff4c"); + sb.append("\232"); + sb.append("\uff4c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\012"); + sb.append("\uff4b"); + sb.append("\155"); + sb.append("\uff4b"); + sb.append("\232"); + sb.append("\uff4b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\ufccb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u05e8"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\111"); + sb.append("\u05e9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -1546,15 +1387,13 @@ protected EncodedActionTable19() { sb.append("\uff7c"); sb.append("\151"); sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); sb.append("\173"); sb.append("\uff7c"); - sb.append("\177"); + sb.append("\174"); sb.append("\uff7c"); sb.append("\200"); sb.append("\uff7c"); - sb.append("\202"); + sb.append("\201"); sb.append("\uff7c"); sb.append("\203"); sb.append("\uff7c"); @@ -1576,17 +1415,17 @@ protected EncodedActionTable19() { sb.append("\uff7c"); sb.append("\214"); sb.append("\uff7c"); - sb.append("\216"); + sb.append("\215"); sb.append("\uff7c"); - sb.append("\222"); + sb.append("\217"); sb.append("\uff7c"); sb.append("\223"); sb.append("\uff7c"); sb.append("\224"); sb.append("\uff7c"); - sb.append("\230"); + sb.append("\225"); sb.append("\uff7c"); - sb.append("\233"); + sb.append("\231"); sb.append("\uff7c"); sb.append("\234"); sb.append("\uff7c"); @@ -1594,13 +1433,13 @@ protected EncodedActionTable19() { sb.append("\uff7c"); sb.append("\236"); sb.append("\uff7c"); - sb.append("\240"); + sb.append("\237"); sb.append("\uff7c"); - sb.append("\247"); + sb.append("\241"); sb.append("\uff7c"); sb.append("\250"); sb.append("\uff7c"); - sb.append("\252"); + sb.append("\251"); sb.append("\uff7c"); sb.append("\253"); sb.append("\uff7c"); @@ -1608,6 +1447,8 @@ protected EncodedActionTable19() { sb.append("\uff7c"); sb.append("\255"); sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -1615,7 +1456,7 @@ protected EncodedActionTable19() { sb.append("\003"); sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\005"); sb.append("\164"); sb.append("\006"); @@ -1673,7 +1514,7 @@ protected EncodedActionTable19() { sb.append("\054"); sb.append("\026"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\u03a9"); sb.append("\057"); sb.append("\016"); sb.append("\061"); @@ -1707,7 +1548,7 @@ protected EncodedActionTable19() { sb.append("\111"); sb.append("\157"); sb.append("\112"); - sb.append("\u05f1"); + sb.append("\u05eb"); sb.append("\115"); sb.append("\136"); sb.append("\116"); @@ -1730,1942 +1571,1562 @@ protected EncodedActionTable19() { sb.append("\020"); sb.append("\151"); sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\025"); sb.append("\223"); - sb.append("\030"); + sb.append("\025"); sb.append("\224"); + sb.append("\030"); + sb.append("\225"); sb.append("\115"); - sb.append("\230"); + sb.append("\231"); sb.append("\047"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); + sb.append("\241"); sb.append("\105"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); + sb.append("\021"); + sb.append("\251"); sb.append("\231"); - sb.append("\252"); - sb.append("\227"); sb.append("\253"); - sb.append("\147"); + sb.append("\227"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\326"); sb.append("\002"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\003"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\004"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\005"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\006"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\007"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\010"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\011"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\012"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\014"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\015"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\016"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\017"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\020"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\021"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\022"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\023"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\024"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\025"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\026"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\027"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\030"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\032"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\034"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\035"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\036"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\037"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\040"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\041"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\042"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\043"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\044"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\045"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\046"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\047"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\050"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\051"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\052"); - sb.append("\uff51"); + sb.append("\uff56"); + sb.append("\053"); + sb.append("\u05ec"); sb.append("\054"); - sb.append("\uff51"); + sb.append("\uff56"); + sb.append("\055"); + sb.append("\uff56"); sb.append("\056"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\057"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\061"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\062"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\063"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\064"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\065"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\066"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\074"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\075"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\077"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\100"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\101"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\102"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\103"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\104"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\105"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\111"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\112"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\114"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\115"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\116"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\120"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\121"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\122"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\123"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\124"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\125"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\126"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\133"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\151"); - sb.append("\uff51"); - sb.append("\172"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\173"); - sb.append("\uff51"); - sb.append("\177"); - sb.append("\uff51"); + sb.append("\uff56"); + sb.append("\174"); + sb.append("\uff56"); sb.append("\200"); - sb.append("\uff51"); - sb.append("\202"); - sb.append("\uff51"); + sb.append("\uff56"); + sb.append("\201"); + sb.append("\uff56"); sb.append("\203"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\204"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\205"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\206"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\207"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\210"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\211"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\212"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\213"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\214"); - sb.append("\uff51"); - sb.append("\216"); - sb.append("\uff51"); + sb.append("\uff56"); + sb.append("\215"); + sb.append("\uff56"); sb.append("\217"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\220"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\221"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\222"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\223"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\224"); - sb.append("\uff51"); - sb.append("\230"); - sb.append("\uff51"); - sb.append("\233"); - sb.append("\uff51"); + sb.append("\uff56"); + sb.append("\225"); + sb.append("\uff56"); + sb.append("\231"); + sb.append("\uff56"); sb.append("\234"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\235"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\236"); - sb.append("\uff51"); - sb.append("\240"); - sb.append("\uff51"); - sb.append("\247"); - sb.append("\uff51"); + sb.append("\uff56"); + sb.append("\237"); + sb.append("\uff56"); + sb.append("\241"); + sb.append("\uff56"); sb.append("\250"); - sb.append("\uff51"); - sb.append("\252"); - sb.append("\uff51"); + sb.append("\uff56"); + sb.append("\251"); + sb.append("\uff56"); sb.append("\253"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\254"); - sb.append("\uff51"); + sb.append("\uff56"); sb.append("\255"); - sb.append("\uff51"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\244"); - sb.append("\121"); - sb.append("\237"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\012"); - sb.append("\075"); - sb.append("\231"); - sb.append("\ufcce"); + sb.append("\uff56"); + sb.append("\256"); + sb.append("\uff56"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); sb.append("\231"); - sb.append("\u05f5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\111"); sb.append("\u05f6"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); + sb.append("\324"); + sb.append("\002"); + sb.append("\uff52"); sb.append("\003"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\004"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\005"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\006"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\007"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\010"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\011"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\012"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\014"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\015"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\016"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\017"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\020"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\021"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\022"); + sb.append("\uff52"); sb.append("\023"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\024"); + sb.append("\uff52"); sb.append("\025"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\026"); + sb.append("\uff52"); sb.append("\027"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\030"); + sb.append("\uff52"); sb.append("\032"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\034"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\035"); + sb.append("\uff52"); sb.append("\036"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\037"); + sb.append("\uff52"); + sb.append("\040"); + sb.append("\uff52"); sb.append("\041"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\042"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\043"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\044"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\045"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\046"); + sb.append("\uff52"); sb.append("\047"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\050"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\051"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\052"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\054"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\055"); + sb.append("\u05f1"); sb.append("\056"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\057"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\061"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\062"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\063"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\064"); + sb.append("\uff52"); sb.append("\065"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\066"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\074"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\075"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\077"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\100"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\101"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\102"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\103"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\104"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\105"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\111"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\112"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\114"); + sb.append("\uff52"); sb.append("\115"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\116"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\120"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\121"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\122"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\123"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\124"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\125"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\126"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\133"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\174"); + sb.append("\uff52"); sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\201"); + sb.append("\uff52"); sb.append("\203"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\204"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\205"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\206"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\207"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\210"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\211"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\212"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\213"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\215"); + sb.append("\uff52"); + sb.append("\217"); + sb.append("\uff52"); + sb.append("\220"); + sb.append("\uff52"); + sb.append("\221"); + sb.append("\uff52"); sb.append("\222"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\223"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\225"); + sb.append("\uff52"); + sb.append("\231"); + sb.append("\uff52"); sb.append("\234"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\235"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\237"); + sb.append("\uff52"); + sb.append("\241"); + sb.append("\uff52"); sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\251"); + sb.append("\uff52"); sb.append("\253"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\254"); - sb.append("\uff7c"); + sb.append("\uff52"); sb.append("\255"); - sb.append("\uff7c"); + sb.append("\uff52"); + sb.append("\256"); + sb.append("\uff52"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); + sb.append("\326"); + sb.append("\002"); + sb.append("\uff55"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff55"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff55"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff55"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff55"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff55"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff55"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff55"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff55"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff55"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff55"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff55"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff55"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff55"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff55"); + sb.append("\022"); + sb.append("\uff55"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff55"); + sb.append("\024"); + sb.append("\uff55"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff55"); + sb.append("\026"); + sb.append("\uff55"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff55"); + sb.append("\030"); + sb.append("\uff55"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff55"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff55"); + sb.append("\035"); + sb.append("\uff55"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff55"); + sb.append("\037"); + sb.append("\uff55"); + sb.append("\040"); + sb.append("\uff55"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff55"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff55"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff55"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff55"); sb.append("\045"); - sb.append("\023"); + sb.append("\uff55"); + sb.append("\046"); + sb.append("\uff55"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff55"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff55"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff55"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff55"); + sb.append("\053"); + sb.append("\uff55"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff55"); + sb.append("\055"); + sb.append("\uff55"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\uff55"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff55"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff55"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff55"); sb.append("\063"); - sb.append("\010"); + sb.append("\uff55"); + sb.append("\064"); + sb.append("\uff55"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff55"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff55"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff55"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff55"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff55"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff55"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff55"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff55"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff55"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff55"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff55"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff55"); sb.append("\112"); - sb.append("\u05f8"); + sb.append("\uff55"); + sb.append("\114"); + sb.append("\uff55"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff55"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff55"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff55"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff55"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff55"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff55"); sb.append("\124"); + sb.append("\uff55"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff55"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff55"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff55"); sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff55"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff55"); + sb.append("\174"); + sb.append("\uff55"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff55"); + sb.append("\201"); + sb.append("\uff55"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff55"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff55"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff55"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff55"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff55"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff55"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff55"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff55"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff55"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\uff55"); + sb.append("\215"); + sb.append("\uff55"); + sb.append("\217"); + sb.append("\uff55"); + sb.append("\220"); + sb.append("\uff55"); + sb.append("\221"); + sb.append("\uff55"); sb.append("\222"); - sb.append("\025"); + sb.append("\uff55"); sb.append("\223"); - sb.append("\030"); + sb.append("\uff55"); sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff55"); + sb.append("\225"); + sb.append("\uff55"); + sb.append("\231"); + sb.append("\uff55"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff55"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff55"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff55"); + sb.append("\237"); + sb.append("\uff55"); + sb.append("\241"); + sb.append("\uff55"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); + sb.append("\uff55"); + sb.append("\251"); + sb.append("\uff55"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff55"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff55"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff55"); + sb.append("\256"); + sb.append("\uff55"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\326"); sb.append("\002"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\003"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\004"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\005"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\006"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\007"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\010"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\011"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\012"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\014"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\015"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\016"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\017"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\020"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\021"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\022"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\023"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\024"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\025"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\026"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\027"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\030"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\032"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\034"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\035"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\036"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\037"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\040"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\041"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\042"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\043"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\044"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\045"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\046"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\047"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\050"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\051"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\052"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\053"); - sb.append("\uff53"); + sb.append("\u05ec"); sb.append("\054"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\055"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\056"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\057"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\061"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\062"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\063"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\064"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\065"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\066"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\074"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\075"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\077"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\100"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\101"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\102"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\103"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\104"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\105"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\111"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\112"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\114"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\115"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\116"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\120"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\121"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\122"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\123"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\124"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\125"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\126"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\133"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\151"); - sb.append("\uff53"); - sb.append("\172"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\173"); - sb.append("\uff53"); - sb.append("\177"); - sb.append("\uff53"); + sb.append("\uff57"); + sb.append("\174"); + sb.append("\uff57"); sb.append("\200"); - sb.append("\uff53"); - sb.append("\202"); - sb.append("\uff53"); + sb.append("\uff57"); + sb.append("\201"); + sb.append("\uff57"); sb.append("\203"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\204"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\205"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\206"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\207"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\210"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\211"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\212"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\213"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\214"); - sb.append("\uff53"); - sb.append("\216"); - sb.append("\uff53"); + sb.append("\uff57"); + sb.append("\215"); + sb.append("\uff57"); sb.append("\217"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\220"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\221"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\222"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\223"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\224"); - sb.append("\uff53"); - sb.append("\230"); - sb.append("\uff53"); - sb.append("\233"); - sb.append("\uff53"); + sb.append("\uff57"); + sb.append("\225"); + sb.append("\uff57"); + sb.append("\231"); + sb.append("\uff57"); sb.append("\234"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\235"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\236"); - sb.append("\uff53"); - sb.append("\240"); - sb.append("\uff53"); - sb.append("\247"); - sb.append("\uff53"); + sb.append("\uff57"); + sb.append("\237"); + sb.append("\uff57"); + sb.append("\241"); + sb.append("\uff57"); sb.append("\250"); - sb.append("\uff53"); - sb.append("\252"); - sb.append("\uff53"); + sb.append("\uff57"); + sb.append("\251"); + sb.append("\uff57"); sb.append("\253"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\254"); - sb.append("\uff53"); + sb.append("\uff57"); sb.append("\255"); - sb.append("\uff53"); + sb.append("\uff57"); + sb.append("\256"); + sb.append("\uff57"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe49"); - sb.append("\033"); - sb.append("\ufe49"); - sb.append("\073"); - sb.append("\ufe49"); - sb.append("\112"); - sb.append("\ufe49"); - sb.append("\127"); - sb.append("\ufe49"); - sb.append("\130"); - sb.append("\ufe49"); - sb.append("\131"); - sb.append("\ufe49"); - sb.append("\132"); - sb.append("\ufe49"); - sb.append("\150"); - sb.append("\ufe49"); - sb.append("\151"); - sb.append("\ufe49"); - sb.append("\152"); - sb.append("\ufe49"); - sb.append("\153"); - sb.append("\ufe49"); - sb.append("\154"); - sb.append("\ufe49"); - sb.append("\155"); - sb.append("\ufe49"); - sb.append("\156"); - sb.append("\ufe49"); - sb.append("\157"); - sb.append("\ufe49"); - sb.append("\160"); - sb.append("\ufe49"); - sb.append("\161"); - sb.append("\ufe49"); - sb.append("\162"); - sb.append("\ufe49"); - sb.append("\163"); - sb.append("\ufe49"); - sb.append("\164"); - sb.append("\ufe49"); - sb.append("\165"); - sb.append("\ufe49"); - sb.append("\166"); - sb.append("\ufe49"); - sb.append("\167"); - sb.append("\ufe49"); - sb.append("\170"); - sb.append("\ufe49"); - sb.append("\171"); - sb.append("\ufe49"); - sb.append("\172"); - sb.append("\ufe49"); - sb.append("\173"); - sb.append("\ufe49"); - sb.append("\174"); - sb.append("\ufe49"); - sb.append("\175"); - sb.append("\ufe49"); - sb.append("\176"); - sb.append("\ufe49"); - sb.append("\201"); - sb.append("\ufe49"); - sb.append("\215"); - sb.append("\ufe49"); - sb.append("\231"); - sb.append("\ufe49"); - sb.append("\232"); - sb.append("\ufe49"); - sb.append("\242"); - sb.append("\ufe49"); - sb.append("\245"); - sb.append("\ufe49"); - sb.append("\251"); - sb.append("\ufe49"); - sb.append("\001"); + sb.append("\326"); sb.append("\002"); - sb.append("\000"); - sb.append("\344"); + sb.append("\uff54"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\uff54"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\uff54"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\uff54"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff54"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff54"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\uff54"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff54"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff54"); + sb.append("\014"); + sb.append("\uff54"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff54"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff54"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\uff54"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\uff54"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\uff54"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\uff54"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\uff54"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\uff54"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\uff54"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\uff54"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\uff54"); sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); + sb.append("\uff54"); sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); + sb.append("\uff54"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\uff54"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\uff54"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\uff54"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\uff54"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\uff54"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\uff54"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\uff54"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\uff54"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\uff54"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\uff54"); sb.append("\046"); - sb.append("\u019d"); + sb.append("\uff54"); sb.append("\047"); - sb.append("\u019f"); + sb.append("\uff54"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\uff54"); + sb.append("\051"); + sb.append("\uff54"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\uff54"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\uff54"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\uff54"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\uff54"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\uff54"); sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); + sb.append("\uff54"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\uff54"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\uff54"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\uff54"); + sb.append("\064"); + sb.append("\uff54"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\uff54"); sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\uff54"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\uff54"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\uff54"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\uff54"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\uff54"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\uff54"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\uff54"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\uff54"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\uff54"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff54"); + sb.append("\111"); + sb.append("\uff54"); + sb.append("\112"); + sb.append("\uff54"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\uff54"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\uff54"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\uff54"); + sb.append("\120"); + sb.append("\uff54"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\uff54"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\uff54"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\uff54"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\uff54"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\uff54"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); + sb.append("\uff54"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\uff54"); + sb.append("\151"); + sb.append("\uff54"); sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); + sb.append("\uff54"); + sb.append("\174"); + sb.append("\uff54"); sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); + sb.append("\uff54"); + sb.append("\201"); + sb.append("\uff54"); sb.append("\203"); - sb.append("\120"); + sb.append("\uff54"); sb.append("\204"); - sb.append("\207"); + sb.append("\uff54"); sb.append("\205"); - sb.append("\154"); + sb.append("\uff54"); sb.append("\206"); - sb.append("\216"); + sb.append("\uff54"); sb.append("\207"); - sb.append("\151"); + sb.append("\uff54"); sb.append("\210"); - sb.append("\142"); + sb.append("\uff54"); sb.append("\211"); - sb.append("\155"); + sb.append("\uff54"); sb.append("\212"); - sb.append("\063"); + sb.append("\uff54"); sb.append("\213"); - sb.append("\074"); + sb.append("\uff54"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); + sb.append("\uff54"); + sb.append("\215"); + sb.append("\uff54"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\uff54"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\uff54"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\uff54"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\uff54"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\uff54"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\uff54"); sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\uff54"); sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\uff54"); sb.append("\234"); - sb.append("\015"); + sb.append("\uff54"); sb.append("\235"); - sb.append("\073"); + sb.append("\uff54"); sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\uff54"); + sb.append("\237"); + sb.append("\uff54"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); + sb.append("\uff54"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\uff54"); + sb.append("\251"); + sb.append("\uff54"); sb.append("\253"); - sb.append("\147"); + sb.append("\uff54"); sb.append("\254"); - sb.append("\064"); + sb.append("\uff54"); sb.append("\255"); - sb.append("\055"); + sb.append("\uff54"); + sb.append("\256"); + sb.append("\uff54"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u05fc"); + sb.append("\111"); + sb.append("\u05f3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufdfc"); - sb.append("\033"); - sb.append("\ufdfc"); - sb.append("\071"); - sb.append("\ufdfc"); - sb.append("\072"); - sb.append("\ufdfc"); - sb.append("\073"); - sb.append("\ufdfc"); - sb.append("\111"); - sb.append("\ufdfc"); - sb.append("\112"); - sb.append("\ufdfc"); - sb.append("\113"); - sb.append("\ufdfc"); - sb.append("\127"); - sb.append("\ufdfc"); - sb.append("\130"); - sb.append("\ufdfc"); - sb.append("\131"); - sb.append("\ufdfc"); - sb.append("\132"); - sb.append("\ufdfc"); - sb.append("\134"); - sb.append("\ufdfc"); - sb.append("\135"); - sb.append("\ufdfc"); - sb.append("\136"); - sb.append("\ufdfc"); - sb.append("\137"); - sb.append("\ufdfc"); - sb.append("\140"); - sb.append("\ufdfc"); - sb.append("\141"); - sb.append("\ufdfc"); - sb.append("\142"); - sb.append("\ufdfc"); - sb.append("\143"); - sb.append("\ufdfc"); - sb.append("\144"); - sb.append("\ufdfc"); - sb.append("\145"); - sb.append("\ufdfc"); - sb.append("\146"); - sb.append("\ufdfc"); - sb.append("\147"); - sb.append("\ufdfc"); - sb.append("\150"); - sb.append("\ufdfc"); - sb.append("\151"); - sb.append("\ufdfc"); - sb.append("\152"); - sb.append("\ufdfc"); - sb.append("\153"); - sb.append("\ufdfc"); - sb.append("\154"); - sb.append("\ufdfc"); - sb.append("\155"); - sb.append("\ufdfc"); - sb.append("\156"); - sb.append("\ufdfc"); - sb.append("\157"); - sb.append("\ufdfc"); - sb.append("\160"); - sb.append("\ufdfc"); - sb.append("\161"); - sb.append("\ufdfc"); - sb.append("\162"); - sb.append("\ufdfc"); - sb.append("\163"); - sb.append("\ufdfc"); - sb.append("\164"); - sb.append("\ufdfc"); - sb.append("\165"); - sb.append("\ufdfc"); - sb.append("\166"); - sb.append("\ufdfc"); - sb.append("\167"); - sb.append("\ufdfc"); - sb.append("\170"); - sb.append("\ufdfc"); - sb.append("\171"); - sb.append("\ufdfc"); - sb.append("\172"); - sb.append("\ufdfc"); - sb.append("\173"); - sb.append("\ufdfc"); - sb.append("\174"); - sb.append("\ufdfc"); - sb.append("\175"); - sb.append("\ufdfc"); - sb.append("\176"); - sb.append("\ufdfc"); - sb.append("\201"); - sb.append("\ufdfc"); - sb.append("\202"); - sb.append("\ufdfc"); - sb.append("\203"); - sb.append("\ufdfc"); - sb.append("\214"); - sb.append("\ufdfc"); - sb.append("\215"); - sb.append("\ufdfc"); - sb.append("\230"); - sb.append("\ufdfc"); - sb.append("\231"); - sb.append("\ufdfc"); - sb.append("\232"); - sb.append("\ufdfc"); - sb.append("\242"); - sb.append("\ufdfc"); - sb.append("\243"); - sb.append("\ufdfc"); - sb.append("\245"); - sb.append("\ufdfc"); - sb.append("\246"); - sb.append("\ufdfc"); - sb.append("\251"); - sb.append("\ufdfc"); - sb.append("\001"); + sb.append("\322"); sb.append("\002"); - sb.append("\000"); - sb.append("\274"); + sb.append("\uff5b"); sb.append("\003"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\004"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\005"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\006"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\007"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\010"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\011"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\012"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\014"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\015"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\016"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\017"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\020"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\021"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\022"); + sb.append("\uff5b"); sb.append("\023"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\024"); + sb.append("\uff5b"); sb.append("\025"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\026"); + sb.append("\uff5b"); sb.append("\027"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\030"); + sb.append("\uff5b"); sb.append("\032"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\034"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\035"); + sb.append("\uff5b"); sb.append("\036"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\037"); + sb.append("\uff5b"); + sb.append("\040"); + sb.append("\uff5b"); sb.append("\041"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\042"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\043"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\044"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\045"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\046"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\047"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\050"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\051"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\052"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\054"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\056"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\057"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\061"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\062"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\063"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\064"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\065"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\066"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\074"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\075"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\077"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\100"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\101"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\102"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\103"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\104"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\105"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\111"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\112"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\114"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\115"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\116"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\120"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\121"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\122"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\123"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\124"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\125"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\126"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\133"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\151"); - sb.append("\uffa1"); - sb.append("\172"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\173"); - sb.append("\uffa1"); - sb.append("\177"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\174"); + sb.append("\uff5b"); sb.append("\200"); - sb.append("\uffa1"); - sb.append("\202"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\201"); + sb.append("\uff5b"); sb.append("\203"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\204"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\205"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\206"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\207"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\210"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\211"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\212"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\213"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\214"); - sb.append("\uffa1"); - sb.append("\216"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\215"); + sb.append("\uff5b"); + sb.append("\217"); + sb.append("\uff5b"); + sb.append("\220"); + sb.append("\uff5b"); + sb.append("\221"); + sb.append("\uff5b"); sb.append("\222"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\223"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\224"); - sb.append("\uffa1"); - sb.append("\230"); - sb.append("\uffa1"); - sb.append("\233"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\225"); + sb.append("\uff5b"); + sb.append("\231"); + sb.append("\uff5b"); sb.append("\234"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\235"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\236"); - sb.append("\uffa1"); - sb.append("\240"); - sb.append("\uffa1"); - sb.append("\247"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\237"); + sb.append("\uff5b"); + sb.append("\241"); + sb.append("\uff5b"); sb.append("\250"); - sb.append("\uffa1"); - sb.append("\252"); - sb.append("\uffa1"); + sb.append("\uff5b"); + sb.append("\251"); + sb.append("\uff5b"); sb.append("\253"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\254"); - sb.append("\uffa1"); + sb.append("\uff5b"); sb.append("\255"); - sb.append("\uffa1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\ufffc"); - sb.append("\151"); - sb.append("\ufffc"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\ufffb"); - sb.append("\151"); - sb.append("\ufffb"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\u0601"); - sb.append("\151"); - sb.append("\u0602"); + sb.append("\uff5b"); + sb.append("\256"); + sb.append("\uff5b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\274"); + sb.append("\266"); sb.append("\003"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uffa1"); - sb.append("\046"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uffa1"); - sb.append("\064"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\112"); - sb.append("\uffa1"); - sb.append("\114"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uffa1"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uffa1"); - sb.append("\123"); - sb.append("\uffa1"); - sb.append("\124"); - sb.append("\uffa1"); - sb.append("\125"); - sb.append("\uffa1"); - sb.append("\126"); - sb.append("\uffa1"); - sb.append("\133"); - sb.append("\uffa1"); - sb.append("\151"); - sb.append("\uffa1"); - sb.append("\172"); - sb.append("\uffa1"); - sb.append("\173"); - sb.append("\uffa1"); - sb.append("\177"); - sb.append("\uffa1"); - sb.append("\200"); - sb.append("\uffa1"); - sb.append("\202"); - sb.append("\uffa1"); - sb.append("\203"); - sb.append("\uffa1"); - sb.append("\204"); - sb.append("\uffa1"); - sb.append("\205"); - sb.append("\uffa1"); - sb.append("\206"); - sb.append("\uffa1"); - sb.append("\207"); - sb.append("\uffa1"); - sb.append("\210"); - sb.append("\uffa1"); - sb.append("\211"); - sb.append("\uffa1"); - sb.append("\212"); - sb.append("\uffa1"); - sb.append("\213"); - sb.append("\uffa1"); - sb.append("\214"); - sb.append("\uffa1"); - sb.append("\216"); - sb.append("\uffa1"); - sb.append("\222"); - sb.append("\uffa1"); - sb.append("\223"); - sb.append("\uffa1"); - sb.append("\224"); - sb.append("\uffa1"); - sb.append("\230"); - sb.append("\uffa1"); - sb.append("\233"); - sb.append("\uffa1"); - sb.append("\234"); - sb.append("\uffa1"); - sb.append("\235"); - sb.append("\uffa1"); - sb.append("\236"); - sb.append("\uffa1"); - sb.append("\240"); - sb.append("\uffa1"); - sb.append("\247"); - sb.append("\uffa1"); - sb.append("\250"); - sb.append("\uffa1"); - sb.append("\252"); - sb.append("\uffa1"); - sb.append("\253"); - sb.append("\uffa1"); - sb.append("\254"); - sb.append("\uffa1"); - sb.append("\255"); - sb.append("\uffa1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\276"); - sb.append("\002"); - sb.append("\uff9a"); - sb.append("\003"); - sb.append("\uff9a"); - sb.append("\004"); - sb.append("\uff9a"); - sb.append("\005"); - sb.append("\uff9a"); - sb.append("\006"); - sb.append("\uff9a"); - sb.append("\007"); - sb.append("\uff9a"); - sb.append("\010"); - sb.append("\uff9a"); - sb.append("\011"); - sb.append("\uff9a"); - sb.append("\012"); - sb.append("\uff9a"); - sb.append("\014"); - sb.append("\uff9a"); - sb.append("\015"); - sb.append("\uff9a"); - sb.append("\016"); - sb.append("\uff9a"); - sb.append("\017"); - sb.append("\uff9a"); - sb.append("\020"); - sb.append("\uff9a"); - sb.append("\021"); - sb.append("\uff9a"); - sb.append("\023"); - sb.append("\uff9a"); - sb.append("\025"); - sb.append("\uff9a"); - sb.append("\027"); - sb.append("\uff9a"); - sb.append("\032"); - sb.append("\uff9a"); - sb.append("\034"); - sb.append("\uff9a"); - sb.append("\036"); - sb.append("\uff9a"); - sb.append("\041"); - sb.append("\uff9a"); - sb.append("\042"); - sb.append("\uff9a"); - sb.append("\043"); - sb.append("\uff9a"); - sb.append("\044"); - sb.append("\uff9a"); - sb.append("\045"); - sb.append("\uff9a"); - sb.append("\046"); - sb.append("\uff9a"); - sb.append("\047"); - sb.append("\uff9a"); - sb.append("\050"); - sb.append("\uff9a"); - sb.append("\051"); - sb.append("\uff9a"); - sb.append("\052"); - sb.append("\uff9a"); - sb.append("\054"); - sb.append("\uff9a"); - sb.append("\056"); - sb.append("\uff9a"); - sb.append("\057"); - sb.append("\uff9a"); - sb.append("\061"); - sb.append("\uff9a"); - sb.append("\062"); - sb.append("\uff9a"); - sb.append("\063"); - sb.append("\uff9a"); - sb.append("\064"); - sb.append("\uff9a"); - sb.append("\065"); - sb.append("\uff9a"); - sb.append("\066"); - sb.append("\uff9a"); - sb.append("\074"); - sb.append("\uff9a"); - sb.append("\075"); - sb.append("\uff9a"); - sb.append("\077"); - sb.append("\uff9a"); - sb.append("\100"); - sb.append("\uff9a"); - sb.append("\101"); - sb.append("\uff9a"); - sb.append("\102"); - sb.append("\uff9a"); - sb.append("\103"); - sb.append("\uff9a"); - sb.append("\104"); - sb.append("\uff9a"); - sb.append("\105"); - sb.append("\uff9a"); - sb.append("\111"); - sb.append("\uff9a"); - sb.append("\112"); - sb.append("\uff9a"); - sb.append("\114"); - sb.append("\uff9a"); - sb.append("\115"); - sb.append("\uff9a"); - sb.append("\116"); - sb.append("\uff9a"); - sb.append("\120"); - sb.append("\uff9a"); - sb.append("\121"); - sb.append("\uff9a"); - sb.append("\122"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff9a"); - sb.append("\172"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff9a"); - sb.append("\177"); - sb.append("\uff9a"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff9a"); - sb.append("\202"); - sb.append("\uff9a"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\uff9a"); - sb.append("\216"); - sb.append("\uff9a"); - sb.append("\222"); - sb.append("\uff9a"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); + sb.append("\217"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff9a"); - sb.append("\230"); - sb.append("\uff9a"); - sb.append("\233"); - sb.append("\uff9a"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\uff9a"); - sb.append("\240"); - sb.append("\uff9a"); - sb.append("\247"); - sb.append("\uff9a"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\uff9a"); - sb.append("\252"); - sb.append("\uff9a"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\uff9a"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\uff9a"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\274"); + sb.append("\266"); sb.append("\003"); sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\005"); sb.append("\164"); sb.append("\006"); @@ -3712,8 +3173,6 @@ protected EncodedActionTable19() { sb.append("\222"); sb.append("\045"); sb.append("\023"); - sb.append("\046"); - sb.append("\036"); sb.append("\047"); sb.append("\212"); sb.append("\050"); @@ -3725,7 +3184,7 @@ protected EncodedActionTable19() { sb.append("\054"); sb.append("\026"); sb.append("\056"); - sb.append("\163"); + sb.append("\u03a9"); sb.append("\057"); sb.append("\016"); sb.append("\061"); @@ -3734,8 +3193,6 @@ protected EncodedActionTable19() { sb.append("\210"); sb.append("\063"); sb.append("\010"); - sb.append("\064"); - sb.append("\225"); sb.append("\065"); sb.append("\027"); sb.append("\066"); @@ -3761,9 +3218,7 @@ protected EncodedActionTable19() { sb.append("\111"); sb.append("\157"); sb.append("\112"); - sb.append("\u0604"); - sb.append("\114"); - sb.append("\052"); + sb.append("\u05f5"); sb.append("\115"); sb.append("\136"); sb.append("\116"); @@ -3786,747 +3241,1293 @@ protected EncodedActionTable19() { sb.append("\020"); sb.append("\151"); sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\025"); sb.append("\223"); - sb.append("\030"); + sb.append("\025"); sb.append("\224"); + sb.append("\030"); + sb.append("\225"); sb.append("\115"); - sb.append("\230"); + sb.append("\231"); sb.append("\047"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); + sb.append("\241"); sb.append("\105"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); + sb.append("\021"); + sb.append("\251"); sb.append("\231"); - sb.append("\252"); - sb.append("\227"); sb.append("\253"); - sb.append("\147"); + sb.append("\227"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\276"); + sb.append("\322"); sb.append("\002"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\003"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\004"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\005"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\006"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\007"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\010"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\011"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\012"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\014"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\015"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\016"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\017"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\020"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\021"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\022"); + sb.append("\uff51"); sb.append("\023"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\024"); + sb.append("\uff51"); sb.append("\025"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\026"); + sb.append("\uff51"); sb.append("\027"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\030"); + sb.append("\uff51"); sb.append("\032"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\034"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\035"); + sb.append("\uff51"); sb.append("\036"); - sb.append("\uff99"); - sb.append("\041"); - sb.append("\uff99"); - sb.append("\042"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\037"); + sb.append("\uff51"); + sb.append("\040"); + sb.append("\uff51"); + sb.append("\041"); + sb.append("\uff51"); + sb.append("\042"); + sb.append("\uff51"); sb.append("\043"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\044"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\045"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\046"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\047"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\050"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\051"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\052"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\054"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\056"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\057"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\061"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\062"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\063"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\064"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\065"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\066"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\074"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\075"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\077"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\100"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\101"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\102"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\103"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\104"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\105"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\111"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\112"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\114"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\115"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\116"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\120"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\121"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\122"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\123"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\124"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\125"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\126"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\133"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\151"); - sb.append("\uff99"); - sb.append("\172"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\173"); - sb.append("\uff99"); - sb.append("\177"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\174"); + sb.append("\uff51"); sb.append("\200"); - sb.append("\uff99"); - sb.append("\202"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\201"); + sb.append("\uff51"); sb.append("\203"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\204"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\205"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\206"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\207"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\210"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\211"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\212"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\213"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\214"); - sb.append("\uff99"); - sb.append("\216"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\215"); + sb.append("\uff51"); + sb.append("\217"); + sb.append("\uff51"); + sb.append("\220"); + sb.append("\uff51"); + sb.append("\221"); + sb.append("\uff51"); sb.append("\222"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\223"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\224"); - sb.append("\uff99"); - sb.append("\230"); - sb.append("\uff99"); - sb.append("\233"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\225"); + sb.append("\uff51"); + sb.append("\231"); + sb.append("\uff51"); sb.append("\234"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\235"); - sb.append("\uff99"); + sb.append("\uff51"); sb.append("\236"); - sb.append("\uff99"); - sb.append("\240"); - sb.append("\uff99"); - sb.append("\247"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\237"); + sb.append("\uff51"); + sb.append("\241"); + sb.append("\uff51"); sb.append("\250"); - sb.append("\uff99"); - sb.append("\252"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\251"); + sb.append("\uff51"); sb.append("\253"); - sb.append("\uff99"); + sb.append("\uff51"); + sb.append("\254"); + sb.append("\uff51"); + sb.append("\255"); + sb.append("\uff51"); + sb.append("\256"); + sb.append("\uff51"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\010"); + sb.append("\244"); + sb.append("\121"); + sb.append("\240"); sb.append("\254"); - sb.append("\uff99"); + sb.append("\241"); sb.append("\255"); - sb.append("\uff99"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\012"); + sb.append("\075"); + sb.append("\232"); + sb.append("\ufccc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u05f9"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\111"); + sb.append("\u05fa"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\274"); + sb.append("\266"); sb.append("\003"); - sb.append("\211"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\201"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\164"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\156"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\175"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\217"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\204"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\075"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\007"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\031"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\071"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\143"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\035"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\034"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\145"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\200"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\203"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\106"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\113"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\125"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\033"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\040"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\226"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\222"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\023"); - sb.append("\046"); - sb.append("\036"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\212"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\173"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\214"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\057"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\026"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\163"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\016"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\110"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\210"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\010"); - sb.append("\064"); - sb.append("\225"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\027"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\111"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\051"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\166"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\123"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\012"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\206"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\041"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\144"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\117"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\141"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\157"); + sb.append("\uff7c"); sb.append("\112"); - sb.append("\u0606"); - sb.append("\114"); - sb.append("\052"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\136"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\046"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\172"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\160"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\013"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\uff7c"); sb.append("\124"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\116"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\131"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\020"); + sb.append("\uff7c"); sb.append("\151"); + sb.append("\uff7c"); + sb.append("\173"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); + sb.append("\200"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); + sb.append("\203"); + sb.append("\uff7c"); + sb.append("\204"); + sb.append("\uff7c"); + sb.append("\205"); + sb.append("\uff7c"); + sb.append("\206"); + sb.append("\uff7c"); + sb.append("\207"); + sb.append("\uff7c"); + sb.append("\210"); + sb.append("\uff7c"); + sb.append("\211"); + sb.append("\uff7c"); + sb.append("\212"); + sb.append("\uff7c"); + sb.append("\213"); + sb.append("\uff7c"); + sb.append("\214"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); + sb.append("\217"); + sb.append("\uff7c"); + sb.append("\223"); + sb.append("\uff7c"); + sb.append("\224"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); + sb.append("\234"); + sb.append("\uff7c"); + sb.append("\235"); + sb.append("\uff7c"); + sb.append("\236"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); + sb.append("\250"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); + sb.append("\253"); + sb.append("\uff7c"); + sb.append("\254"); + sb.append("\uff7c"); + sb.append("\255"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\266"); + sb.append("\003"); + sb.append("\211"); + sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\217"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\014"); + sb.append("\007"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); + sb.append("\032"); + sb.append("\106"); + sb.append("\034"); + sb.append("\113"); + sb.append("\036"); + sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\023"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\052"); + sb.append("\057"); + sb.append("\054"); + sb.append("\026"); + sb.append("\056"); + sb.append("\u03a9"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); + sb.append("\111"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\111"); + sb.append("\157"); + sb.append("\112"); + sb.append("\u05fc"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\120"); + sb.append("\172"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\151"); + sb.append("\171"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\025"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); + sb.append("\253"); + sb.append("\227"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\326"); + sb.append("\002"); + sb.append("\uff53"); + sb.append("\003"); + sb.append("\uff53"); + sb.append("\004"); + sb.append("\uff53"); + sb.append("\005"); + sb.append("\uff53"); + sb.append("\006"); + sb.append("\uff53"); + sb.append("\007"); + sb.append("\uff53"); + sb.append("\010"); + sb.append("\uff53"); + sb.append("\011"); + sb.append("\uff53"); + sb.append("\012"); + sb.append("\uff53"); + sb.append("\014"); + sb.append("\uff53"); + sb.append("\015"); + sb.append("\uff53"); + sb.append("\016"); + sb.append("\uff53"); + sb.append("\017"); + sb.append("\uff53"); + sb.append("\020"); + sb.append("\uff53"); + sb.append("\021"); + sb.append("\uff53"); + sb.append("\022"); + sb.append("\uff53"); + sb.append("\023"); + sb.append("\uff53"); + sb.append("\024"); + sb.append("\uff53"); + sb.append("\025"); + sb.append("\uff53"); + sb.append("\026"); + sb.append("\uff53"); + sb.append("\027"); + sb.append("\uff53"); + sb.append("\030"); + sb.append("\uff53"); + sb.append("\032"); + sb.append("\uff53"); + sb.append("\034"); + sb.append("\uff53"); + sb.append("\035"); + sb.append("\uff53"); + sb.append("\036"); + sb.append("\uff53"); + sb.append("\037"); + sb.append("\uff53"); + sb.append("\040"); + sb.append("\uff53"); + sb.append("\041"); + sb.append("\uff53"); + sb.append("\042"); + sb.append("\uff53"); + sb.append("\043"); + sb.append("\uff53"); + sb.append("\044"); + sb.append("\uff53"); + sb.append("\045"); + sb.append("\uff53"); + sb.append("\046"); + sb.append("\uff53"); + sb.append("\047"); + sb.append("\uff53"); + sb.append("\050"); + sb.append("\uff53"); + sb.append("\051"); + sb.append("\uff53"); + sb.append("\052"); + sb.append("\uff53"); + sb.append("\053"); + sb.append("\uff53"); + sb.append("\054"); + sb.append("\uff53"); + sb.append("\055"); + sb.append("\uff53"); + sb.append("\056"); + sb.append("\uff53"); + sb.append("\057"); + sb.append("\uff53"); + sb.append("\061"); + sb.append("\uff53"); + sb.append("\062"); + sb.append("\uff53"); + sb.append("\063"); + sb.append("\uff53"); + sb.append("\064"); + sb.append("\uff53"); + sb.append("\065"); + sb.append("\uff53"); + sb.append("\066"); + sb.append("\uff53"); + sb.append("\074"); + sb.append("\uff53"); + sb.append("\075"); + sb.append("\uff53"); + sb.append("\077"); + sb.append("\uff53"); + sb.append("\100"); + sb.append("\uff53"); + sb.append("\101"); + sb.append("\uff53"); + sb.append("\102"); + sb.append("\uff53"); + sb.append("\103"); + sb.append("\uff53"); + sb.append("\104"); + sb.append("\uff53"); + sb.append("\105"); + sb.append("\uff53"); + sb.append("\111"); + sb.append("\uff53"); + sb.append("\112"); + sb.append("\uff53"); + sb.append("\114"); + sb.append("\uff53"); + sb.append("\115"); + sb.append("\uff53"); + sb.append("\116"); + sb.append("\uff53"); + sb.append("\120"); + sb.append("\uff53"); + sb.append("\121"); + sb.append("\uff53"); + sb.append("\122"); + sb.append("\uff53"); + sb.append("\123"); + sb.append("\uff53"); + sb.append("\124"); + sb.append("\uff53"); + sb.append("\125"); + sb.append("\uff53"); + sb.append("\126"); + sb.append("\uff53"); + sb.append("\133"); + sb.append("\uff53"); + sb.append("\151"); + sb.append("\uff53"); + sb.append("\173"); + sb.append("\uff53"); + sb.append("\174"); + sb.append("\uff53"); + sb.append("\200"); + sb.append("\uff53"); + sb.append("\201"); + sb.append("\uff53"); + sb.append("\203"); + sb.append("\uff53"); + sb.append("\204"); + sb.append("\uff53"); + sb.append("\205"); + sb.append("\uff53"); + sb.append("\206"); + sb.append("\uff53"); + sb.append("\207"); + sb.append("\uff53"); + sb.append("\210"); + sb.append("\uff53"); + sb.append("\211"); + sb.append("\uff53"); + sb.append("\212"); + sb.append("\uff53"); + sb.append("\213"); + sb.append("\uff53"); + sb.append("\214"); + sb.append("\uff53"); + sb.append("\215"); + sb.append("\uff53"); + sb.append("\217"); + sb.append("\uff53"); + sb.append("\220"); + sb.append("\uff53"); + sb.append("\221"); + sb.append("\uff53"); + sb.append("\222"); + sb.append("\uff53"); + sb.append("\223"); + sb.append("\uff53"); + sb.append("\224"); + sb.append("\uff53"); + sb.append("\225"); + sb.append("\uff53"); + sb.append("\231"); + sb.append("\uff53"); + sb.append("\234"); + sb.append("\uff53"); + sb.append("\235"); + sb.append("\uff53"); + sb.append("\236"); + sb.append("\uff53"); + sb.append("\237"); + sb.append("\uff53"); + sb.append("\241"); + sb.append("\uff53"); + sb.append("\250"); + sb.append("\uff53"); + sb.append("\251"); + sb.append("\uff53"); + sb.append("\253"); + sb.append("\uff53"); + sb.append("\254"); + sb.append("\uff53"); + sb.append("\255"); + sb.append("\uff53"); + sb.append("\256"); + sb.append("\uff53"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe49"); + sb.append("\033"); + sb.append("\ufe49"); + sb.append("\073"); + sb.append("\ufe49"); + sb.append("\112"); + sb.append("\ufe49"); + sb.append("\127"); + sb.append("\ufe49"); + sb.append("\130"); + sb.append("\ufe49"); + sb.append("\131"); + sb.append("\ufe49"); + sb.append("\132"); + sb.append("\ufe49"); + sb.append("\150"); + sb.append("\ufe49"); + sb.append("\151"); + sb.append("\ufe49"); + sb.append("\152"); + sb.append("\ufe49"); + sb.append("\153"); + sb.append("\ufe49"); + sb.append("\154"); + sb.append("\ufe49"); + sb.append("\155"); + sb.append("\ufe49"); + sb.append("\156"); + sb.append("\ufe49"); + sb.append("\157"); + sb.append("\ufe49"); + sb.append("\160"); + sb.append("\ufe49"); + sb.append("\161"); + sb.append("\ufe49"); + sb.append("\162"); + sb.append("\ufe49"); + sb.append("\163"); + sb.append("\ufe49"); + sb.append("\164"); + sb.append("\ufe49"); + sb.append("\165"); + sb.append("\ufe49"); + sb.append("\166"); + sb.append("\ufe49"); + sb.append("\167"); + sb.append("\ufe49"); + sb.append("\170"); + sb.append("\ufe49"); sb.append("\171"); + sb.append("\ufe49"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufe49"); sb.append("\173"); + sb.append("\ufe49"); + sb.append("\174"); + sb.append("\ufe49"); + sb.append("\175"); + sb.append("\ufe49"); sb.append("\176"); + sb.append("\ufe49"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufe49"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufe49"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); + sb.append("\ufe49"); + sb.append("\232"); + sb.append("\ufe49"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\231"); + sb.append("\ufe49"); + sb.append("\243"); + sb.append("\ufe49"); + sb.append("\246"); + sb.append("\ufe49"); sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufe49"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\276"); - sb.append("\002"); - sb.append("\uff98"); + sb.append("\344"); sb.append("\003"); - sb.append("\uff98"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\uff98"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\uff98"); + sb.append("\u01ae"); sb.append("\006"); - sb.append("\uff98"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff98"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff98"); + sb.append("\u0226"); sb.append("\011"); - sb.append("\uff98"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff98"); - sb.append("\014"); - sb.append("\uff98"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff98"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff98"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff98"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\uff98"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\uff98"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\uff98"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\uff98"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\uff98"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\uff98"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\uff98"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\uff98"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\uff98"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\uff98"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\uff98"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\uff98"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\uff98"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\uff98"); + sb.append("\u019f"); sb.append("\047"); - sb.append("\uff98"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\uff98"); - sb.append("\051"); - sb.append("\uff98"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\uff98"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\uff98"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\uff98"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\uff98"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\uff98"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\uff98"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\uff98"); - sb.append("\064"); - sb.append("\uff98"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\uff98"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\uff98"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\uff98"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\uff98"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\uff98"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\uff98"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\uff98"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\uff98"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\uff98"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\uff98"); + sb.append("\u0216"); sb.append("\105"); - sb.append("\uff98"); - sb.append("\111"); - sb.append("\uff98"); - sb.append("\112"); - sb.append("\uff98"); + sb.append("\141"); sb.append("\114"); - sb.append("\uff98"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\uff98"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\uff98"); - sb.append("\120"); - sb.append("\uff98"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\uff98"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\uff98"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\uff98"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\uff98"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\uff98"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\uff98"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\uff98"); - sb.append("\151"); - sb.append("\uff98"); - sb.append("\172"); - sb.append("\uff98"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); - sb.append("\uff98"); - sb.append("\177"); - sb.append("\uff98"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff98"); - sb.append("\202"); - sb.append("\uff98"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff98"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff98"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff98"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff98"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff98"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff98"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff98"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff98"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff98"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff98"); - sb.append("\216"); - sb.append("\uff98"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\uff98"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\uff98"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\uff98"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\uff98"); - sb.append("\233"); - sb.append("\uff98"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); sb.append("\234"); - sb.append("\uff98"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff98"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff98"); - sb.append("\240"); - sb.append("\uff98"); - sb.append("\247"); - sb.append("\uff98"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\uff98"); - sb.append("\252"); - sb.append("\uff98"); - sb.append("\253"); - sb.append("\uff98"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\uff98"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff98"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u0608"); + sb.append("\232"); + sb.append("\u0600"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\033"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); + sb.append("\071"); + sb.append("\ufdfb"); + sb.append("\072"); + sb.append("\ufdfb"); sb.append("\073"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); + sb.append("\111"); + sb.append("\ufdfb"); sb.append("\112"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); + sb.append("\113"); + sb.append("\ufdfb"); sb.append("\127"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\130"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\131"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\132"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); + sb.append("\134"); + sb.append("\ufdfb"); + sb.append("\135"); + sb.append("\ufdfb"); + sb.append("\136"); + sb.append("\ufdfb"); + sb.append("\137"); + sb.append("\ufdfb"); + sb.append("\140"); + sb.append("\ufdfb"); + sb.append("\141"); + sb.append("\ufdfb"); + sb.append("\142"); + sb.append("\ufdfb"); + sb.append("\143"); + sb.append("\ufdfb"); + sb.append("\144"); + sb.append("\ufdfb"); + sb.append("\145"); + sb.append("\ufdfb"); + sb.append("\146"); + sb.append("\ufdfb"); + sb.append("\147"); + sb.append("\ufdfb"); sb.append("\150"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\151"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\152"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\153"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\154"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\155"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\156"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\157"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\160"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\161"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\162"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\163"); - sb.append("\ufd5e"); + sb.append("\ufdfb"); sb.append("\164"); - sb.append("\ufd5e"); - sb.append("\165"); - sb.append("\ufd5e"); - sb.append("\166"); - sb.append("\ufd5e"); - sb.append("\167"); - sb.append("\ufd5e"); - sb.append("\170"); - sb.append("\ufd5e"); - sb.append("\171"); - sb.append("\ufd5e"); - sb.append("\172"); - sb.append("\ufd5e"); - sb.append("\173"); - sb.append("\ufd5e"); - sb.append("\174"); - sb.append("\ufd5e"); - sb.append("\175"); - sb.append("\ufd5e"); - sb.append("\176"); - sb.append("\ufd5e"); - sb.append("\201"); - sb.append("\ufd5e"); - sb.append("\215"); - sb.append("\ufd5e"); - sb.append("\231"); - sb.append("\ufd5e"); - sb.append("\232"); - sb.append("\ufd5e"); - sb.append("\242"); - sb.append("\ufd5e"); - sb.append("\245"); - sb.append("\ufd5e"); - sb.append("\251"); - sb.append("\ufd5e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\067"); - sb.append("\u03d6"); - sb.append("\070"); - sb.append("\uff25"); - sb.append("\111"); - sb.append("\uff25"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\070"); - sb.append("\236"); - sb.append("\111"); - sb.append("\uff20"); - sb.append("\001"); - sb.append("\002"); + sb.append("\ufdfb"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable2.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable2.java index 7d5762f95b5b..d126e6476570 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable2.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable2.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,76 +29,12 @@ public String getTableData() { } protected EncodedActionTable2() { sb = new StringBuilder(); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); sb.append("\036"); sb.append("\125"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -140,70 +77,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -219,7 +156,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -262,70 +199,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -341,7 +278,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -384,70 +321,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -463,7 +400,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -506,190 +443,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); - sb.append("\031"); - sb.append("\ufd19"); - sb.append("\033"); - sb.append("\ufd19"); - sb.append("\071"); - sb.append("\ufd19"); - sb.append("\072"); - sb.append("\ufd19"); - sb.append("\073"); - sb.append("\ufd19"); - sb.append("\112"); - sb.append("\ufd19"); - sb.append("\113"); - sb.append("\ufd19"); - sb.append("\127"); - sb.append("\ufd19"); - sb.append("\130"); - sb.append("\ufd19"); - sb.append("\131"); - sb.append("\ufd19"); - sb.append("\132"); - sb.append("\ufd19"); - sb.append("\134"); - sb.append("\ufd19"); - sb.append("\135"); - sb.append("\ufd19"); - sb.append("\136"); - sb.append("\ufd19"); - sb.append("\137"); - sb.append("\ufd19"); - sb.append("\140"); - sb.append("\ufd19"); - sb.append("\141"); - sb.append("\ufd19"); - sb.append("\142"); - sb.append("\ufd19"); - sb.append("\143"); - sb.append("\ufd19"); - sb.append("\144"); - sb.append("\ufd19"); - sb.append("\145"); - sb.append("\ufd19"); - sb.append("\146"); - sb.append("\ufd19"); - sb.append("\147"); - sb.append("\ufd19"); - sb.append("\150"); - sb.append("\ufd19"); - sb.append("\151"); - sb.append("\ufd19"); - sb.append("\152"); - sb.append("\ufd19"); - sb.append("\153"); - sb.append("\ufd19"); - sb.append("\154"); - sb.append("\ufd19"); - sb.append("\155"); - sb.append("\ufd19"); - sb.append("\156"); - sb.append("\ufd19"); - sb.append("\157"); - sb.append("\ufd19"); - sb.append("\160"); - sb.append("\ufd19"); - sb.append("\161"); - sb.append("\ufd19"); - sb.append("\162"); - sb.append("\ufd19"); - sb.append("\163"); - sb.append("\ufd19"); - sb.append("\164"); - sb.append("\ufd19"); - sb.append("\165"); - sb.append("\ufd19"); - sb.append("\166"); - sb.append("\ufd19"); - sb.append("\167"); - sb.append("\ufd19"); - sb.append("\170"); - sb.append("\ufd19"); - sb.append("\171"); - sb.append("\ufd19"); - sb.append("\172"); - sb.append("\ufd19"); - sb.append("\173"); - sb.append("\ufd19"); - sb.append("\174"); - sb.append("\ufd19"); - sb.append("\175"); - sb.append("\ufd19"); - sb.append("\176"); - sb.append("\ufd19"); - sb.append("\201"); - sb.append("\ufd19"); - sb.append("\202"); - sb.append("\ufd19"); - sb.append("\203"); - sb.append("\ufd19"); - sb.append("\215"); - sb.append("\ufd19"); - sb.append("\230"); - sb.append("\ufd19"); - sb.append("\231"); - sb.append("\ufd19"); - sb.append("\232"); - sb.append("\ufd19"); - sb.append("\242"); - sb.append("\ufd19"); - sb.append("\243"); - sb.append("\ufd19"); - sb.append("\245"); - sb.append("\ufd19"); - sb.append("\246"); - sb.append("\ufd19"); - sb.append("\251"); - sb.append("\ufd19"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -705,7 +522,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -748,70 +565,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -827,7 +644,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -870,98 +687,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\032"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01f4"); - sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -977,7 +766,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1020,70 +809,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1099,7 +888,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1142,70 +931,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1221,7 +1010,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1264,70 +1053,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1343,7 +1132,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1386,70 +1175,192 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); + sb.append("\031"); + sb.append("\ufd17"); + sb.append("\033"); + sb.append("\ufd17"); + sb.append("\071"); + sb.append("\ufd17"); + sb.append("\072"); + sb.append("\ufd17"); + sb.append("\073"); + sb.append("\ufd17"); + sb.append("\112"); + sb.append("\ufd17"); + sb.append("\113"); + sb.append("\ufd17"); + sb.append("\127"); + sb.append("\ufd17"); + sb.append("\130"); + sb.append("\ufd17"); + sb.append("\131"); + sb.append("\ufd17"); + sb.append("\132"); + sb.append("\ufd17"); + sb.append("\134"); + sb.append("\ufd17"); + sb.append("\135"); + sb.append("\ufd17"); + sb.append("\136"); + sb.append("\ufd17"); + sb.append("\137"); + sb.append("\ufd17"); + sb.append("\140"); + sb.append("\ufd17"); + sb.append("\141"); + sb.append("\ufd17"); + sb.append("\142"); + sb.append("\ufd17"); + sb.append("\143"); + sb.append("\ufd17"); + sb.append("\144"); + sb.append("\ufd17"); + sb.append("\145"); + sb.append("\ufd17"); + sb.append("\146"); + sb.append("\ufd17"); + sb.append("\147"); + sb.append("\ufd17"); + sb.append("\150"); + sb.append("\ufd17"); + sb.append("\151"); + sb.append("\ufd17"); + sb.append("\152"); + sb.append("\ufd17"); + sb.append("\153"); + sb.append("\ufd17"); + sb.append("\154"); + sb.append("\ufd17"); + sb.append("\155"); + sb.append("\ufd17"); + sb.append("\156"); + sb.append("\ufd17"); + sb.append("\157"); + sb.append("\ufd17"); + sb.append("\160"); + sb.append("\ufd17"); + sb.append("\161"); + sb.append("\ufd17"); + sb.append("\162"); + sb.append("\ufd17"); + sb.append("\163"); + sb.append("\ufd17"); + sb.append("\164"); + sb.append("\ufd17"); + sb.append("\165"); + sb.append("\ufd17"); + sb.append("\166"); + sb.append("\ufd17"); + sb.append("\167"); + sb.append("\ufd17"); + sb.append("\170"); + sb.append("\ufd17"); + sb.append("\171"); + sb.append("\ufd17"); + sb.append("\172"); + sb.append("\ufd17"); + sb.append("\173"); + sb.append("\ufd17"); + sb.append("\174"); + sb.append("\ufd17"); + sb.append("\175"); + sb.append("\ufd17"); + sb.append("\176"); + sb.append("\ufd17"); + sb.append("\177"); + sb.append("\ufd17"); + sb.append("\202"); + sb.append("\ufd17"); + sb.append("\203"); + sb.append("\ufd17"); + sb.append("\204"); + sb.append("\ufd17"); + sb.append("\216"); + sb.append("\ufd17"); + sb.append("\231"); + sb.append("\ufd17"); + sb.append("\232"); + sb.append("\ufd17"); + sb.append("\233"); + sb.append("\ufd17"); + sb.append("\243"); + sb.append("\ufd17"); + sb.append("\244"); + sb.append("\ufd17"); + sb.append("\246"); + sb.append("\ufd17"); + sb.append("\247"); + sb.append("\ufd17"); + sb.append("\252"); + sb.append("\ufd17"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1465,7 +1376,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1508,70 +1419,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1587,7 +1498,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1630,70 +1541,98 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\032"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01f8"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1709,7 +1648,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1752,70 +1691,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1831,7 +1770,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1874,70 +1813,70 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1953,7 +1892,7 @@ protected EncodedActionTable2() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1996,1648 +1935,1992 @@ protected EncodedActionTable2() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe3b"); - sb.append("\073"); - sb.append("\ufe3b"); - sb.append("\112"); - sb.append("\ufe3b"); - sb.append("\127"); - sb.append("\ufe3b"); - sb.append("\130"); - sb.append("\ufe3b"); - sb.append("\131"); - sb.append("\ufe3b"); - sb.append("\132"); - sb.append("\ufe3b"); - sb.append("\150"); - sb.append("\ufe3b"); - sb.append("\151"); - sb.append("\ufe3b"); - sb.append("\152"); - sb.append("\ufe3b"); - sb.append("\153"); - sb.append("\ufe3b"); - sb.append("\154"); - sb.append("\ufe3b"); - sb.append("\155"); - sb.append("\ufe3b"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\ufe3b"); - sb.append("\157"); - sb.append("\ufe3b"); - sb.append("\160"); - sb.append("\ufe3b"); - sb.append("\161"); - sb.append("\ufe3b"); - sb.append("\162"); - sb.append("\ufe3b"); - sb.append("\163"); - sb.append("\ufe3b"); - sb.append("\164"); - sb.append("\ufe3b"); - sb.append("\165"); - sb.append("\ufe3b"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\ufe3b"); - sb.append("\167"); - sb.append("\ufe3b"); - sb.append("\170"); - sb.append("\ufe3b"); - sb.append("\171"); - sb.append("\ufe3b"); - sb.append("\172"); - sb.append("\ufe3b"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\ufe3b"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufe3b"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe3b"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe3b"); - sb.append("\232"); - sb.append("\ufe3b"); - sb.append("\242"); - sb.append("\ufe3b"); - sb.append("\245"); - sb.append("\ufe3b"); - sb.append("\251"); - sb.append("\ufe3b"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe42"); - sb.append("\073"); - sb.append("\ufe42"); - sb.append("\112"); - sb.append("\ufe42"); - sb.append("\127"); - sb.append("\ufe42"); - sb.append("\130"); - sb.append("\ufe42"); - sb.append("\131"); - sb.append("\ufe42"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe42"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe42"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe42"); - sb.append("\232"); - sb.append("\ufe42"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\106"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe2e"); - sb.append("\073"); - sb.append("\ufe2e"); - sb.append("\112"); - sb.append("\ufe2e"); - sb.append("\127"); - sb.append("\ufe2e"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); sb.append("\130"); - sb.append("\ufe2e"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); sb.append("\131"); - sb.append("\ufe2e"); - sb.append("\132"); - sb.append("\ufe2e"); - sb.append("\150"); - sb.append("\ufe2e"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); sb.append("\151"); - sb.append("\ufe2e"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); sb.append("\152"); - sb.append("\ufe2e"); - sb.append("\153"); - sb.append("\ufe2e"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); sb.append("\154"); - sb.append("\ufe2e"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); sb.append("\155"); - sb.append("\ufe2e"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\ufe2e"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe2e"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe2e"); - sb.append("\232"); - sb.append("\ufe2e"); - sb.append("\242"); - sb.append("\ufe2e"); - sb.append("\245"); - sb.append("\ufe2e"); - sb.append("\251"); - sb.append("\ufe2e"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe3f"); - sb.append("\073"); - sb.append("\ufe3f"); - sb.append("\112"); - sb.append("\ufe3f"); - sb.append("\127"); - sb.append("\ufe3f"); - sb.append("\130"); - sb.append("\ufe3f"); - sb.append("\131"); - sb.append("\ufe3f"); - sb.append("\132"); - sb.append("\ufe3f"); - sb.append("\150"); - sb.append("\ufe3f"); - sb.append("\151"); - sb.append("\ufe3f"); - sb.append("\152"); - sb.append("\ufe3f"); - sb.append("\153"); - sb.append("\ufe3f"); - sb.append("\154"); - sb.append("\ufe3f"); - sb.append("\155"); - sb.append("\ufe3f"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\ufe3f"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe3f"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe3f"); - sb.append("\232"); - sb.append("\ufe3f"); - sb.append("\242"); - sb.append("\ufe3f"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\ufe3f"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\073"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\112"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\127"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\130"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\131"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\132"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\150"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\151"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\152"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\153"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\154"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\155"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\156"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\157"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\160"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\161"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); sb.append("\162"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); + sb.append("\163"); + sb.append("\ufe3b"); + sb.append("\164"); + sb.append("\ufe3b"); + sb.append("\165"); + sb.append("\ufe3b"); + sb.append("\166"); + sb.append("\ufe3b"); + sb.append("\167"); + sb.append("\ufe3b"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufe3b"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufe3b"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufe3b"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufe3b"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufe3b"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe2b"); - sb.append("\231"); - sb.append("\ufe2b"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\ufe3b"); + sb.append("\216"); + sb.append("\ufe3b"); sb.append("\232"); - sb.append("\ufe2b"); - sb.append("\242"); - sb.append("\ufe2b"); - sb.append("\245"); - sb.append("\ufe2b"); - sb.append("\251"); - sb.append("\ufe2b"); + sb.append("\ufe3b"); + sb.append("\233"); + sb.append("\ufe3b"); + sb.append("\243"); + sb.append("\ufe3b"); + sb.append("\246"); + sb.append("\ufe3b"); + sb.append("\252"); + sb.append("\ufe3b"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe2a"); + sb.append("\ufe42"); sb.append("\073"); - sb.append("\ufe2a"); + sb.append("\ufe42"); sb.append("\112"); - sb.append("\ufe2a"); + sb.append("\ufe42"); sb.append("\127"); - sb.append("\ufe2a"); + sb.append("\ufe42"); sb.append("\130"); - sb.append("\ufe2a"); + sb.append("\ufe42"); sb.append("\131"); - sb.append("\ufe2a"); + sb.append("\ufe42"); sb.append("\132"); - sb.append("\ufe2a"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufe2a"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe2a"); + sb.append("\ufe42"); sb.append("\152"); - sb.append("\ufe2a"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufe2a"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufe2a"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufe2a"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufe2a"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufe2a"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufe2a"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufe2a"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufe2a"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe2a"); - sb.append("\231"); - sb.append("\ufe2a"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe42"); sb.append("\232"); - sb.append("\ufe2a"); - sb.append("\242"); - sb.append("\ufe2a"); - sb.append("\245"); - sb.append("\ufe2a"); - sb.append("\251"); - sb.append("\ufe2a"); + sb.append("\ufe42"); + sb.append("\233"); + sb.append("\ufe42"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\110"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\073"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\112"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\127"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\130"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\131"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\132"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\150"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\151"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\152"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\153"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\154"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\155"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\156"); - sb.append("\ufe29"); + sb.append("\ufe2e"); sb.append("\157"); - sb.append("\ufe29"); - sb.append("\160"); - sb.append("\ufe29"); - sb.append("\161"); - sb.append("\ufe29"); - sb.append("\162"); - sb.append("\ufe29"); + sb.append("\ufe2e"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe29"); - sb.append("\231"); - sb.append("\ufe29"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe2e"); sb.append("\232"); - sb.append("\ufe29"); - sb.append("\242"); - sb.append("\ufe29"); - sb.append("\245"); - sb.append("\ufe29"); - sb.append("\251"); - sb.append("\ufe29"); + sb.append("\ufe2e"); + sb.append("\233"); + sb.append("\ufe2e"); + sb.append("\243"); + sb.append("\ufe2e"); + sb.append("\246"); + sb.append("\ufe2e"); + sb.append("\252"); + sb.append("\ufe2e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\073"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\112"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\127"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\130"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\131"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\132"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\150"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\151"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\152"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\153"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\154"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\155"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\156"); - sb.append("\ufe40"); + sb.append("\ufe3f"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufe3f"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe40"); - sb.append("\231"); - sb.append("\ufe40"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe3f"); sb.append("\232"); - sb.append("\ufe40"); - sb.append("\242"); - sb.append("\ufe40"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufe3f"); + sb.append("\233"); + sb.append("\ufe3f"); + sb.append("\243"); + sb.append("\ufe3f"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\ufe3f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\106"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\073"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\112"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\127"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\130"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\131"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\132"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\150"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\151"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\152"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\153"); - sb.append("\ufe45"); + sb.append("\ufe2a"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufe2a"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufe2a"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufe2a"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufe2a"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufe2a"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufe2a"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufe2a"); sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufe2a"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe45"); - sb.append("\231"); - sb.append("\ufe45"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe2a"); sb.append("\232"); - sb.append("\ufe45"); - sb.append("\242"); - sb.append("\ufe45"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufe2a"); + sb.append("\233"); + sb.append("\ufe2a"); + sb.append("\243"); + sb.append("\ufe2a"); + sb.append("\246"); + sb.append("\ufe2a"); + sb.append("\252"); + sb.append("\ufe2a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\120"); sb.append("\031"); - sb.append("\ufdda"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\073"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\112"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\127"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\130"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\131"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\132"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\150"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\151"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\152"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\153"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\154"); - sb.append("\ufdda"); + sb.append("\ufe2c"); sb.append("\155"); - sb.append("\ufdda"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufdda"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufdda"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufdda"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufdda"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufdda"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufdda"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufdda"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufdda"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufdda"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufdda"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufdda"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufdda"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufdda"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufdda"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufdda"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufdda"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufdda"); - sb.append("\201"); - sb.append("\ufdda"); - sb.append("\215"); - sb.append("\ufdda"); - sb.append("\230"); - sb.append("\ufdda"); - sb.append("\231"); - sb.append("\ufdda"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe2c"); sb.append("\232"); - sb.append("\ufdda"); - sb.append("\242"); - sb.append("\ufdda"); - sb.append("\245"); - sb.append("\ufdda"); - sb.append("\251"); - sb.append("\ufdda"); + sb.append("\ufe2c"); + sb.append("\233"); + sb.append("\ufe2c"); + sb.append("\243"); + sb.append("\ufe2c"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\130"); + sb.append("\106"); sb.append("\031"); - sb.append("\ufd15"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd15"); - sb.append("\071"); - sb.append("\ufd15"); - sb.append("\072"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\073"); - sb.append("\ufd15"); - sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufe28"); sb.append("\112"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\127"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\130"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\131"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\132"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\150"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\151"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\152"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\153"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\154"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\155"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\156"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\157"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\160"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\161"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\162"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\163"); - sb.append("\ufd15"); - sb.append("\164"); - sb.append("\ufd15"); - sb.append("\165"); - sb.append("\ufd15"); - sb.append("\166"); - sb.append("\ufd15"); - sb.append("\167"); - sb.append("\ufd15"); - sb.append("\170"); - sb.append("\ufd15"); + sb.append("\ufe28"); sb.append("\171"); - sb.append("\ufd15"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd15"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd15"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd15"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd15"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd15"); - sb.append("\201"); - sb.append("\ufd15"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd15"); - sb.append("\230"); - sb.append("\ufd15"); - sb.append("\231"); - sb.append("\ufd15"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe28"); sb.append("\232"); - sb.append("\ufd15"); - sb.append("\242"); - sb.append("\ufd15"); - sb.append("\245"); - sb.append("\ufd15"); - sb.append("\251"); - sb.append("\ufd15"); + sb.append("\ufe28"); + sb.append("\233"); + sb.append("\ufe28"); + sb.append("\243"); + sb.append("\ufe28"); + sb.append("\246"); + sb.append("\ufe28"); + sb.append("\252"); + sb.append("\ufe28"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\106"); sb.append("\031"); - sb.append("\ufd1c"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd1c"); - sb.append("\071"); - sb.append("\ufd1c"); - sb.append("\072"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\073"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\112"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\127"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\130"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\131"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\132"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\150"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\151"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\152"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\153"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\154"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\155"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\156"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\157"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\160"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\161"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\162"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\163"); - sb.append("\ufd1c"); - sb.append("\164"); - sb.append("\ufd1c"); - sb.append("\165"); - sb.append("\ufd1c"); - sb.append("\166"); - sb.append("\ufd1c"); - sb.append("\167"); - sb.append("\ufd1c"); - sb.append("\170"); - sb.append("\ufd1c"); + sb.append("\ufe29"); sb.append("\171"); - sb.append("\ufd1c"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd1c"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd1c"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd1c"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd1c"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd1c"); - sb.append("\201"); - sb.append("\ufd1c"); - sb.append("\215"); - sb.append("\ufd1c"); - sb.append("\230"); - sb.append("\ufd1c"); - sb.append("\231"); - sb.append("\ufd1c"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe29"); sb.append("\232"); - sb.append("\ufd1c"); - sb.append("\242"); - sb.append("\ufd1c"); - sb.append("\245"); - sb.append("\ufd1c"); - sb.append("\251"); - sb.append("\ufd1c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\113"); - sb.append("\u03fa"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufe29"); + sb.append("\233"); + sb.append("\ufe29"); + sb.append("\243"); + sb.append("\ufe29"); + sb.append("\246"); + sb.append("\ufe29"); + sb.append("\252"); + sb.append("\ufe29"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\132"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd1d"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufd1d"); - sb.append("\071"); - sb.append("\ufd1d"); - sb.append("\072"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\073"); - sb.append("\ufd1d"); - sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufe40"); sb.append("\112"); - sb.append("\ufd1d"); - sb.append("\113"); - sb.append("\ufd2a"); + sb.append("\ufe40"); sb.append("\127"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\130"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\131"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\132"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\150"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\151"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\152"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\153"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\154"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\155"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\156"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\157"); - sb.append("\ufd1d"); + sb.append("\ufe40"); sb.append("\160"); - sb.append("\ufd1d"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd1d"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd1d"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd1d"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd1d"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd1d"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd1d"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd1d"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd1d"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd1d"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd1d"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd1d"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd1d"); - sb.append("\175"); - sb.append("\ufd1d"); - sb.append("\176"); - sb.append("\ufd1d"); - sb.append("\201"); - sb.append("\ufd1d"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd1d"); - sb.append("\230"); - sb.append("\ufd1d"); - sb.append("\231"); - sb.append("\ufd1d"); - sb.append("\232"); - sb.append("\ufd1d"); - sb.append("\242"); - sb.append("\ufd1d"); - sb.append("\245"); - sb.append("\ufd1d"); - sb.append("\251"); - sb.append("\ufd1d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\202"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\u032e"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\127"); - sb.append("\ufcfb"); - sb.append("\133"); - sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); + sb.append("\u01d2"); sb.append("\176"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\215"); - sb.append("\ufcfb"); + sb.append("\u01c5"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufe40"); + sb.append("\232"); + sb.append("\ufe40"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\244"); - sb.append("\u032d"); - sb.append("\247"); - sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\071"); - sb.append("\ufcc7"); - sb.append("\072"); - sb.append("\ufcc7"); - sb.append("\111"); - sb.append("\ufcc7"); - sb.append("\113"); - sb.append("\ufcc7"); - sb.append("\214"); - sb.append("\ufcc7"); - sb.append("\230"); - sb.append("\ufcc7"); + sb.append("\ufe40"); + sb.append("\243"); + sb.append("\ufe40"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\122"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufddb"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\073"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\112"); - sb.append("\ufddb"); - sb.append("\113"); - sb.append("\u03f5"); + sb.append("\ufe45"); sb.append("\127"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\130"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\131"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\132"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\150"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\151"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\152"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\153"); - sb.append("\ufddb"); + sb.append("\ufe45"); sb.append("\154"); - sb.append("\ufddb"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufddb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufddb"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufddb"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufddb"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufddb"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufddb"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufddb"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufddb"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufddb"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufddb"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufddb"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufddb"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufddb"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufddb"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufddb"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufddb"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufddb"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufddb"); - sb.append("\201"); - sb.append("\ufddb"); - sb.append("\215"); - sb.append("\ufddb"); - sb.append("\230"); - sb.append("\ufddb"); - sb.append("\231"); - sb.append("\ufddb"); - sb.append("\232"); - sb.append("\ufddb"); - sb.append("\242"); - sb.append("\ufddb"); - sb.append("\245"); - sb.append("\ufddb"); - sb.append("\251"); - sb.append("\ufddb"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\036"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\065"); - sb.append("\u01f8"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01f4"); + sb.append("\ufe45"); + sb.append("\232"); + sb.append("\ufe45"); sb.append("\233"); - sb.append("\152"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); + sb.append("\ufe45"); + sb.append("\243"); + sb.append("\ufe45"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\122"); sb.append("\031"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\033"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\073"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\112"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\127"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\130"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\131"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\132"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\150"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\151"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\152"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\153"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\154"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\155"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\156"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\157"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\160"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\161"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\162"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\163"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\164"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\165"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\166"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\167"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\170"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\171"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\172"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\173"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\174"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\175"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\176"); - sb.append("\ufe27"); - sb.append("\201"); - sb.append("\ufe27"); - sb.append("\215"); - sb.append("\ufe27"); + sb.append("\ufdd9"); + sb.append("\177"); + sb.append("\ufdd9"); + sb.append("\202"); + sb.append("\ufdd9"); + sb.append("\216"); + sb.append("\ufdd9"); sb.append("\231"); - sb.append("\ufe27"); + sb.append("\ufdd9"); sb.append("\232"); - sb.append("\ufe27"); - sb.append("\242"); - sb.append("\ufe27"); - sb.append("\245"); - sb.append("\ufe27"); - sb.append("\251"); - sb.append("\ufe27"); + sb.append("\ufdd9"); + sb.append("\233"); + sb.append("\ufdd9"); + sb.append("\243"); + sb.append("\ufdd9"); + sb.append("\246"); + sb.append("\ufdd9"); + sb.append("\252"); + sb.append("\ufdd9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\132"); sb.append("\031"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\033"); - sb.append("\ufdd6"); + sb.append("\ufd13"); + sb.append("\071"); + sb.append("\ufd13"); + sb.append("\072"); + sb.append("\ufd13"); sb.append("\073"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\127"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\130"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\131"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\132"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\150"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\151"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\152"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\153"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\154"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\155"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\156"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\157"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\160"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\161"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\162"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\163"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\164"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\165"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\166"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\167"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\170"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\171"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\172"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\173"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\174"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\175"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\176"); - sb.append("\ufdd6"); - sb.append("\201"); - sb.append("\ufdd6"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd13"); + sb.append("\177"); + sb.append("\ufd13"); + sb.append("\202"); + sb.append("\ufd13"); sb.append("\215"); - sb.append("\ufdd6"); - sb.append("\230"); - sb.append("\ufdd6"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd13"); sb.append("\231"); - sb.append("\ufdd6"); + sb.append("\ufd13"); sb.append("\232"); - sb.append("\ufdd6"); - sb.append("\242"); - sb.append("\ufdd6"); - sb.append("\245"); - sb.append("\ufdd6"); - sb.append("\251"); - sb.append("\ufdd6"); + sb.append("\ufd13"); + sb.append("\233"); + sb.append("\ufd13"); + sb.append("\243"); + sb.append("\ufd13"); + sb.append("\246"); + sb.append("\ufd13"); + sb.append("\252"); + sb.append("\ufd13"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\126"); sb.append("\031"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\033"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\071"); - sb.append("\u03e7"); + sb.append("\ufd1a"); sb.append("\072"); - sb.append("\u03e6"); + sb.append("\ufd1a"); sb.append("\073"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\112"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\127"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\130"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\131"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\132"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\150"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\151"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\152"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\153"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\154"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\155"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\156"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\157"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\160"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\161"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\162"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\163"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\164"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\165"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\166"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\167"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\170"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\171"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\172"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\173"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\174"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\175"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\176"); - sb.append("\ufdd7"); - sb.append("\201"); - sb.append("\ufdd7"); - sb.append("\215"); - sb.append("\ufdd7"); - sb.append("\230"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); + sb.append("\177"); + sb.append("\ufd1a"); + sb.append("\202"); + sb.append("\ufd1a"); + sb.append("\216"); + sb.append("\ufd1a"); sb.append("\231"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); sb.append("\232"); - sb.append("\ufdd7"); - sb.append("\242"); - sb.append("\ufdd7"); - sb.append("\245"); - sb.append("\ufdd7"); - sb.append("\251"); - sb.append("\ufdd7"); + sb.append("\ufd1a"); + sb.append("\233"); + sb.append("\ufd1a"); + sb.append("\243"); + sb.append("\ufd1a"); + sb.append("\246"); + sb.append("\ufd1a"); + sb.append("\252"); + sb.append("\ufd1a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\113"); + sb.append("\u03fe"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\012"); - sb.append("\075"); - sb.append("\233"); - sb.append("\u0295"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\006"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\202"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3647,13 +3930,13 @@ protected EncodedActionTable2() { sb.append("\016"); sb.append("\071"); sb.append("\032"); - sb.append("\u01b9"); + sb.append("\106"); sb.append("\036"); sb.append("\125"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3661,7 +3944,7 @@ protected EncodedActionTable2() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\051"); + sb.append("\u0332"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -3694,138 +3977,266 @@ protected EncodedActionTable2() { sb.append("\116"); sb.append("\126"); sb.append("\131"); + sb.append("\127"); + sb.append("\ufcf9"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); sb.append("\216"); - sb.append("\u01f6"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\ufcf9"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\245"); + sb.append("\u0331"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\114"); - sb.append("\031"); - sb.append("\ufe5f"); + sb.append("\134"); + sb.append("\031"); + sb.append("\ufd1b"); + sb.append("\033"); + sb.append("\ufd1b"); + sb.append("\071"); + sb.append("\ufd1b"); + sb.append("\072"); + sb.append("\ufd1b"); + sb.append("\073"); + sb.append("\ufd1b"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd1b"); + sb.append("\113"); + sb.append("\ufd28"); + sb.append("\127"); + sb.append("\ufd1b"); + sb.append("\130"); + sb.append("\ufd1b"); + sb.append("\131"); + sb.append("\ufd1b"); + sb.append("\132"); + sb.append("\ufd1b"); + sb.append("\150"); + sb.append("\ufd1b"); + sb.append("\151"); + sb.append("\ufd1b"); + sb.append("\152"); + sb.append("\ufd1b"); + sb.append("\153"); + sb.append("\ufd1b"); + sb.append("\154"); + sb.append("\ufd1b"); + sb.append("\155"); + sb.append("\ufd1b"); + sb.append("\156"); + sb.append("\ufd1b"); + sb.append("\157"); + sb.append("\ufd1b"); + sb.append("\160"); + sb.append("\ufd1b"); + sb.append("\161"); + sb.append("\ufd1b"); + sb.append("\162"); + sb.append("\ufd1b"); + sb.append("\163"); + sb.append("\ufd1b"); + sb.append("\164"); + sb.append("\ufd1b"); + sb.append("\165"); + sb.append("\ufd1b"); + sb.append("\166"); + sb.append("\ufd1b"); + sb.append("\167"); + sb.append("\ufd1b"); + sb.append("\170"); + sb.append("\ufd1b"); + sb.append("\171"); + sb.append("\ufd1b"); + sb.append("\172"); + sb.append("\ufd1b"); + sb.append("\173"); + sb.append("\ufd1b"); + sb.append("\174"); + sb.append("\ufd1b"); + sb.append("\175"); + sb.append("\ufd1b"); + sb.append("\176"); + sb.append("\ufd1b"); + sb.append("\177"); + sb.append("\ufd1b"); + sb.append("\202"); + sb.append("\ufd1b"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd1b"); + sb.append("\231"); + sb.append("\ufd1b"); + sb.append("\232"); + sb.append("\ufd1b"); + sb.append("\233"); + sb.append("\ufd1b"); + sb.append("\243"); + sb.append("\ufd1b"); + sb.append("\246"); + sb.append("\ufd1b"); + sb.append("\252"); + sb.append("\ufd1b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufcc7"); + sb.append("\ufcc5"); sb.append("\072"); - sb.append("\ufcc7"); + sb.append("\ufcc5"); sb.append("\111"); - sb.append("\ufcc7"); + sb.append("\ufcc5"); + sb.append("\113"); + sb.append("\ufcc5"); + sb.append("\215"); + sb.append("\ufcc5"); + sb.append("\231"); + sb.append("\ufcc5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\124"); + sb.append("\031"); + sb.append("\ufdda"); + sb.append("\033"); + sb.append("\ufdda"); + sb.append("\073"); + sb.append("\ufdda"); + sb.append("\112"); + sb.append("\ufdda"); sb.append("\113"); - sb.append("\ufcc7"); + sb.append("\u03f9"); + sb.append("\127"); + sb.append("\ufdda"); sb.append("\130"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\131"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\132"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\150"); - sb.append("\ufe5f"); + sb.append("\ufdda"); + sb.append("\151"); + sb.append("\ufdda"); sb.append("\152"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\153"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\154"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\155"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\156"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\157"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\160"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\161"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\162"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\163"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\164"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\165"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\166"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\167"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\170"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\171"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\172"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\173"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\174"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\175"); - sb.append("\ufe5f"); + sb.append("\ufdda"); sb.append("\176"); - sb.append("\ufe5f"); - sb.append("\201"); - sb.append("\ufe5f"); - sb.append("\214"); - sb.append("\ufcc7"); - sb.append("\230"); - sb.append("\ufcc7"); + sb.append("\ufdda"); + sb.append("\177"); + sb.append("\ufdda"); + sb.append("\202"); + sb.append("\ufdda"); + sb.append("\216"); + sb.append("\ufdda"); sb.append("\231"); - sb.append("\u03e4"); - sb.append("\242"); - sb.append("\ufe5f"); - sb.append("\245"); - sb.append("\ufe5f"); - sb.append("\251"); - sb.append("\ufe5f"); + sb.append("\ufdda"); + sb.append("\232"); + sb.append("\ufdda"); + sb.append("\233"); + sb.append("\ufdda"); + sb.append("\243"); + sb.append("\ufdda"); + sb.append("\246"); + sb.append("\ufdda"); + sb.append("\252"); + sb.append("\ufdda"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -3835,698 +4246,288 @@ protected EncodedActionTable2() { sb.append("\012"); sb.append("\075"); sb.append("\065"); - sb.append("\u01f8"); + sb.append("\u01fc"); sb.append("\075"); sb.append("\166"); sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); + sb.append("\240"); + sb.append("\215"); sb.append("\u01ef"); - sb.append("\222"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); sb.append("\341"); - sb.append("\230"); - sb.append("\u01f4"); - sb.append("\233"); + sb.append("\231"); + sb.append("\u01f8"); + sb.append("\234"); sb.append("\152"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\241"); sb.append("\254"); - sb.append("\240"); + sb.append("\241"); sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\065"); - sb.append("\u03dd"); - sb.append("\247"); - sb.append("\021"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\067"); - sb.append("\ufdce"); - sb.append("\070"); - sb.append("\ufdce"); - sb.append("\111"); - sb.append("\ufdce"); - sb.append("\230"); - sb.append("\u023e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\102"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufdce"); + sb.append("\ufe26"); + sb.append("\033"); + sb.append("\ufe26"); + sb.append("\073"); + sb.append("\ufe26"); + sb.append("\112"); + sb.append("\ufe26"); + sb.append("\127"); + sb.append("\ufe26"); sb.append("\130"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\131"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\132"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\150"); - sb.append("\ufdce"); + sb.append("\ufe26"); + sb.append("\151"); + sb.append("\ufe26"); sb.append("\152"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\153"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\154"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\155"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\156"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\157"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\160"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\161"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\162"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\163"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\164"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\165"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\166"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\167"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\170"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\171"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\172"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\173"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\174"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\175"); - sb.append("\ufdce"); + sb.append("\ufe26"); sb.append("\176"); - sb.append("\ufdce"); - sb.append("\201"); - sb.append("\ufdce"); - sb.append("\230"); - sb.append("\u01fb"); - sb.append("\231"); - sb.append("\ufdce"); - sb.append("\242"); - sb.append("\ufdce"); - sb.append("\245"); - sb.append("\ufdce"); - sb.append("\251"); - sb.append("\ufdce"); + sb.append("\ufe26"); + sb.append("\177"); + sb.append("\ufe26"); + sb.append("\202"); + sb.append("\ufe26"); + sb.append("\216"); + sb.append("\ufe26"); + sb.append("\232"); + sb.append("\ufe26"); + sb.append("\233"); + sb.append("\ufe26"); + sb.append("\243"); + sb.append("\ufe26"); + sb.append("\246"); + sb.append("\ufe26"); + sb.append("\252"); + sb.append("\ufe26"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\126"); sb.append("\031"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); + sb.append("\033"); + sb.append("\ufdd5"); + sb.append("\073"); + sb.append("\ufdd5"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufdd5"); + sb.append("\127"); + sb.append("\ufdd5"); sb.append("\130"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\131"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\132"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\150"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); + sb.append("\151"); + sb.append("\ufdd5"); sb.append("\152"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\153"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\154"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\155"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\156"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\157"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\160"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\161"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\162"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\163"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\164"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\165"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\166"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\167"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\170"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\171"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\172"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\173"); - sb.append("\ufe5e"); + sb.append("\ufdd5"); sb.append("\174"); - sb.append("\ufe5e"); - sb.append("\175"); - sb.append("\ufe5e"); - sb.append("\176"); - sb.append("\ufe5e"); - sb.append("\201"); - sb.append("\ufe5e"); - sb.append("\231"); - sb.append("\u03d3"); - sb.append("\242"); - sb.append("\ufe5e"); - sb.append("\245"); - sb.append("\ufe5e"); - sb.append("\251"); - sb.append("\ufe5e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); - sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); + sb.append("\ufdd5"); sb.append("\175"); - sb.append("\010"); - sb.append("\u0222"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u0223"); - sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u0220"); - sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u020a"); - sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0213"); - sb.append("\100"); - sb.append("\u01fd"); - sb.append("\101"); - sb.append("\u021f"); - sb.append("\102"); - sb.append("\u0204"); - sb.append("\103"); - sb.append("\u0218"); - sb.append("\104"); - sb.append("\u0212"); - sb.append("\105"); - sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u0217"); - sb.append("\116"); - sb.append("\u0207"); - sb.append("\121"); - sb.append("\u021c"); - sb.append("\122"); - sb.append("\u01fe"); - sb.append("\123"); - sb.append("\u020c"); - sb.append("\124"); - sb.append("\u0214"); - sb.append("\125"); - sb.append("\u0211"); - sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); + sb.append("\ufdd5"); sb.append("\176"); + sb.append("\ufdd5"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufdd5"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\230"); - sb.append("\u03ce"); + sb.append("\ufdd5"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufdd5"); + sb.append("\231"); + sb.append("\ufdd5"); sb.append("\232"); - sb.append("\uffce"); + sb.append("\ufdd5"); + sb.append("\233"); + sb.append("\ufdd5"); + sb.append("\243"); + sb.append("\ufdd5"); + sb.append("\246"); + sb.append("\ufdd5"); + sb.append("\252"); + sb.append("\ufdd5"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\126"); sb.append("\031"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); + sb.append("\033"); + sb.append("\ufdd6"); + sb.append("\071"); + sb.append("\u03eb"); + sb.append("\072"); + sb.append("\u03ea"); + sb.append("\073"); + sb.append("\ufdd6"); + sb.append("\112"); + sb.append("\ufdd6"); sb.append("\127"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\130"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\131"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\132"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\150"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); + sb.append("\151"); + sb.append("\ufdd6"); sb.append("\152"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\153"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\154"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\155"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\156"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\157"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\160"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\161"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\162"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\163"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\164"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\165"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\166"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\167"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\170"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\171"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\172"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\173"); - sb.append("\ufdc5"); + sb.append("\ufdd6"); sb.append("\174"); - sb.append("\ufdc5"); - sb.append("\175"); - sb.append("\ufdc5"); - sb.append("\176"); - sb.append("\ufdc5"); - sb.append("\201"); - sb.append("\ufdc5"); - sb.append("\231"); - sb.append("\ufdc5"); - sb.append("\232"); - sb.append("\uffb6"); - sb.append("\242"); - sb.append("\ufdc5"); - sb.append("\245"); - sb.append("\ufdc5"); - sb.append("\251"); - sb.append("\ufdc5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); + sb.append("\ufdd6"); sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); + sb.append("\ufdd6"); sb.append("\176"); + sb.append("\ufdd6"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufdd6"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufdd6"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufdd6"); + sb.append("\231"); + sb.append("\ufdd6"); sb.append("\232"); - sb.append("\ufff3"); + sb.append("\ufdd6"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufdd6"); + sb.append("\243"); + sb.append("\ufdd6"); + sb.append("\246"); + sb.append("\ufdd6"); + sb.append("\252"); + sb.append("\ufdd6"); sb.append("\001"); sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java index 09664ad2d0a9..74421ec6255e 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,3318 +29,3842 @@ public String getTableData() { } protected EncodedActionTable20() { sb = new StringBuilder(); - sb.append("\000"); - sb.append("\004"); - sb.append("\111"); - sb.append("\u060c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\046"); - sb.append("\037"); - sb.append("\ufead"); - sb.append("\045"); - sb.append("\ufead"); - sb.append("\046"); - sb.append("\ufead"); - sb.append("\056"); - sb.append("\ufead"); - sb.append("\060"); - sb.append("\ufead"); - sb.append("\112"); - sb.append("\ufead"); - sb.append("\120"); - sb.append("\ufead"); - sb.append("\222"); - sb.append("\ufead"); - sb.append("\223"); - sb.append("\ufead"); - sb.append("\224"); - sb.append("\ufead"); - sb.append("\225"); - sb.append("\ufead"); - sb.append("\226"); - sb.append("\ufead"); - sb.append("\227"); - sb.append("\ufead"); + sb.append("\165"); + sb.append("\ufdfb"); + sb.append("\166"); + sb.append("\ufdfb"); + sb.append("\167"); + sb.append("\ufdfb"); + sb.append("\170"); + sb.append("\ufdfb"); + sb.append("\171"); + sb.append("\ufdfb"); + sb.append("\172"); + sb.append("\ufdfb"); + sb.append("\173"); + sb.append("\ufdfb"); + sb.append("\174"); + sb.append("\ufdfb"); + sb.append("\175"); + sb.append("\ufdfb"); + sb.append("\176"); + sb.append("\ufdfb"); + sb.append("\177"); + sb.append("\ufdfb"); + sb.append("\202"); + sb.append("\ufdfb"); + sb.append("\203"); + sb.append("\ufdfb"); + sb.append("\204"); + sb.append("\ufdfb"); + sb.append("\215"); + sb.append("\ufdfb"); + sb.append("\216"); + sb.append("\ufdfb"); + sb.append("\231"); + sb.append("\ufdfb"); + sb.append("\232"); + sb.append("\ufdfb"); + sb.append("\233"); + sb.append("\ufdfb"); + sb.append("\243"); + sb.append("\ufdfb"); + sb.append("\244"); + sb.append("\ufdfb"); + sb.append("\246"); + sb.append("\ufdfb"); sb.append("\247"); - sb.append("\ufead"); - sb.append("\250"); - sb.append("\ufead"); - sb.append("\256"); - sb.append("\ufead"); - sb.append("\257"); - sb.append("\ufead"); - sb.append("\260"); - sb.append("\ufead"); + sb.append("\ufdfb"); + sb.append("\252"); + sb.append("\ufdfb"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\046"); - sb.append("\037"); sb.append("\274"); - sb.append("\045"); - sb.append("\ufe84"); - sb.append("\046"); - sb.append("\ufe88"); - sb.append("\056"); - sb.append("\304"); - sb.append("\060"); - sb.append("\306"); - sb.append("\112"); - sb.append("\u060e"); - sb.append("\120"); - sb.append("\300"); - sb.append("\222"); - sb.append("\303"); - sb.append("\223"); - sb.append("\264"); - sb.append("\224"); - sb.append("\265"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff3e"); sb.append("\003"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\004"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\005"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\006"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\007"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\010"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\011"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\012"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\014"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\015"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\016"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\017"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\020"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\021"); - sb.append("\uff3e"); - sb.append("\022"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\023"); - sb.append("\uff3e"); - sb.append("\024"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\025"); - sb.append("\uff3e"); - sb.append("\026"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\027"); - sb.append("\uff3e"); - sb.append("\030"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\032"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\034"); - sb.append("\uff3e"); - sb.append("\035"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\036"); - sb.append("\uff3e"); - sb.append("\037"); - sb.append("\uff3e"); - sb.append("\040"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\041"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\042"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\043"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\044"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\045"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\046"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\047"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\050"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\051"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\052"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\054"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\056"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\057"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\061"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\062"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\063"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\064"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\065"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\066"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\074"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\075"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\077"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\100"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\101"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\102"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\103"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\104"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\105"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\111"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\112"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\114"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\115"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\116"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\120"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\121"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\122"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\123"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\124"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\125"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\126"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\133"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\151"); - sb.append("\uff3e"); - sb.append("\172"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\173"); - sb.append("\uff3e"); - sb.append("\177"); - sb.append("\uff3e"); + sb.append("\uffa1"); + sb.append("\174"); + sb.append("\uffa1"); sb.append("\200"); - sb.append("\uff3e"); - sb.append("\202"); - sb.append("\uff3e"); + sb.append("\uffa1"); + sb.append("\201"); + sb.append("\uffa1"); sb.append("\203"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\204"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\205"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\206"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\207"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\210"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\211"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\212"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\213"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\214"); - sb.append("\uff3e"); - sb.append("\216"); - sb.append("\uff3e"); + sb.append("\uffa1"); + sb.append("\215"); + sb.append("\uffa1"); sb.append("\217"); - sb.append("\uff3e"); - sb.append("\220"); - sb.append("\uff3e"); - sb.append("\221"); - sb.append("\uff3e"); - sb.append("\222"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\223"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\224"); - sb.append("\uff3e"); - sb.append("\230"); - sb.append("\uff3e"); - sb.append("\233"); - sb.append("\uff3e"); + sb.append("\uffa1"); + sb.append("\225"); + sb.append("\uffa1"); + sb.append("\231"); + sb.append("\uffa1"); sb.append("\234"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\235"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\236"); - sb.append("\uff3e"); - sb.append("\240"); - sb.append("\uff3e"); - sb.append("\247"); - sb.append("\uff3e"); + sb.append("\uffa1"); + sb.append("\237"); + sb.append("\uffa1"); + sb.append("\241"); + sb.append("\uffa1"); sb.append("\250"); - sb.append("\uff3e"); - sb.append("\252"); - sb.append("\uff3e"); + sb.append("\uffa1"); + sb.append("\251"); + sb.append("\uffa1"); sb.append("\253"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\254"); - sb.append("\uff3e"); + sb.append("\uffa1"); sb.append("\255"); - sb.append("\uff3e"); + sb.append("\uffa1"); + sb.append("\256"); + sb.append("\uffa1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\006"); + sb.append("\111"); + sb.append("\ufffc"); + sb.append("\151"); + sb.append("\ufffc"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff6d"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\ufffb"); + sb.append("\151"); + sb.append("\ufffb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\u0605"); + sb.append("\151"); + sb.append("\u0606"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\274"); sb.append("\003"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\004"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\005"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\006"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\007"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\010"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\011"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\012"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\014"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\015"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\016"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\017"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\020"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\021"); - sb.append("\uff6d"); - sb.append("\022"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\023"); - sb.append("\uff6d"); - sb.append("\024"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\025"); - sb.append("\uff6d"); - sb.append("\026"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\027"); - sb.append("\uff6d"); - sb.append("\030"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\032"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\034"); - sb.append("\uff6d"); - sb.append("\035"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\036"); - sb.append("\uff6d"); - sb.append("\037"); - sb.append("\uff6d"); - sb.append("\040"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\041"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\042"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\043"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\044"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\045"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\046"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\047"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\050"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\051"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\052"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\054"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\056"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\057"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\061"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\062"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\063"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\064"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\065"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\066"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\074"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\075"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\077"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\100"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\101"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\102"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\103"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\104"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\105"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\111"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\112"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\114"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\115"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\116"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\120"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\121"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\122"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\123"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\124"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\125"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\126"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\133"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\151"); - sb.append("\uff6d"); - sb.append("\172"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\173"); - sb.append("\uff6d"); - sb.append("\177"); - sb.append("\uff6d"); + sb.append("\uffa1"); + sb.append("\174"); + sb.append("\uffa1"); sb.append("\200"); - sb.append("\uff6d"); - sb.append("\202"); - sb.append("\uff6d"); + sb.append("\uffa1"); + sb.append("\201"); + sb.append("\uffa1"); sb.append("\203"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\204"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\205"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\206"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\207"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\210"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\211"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\212"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\213"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\214"); - sb.append("\uff6d"); - sb.append("\216"); - sb.append("\uff6d"); + sb.append("\uffa1"); + sb.append("\215"); + sb.append("\uffa1"); sb.append("\217"); - sb.append("\uff6d"); - sb.append("\220"); - sb.append("\uff6d"); - sb.append("\221"); - sb.append("\uff6d"); - sb.append("\222"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\223"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\224"); - sb.append("\uff6d"); - sb.append("\230"); - sb.append("\uff6d"); - sb.append("\233"); - sb.append("\uff6d"); + sb.append("\uffa1"); + sb.append("\225"); + sb.append("\uffa1"); + sb.append("\231"); + sb.append("\uffa1"); sb.append("\234"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\235"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\236"); - sb.append("\uff6d"); - sb.append("\240"); - sb.append("\uff6d"); - sb.append("\247"); - sb.append("\uff6d"); + sb.append("\uffa1"); + sb.append("\237"); + sb.append("\uffa1"); + sb.append("\241"); + sb.append("\uffa1"); sb.append("\250"); - sb.append("\uff6d"); - sb.append("\252"); - sb.append("\uff6d"); + sb.append("\uffa1"); + sb.append("\251"); + sb.append("\uffa1"); sb.append("\253"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\254"); - sb.append("\uff6d"); + sb.append("\uffa1"); sb.append("\255"); - sb.append("\uff6d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\u0611"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\uffa1"); + sb.append("\256"); + sb.append("\uffa1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\276"); sb.append("\002"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\003"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\004"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\005"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\006"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\007"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\010"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\011"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\012"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\014"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\015"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\016"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\017"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\020"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\021"); - sb.append("\uff6c"); - sb.append("\022"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\023"); - sb.append("\uff6c"); - sb.append("\024"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\025"); - sb.append("\uff6c"); - sb.append("\026"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\027"); - sb.append("\uff6c"); - sb.append("\030"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\032"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\034"); - sb.append("\uff6c"); - sb.append("\035"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\036"); - sb.append("\uff6c"); - sb.append("\037"); - sb.append("\uff6c"); - sb.append("\040"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\041"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\042"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\043"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\044"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\045"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\046"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\047"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\050"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\051"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\052"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\054"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\056"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\057"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\061"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\062"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\063"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\064"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\065"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\066"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\074"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\075"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\077"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\100"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\101"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\102"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\103"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\104"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\105"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\111"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\112"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\114"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\115"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\116"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\120"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\121"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\122"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\123"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\124"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\125"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\126"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\133"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\151"); - sb.append("\uff6c"); - sb.append("\172"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\173"); - sb.append("\uff6c"); - sb.append("\177"); - sb.append("\uff6c"); + sb.append("\uff9a"); + sb.append("\174"); + sb.append("\uff9a"); sb.append("\200"); - sb.append("\uff6c"); - sb.append("\202"); - sb.append("\uff6c"); + sb.append("\uff9a"); + sb.append("\201"); + sb.append("\uff9a"); sb.append("\203"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\204"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\205"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\206"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\207"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\210"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\211"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\212"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\213"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\214"); - sb.append("\uff6c"); - sb.append("\216"); - sb.append("\uff6c"); + sb.append("\uff9a"); + sb.append("\215"); + sb.append("\uff9a"); sb.append("\217"); - sb.append("\uff6c"); - sb.append("\220"); - sb.append("\uff6c"); - sb.append("\221"); - sb.append("\uff6c"); - sb.append("\222"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\223"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\224"); - sb.append("\uff6c"); - sb.append("\230"); - sb.append("\uff6c"); - sb.append("\233"); - sb.append("\uff6c"); + sb.append("\uff9a"); + sb.append("\225"); + sb.append("\uff9a"); + sb.append("\231"); + sb.append("\uff9a"); sb.append("\234"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\235"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\236"); - sb.append("\uff6c"); - sb.append("\240"); - sb.append("\uff6c"); - sb.append("\247"); - sb.append("\uff6c"); + sb.append("\uff9a"); + sb.append("\237"); + sb.append("\uff9a"); + sb.append("\241"); + sb.append("\uff9a"); sb.append("\250"); - sb.append("\uff6c"); - sb.append("\252"); - sb.append("\uff6c"); + sb.append("\uff9a"); + sb.append("\251"); + sb.append("\uff9a"); sb.append("\253"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\254"); - sb.append("\uff6c"); + sb.append("\uff9a"); sb.append("\255"); - sb.append("\uff6c"); + sb.append("\uff9a"); + sb.append("\256"); + sb.append("\uff9a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\274"); + sb.append("\003"); + sb.append("\211"); + sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\u028e"); + sb.append("\217"); + sb.append("\011"); + sb.append("\204"); sb.append("\012"); sb.append("\075"); + sb.append("\014"); + sb.append("\007"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufd3f"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); + sb.append("\032"); + sb.append("\106"); + sb.append("\034"); + sb.append("\113"); + sb.append("\036"); + sb.append("\125"); + sb.append("\041"); sb.append("\033"); - sb.append("\ufd3f"); - sb.append("\073"); - sb.append("\ufd3f"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\023"); + sb.append("\046"); + sb.append("\036"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\052"); + sb.append("\057"); + sb.append("\054"); + sb.append("\026"); + sb.append("\056"); + sb.append("\163"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\064"); + sb.append("\225"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); + sb.append("\111"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); sb.append("\111"); - sb.append("\u028f"); + sb.append("\157"); sb.append("\112"); - sb.append("\ufd3f"); + sb.append("\u0608"); + sb.append("\114"); + sb.append("\052"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\120"); + sb.append("\172"); sb.append("\121"); - sb.append("\u028d"); - sb.append("\127"); - sb.append("\ufd3f"); - sb.append("\130"); - sb.append("\ufd3f"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); sb.append("\131"); - sb.append("\ufd3f"); - sb.append("\132"); - sb.append("\ufd3f"); - sb.append("\134"); - sb.append("\ufd3f"); - sb.append("\135"); - sb.append("\ufd3f"); - sb.append("\136"); - sb.append("\ufd3f"); - sb.append("\137"); - sb.append("\ufd3f"); - sb.append("\140"); - sb.append("\ufd3f"); - sb.append("\141"); - sb.append("\ufd3f"); - sb.append("\142"); - sb.append("\ufd3f"); - sb.append("\143"); - sb.append("\ufd3f"); - sb.append("\144"); - sb.append("\ufd3f"); - sb.append("\145"); - sb.append("\ufd3f"); - sb.append("\146"); - sb.append("\ufd3f"); - sb.append("\147"); - sb.append("\ufd3f"); - sb.append("\150"); - sb.append("\ufd3f"); + sb.append("\133"); + sb.append("\020"); sb.append("\151"); - sb.append("\ufd3f"); - sb.append("\152"); - sb.append("\ufd3f"); - sb.append("\153"); - sb.append("\ufd3f"); - sb.append("\154"); - sb.append("\ufd3f"); - sb.append("\155"); - sb.append("\ufd3f"); - sb.append("\156"); - sb.append("\ufd3f"); - sb.append("\157"); - sb.append("\ufd3f"); - sb.append("\160"); - sb.append("\ufd3f"); - sb.append("\161"); - sb.append("\ufd3f"); - sb.append("\162"); - sb.append("\ufd3f"); - sb.append("\163"); - sb.append("\ufd3f"); - sb.append("\164"); - sb.append("\ufd3f"); - sb.append("\165"); - sb.append("\ufd3f"); - sb.append("\166"); - sb.append("\ufd3f"); - sb.append("\167"); - sb.append("\ufd3f"); - sb.append("\170"); - sb.append("\ufd3f"); sb.append("\171"); - sb.append("\ufd3f"); - sb.append("\172"); - sb.append("\ufd3f"); sb.append("\173"); - sb.append("\ufd3f"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd3f"); - sb.append("\175"); - sb.append("\ufd3f"); sb.append("\176"); - sb.append("\ufd3f"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd3f"); - sb.append("\202"); - sb.append("\ufd3f"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd3f"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd3f"); - sb.append("\230"); - sb.append("\ufd3f"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\025"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); sb.append("\231"); - sb.append("\ufd3f"); - sb.append("\232"); - sb.append("\ufd3f"); - sb.append("\233"); + sb.append("\047"); + sb.append("\234"); sb.append("\152"); - sb.append("\242"); - sb.append("\ufd3f"); - sb.append("\243"); - sb.append("\ufd3f"); - sb.append("\245"); - sb.append("\ufd3f"); - sb.append("\246"); - sb.append("\ufd3f"); - sb.append("\251"); - sb.append("\ufd3f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\010"); - sb.append("\ufcc5"); - sb.append("\012"); - sb.append("\ufcc5"); - sb.append("\031"); - sb.append("\ufcc5"); - sb.append("\033"); - sb.append("\ufcc5"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); sb.append("\073"); - sb.append("\ufcc5"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); + sb.append("\253"); + sb.append("\227"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\276"); + sb.append("\002"); + sb.append("\uff99"); + sb.append("\003"); + sb.append("\uff99"); + sb.append("\004"); + sb.append("\uff99"); + sb.append("\005"); + sb.append("\uff99"); + sb.append("\006"); + sb.append("\uff99"); + sb.append("\007"); + sb.append("\uff99"); + sb.append("\010"); + sb.append("\uff99"); + sb.append("\011"); + sb.append("\uff99"); + sb.append("\012"); + sb.append("\uff99"); + sb.append("\014"); + sb.append("\uff99"); + sb.append("\015"); + sb.append("\uff99"); + sb.append("\016"); + sb.append("\uff99"); + sb.append("\017"); + sb.append("\uff99"); + sb.append("\020"); + sb.append("\uff99"); + sb.append("\021"); + sb.append("\uff99"); + sb.append("\023"); + sb.append("\uff99"); + sb.append("\025"); + sb.append("\uff99"); + sb.append("\027"); + sb.append("\uff99"); + sb.append("\032"); + sb.append("\uff99"); + sb.append("\034"); + sb.append("\uff99"); + sb.append("\036"); + sb.append("\uff99"); + sb.append("\041"); + sb.append("\uff99"); + sb.append("\042"); + sb.append("\uff99"); + sb.append("\043"); + sb.append("\uff99"); + sb.append("\044"); + sb.append("\uff99"); + sb.append("\045"); + sb.append("\uff99"); + sb.append("\046"); + sb.append("\uff99"); + sb.append("\047"); + sb.append("\uff99"); + sb.append("\050"); + sb.append("\uff99"); + sb.append("\051"); + sb.append("\uff99"); + sb.append("\052"); + sb.append("\uff99"); + sb.append("\054"); + sb.append("\uff99"); + sb.append("\056"); + sb.append("\uff99"); + sb.append("\057"); + sb.append("\uff99"); + sb.append("\061"); + sb.append("\uff99"); + sb.append("\062"); + sb.append("\uff99"); + sb.append("\063"); + sb.append("\uff99"); + sb.append("\064"); + sb.append("\uff99"); + sb.append("\065"); + sb.append("\uff99"); + sb.append("\066"); + sb.append("\uff99"); + sb.append("\074"); + sb.append("\uff99"); + sb.append("\075"); + sb.append("\uff99"); + sb.append("\077"); + sb.append("\uff99"); + sb.append("\100"); + sb.append("\uff99"); + sb.append("\101"); + sb.append("\uff99"); + sb.append("\102"); + sb.append("\uff99"); + sb.append("\103"); + sb.append("\uff99"); + sb.append("\104"); + sb.append("\uff99"); + sb.append("\105"); + sb.append("\uff99"); sb.append("\111"); - sb.append("\ufcc5"); + sb.append("\uff99"); sb.append("\112"); - sb.append("\ufcc5"); + sb.append("\uff99"); + sb.append("\114"); + sb.append("\uff99"); + sb.append("\115"); + sb.append("\uff99"); + sb.append("\116"); + sb.append("\uff99"); + sb.append("\120"); + sb.append("\uff99"); sb.append("\121"); - sb.append("\ufcc5"); - sb.append("\127"); - sb.append("\ufcc5"); - sb.append("\130"); - sb.append("\ufcc5"); - sb.append("\131"); - sb.append("\ufcc5"); - sb.append("\132"); - sb.append("\ufcc5"); - sb.append("\134"); - sb.append("\ufcc5"); - sb.append("\135"); - sb.append("\ufcc5"); - sb.append("\136"); - sb.append("\ufcc5"); - sb.append("\137"); - sb.append("\ufcc5"); - sb.append("\140"); - sb.append("\ufcc5"); - sb.append("\141"); - sb.append("\ufcc5"); - sb.append("\142"); - sb.append("\ufcc5"); - sb.append("\143"); - sb.append("\ufcc5"); - sb.append("\144"); - sb.append("\ufcc5"); - sb.append("\145"); - sb.append("\ufcc5"); - sb.append("\146"); - sb.append("\ufcc5"); - sb.append("\147"); - sb.append("\ufcc5"); - sb.append("\150"); - sb.append("\ufcc5"); + sb.append("\uff99"); + sb.append("\122"); + sb.append("\uff99"); + sb.append("\123"); + sb.append("\uff99"); + sb.append("\124"); + sb.append("\uff99"); + sb.append("\125"); + sb.append("\uff99"); + sb.append("\126"); + sb.append("\uff99"); + sb.append("\133"); + sb.append("\uff99"); sb.append("\151"); - sb.append("\ufcc5"); - sb.append("\152"); - sb.append("\ufcc5"); - sb.append("\153"); - sb.append("\ufcc5"); - sb.append("\154"); - sb.append("\ufcc5"); - sb.append("\155"); - sb.append("\ufcc5"); - sb.append("\156"); - sb.append("\ufcc5"); - sb.append("\157"); - sb.append("\ufcc5"); - sb.append("\160"); - sb.append("\ufcc5"); - sb.append("\161"); - sb.append("\ufcc5"); - sb.append("\162"); - sb.append("\ufcc5"); - sb.append("\163"); - sb.append("\ufcc5"); - sb.append("\164"); - sb.append("\ufcc5"); - sb.append("\165"); - sb.append("\ufcc5"); - sb.append("\166"); - sb.append("\ufcc5"); - sb.append("\167"); - sb.append("\ufcc5"); - sb.append("\170"); - sb.append("\ufcc5"); - sb.append("\171"); - sb.append("\ufcc5"); - sb.append("\172"); - sb.append("\ufcc5"); + sb.append("\uff99"); sb.append("\173"); - sb.append("\ufcc5"); + sb.append("\uff99"); sb.append("\174"); - sb.append("\ufcc5"); - sb.append("\175"); - sb.append("\ufcc5"); - sb.append("\176"); - sb.append("\ufcc5"); + sb.append("\uff99"); + sb.append("\200"); + sb.append("\uff99"); sb.append("\201"); - sb.append("\ufcc5"); - sb.append("\202"); - sb.append("\ufcc5"); + sb.append("\uff99"); sb.append("\203"); - sb.append("\ufcc5"); + sb.append("\uff99"); + sb.append("\204"); + sb.append("\uff99"); + sb.append("\205"); + sb.append("\uff99"); + sb.append("\206"); + sb.append("\uff99"); + sb.append("\207"); + sb.append("\uff99"); + sb.append("\210"); + sb.append("\uff99"); + sb.append("\211"); + sb.append("\uff99"); + sb.append("\212"); + sb.append("\uff99"); + sb.append("\213"); + sb.append("\uff99"); + sb.append("\214"); + sb.append("\uff99"); sb.append("\215"); - sb.append("\ufcc5"); - sb.append("\230"); - sb.append("\ufcc5"); + sb.append("\uff99"); + sb.append("\217"); + sb.append("\uff99"); + sb.append("\223"); + sb.append("\uff99"); + sb.append("\224"); + sb.append("\uff99"); + sb.append("\225"); + sb.append("\uff99"); sb.append("\231"); - sb.append("\ufcc5"); - sb.append("\232"); - sb.append("\ufcc5"); - sb.append("\233"); - sb.append("\ufcc5"); - sb.append("\242"); - sb.append("\ufcc5"); - sb.append("\243"); - sb.append("\ufcc5"); - sb.append("\245"); - sb.append("\ufcc5"); - sb.append("\246"); - sb.append("\ufcc5"); + sb.append("\uff99"); + sb.append("\234"); + sb.append("\uff99"); + sb.append("\235"); + sb.append("\uff99"); + sb.append("\236"); + sb.append("\uff99"); + sb.append("\237"); + sb.append("\uff99"); + sb.append("\241"); + sb.append("\uff99"); + sb.append("\250"); + sb.append("\uff99"); sb.append("\251"); - sb.append("\ufcc5"); + sb.append("\uff99"); + sb.append("\253"); + sb.append("\uff99"); + sb.append("\254"); + sb.append("\uff99"); + sb.append("\255"); + sb.append("\uff99"); + sb.append("\256"); + sb.append("\uff99"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\274"); + sb.append("\003"); + sb.append("\211"); + sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\ufcc4"); + sb.append("\217"); + sb.append("\011"); + sb.append("\204"); sb.append("\012"); - sb.append("\ufcc4"); + sb.append("\075"); + sb.append("\014"); + sb.append("\007"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufcc4"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); + sb.append("\032"); + sb.append("\106"); + sb.append("\034"); + sb.append("\113"); + sb.append("\036"); + sb.append("\125"); + sb.append("\041"); sb.append("\033"); - sb.append("\ufcc4"); - sb.append("\073"); - sb.append("\ufcc4"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\023"); + sb.append("\046"); + sb.append("\036"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\052"); + sb.append("\057"); + sb.append("\054"); + sb.append("\026"); + sb.append("\056"); + sb.append("\163"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\064"); + sb.append("\225"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); sb.append("\111"); - sb.append("\ufcc4"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\111"); + sb.append("\157"); sb.append("\112"); - sb.append("\ufcc4"); + sb.append("\u060a"); + sb.append("\114"); + sb.append("\052"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\120"); + sb.append("\172"); sb.append("\121"); - sb.append("\ufcc4"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\151"); + sb.append("\171"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\025"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); + sb.append("\253"); + sb.append("\227"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\276"); + sb.append("\002"); + sb.append("\uff98"); + sb.append("\003"); + sb.append("\uff98"); + sb.append("\004"); + sb.append("\uff98"); + sb.append("\005"); + sb.append("\uff98"); + sb.append("\006"); + sb.append("\uff98"); + sb.append("\007"); + sb.append("\uff98"); + sb.append("\010"); + sb.append("\uff98"); + sb.append("\011"); + sb.append("\uff98"); + sb.append("\012"); + sb.append("\uff98"); + sb.append("\014"); + sb.append("\uff98"); + sb.append("\015"); + sb.append("\uff98"); + sb.append("\016"); + sb.append("\uff98"); + sb.append("\017"); + sb.append("\uff98"); + sb.append("\020"); + sb.append("\uff98"); + sb.append("\021"); + sb.append("\uff98"); + sb.append("\023"); + sb.append("\uff98"); + sb.append("\025"); + sb.append("\uff98"); + sb.append("\027"); + sb.append("\uff98"); + sb.append("\032"); + sb.append("\uff98"); + sb.append("\034"); + sb.append("\uff98"); + sb.append("\036"); + sb.append("\uff98"); + sb.append("\041"); + sb.append("\uff98"); + sb.append("\042"); + sb.append("\uff98"); + sb.append("\043"); + sb.append("\uff98"); + sb.append("\044"); + sb.append("\uff98"); + sb.append("\045"); + sb.append("\uff98"); + sb.append("\046"); + sb.append("\uff98"); + sb.append("\047"); + sb.append("\uff98"); + sb.append("\050"); + sb.append("\uff98"); + sb.append("\051"); + sb.append("\uff98"); + sb.append("\052"); + sb.append("\uff98"); + sb.append("\054"); + sb.append("\uff98"); + sb.append("\056"); + sb.append("\uff98"); + sb.append("\057"); + sb.append("\uff98"); + sb.append("\061"); + sb.append("\uff98"); + sb.append("\062"); + sb.append("\uff98"); + sb.append("\063"); + sb.append("\uff98"); + sb.append("\064"); + sb.append("\uff98"); + sb.append("\065"); + sb.append("\uff98"); + sb.append("\066"); + sb.append("\uff98"); + sb.append("\074"); + sb.append("\uff98"); + sb.append("\075"); + sb.append("\uff98"); + sb.append("\077"); + sb.append("\uff98"); + sb.append("\100"); + sb.append("\uff98"); + sb.append("\101"); + sb.append("\uff98"); + sb.append("\102"); + sb.append("\uff98"); + sb.append("\103"); + sb.append("\uff98"); + sb.append("\104"); + sb.append("\uff98"); + sb.append("\105"); + sb.append("\uff98"); + sb.append("\111"); + sb.append("\uff98"); + sb.append("\112"); + sb.append("\uff98"); + sb.append("\114"); + sb.append("\uff98"); + sb.append("\115"); + sb.append("\uff98"); + sb.append("\116"); + sb.append("\uff98"); + sb.append("\120"); + sb.append("\uff98"); + sb.append("\121"); + sb.append("\uff98"); + sb.append("\122"); + sb.append("\uff98"); + sb.append("\123"); + sb.append("\uff98"); + sb.append("\124"); + sb.append("\uff98"); + sb.append("\125"); + sb.append("\uff98"); + sb.append("\126"); + sb.append("\uff98"); + sb.append("\133"); + sb.append("\uff98"); + sb.append("\151"); + sb.append("\uff98"); + sb.append("\173"); + sb.append("\uff98"); + sb.append("\174"); + sb.append("\uff98"); + sb.append("\200"); + sb.append("\uff98"); + sb.append("\201"); + sb.append("\uff98"); + sb.append("\203"); + sb.append("\uff98"); + sb.append("\204"); + sb.append("\uff98"); + sb.append("\205"); + sb.append("\uff98"); + sb.append("\206"); + sb.append("\uff98"); + sb.append("\207"); + sb.append("\uff98"); + sb.append("\210"); + sb.append("\uff98"); + sb.append("\211"); + sb.append("\uff98"); + sb.append("\212"); + sb.append("\uff98"); + sb.append("\213"); + sb.append("\uff98"); + sb.append("\214"); + sb.append("\uff98"); + sb.append("\215"); + sb.append("\uff98"); + sb.append("\217"); + sb.append("\uff98"); + sb.append("\223"); + sb.append("\uff98"); + sb.append("\224"); + sb.append("\uff98"); + sb.append("\225"); + sb.append("\uff98"); + sb.append("\231"); + sb.append("\uff98"); + sb.append("\234"); + sb.append("\uff98"); + sb.append("\235"); + sb.append("\uff98"); + sb.append("\236"); + sb.append("\uff98"); + sb.append("\237"); + sb.append("\uff98"); + sb.append("\241"); + sb.append("\uff98"); + sb.append("\250"); + sb.append("\uff98"); + sb.append("\251"); + sb.append("\uff98"); + sb.append("\253"); + sb.append("\uff98"); + sb.append("\254"); + sb.append("\uff98"); + sb.append("\255"); + sb.append("\uff98"); + sb.append("\256"); + sb.append("\uff98"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u060c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufd5c"); + sb.append("\033"); + sb.append("\ufd5c"); + sb.append("\073"); + sb.append("\ufd5c"); + sb.append("\112"); + sb.append("\ufd5c"); sb.append("\127"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\130"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\131"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\132"); - sb.append("\ufcc4"); - sb.append("\134"); - sb.append("\ufcc4"); - sb.append("\135"); - sb.append("\ufcc4"); - sb.append("\136"); - sb.append("\ufcc4"); - sb.append("\137"); - sb.append("\ufcc4"); - sb.append("\140"); - sb.append("\ufcc4"); - sb.append("\141"); - sb.append("\ufcc4"); - sb.append("\142"); - sb.append("\ufcc4"); - sb.append("\143"); - sb.append("\ufcc4"); - sb.append("\144"); - sb.append("\ufcc4"); - sb.append("\145"); - sb.append("\ufcc4"); - sb.append("\146"); - sb.append("\ufcc4"); - sb.append("\147"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\150"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\151"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\152"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\153"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\154"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\155"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\156"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\157"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\160"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\161"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\162"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\163"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\164"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\165"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\166"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\167"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\170"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\171"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\172"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\173"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\174"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\175"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\176"); - sb.append("\ufcc4"); - sb.append("\201"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); + sb.append("\177"); + sb.append("\ufd5c"); sb.append("\202"); - sb.append("\ufcc4"); - sb.append("\203"); - sb.append("\ufcc4"); - sb.append("\215"); - sb.append("\ufcc4"); - sb.append("\230"); - sb.append("\ufcc4"); - sb.append("\231"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); + sb.append("\216"); + sb.append("\ufd5c"); sb.append("\232"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\233"); - sb.append("\ufcc4"); - sb.append("\242"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\243"); - sb.append("\ufcc4"); - sb.append("\245"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); sb.append("\246"); - sb.append("\ufcc4"); - sb.append("\251"); - sb.append("\ufcc4"); + sb.append("\ufd5c"); + sb.append("\252"); + sb.append("\ufd5c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); sb.append("\010"); - sb.append("\ufcc6"); - sb.append("\012"); - sb.append("\ufcc6"); - sb.append("\031"); - sb.append("\ufcc6"); - sb.append("\033"); - sb.append("\ufcc6"); - sb.append("\073"); - sb.append("\ufcc6"); + sb.append("\067"); + sb.append("\u03da"); + sb.append("\070"); + sb.append("\uff25"); sb.append("\111"); - sb.append("\ufcc6"); - sb.append("\112"); - sb.append("\ufcc6"); - sb.append("\121"); - sb.append("\ufcc6"); - sb.append("\127"); - sb.append("\ufcc6"); - sb.append("\130"); - sb.append("\ufcc6"); - sb.append("\131"); - sb.append("\ufcc6"); - sb.append("\132"); - sb.append("\ufcc6"); - sb.append("\134"); - sb.append("\ufcc6"); - sb.append("\135"); - sb.append("\ufcc6"); - sb.append("\136"); - sb.append("\ufcc6"); - sb.append("\137"); - sb.append("\ufcc6"); - sb.append("\140"); - sb.append("\ufcc6"); - sb.append("\141"); - sb.append("\ufcc6"); - sb.append("\142"); - sb.append("\ufcc6"); - sb.append("\143"); - sb.append("\ufcc6"); - sb.append("\144"); - sb.append("\ufcc6"); - sb.append("\145"); - sb.append("\ufcc6"); - sb.append("\146"); - sb.append("\ufcc6"); - sb.append("\147"); - sb.append("\ufcc6"); - sb.append("\150"); - sb.append("\ufcc6"); - sb.append("\151"); - sb.append("\ufcc6"); - sb.append("\152"); - sb.append("\ufcc6"); - sb.append("\153"); - sb.append("\ufcc6"); - sb.append("\154"); - sb.append("\ufcc6"); - sb.append("\155"); - sb.append("\ufcc6"); - sb.append("\156"); - sb.append("\ufcc6"); - sb.append("\157"); - sb.append("\ufcc6"); - sb.append("\160"); - sb.append("\ufcc6"); - sb.append("\161"); - sb.append("\ufcc6"); - sb.append("\162"); - sb.append("\ufcc6"); - sb.append("\163"); - sb.append("\ufcc6"); - sb.append("\164"); - sb.append("\ufcc6"); - sb.append("\165"); - sb.append("\ufcc6"); - sb.append("\166"); - sb.append("\ufcc6"); - sb.append("\167"); - sb.append("\ufcc6"); - sb.append("\170"); - sb.append("\ufcc6"); - sb.append("\171"); - sb.append("\ufcc6"); - sb.append("\172"); - sb.append("\ufcc6"); - sb.append("\173"); - sb.append("\ufcc6"); - sb.append("\174"); - sb.append("\ufcc6"); - sb.append("\175"); - sb.append("\ufcc6"); - sb.append("\176"); - sb.append("\ufcc6"); - sb.append("\201"); - sb.append("\ufcc6"); - sb.append("\202"); - sb.append("\ufcc6"); - sb.append("\203"); - sb.append("\ufcc6"); - sb.append("\215"); - sb.append("\ufcc6"); - sb.append("\230"); - sb.append("\ufcc6"); - sb.append("\231"); - sb.append("\ufcc6"); - sb.append("\232"); - sb.append("\ufcc6"); - sb.append("\233"); - sb.append("\ufcc6"); - sb.append("\242"); - sb.append("\ufcc6"); - sb.append("\243"); - sb.append("\ufcc6"); - sb.append("\245"); - sb.append("\ufcc6"); - sb.append("\246"); - sb.append("\ufcc6"); - sb.append("\251"); - sb.append("\ufcc6"); + sb.append("\uff25"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd36"); - sb.append("\033"); - sb.append("\ufd36"); - sb.append("\071"); - sb.append("\ufd36"); - sb.append("\072"); - sb.append("\ufd36"); - sb.append("\073"); - sb.append("\ufd36"); + sb.append("\006"); + sb.append("\070"); + sb.append("\236"); + sb.append("\111"); + sb.append("\uff20"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); sb.append("\111"); - sb.append("\ufd36"); + sb.append("\u0610"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\046"); + sb.append("\037"); + sb.append("\ufead"); + sb.append("\045"); + sb.append("\ufead"); + sb.append("\046"); + sb.append("\ufead"); + sb.append("\056"); + sb.append("\ufead"); + sb.append("\060"); + sb.append("\ufead"); sb.append("\112"); - sb.append("\ufd36"); - sb.append("\113"); - sb.append("\ufd36"); - sb.append("\127"); - sb.append("\ufd36"); - sb.append("\130"); - sb.append("\ufd36"); - sb.append("\131"); - sb.append("\ufd36"); - sb.append("\132"); - sb.append("\ufd36"); - sb.append("\134"); - sb.append("\ufd36"); - sb.append("\135"); - sb.append("\ufd36"); - sb.append("\136"); - sb.append("\ufd36"); - sb.append("\137"); - sb.append("\ufd36"); - sb.append("\140"); - sb.append("\ufd36"); - sb.append("\141"); - sb.append("\ufd36"); - sb.append("\142"); - sb.append("\ufd36"); - sb.append("\143"); - sb.append("\ufd36"); - sb.append("\144"); - sb.append("\ufd36"); - sb.append("\145"); - sb.append("\ufd36"); - sb.append("\146"); - sb.append("\ufd36"); - sb.append("\147"); - sb.append("\ufd36"); - sb.append("\150"); - sb.append("\ufd36"); - sb.append("\151"); - sb.append("\ufd36"); - sb.append("\152"); - sb.append("\ufd36"); - sb.append("\153"); - sb.append("\ufd36"); - sb.append("\154"); - sb.append("\ufd36"); - sb.append("\155"); - sb.append("\ufd36"); - sb.append("\156"); - sb.append("\ufd36"); - sb.append("\157"); - sb.append("\ufd36"); - sb.append("\160"); - sb.append("\ufd36"); - sb.append("\161"); - sb.append("\ufd36"); - sb.append("\162"); - sb.append("\ufd36"); - sb.append("\163"); - sb.append("\ufd36"); - sb.append("\164"); - sb.append("\ufd36"); - sb.append("\165"); - sb.append("\ufd36"); - sb.append("\166"); - sb.append("\ufd36"); - sb.append("\167"); - sb.append("\ufd36"); - sb.append("\170"); - sb.append("\ufd36"); - sb.append("\171"); - sb.append("\ufd36"); - sb.append("\172"); - sb.append("\ufd36"); - sb.append("\173"); - sb.append("\ufd36"); - sb.append("\174"); - sb.append("\ufd36"); - sb.append("\175"); - sb.append("\ufd36"); - sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); - sb.append("\202"); - sb.append("\ufd36"); - sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); - sb.append("\215"); - sb.append("\ufd36"); + sb.append("\ufead"); + sb.append("\120"); + sb.append("\ufead"); + sb.append("\223"); + sb.append("\ufead"); + sb.append("\224"); + sb.append("\ufead"); + sb.append("\225"); + sb.append("\ufead"); + sb.append("\226"); + sb.append("\ufead"); + sb.append("\227"); + sb.append("\ufead"); sb.append("\230"); - sb.append("\u029b"); - sb.append("\231"); - sb.append("\ufd36"); - sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); - sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); - sb.append("\246"); - sb.append("\ufd36"); + sb.append("\ufead"); + sb.append("\250"); + sb.append("\ufead"); sb.append("\251"); - sb.append("\ufd36"); + sb.append("\ufead"); + sb.append("\257"); + sb.append("\ufead"); + sb.append("\260"); + sb.append("\ufead"); + sb.append("\261"); + sb.append("\ufead"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd2f"); - sb.append("\033"); - sb.append("\ufd2f"); - sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); - sb.append("\073"); - sb.append("\ufd2f"); - sb.append("\111"); - sb.append("\u026f"); + sb.append("\046"); + sb.append("\037"); + sb.append("\274"); + sb.append("\045"); + sb.append("\ufe84"); + sb.append("\046"); + sb.append("\ufe88"); + sb.append("\056"); + sb.append("\304"); + sb.append("\060"); + sb.append("\306"); sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); - sb.append("\127"); - sb.append("\ufd2f"); - sb.append("\130"); - sb.append("\ufd2f"); - sb.append("\131"); - sb.append("\ufd2f"); - sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); - sb.append("\150"); - sb.append("\ufd2f"); - sb.append("\151"); - sb.append("\ufd2f"); - sb.append("\152"); - sb.append("\ufd2f"); - sb.append("\153"); - sb.append("\ufd2f"); - sb.append("\154"); - sb.append("\ufd2f"); - sb.append("\155"); - sb.append("\ufd2f"); - sb.append("\156"); - sb.append("\ufd2f"); - sb.append("\157"); - sb.append("\ufd2f"); - sb.append("\160"); - sb.append("\ufd2f"); - sb.append("\161"); - sb.append("\ufd2f"); - sb.append("\162"); - sb.append("\ufd2f"); - sb.append("\163"); - sb.append("\ufd2f"); - sb.append("\164"); - sb.append("\ufd2f"); - sb.append("\165"); - sb.append("\ufd2f"); - sb.append("\166"); - sb.append("\ufd2f"); - sb.append("\167"); - sb.append("\ufd2f"); - sb.append("\170"); - sb.append("\ufd2f"); - sb.append("\171"); - sb.append("\ufd2f"); - sb.append("\172"); - sb.append("\ufd2f"); - sb.append("\173"); - sb.append("\ufd2f"); - sb.append("\174"); - sb.append("\ufd2f"); - sb.append("\175"); - sb.append("\ufd2f"); - sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); - sb.append("\202"); - sb.append("\ufd2f"); - sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd2f"); + sb.append("\u0612"); + sb.append("\120"); + sb.append("\300"); + sb.append("\223"); + sb.append("\303"); + sb.append("\224"); + sb.append("\264"); + sb.append("\225"); + sb.append("\265"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); sb.append("\230"); - sb.append("\ufd2f"); - sb.append("\231"); - sb.append("\ufd2f"); - sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); - sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); - sb.append("\246"); - sb.append("\ufd2f"); + sb.append("\302"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\254"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd3b"); - sb.append("\033"); - sb.append("\ufd3b"); - sb.append("\071"); - sb.append("\ufd3b"); - sb.append("\072"); - sb.append("\ufd3b"); - sb.append("\073"); - sb.append("\ufd3b"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd3b"); - sb.append("\113"); - sb.append("\ufd3b"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff3e"); + sb.append("\003"); + sb.append("\uff3e"); + sb.append("\004"); + sb.append("\uff3e"); + sb.append("\005"); + sb.append("\uff3e"); + sb.append("\006"); + sb.append("\uff3e"); + sb.append("\007"); + sb.append("\uff3e"); + sb.append("\010"); + sb.append("\uff3e"); + sb.append("\011"); + sb.append("\uff3e"); + sb.append("\012"); + sb.append("\uff3e"); + sb.append("\014"); + sb.append("\uff3e"); + sb.append("\015"); + sb.append("\uff3e"); + sb.append("\016"); + sb.append("\uff3e"); + sb.append("\017"); + sb.append("\uff3e"); + sb.append("\020"); + sb.append("\uff3e"); + sb.append("\021"); + sb.append("\uff3e"); + sb.append("\022"); + sb.append("\uff3e"); + sb.append("\023"); + sb.append("\uff3e"); + sb.append("\024"); + sb.append("\uff3e"); + sb.append("\025"); + sb.append("\uff3e"); + sb.append("\026"); + sb.append("\uff3e"); + sb.append("\027"); + sb.append("\uff3e"); + sb.append("\030"); + sb.append("\uff3e"); + sb.append("\032"); + sb.append("\uff3e"); + sb.append("\034"); + sb.append("\uff3e"); + sb.append("\035"); + sb.append("\uff3e"); + sb.append("\036"); + sb.append("\uff3e"); + sb.append("\037"); + sb.append("\uff3e"); + sb.append("\040"); + sb.append("\uff3e"); + sb.append("\041"); + sb.append("\uff3e"); + sb.append("\042"); + sb.append("\uff3e"); + sb.append("\043"); + sb.append("\uff3e"); + sb.append("\044"); + sb.append("\uff3e"); + sb.append("\045"); + sb.append("\uff3e"); + sb.append("\046"); + sb.append("\uff3e"); + sb.append("\047"); + sb.append("\uff3e"); + sb.append("\050"); + sb.append("\uff3e"); + sb.append("\051"); + sb.append("\uff3e"); + sb.append("\052"); + sb.append("\uff3e"); + sb.append("\054"); + sb.append("\uff3e"); + sb.append("\056"); + sb.append("\uff3e"); + sb.append("\057"); + sb.append("\uff3e"); + sb.append("\061"); + sb.append("\uff3e"); + sb.append("\062"); + sb.append("\uff3e"); + sb.append("\063"); + sb.append("\uff3e"); + sb.append("\064"); + sb.append("\uff3e"); + sb.append("\065"); + sb.append("\uff3e"); + sb.append("\066"); + sb.append("\uff3e"); + sb.append("\074"); + sb.append("\uff3e"); + sb.append("\075"); + sb.append("\uff3e"); + sb.append("\077"); + sb.append("\uff3e"); + sb.append("\100"); + sb.append("\uff3e"); + sb.append("\101"); + sb.append("\uff3e"); + sb.append("\102"); + sb.append("\uff3e"); + sb.append("\103"); + sb.append("\uff3e"); + sb.append("\104"); + sb.append("\uff3e"); + sb.append("\105"); + sb.append("\uff3e"); + sb.append("\111"); + sb.append("\uff3e"); + sb.append("\112"); + sb.append("\uff3e"); + sb.append("\114"); + sb.append("\uff3e"); + sb.append("\115"); + sb.append("\uff3e"); + sb.append("\116"); + sb.append("\uff3e"); + sb.append("\120"); + sb.append("\uff3e"); + sb.append("\121"); + sb.append("\uff3e"); + sb.append("\122"); + sb.append("\uff3e"); + sb.append("\123"); + sb.append("\uff3e"); + sb.append("\124"); + sb.append("\uff3e"); + sb.append("\125"); + sb.append("\uff3e"); + sb.append("\126"); + sb.append("\uff3e"); + sb.append("\133"); + sb.append("\uff3e"); + sb.append("\151"); + sb.append("\uff3e"); + sb.append("\173"); + sb.append("\uff3e"); + sb.append("\174"); + sb.append("\uff3e"); + sb.append("\200"); + sb.append("\uff3e"); + sb.append("\201"); + sb.append("\uff3e"); + sb.append("\203"); + sb.append("\uff3e"); + sb.append("\204"); + sb.append("\uff3e"); + sb.append("\205"); + sb.append("\uff3e"); + sb.append("\206"); + sb.append("\uff3e"); + sb.append("\207"); + sb.append("\uff3e"); + sb.append("\210"); + sb.append("\uff3e"); + sb.append("\211"); + sb.append("\uff3e"); + sb.append("\212"); + sb.append("\uff3e"); + sb.append("\213"); + sb.append("\uff3e"); + sb.append("\214"); + sb.append("\uff3e"); + sb.append("\215"); + sb.append("\uff3e"); + sb.append("\217"); + sb.append("\uff3e"); + sb.append("\220"); + sb.append("\uff3e"); + sb.append("\221"); + sb.append("\uff3e"); + sb.append("\222"); + sb.append("\uff3e"); + sb.append("\223"); + sb.append("\uff3e"); + sb.append("\224"); + sb.append("\uff3e"); + sb.append("\225"); + sb.append("\uff3e"); + sb.append("\231"); + sb.append("\uff3e"); + sb.append("\234"); + sb.append("\uff3e"); + sb.append("\235"); + sb.append("\uff3e"); + sb.append("\236"); + sb.append("\uff3e"); + sb.append("\237"); + sb.append("\uff3e"); + sb.append("\241"); + sb.append("\uff3e"); + sb.append("\250"); + sb.append("\uff3e"); + sb.append("\251"); + sb.append("\uff3e"); + sb.append("\253"); + sb.append("\uff3e"); + sb.append("\254"); + sb.append("\uff3e"); + sb.append("\255"); + sb.append("\uff3e"); + sb.append("\256"); + sb.append("\uff3e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff6d"); + sb.append("\003"); + sb.append("\uff6d"); + sb.append("\004"); + sb.append("\uff6d"); + sb.append("\005"); + sb.append("\uff6d"); + sb.append("\006"); + sb.append("\uff6d"); + sb.append("\007"); + sb.append("\uff6d"); + sb.append("\010"); + sb.append("\uff6d"); + sb.append("\011"); + sb.append("\uff6d"); + sb.append("\012"); + sb.append("\uff6d"); + sb.append("\014"); + sb.append("\uff6d"); + sb.append("\015"); + sb.append("\uff6d"); + sb.append("\016"); + sb.append("\uff6d"); + sb.append("\017"); + sb.append("\uff6d"); + sb.append("\020"); + sb.append("\uff6d"); + sb.append("\021"); + sb.append("\uff6d"); + sb.append("\022"); + sb.append("\uff6d"); + sb.append("\023"); + sb.append("\uff6d"); + sb.append("\024"); + sb.append("\uff6d"); + sb.append("\025"); + sb.append("\uff6d"); + sb.append("\026"); + sb.append("\uff6d"); + sb.append("\027"); + sb.append("\uff6d"); + sb.append("\030"); + sb.append("\uff6d"); + sb.append("\032"); + sb.append("\uff6d"); + sb.append("\034"); + sb.append("\uff6d"); + sb.append("\035"); + sb.append("\uff6d"); + sb.append("\036"); + sb.append("\uff6d"); + sb.append("\037"); + sb.append("\uff6d"); + sb.append("\040"); + sb.append("\uff6d"); + sb.append("\041"); + sb.append("\uff6d"); + sb.append("\042"); + sb.append("\uff6d"); + sb.append("\043"); + sb.append("\uff6d"); + sb.append("\044"); + sb.append("\uff6d"); + sb.append("\045"); + sb.append("\uff6d"); + sb.append("\046"); + sb.append("\uff6d"); + sb.append("\047"); + sb.append("\uff6d"); + sb.append("\050"); + sb.append("\uff6d"); + sb.append("\051"); + sb.append("\uff6d"); + sb.append("\052"); + sb.append("\uff6d"); + sb.append("\054"); + sb.append("\uff6d"); + sb.append("\056"); + sb.append("\uff6d"); + sb.append("\057"); + sb.append("\uff6d"); + sb.append("\061"); + sb.append("\uff6d"); + sb.append("\062"); + sb.append("\uff6d"); + sb.append("\063"); + sb.append("\uff6d"); + sb.append("\064"); + sb.append("\uff6d"); + sb.append("\065"); + sb.append("\uff6d"); + sb.append("\066"); + sb.append("\uff6d"); + sb.append("\074"); + sb.append("\uff6d"); + sb.append("\075"); + sb.append("\uff6d"); + sb.append("\077"); + sb.append("\uff6d"); + sb.append("\100"); + sb.append("\uff6d"); + sb.append("\101"); + sb.append("\uff6d"); + sb.append("\102"); + sb.append("\uff6d"); + sb.append("\103"); + sb.append("\uff6d"); + sb.append("\104"); + sb.append("\uff6d"); + sb.append("\105"); + sb.append("\uff6d"); + sb.append("\111"); + sb.append("\uff6d"); + sb.append("\112"); + sb.append("\uff6d"); + sb.append("\114"); + sb.append("\uff6d"); + sb.append("\115"); + sb.append("\uff6d"); + sb.append("\116"); + sb.append("\uff6d"); + sb.append("\120"); + sb.append("\uff6d"); + sb.append("\121"); + sb.append("\uff6d"); + sb.append("\122"); + sb.append("\uff6d"); + sb.append("\123"); + sb.append("\uff6d"); + sb.append("\124"); + sb.append("\uff6d"); + sb.append("\125"); + sb.append("\uff6d"); + sb.append("\126"); + sb.append("\uff6d"); + sb.append("\133"); + sb.append("\uff6d"); + sb.append("\151"); + sb.append("\uff6d"); + sb.append("\173"); + sb.append("\uff6d"); + sb.append("\174"); + sb.append("\uff6d"); + sb.append("\200"); + sb.append("\uff6d"); + sb.append("\201"); + sb.append("\uff6d"); + sb.append("\203"); + sb.append("\uff6d"); + sb.append("\204"); + sb.append("\uff6d"); + sb.append("\205"); + sb.append("\uff6d"); + sb.append("\206"); + sb.append("\uff6d"); + sb.append("\207"); + sb.append("\uff6d"); + sb.append("\210"); + sb.append("\uff6d"); + sb.append("\211"); + sb.append("\uff6d"); + sb.append("\212"); + sb.append("\uff6d"); + sb.append("\213"); + sb.append("\uff6d"); + sb.append("\214"); + sb.append("\uff6d"); + sb.append("\215"); + sb.append("\uff6d"); + sb.append("\217"); + sb.append("\uff6d"); + sb.append("\220"); + sb.append("\uff6d"); + sb.append("\221"); + sb.append("\uff6d"); + sb.append("\222"); + sb.append("\uff6d"); + sb.append("\223"); + sb.append("\uff6d"); + sb.append("\224"); + sb.append("\uff6d"); + sb.append("\225"); + sb.append("\uff6d"); + sb.append("\231"); + sb.append("\uff6d"); + sb.append("\234"); + sb.append("\uff6d"); + sb.append("\235"); + sb.append("\uff6d"); + sb.append("\236"); + sb.append("\uff6d"); + sb.append("\237"); + sb.append("\uff6d"); + sb.append("\241"); + sb.append("\uff6d"); + sb.append("\250"); + sb.append("\uff6d"); + sb.append("\251"); + sb.append("\uff6d"); + sb.append("\253"); + sb.append("\uff6d"); + sb.append("\254"); + sb.append("\uff6d"); + sb.append("\255"); + sb.append("\uff6d"); + sb.append("\256"); + sb.append("\uff6d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\u0615"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff6c"); + sb.append("\003"); + sb.append("\uff6c"); + sb.append("\004"); + sb.append("\uff6c"); + sb.append("\005"); + sb.append("\uff6c"); + sb.append("\006"); + sb.append("\uff6c"); + sb.append("\007"); + sb.append("\uff6c"); + sb.append("\010"); + sb.append("\uff6c"); + sb.append("\011"); + sb.append("\uff6c"); + sb.append("\012"); + sb.append("\uff6c"); + sb.append("\014"); + sb.append("\uff6c"); + sb.append("\015"); + sb.append("\uff6c"); + sb.append("\016"); + sb.append("\uff6c"); + sb.append("\017"); + sb.append("\uff6c"); + sb.append("\020"); + sb.append("\uff6c"); + sb.append("\021"); + sb.append("\uff6c"); + sb.append("\022"); + sb.append("\uff6c"); + sb.append("\023"); + sb.append("\uff6c"); + sb.append("\024"); + sb.append("\uff6c"); + sb.append("\025"); + sb.append("\uff6c"); + sb.append("\026"); + sb.append("\uff6c"); + sb.append("\027"); + sb.append("\uff6c"); + sb.append("\030"); + sb.append("\uff6c"); + sb.append("\032"); + sb.append("\uff6c"); + sb.append("\034"); + sb.append("\uff6c"); + sb.append("\035"); + sb.append("\uff6c"); + sb.append("\036"); + sb.append("\uff6c"); + sb.append("\037"); + sb.append("\uff6c"); + sb.append("\040"); + sb.append("\uff6c"); + sb.append("\041"); + sb.append("\uff6c"); + sb.append("\042"); + sb.append("\uff6c"); + sb.append("\043"); + sb.append("\uff6c"); + sb.append("\044"); + sb.append("\uff6c"); + sb.append("\045"); + sb.append("\uff6c"); + sb.append("\046"); + sb.append("\uff6c"); + sb.append("\047"); + sb.append("\uff6c"); + sb.append("\050"); + sb.append("\uff6c"); + sb.append("\051"); + sb.append("\uff6c"); + sb.append("\052"); + sb.append("\uff6c"); + sb.append("\054"); + sb.append("\uff6c"); + sb.append("\056"); + sb.append("\uff6c"); + sb.append("\057"); + sb.append("\uff6c"); + sb.append("\061"); + sb.append("\uff6c"); + sb.append("\062"); + sb.append("\uff6c"); + sb.append("\063"); + sb.append("\uff6c"); + sb.append("\064"); + sb.append("\uff6c"); + sb.append("\065"); + sb.append("\uff6c"); + sb.append("\066"); + sb.append("\uff6c"); + sb.append("\074"); + sb.append("\uff6c"); + sb.append("\075"); + sb.append("\uff6c"); + sb.append("\077"); + sb.append("\uff6c"); + sb.append("\100"); + sb.append("\uff6c"); + sb.append("\101"); + sb.append("\uff6c"); + sb.append("\102"); + sb.append("\uff6c"); + sb.append("\103"); + sb.append("\uff6c"); + sb.append("\104"); + sb.append("\uff6c"); + sb.append("\105"); + sb.append("\uff6c"); + sb.append("\111"); + sb.append("\uff6c"); + sb.append("\112"); + sb.append("\uff6c"); + sb.append("\114"); + sb.append("\uff6c"); + sb.append("\115"); + sb.append("\uff6c"); + sb.append("\116"); + sb.append("\uff6c"); + sb.append("\120"); + sb.append("\uff6c"); + sb.append("\121"); + sb.append("\uff6c"); + sb.append("\122"); + sb.append("\uff6c"); + sb.append("\123"); + sb.append("\uff6c"); + sb.append("\124"); + sb.append("\uff6c"); + sb.append("\125"); + sb.append("\uff6c"); + sb.append("\126"); + sb.append("\uff6c"); + sb.append("\133"); + sb.append("\uff6c"); + sb.append("\151"); + sb.append("\uff6c"); + sb.append("\173"); + sb.append("\uff6c"); + sb.append("\174"); + sb.append("\uff6c"); + sb.append("\200"); + sb.append("\uff6c"); + sb.append("\201"); + sb.append("\uff6c"); + sb.append("\203"); + sb.append("\uff6c"); + sb.append("\204"); + sb.append("\uff6c"); + sb.append("\205"); + sb.append("\uff6c"); + sb.append("\206"); + sb.append("\uff6c"); + sb.append("\207"); + sb.append("\uff6c"); + sb.append("\210"); + sb.append("\uff6c"); + sb.append("\211"); + sb.append("\uff6c"); + sb.append("\212"); + sb.append("\uff6c"); + sb.append("\213"); + sb.append("\uff6c"); + sb.append("\214"); + sb.append("\uff6c"); + sb.append("\215"); + sb.append("\uff6c"); + sb.append("\217"); + sb.append("\uff6c"); + sb.append("\220"); + sb.append("\uff6c"); + sb.append("\221"); + sb.append("\uff6c"); + sb.append("\222"); + sb.append("\uff6c"); + sb.append("\223"); + sb.append("\uff6c"); + sb.append("\224"); + sb.append("\uff6c"); + sb.append("\225"); + sb.append("\uff6c"); + sb.append("\231"); + sb.append("\uff6c"); + sb.append("\234"); + sb.append("\uff6c"); + sb.append("\235"); + sb.append("\uff6c"); + sb.append("\236"); + sb.append("\uff6c"); + sb.append("\237"); + sb.append("\uff6c"); + sb.append("\241"); + sb.append("\uff6c"); + sb.append("\250"); + sb.append("\uff6c"); + sb.append("\251"); + sb.append("\uff6c"); + sb.append("\253"); + sb.append("\uff6c"); + sb.append("\254"); + sb.append("\uff6c"); + sb.append("\255"); + sb.append("\uff6c"); + sb.append("\256"); + sb.append("\uff6c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\031"); + sb.append("\ufd3d"); + sb.append("\033"); + sb.append("\ufd3d"); + sb.append("\073"); + sb.append("\ufd3d"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\112"); + sb.append("\ufd3d"); + sb.append("\121"); + sb.append("\u0291"); sb.append("\127"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\130"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\131"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\132"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\134"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\135"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\136"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\137"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\140"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\141"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\142"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\143"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\144"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\145"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\146"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\147"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\151"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\152"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\153"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\154"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\155"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\156"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\157"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\160"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\161"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\162"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\163"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\164"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\165"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\166"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\167"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\170"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\171"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\172"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\173"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\174"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\175"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); + sb.append("\177"); + sb.append("\ufd3d"); sb.append("\202"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); + sb.append("\204"); + sb.append("\ufd3d"); + sb.append("\216"); + sb.append("\ufd3d"); sb.append("\231"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); + sb.append("\233"); + sb.append("\ufd3d"); + sb.append("\234"); + sb.append("\152"); sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); + sb.append("\244"); + sb.append("\ufd3d"); sb.append("\246"); - sb.append("\ufd3b"); - sb.append("\251"); - sb.append("\ufd3b"); + sb.append("\ufd3d"); + sb.append("\247"); + sb.append("\ufd3d"); + sb.append("\252"); + sb.append("\ufd3d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\174"); + sb.append("\010"); + sb.append("\ufcc3"); + sb.append("\012"); + sb.append("\ufcc3"); sb.append("\031"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\033"); - sb.append("\ufd40"); - sb.append("\071"); - sb.append("\u02a5"); - sb.append("\072"); - sb.append("\u02a2"); + sb.append("\ufcc3"); sb.append("\073"); - sb.append("\ufd40"); + sb.append("\ufcc3"); + sb.append("\111"); + sb.append("\ufcc3"); sb.append("\112"); - sb.append("\ufd40"); - sb.append("\113"); - sb.append("\u02a3"); + sb.append("\ufcc3"); + sb.append("\121"); + sb.append("\ufcc3"); sb.append("\127"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\130"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\131"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\132"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\134"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\135"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\136"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\137"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\140"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\141"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\142"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\143"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\144"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\145"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\146"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\147"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\150"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\151"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\152"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\153"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\154"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\155"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\156"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\157"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\160"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\161"); - sb.append("\ufd40"); + sb.append("\ufcc3"); sb.append("\162"); - sb.append("\ufd40"); - sb.append("\163"); - sb.append("\ufd40"); - sb.append("\164"); - sb.append("\ufd40"); - sb.append("\165"); - sb.append("\ufd40"); - sb.append("\166"); - sb.append("\ufd40"); - sb.append("\167"); - sb.append("\ufd40"); - sb.append("\170"); - sb.append("\ufd40"); - sb.append("\171"); - sb.append("\ufd40"); - sb.append("\172"); - sb.append("\ufd40"); - sb.append("\173"); - sb.append("\ufd40"); - sb.append("\174"); - sb.append("\ufd40"); - sb.append("\175"); - sb.append("\ufd40"); - sb.append("\176"); - sb.append("\ufd40"); - sb.append("\201"); - sb.append("\ufd40"); - sb.append("\202"); - sb.append("\ufd40"); - sb.append("\203"); - sb.append("\ufd40"); - sb.append("\215"); - sb.append("\ufd40"); - sb.append("\230"); - sb.append("\ufd40"); - sb.append("\231"); - sb.append("\ufd40"); - sb.append("\232"); - sb.append("\ufd40"); - sb.append("\242"); - sb.append("\ufd40"); - sb.append("\243"); - sb.append("\ufd40"); - sb.append("\245"); - sb.append("\ufd40"); - sb.append("\246"); - sb.append("\ufd40"); - sb.append("\251"); - sb.append("\ufd40"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\134"); - sb.append("\u061b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\072"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\357"); - sb.append("\015"); - sb.append("\364"); - sb.append("\016"); - sb.append("\356"); - sb.append("\075"); - sb.append("\351"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\172"); - sb.append("\362"); - sb.append("\173"); - sb.append("\352"); - sb.append("\177"); - sb.append("\347"); - sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); - sb.append("\216"); - sb.append("\u023a"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); - sb.append("\236"); - sb.append("\060"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufe6a"); - sb.append("\151"); - sb.append("\ufe6a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\021"); - sb.append("\u061e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u061f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufcc3"); + sb.append("\163"); + sb.append("\ufcc3"); + sb.append("\164"); + sb.append("\ufcc3"); + sb.append("\165"); + sb.append("\ufcc3"); + sb.append("\166"); + sb.append("\ufcc3"); + sb.append("\167"); + sb.append("\ufcc3"); + sb.append("\170"); + sb.append("\ufcc3"); + sb.append("\171"); + sb.append("\ufcc3"); + sb.append("\172"); + sb.append("\ufcc3"); + sb.append("\173"); + sb.append("\ufcc3"); + sb.append("\174"); + sb.append("\ufcc3"); + sb.append("\175"); + sb.append("\ufcc3"); + sb.append("\176"); + sb.append("\ufcc3"); + sb.append("\177"); + sb.append("\ufcc3"); + sb.append("\202"); + sb.append("\ufcc3"); + sb.append("\203"); + sb.append("\ufcc3"); + sb.append("\204"); + sb.append("\ufcc3"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufcc3"); + sb.append("\231"); + sb.append("\ufcc3"); + sb.append("\232"); + sb.append("\ufcc3"); sb.append("\233"); - sb.append("\152"); + sb.append("\ufcc3"); sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufcc3"); + sb.append("\243"); + sb.append("\ufcc3"); + sb.append("\244"); + sb.append("\ufcc3"); + sb.append("\246"); + sb.append("\ufcc3"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufcc3"); + sb.append("\252"); + sb.append("\ufcc3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\174"); + sb.append("\010"); + sb.append("\ufcc2"); + sb.append("\012"); + sb.append("\ufcc2"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufcc2"); + sb.append("\033"); + sb.append("\ufcc2"); + sb.append("\073"); + sb.append("\ufcc2"); + sb.append("\111"); + sb.append("\ufcc2"); + sb.append("\112"); + sb.append("\ufcc2"); + sb.append("\121"); + sb.append("\ufcc2"); + sb.append("\127"); + sb.append("\ufcc2"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufcc2"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufcc2"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufcc2"); + sb.append("\134"); + sb.append("\ufcc2"); + sb.append("\135"); + sb.append("\ufcc2"); + sb.append("\136"); + sb.append("\ufcc2"); + sb.append("\137"); + sb.append("\ufcc2"); + sb.append("\140"); + sb.append("\ufcc2"); + sb.append("\141"); + sb.append("\ufcc2"); + sb.append("\142"); + sb.append("\ufcc2"); + sb.append("\143"); + sb.append("\ufcc2"); + sb.append("\144"); + sb.append("\ufcc2"); + sb.append("\145"); + sb.append("\ufcc2"); + sb.append("\146"); + sb.append("\ufcc2"); + sb.append("\147"); + sb.append("\ufcc2"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufcc2"); + sb.append("\151"); + sb.append("\ufcc2"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufcc2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufcc2"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufcc2"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufcc2"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufcc2"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufcc2"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufcc2"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufcc2"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufcc2"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufcc2"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufcc2"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufcc2"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufcc2"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufcc2"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufcc2"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufcc2"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufcc2"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufcc2"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufcc2"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufcc2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufcc2"); + sb.append("\177"); + sb.append("\ufcc2"); + sb.append("\202"); + sb.append("\ufcc2"); + sb.append("\203"); + sb.append("\ufcc2"); + sb.append("\204"); + sb.append("\ufcc2"); + sb.append("\216"); + sb.append("\ufcc2"); sb.append("\231"); - sb.append("\u0621"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u0622"); + sb.append("\ufcc2"); + sb.append("\232"); + sb.append("\ufcc2"); + sb.append("\233"); + sb.append("\ufcc2"); + sb.append("\234"); + sb.append("\ufcc2"); + sb.append("\243"); + sb.append("\ufcc2"); + sb.append("\244"); + sb.append("\ufcc2"); + sb.append("\246"); + sb.append("\ufcc2"); + sb.append("\247"); + sb.append("\ufcc2"); + sb.append("\252"); + sb.append("\ufcc2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff72"); - sb.append("\003"); - sb.append("\uff72"); - sb.append("\004"); - sb.append("\uff72"); - sb.append("\005"); - sb.append("\uff72"); - sb.append("\006"); - sb.append("\uff72"); - sb.append("\007"); - sb.append("\uff72"); + sb.append("\174"); sb.append("\010"); - sb.append("\uff72"); - sb.append("\011"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\012"); - sb.append("\uff72"); - sb.append("\014"); - sb.append("\uff72"); - sb.append("\015"); - sb.append("\uff72"); - sb.append("\016"); - sb.append("\uff72"); - sb.append("\017"); - sb.append("\uff72"); - sb.append("\020"); - sb.append("\uff72"); - sb.append("\021"); - sb.append("\uff72"); - sb.append("\022"); - sb.append("\uff72"); - sb.append("\023"); - sb.append("\uff72"); - sb.append("\024"); - sb.append("\uff72"); - sb.append("\025"); - sb.append("\uff72"); - sb.append("\026"); - sb.append("\uff72"); - sb.append("\027"); - sb.append("\uff72"); - sb.append("\030"); - sb.append("\uff72"); - sb.append("\032"); - sb.append("\uff72"); - sb.append("\034"); - sb.append("\uff72"); - sb.append("\035"); - sb.append("\uff72"); - sb.append("\036"); - sb.append("\uff72"); - sb.append("\037"); - sb.append("\uff72"); - sb.append("\040"); - sb.append("\uff72"); - sb.append("\041"); - sb.append("\uff72"); - sb.append("\042"); - sb.append("\uff72"); - sb.append("\043"); - sb.append("\uff72"); - sb.append("\044"); - sb.append("\uff72"); - sb.append("\045"); - sb.append("\uff72"); - sb.append("\046"); - sb.append("\uff72"); - sb.append("\047"); - sb.append("\uff72"); - sb.append("\050"); - sb.append("\uff72"); - sb.append("\051"); - sb.append("\uff72"); - sb.append("\052"); - sb.append("\uff72"); - sb.append("\054"); - sb.append("\uff72"); - sb.append("\056"); - sb.append("\uff72"); - sb.append("\057"); - sb.append("\uff72"); - sb.append("\061"); - sb.append("\uff72"); - sb.append("\062"); - sb.append("\uff72"); - sb.append("\063"); - sb.append("\uff72"); - sb.append("\064"); - sb.append("\uff72"); - sb.append("\065"); - sb.append("\uff72"); - sb.append("\066"); - sb.append("\uff72"); - sb.append("\074"); - sb.append("\uff72"); - sb.append("\075"); - sb.append("\uff72"); - sb.append("\077"); - sb.append("\uff72"); - sb.append("\100"); - sb.append("\uff72"); - sb.append("\101"); - sb.append("\uff72"); - sb.append("\102"); - sb.append("\uff72"); - sb.append("\103"); - sb.append("\uff72"); - sb.append("\104"); - sb.append("\uff72"); - sb.append("\105"); - sb.append("\uff72"); + sb.append("\ufcc4"); + sb.append("\031"); + sb.append("\ufcc4"); + sb.append("\033"); + sb.append("\ufcc4"); + sb.append("\073"); + sb.append("\ufcc4"); sb.append("\111"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\112"); - sb.append("\uff72"); - sb.append("\114"); - sb.append("\uff72"); - sb.append("\115"); - sb.append("\uff72"); - sb.append("\116"); - sb.append("\uff72"); - sb.append("\120"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\121"); - sb.append("\uff72"); - sb.append("\122"); - sb.append("\uff72"); - sb.append("\123"); - sb.append("\uff72"); - sb.append("\124"); - sb.append("\uff72"); - sb.append("\125"); - sb.append("\uff72"); - sb.append("\126"); - sb.append("\uff72"); - sb.append("\133"); - sb.append("\uff72"); + sb.append("\ufcc4"); + sb.append("\127"); + sb.append("\ufcc4"); + sb.append("\130"); + sb.append("\ufcc4"); + sb.append("\131"); + sb.append("\ufcc4"); + sb.append("\132"); + sb.append("\ufcc4"); + sb.append("\134"); + sb.append("\ufcc4"); + sb.append("\135"); + sb.append("\ufcc4"); + sb.append("\136"); + sb.append("\ufcc4"); + sb.append("\137"); + sb.append("\ufcc4"); + sb.append("\140"); + sb.append("\ufcc4"); + sb.append("\141"); + sb.append("\ufcc4"); + sb.append("\142"); + sb.append("\ufcc4"); + sb.append("\143"); + sb.append("\ufcc4"); + sb.append("\144"); + sb.append("\ufcc4"); + sb.append("\145"); + sb.append("\ufcc4"); + sb.append("\146"); + sb.append("\ufcc4"); + sb.append("\147"); + sb.append("\ufcc4"); + sb.append("\150"); + sb.append("\ufcc4"); sb.append("\151"); - sb.append("\uff72"); + sb.append("\ufcc4"); + sb.append("\152"); + sb.append("\ufcc4"); + sb.append("\153"); + sb.append("\ufcc4"); + sb.append("\154"); + sb.append("\ufcc4"); + sb.append("\155"); + sb.append("\ufcc4"); + sb.append("\156"); + sb.append("\ufcc4"); + sb.append("\157"); + sb.append("\ufcc4"); + sb.append("\160"); + sb.append("\ufcc4"); + sb.append("\161"); + sb.append("\ufcc4"); + sb.append("\162"); + sb.append("\ufcc4"); + sb.append("\163"); + sb.append("\ufcc4"); + sb.append("\164"); + sb.append("\ufcc4"); + sb.append("\165"); + sb.append("\ufcc4"); + sb.append("\166"); + sb.append("\ufcc4"); + sb.append("\167"); + sb.append("\ufcc4"); + sb.append("\170"); + sb.append("\ufcc4"); + sb.append("\171"); + sb.append("\ufcc4"); sb.append("\172"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\173"); - sb.append("\uff72"); + sb.append("\ufcc4"); + sb.append("\174"); + sb.append("\ufcc4"); + sb.append("\175"); + sb.append("\ufcc4"); + sb.append("\176"); + sb.append("\ufcc4"); sb.append("\177"); - sb.append("\uff72"); - sb.append("\200"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\202"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\203"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\204"); - sb.append("\uff72"); - sb.append("\205"); - sb.append("\uff72"); - sb.append("\206"); - sb.append("\uff72"); - sb.append("\207"); - sb.append("\uff72"); - sb.append("\210"); - sb.append("\uff72"); - sb.append("\211"); - sb.append("\uff72"); - sb.append("\212"); - sb.append("\uff72"); - sb.append("\213"); - sb.append("\uff72"); - sb.append("\214"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\216"); - sb.append("\uff72"); - sb.append("\217"); - sb.append("\uff72"); - sb.append("\220"); - sb.append("\uff72"); - sb.append("\221"); - sb.append("\uff72"); - sb.append("\222"); - sb.append("\uff72"); - sb.append("\223"); - sb.append("\uff72"); - sb.append("\224"); - sb.append("\uff72"); - sb.append("\230"); - sb.append("\uff72"); + sb.append("\ufcc4"); + sb.append("\231"); + sb.append("\ufcc4"); + sb.append("\232"); + sb.append("\ufcc4"); sb.append("\233"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\234"); - sb.append("\uff72"); - sb.append("\235"); - sb.append("\uff72"); - sb.append("\236"); - sb.append("\uff72"); - sb.append("\240"); - sb.append("\uff72"); + sb.append("\ufcc4"); + sb.append("\243"); + sb.append("\ufcc4"); + sb.append("\244"); + sb.append("\ufcc4"); + sb.append("\246"); + sb.append("\ufcc4"); sb.append("\247"); - sb.append("\uff72"); - sb.append("\250"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\252"); - sb.append("\uff72"); - sb.append("\253"); - sb.append("\uff72"); - sb.append("\254"); - sb.append("\uff72"); - sb.append("\255"); - sb.append("\uff72"); + sb.append("\ufcc4"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd34"); + sb.append("\033"); + sb.append("\ufd34"); + sb.append("\071"); + sb.append("\ufd34"); + sb.append("\072"); + sb.append("\ufd34"); + sb.append("\073"); + sb.append("\ufd34"); + sb.append("\111"); + sb.append("\ufd34"); + sb.append("\112"); + sb.append("\ufd34"); + sb.append("\113"); + sb.append("\ufd34"); + sb.append("\127"); + sb.append("\ufd34"); + sb.append("\130"); + sb.append("\ufd34"); + sb.append("\131"); + sb.append("\ufd34"); + sb.append("\132"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); + sb.append("\150"); + sb.append("\ufd34"); + sb.append("\151"); + sb.append("\ufd34"); + sb.append("\152"); + sb.append("\ufd34"); + sb.append("\153"); + sb.append("\ufd34"); + sb.append("\154"); + sb.append("\ufd34"); + sb.append("\155"); + sb.append("\ufd34"); sb.append("\156"); - sb.append("\007"); + sb.append("\ufd34"); + sb.append("\157"); + sb.append("\ufd34"); + sb.append("\160"); + sb.append("\ufd34"); + sb.append("\161"); + sb.append("\ufd34"); + sb.append("\162"); + sb.append("\ufd34"); + sb.append("\163"); + sb.append("\ufd34"); + sb.append("\164"); + sb.append("\ufd34"); + sb.append("\165"); + sb.append("\ufd34"); + sb.append("\166"); + sb.append("\ufd34"); + sb.append("\167"); + sb.append("\ufd34"); + sb.append("\170"); + sb.append("\ufd34"); + sb.append("\171"); + sb.append("\ufd34"); + sb.append("\172"); + sb.append("\ufd34"); + sb.append("\173"); + sb.append("\ufd34"); + sb.append("\174"); + sb.append("\ufd34"); sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); + sb.append("\ufd34"); + sb.append("\176"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\ufd34"); + sb.append("\215"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); + sb.append("\231"); + sb.append("\u029f"); + sb.append("\232"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); + sb.append("\ufd2d"); + sb.append("\033"); + sb.append("\ufd2d"); + sb.append("\071"); + sb.append("\ufd2d"); + sb.append("\072"); + sb.append("\ufd2d"); + sb.append("\073"); + sb.append("\ufd2d"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd2d"); + sb.append("\113"); + sb.append("\ufd2d"); + sb.append("\127"); + sb.append("\ufd2d"); + sb.append("\130"); + sb.append("\ufd2d"); + sb.append("\131"); + sb.append("\ufd2d"); + sb.append("\132"); + sb.append("\ufd2d"); + sb.append("\134"); + sb.append("\ufd2d"); + sb.append("\135"); + sb.append("\ufd2d"); sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); + sb.append("\ufd2d"); + sb.append("\137"); + sb.append("\ufd2d"); + sb.append("\140"); + sb.append("\ufd2d"); + sb.append("\141"); + sb.append("\ufd2d"); + sb.append("\142"); + sb.append("\ufd2d"); + sb.append("\143"); + sb.append("\ufd2d"); + sb.append("\144"); + sb.append("\ufd2d"); + sb.append("\145"); + sb.append("\ufd2d"); + sb.append("\146"); + sb.append("\ufd2d"); + sb.append("\147"); + sb.append("\ufd2d"); + sb.append("\150"); + sb.append("\ufd2d"); + sb.append("\151"); + sb.append("\ufd2d"); + sb.append("\152"); + sb.append("\ufd2d"); + sb.append("\153"); + sb.append("\ufd2d"); + sb.append("\154"); + sb.append("\ufd2d"); + sb.append("\155"); + sb.append("\ufd2d"); + sb.append("\156"); + sb.append("\ufd2d"); + sb.append("\157"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufd2d"); + sb.append("\161"); + sb.append("\ufd2d"); + sb.append("\162"); + sb.append("\ufd2d"); + sb.append("\163"); + sb.append("\ufd2d"); + sb.append("\164"); + sb.append("\ufd2d"); + sb.append("\165"); + sb.append("\ufd2d"); + sb.append("\166"); + sb.append("\ufd2d"); + sb.append("\167"); + sb.append("\ufd2d"); + sb.append("\170"); + sb.append("\ufd2d"); + sb.append("\171"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufd2d"); sb.append("\173"); + sb.append("\ufd2d"); + sb.append("\174"); + sb.append("\ufd2d"); + sb.append("\175"); + sb.append("\ufd2d"); sb.append("\176"); + sb.append("\ufd2d"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufd2d"); sb.append("\202"); - sb.append("\054"); + sb.append("\ufd2d"); sb.append("\203"); - sb.append("\120"); + sb.append("\ufd2d"); sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufd2d"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufd2d"); + sb.append("\231"); + sb.append("\ufd2d"); + sb.append("\232"); + sb.append("\ufd2d"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufd2d"); + sb.append("\243"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); + sb.append("\246"); + sb.append("\ufd2d"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\174"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd39"); + sb.append("\033"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); + sb.append("\073"); + sb.append("\ufd39"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); + sb.append("\127"); + sb.append("\ufd39"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd39"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd39"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd39"); + sb.append("\151"); + sb.append("\ufd39"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd39"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd39"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd39"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd39"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd39"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd39"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd39"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd39"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd39"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd39"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd39"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd39"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd39"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd39"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd39"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd39"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd39"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd39"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd39"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd39"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd39"); + sb.append("\177"); + sb.append("\ufd39"); + sb.append("\202"); + sb.append("\ufd39"); + sb.append("\203"); + sb.append("\ufd39"); + sb.append("\204"); + sb.append("\ufd39"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd39"); sb.append("\231"); - sb.append("\u0625"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd39"); + sb.append("\232"); + sb.append("\ufd39"); + sb.append("\233"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); + sb.append("\247"); + sb.append("\ufd39"); + sb.append("\252"); + sb.append("\ufd39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\250"); - sb.append("\003"); - sb.append("\211"); - sb.append("\004"); - sb.append("\201"); - sb.append("\005"); - sb.append("\164"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\217"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\014"); - sb.append("\007"); - sb.append("\015"); + sb.append("\170"); sb.append("\031"); - sb.append("\016"); + sb.append("\ufd3e"); + sb.append("\033"); + sb.append("\ufd3e"); sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\023"); - sb.append("\145"); - sb.append("\025"); - sb.append("\200"); - sb.append("\027"); - sb.append("\203"); - sb.append("\032"); - sb.append("\106"); - sb.append("\034"); + sb.append("\u02a9"); + sb.append("\072"); + sb.append("\u02a6"); + sb.append("\073"); + sb.append("\ufd3e"); + sb.append("\112"); + sb.append("\ufd3e"); sb.append("\113"); - sb.append("\036"); - sb.append("\125"); - sb.append("\041"); - sb.append("\033"); - sb.append("\042"); - sb.append("\040"); - sb.append("\043"); - sb.append("\226"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\047"); - sb.append("\212"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\052"); - sb.append("\057"); - sb.append("\054"); - sb.append("\026"); - sb.append("\056"); - sb.append("\u03a5"); - sb.append("\057"); - sb.append("\016"); - sb.append("\061"); - sb.append("\110"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); + sb.append("\u02a7"); + sb.append("\127"); + sb.append("\ufd3e"); + sb.append("\130"); + sb.append("\ufd3e"); + sb.append("\131"); + sb.append("\ufd3e"); + sb.append("\132"); + sb.append("\ufd3e"); + sb.append("\134"); + sb.append("\ufd3e"); + sb.append("\135"); + sb.append("\ufd3e"); + sb.append("\136"); + sb.append("\ufd3e"); + sb.append("\137"); + sb.append("\ufd3e"); + sb.append("\140"); + sb.append("\ufd3e"); sb.append("\141"); - sb.append("\111"); + sb.append("\ufd3e"); + sb.append("\142"); + sb.append("\ufd3e"); + sb.append("\143"); + sb.append("\ufd3e"); + sb.append("\144"); + sb.append("\ufd3e"); + sb.append("\145"); + sb.append("\ufd3e"); + sb.append("\146"); + sb.append("\ufd3e"); + sb.append("\147"); + sb.append("\ufd3e"); + sb.append("\150"); + sb.append("\ufd3e"); + sb.append("\151"); + sb.append("\ufd3e"); + sb.append("\152"); + sb.append("\ufd3e"); + sb.append("\153"); + sb.append("\ufd3e"); + sb.append("\154"); + sb.append("\ufd3e"); + sb.append("\155"); + sb.append("\ufd3e"); + sb.append("\156"); + sb.append("\ufd3e"); sb.append("\157"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\120"); - sb.append("\172"); - sb.append("\121"); + sb.append("\ufd3e"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\151"); + sb.append("\ufd3e"); + sb.append("\161"); + sb.append("\ufd3e"); + sb.append("\162"); + sb.append("\ufd3e"); + sb.append("\163"); + sb.append("\ufd3e"); + sb.append("\164"); + sb.append("\ufd3e"); + sb.append("\165"); + sb.append("\ufd3e"); + sb.append("\166"); + sb.append("\ufd3e"); + sb.append("\167"); + sb.append("\ufd3e"); + sb.append("\170"); + sb.append("\ufd3e"); sb.append("\171"); + sb.append("\ufd3e"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufd3e"); sb.append("\173"); + sb.append("\ufd3e"); + sb.append("\174"); + sb.append("\ufd3e"); + sb.append("\175"); + sb.append("\ufd3e"); sb.append("\176"); + sb.append("\ufd3e"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufd3e"); sb.append("\202"); - sb.append("\054"); + sb.append("\ufd3e"); sb.append("\203"); - sb.append("\120"); + sb.append("\ufd3e"); sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufd3e"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\025"); - sb.append("\230"); - sb.append("\047"); + sb.append("\ufd3e"); + sb.append("\231"); + sb.append("\ufd3e"); sb.append("\232"); - sb.append("\u0626"); + sb.append("\ufd3e"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufd3e"); + sb.append("\243"); + sb.append("\ufd3e"); + sb.append("\244"); + sb.append("\ufd3e"); + sb.append("\246"); + sb.append("\ufd3e"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd3e"); + sb.append("\252"); + sb.append("\ufd3e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff7c"); - sb.append("\005"); - sb.append("\uff7c"); + sb.append("\134"); + sb.append("\u061f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\072"); sb.append("\006"); - sb.append("\uff7c"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff7c"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff7c"); - sb.append("\011"); - sb.append("\uff7c"); - sb.append("\012"); - sb.append("\uff7c"); - sb.append("\014"); - sb.append("\uff7c"); + sb.append("\356"); sb.append("\015"); - sb.append("\uff7c"); + sb.append("\364"); sb.append("\016"); - sb.append("\uff7c"); - sb.append("\017"); - sb.append("\uff7c"); - sb.append("\020"); - sb.append("\uff7c"); - sb.append("\021"); - sb.append("\uff7c"); - sb.append("\022"); - sb.append("\uff7c"); - sb.append("\023"); - sb.append("\uff7c"); - sb.append("\025"); - sb.append("\uff7c"); - sb.append("\027"); - sb.append("\uff7c"); - sb.append("\032"); - sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); - sb.append("\036"); - sb.append("\uff7c"); - sb.append("\041"); - sb.append("\uff7c"); - sb.append("\042"); - sb.append("\uff7c"); - sb.append("\043"); - sb.append("\uff7c"); - sb.append("\044"); - sb.append("\uff7c"); - sb.append("\045"); - sb.append("\uff7c"); - sb.append("\047"); - sb.append("\uff7c"); - sb.append("\050"); - sb.append("\uff7c"); - sb.append("\051"); - sb.append("\uff7c"); - sb.append("\052"); - sb.append("\uff7c"); - sb.append("\054"); - sb.append("\uff7c"); - sb.append("\056"); - sb.append("\uff7c"); - sb.append("\057"); - sb.append("\uff7c"); - sb.append("\061"); - sb.append("\uff7c"); - sb.append("\062"); - sb.append("\uff7c"); - sb.append("\063"); - sb.append("\uff7c"); - sb.append("\065"); - sb.append("\uff7c"); - sb.append("\066"); - sb.append("\uff7c"); - sb.append("\074"); - sb.append("\uff7c"); + sb.append("\357"); sb.append("\075"); - sb.append("\uff7c"); + sb.append("\351"); sb.append("\077"); - sb.append("\uff7c"); - sb.append("\100"); - sb.append("\uff7c"); - sb.append("\101"); - sb.append("\uff7c"); - sb.append("\102"); - sb.append("\uff7c"); - sb.append("\103"); - sb.append("\uff7c"); - sb.append("\104"); - sb.append("\uff7c"); - sb.append("\105"); - sb.append("\uff7c"); - sb.append("\111"); - sb.append("\uff7c"); - sb.append("\115"); - sb.append("\uff7c"); - sb.append("\116"); - sb.append("\uff7c"); - sb.append("\120"); - sb.append("\uff7c"); - sb.append("\121"); - sb.append("\uff7c"); - sb.append("\122"); - sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff7c"); - sb.append("\124"); - sb.append("\uff7c"); - sb.append("\125"); - sb.append("\uff7c"); - sb.append("\126"); - sb.append("\uff7c"); - sb.append("\133"); - sb.append("\uff7c"); - sb.append("\151"); - sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); - sb.append("\173"); - sb.append("\uff7c"); - sb.append("\177"); - sb.append("\uff7c"); - sb.append("\200"); - sb.append("\uff7c"); - sb.append("\202"); - sb.append("\uff7c"); - sb.append("\203"); - sb.append("\uff7c"); - sb.append("\204"); - sb.append("\uff7c"); - sb.append("\205"); - sb.append("\uff7c"); - sb.append("\206"); - sb.append("\uff7c"); - sb.append("\207"); - sb.append("\uff7c"); - sb.append("\210"); - sb.append("\uff7c"); - sb.append("\211"); - sb.append("\uff7c"); - sb.append("\212"); - sb.append("\uff7c"); - sb.append("\213"); - sb.append("\uff7c"); - sb.append("\214"); - sb.append("\uff7c"); - sb.append("\216"); - sb.append("\uff7c"); - sb.append("\222"); - sb.append("\uff7c"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\173"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); + sb.append("\200"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); + sb.append("\217"); + sb.append("\u023e"); sb.append("\223"); - sb.append("\uff7c"); - sb.append("\224"); - sb.append("\uff7c"); - sb.append("\230"); - sb.append("\uff7c"); - sb.append("\233"); - sb.append("\uff7c"); - sb.append("\234"); - sb.append("\uff7c"); - sb.append("\235"); - sb.append("\uff7c"); - sb.append("\236"); - sb.append("\uff7c"); - sb.append("\240"); - sb.append("\uff7c"); - sb.append("\247"); - sb.append("\uff7c"); - sb.append("\250"); - sb.append("\uff7c"); - sb.append("\252"); - sb.append("\uff7c"); - sb.append("\253"); - sb.append("\uff7c"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); sb.append("\254"); - sb.append("\uff7c"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff7c"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufe6a"); + sb.append("\151"); + sb.append("\ufe6a"); + sb.append("\001"); sb.append("\002"); - sb.append("\uff73"); - sb.append("\003"); - sb.append("\uff73"); + sb.append("\000"); sb.append("\004"); - sb.append("\uff73"); - sb.append("\005"); - sb.append("\uff73"); + sb.append("\021"); + sb.append("\u0622"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u0623"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); sb.append("\006"); - sb.append("\uff73"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff73"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff73"); + sb.append("\u01b1"); sb.append("\011"); - sb.append("\uff73"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff73"); - sb.append("\014"); - sb.append("\uff73"); + sb.append("\075"); sb.append("\015"); - sb.append("\uff73"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff73"); - sb.append("\017"); - sb.append("\uff73"); - sb.append("\020"); - sb.append("\uff73"); - sb.append("\021"); - sb.append("\uff73"); - sb.append("\022"); - sb.append("\uff73"); - sb.append("\023"); - sb.append("\uff73"); - sb.append("\024"); - sb.append("\uff73"); - sb.append("\025"); - sb.append("\uff73"); - sb.append("\026"); - sb.append("\uff73"); - sb.append("\027"); - sb.append("\uff73"); - sb.append("\030"); - sb.append("\uff73"); + sb.append("\071"); sb.append("\032"); - sb.append("\uff73"); - sb.append("\034"); - sb.append("\uff73"); - sb.append("\035"); - sb.append("\uff73"); + sb.append("\106"); sb.append("\036"); - sb.append("\uff73"); - sb.append("\037"); - sb.append("\uff73"); - sb.append("\040"); - sb.append("\uff73"); - sb.append("\041"); - sb.append("\uff73"); - sb.append("\042"); - sb.append("\uff73"); - sb.append("\043"); - sb.append("\uff73"); + sb.append("\125"); sb.append("\044"); - sb.append("\uff73"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff73"); - sb.append("\046"); - sb.append("\uff73"); - sb.append("\047"); - sb.append("\uff73"); - sb.append("\050"); - sb.append("\uff73"); - sb.append("\051"); - sb.append("\uff73"); - sb.append("\052"); - sb.append("\uff73"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\uff73"); - sb.append("\056"); - sb.append("\uff73"); - sb.append("\057"); - sb.append("\uff73"); - sb.append("\061"); - sb.append("\uff73"); + sb.append("\026"); sb.append("\062"); - sb.append("\uff73"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff73"); - sb.append("\064"); - sb.append("\uff73"); - sb.append("\065"); - sb.append("\uff73"); - sb.append("\066"); - sb.append("\uff73"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff73"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff73"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff73"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff73"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff73"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff73"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff73"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff73"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff73"); - sb.append("\111"); - sb.append("\uff73"); - sb.append("\112"); - sb.append("\uff73"); - sb.append("\114"); - sb.append("\uff73"); + sb.append("\141"); sb.append("\115"); - sb.append("\uff73"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff73"); - sb.append("\120"); - sb.append("\uff73"); + sb.append("\046"); sb.append("\121"); - sb.append("\uff73"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff73"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff73"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff73"); sb.append("\125"); - sb.append("\uff73"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff73"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff73"); - sb.append("\151"); - sb.append("\uff73"); - sb.append("\172"); - sb.append("\uff73"); + sb.append("\020"); sb.append("\173"); - sb.append("\uff73"); - sb.append("\177"); - sb.append("\uff73"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff73"); - sb.append("\202"); - sb.append("\uff73"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff73"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff73"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff73"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff73"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff73"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff73"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff73"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff73"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff73"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff73"); - sb.append("\216"); - sb.append("\uff73"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff73"); - sb.append("\220"); - sb.append("\uff73"); - sb.append("\221"); - sb.append("\uff73"); - sb.append("\222"); - sb.append("\uff73"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff73"); - sb.append("\224"); - sb.append("\uff73"); - sb.append("\230"); - sb.append("\uff73"); - sb.append("\233"); - sb.append("\uff73"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\uff73"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff73"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff73"); - sb.append("\240"); - sb.append("\uff73"); - sb.append("\247"); - sb.append("\uff73"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff73"); - sb.append("\252"); - sb.append("\uff73"); - sb.append("\253"); - sb.append("\uff73"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff73"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff73"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\u0625"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u0626"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\003"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\004"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\005"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\006"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\007"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\010"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\011"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\012"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\014"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\015"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\016"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\017"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\020"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\021"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\022"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\023"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\024"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\025"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\026"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\027"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\030"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\032"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\034"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\035"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\036"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\037"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\040"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\041"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\042"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\043"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\044"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\045"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\046"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\047"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\050"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\051"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\052"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\054"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\056"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\057"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\061"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\062"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\063"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\064"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\065"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\066"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\074"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\075"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\077"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\100"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\101"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\102"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\103"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\104"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\105"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\111"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\112"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\114"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\115"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\116"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\120"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\121"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\122"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\123"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\124"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\125"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\126"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\133"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\151"); - sb.append("\uff05"); - sb.append("\172"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\173"); - sb.append("\uff05"); - sb.append("\177"); - sb.append("\uff05"); + sb.append("\uff72"); + sb.append("\174"); + sb.append("\uff72"); sb.append("\200"); - sb.append("\uff05"); - sb.append("\202"); - sb.append("\uff05"); + sb.append("\uff72"); + sb.append("\201"); + sb.append("\uff72"); sb.append("\203"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\204"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\205"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\206"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\207"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\210"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\211"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\212"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\213"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\214"); - sb.append("\uff05"); - sb.append("\216"); - sb.append("\uff05"); + sb.append("\uff72"); + sb.append("\215"); + sb.append("\uff72"); sb.append("\217"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\220"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\221"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\222"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\223"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\224"); - sb.append("\uff05"); - sb.append("\230"); - sb.append("\uff05"); - sb.append("\233"); - sb.append("\uff05"); + sb.append("\uff72"); + sb.append("\225"); + sb.append("\uff72"); + sb.append("\231"); + sb.append("\uff72"); sb.append("\234"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\235"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\236"); - sb.append("\uff05"); - sb.append("\240"); - sb.append("\uff05"); - sb.append("\247"); - sb.append("\uff05"); + sb.append("\uff72"); + sb.append("\237"); + sb.append("\uff72"); + sb.append("\241"); + sb.append("\uff72"); sb.append("\250"); - sb.append("\uff05"); - sb.append("\252"); - sb.append("\uff05"); + sb.append("\uff72"); + sb.append("\251"); + sb.append("\uff72"); sb.append("\253"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\254"); - sb.append("\uff05"); + sb.append("\uff72"); sb.append("\255"); - sb.append("\uff05"); + sb.append("\uff72"); + sb.append("\256"); + sb.append("\uff72"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\266"); - sb.append("\003"); - sb.append("\211"); + sb.append("\170"); sb.append("\004"); - sb.append("\201"); - sb.append("\005"); - sb.append("\164"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\217"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); sb.append("\075"); - sb.append("\014"); - sb.append("\007"); sb.append("\015"); sb.append("\031"); sb.append("\016"); - sb.append("\071"); - sb.append("\017"); - sb.append("\143"); - sb.append("\020"); - sb.append("\035"); - sb.append("\021"); - sb.append("\034"); - sb.append("\022"); - sb.append("\u062a"); - sb.append("\023"); - sb.append("\145"); - sb.append("\025"); - sb.append("\200"); - sb.append("\027"); - sb.append("\203"); + sb.append("\071"); sb.append("\032"); sb.append("\106"); - sb.append("\034"); - sb.append("\113"); sb.append("\036"); sb.append("\125"); - sb.append("\041"); - sb.append("\033"); - sb.append("\042"); - sb.append("\040"); - sb.append("\043"); - sb.append("\226"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\023"); - sb.append("\047"); - sb.append("\212"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\052"); - sb.append("\057"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); - sb.append("\056"); - sb.append("\u03a5"); - sb.append("\057"); - sb.append("\016"); - sb.append("\061"); - sb.append("\110"); sb.append("\062"); sb.append("\210"); sb.append("\063"); sb.append("\010"); - sb.append("\065"); - sb.append("\027"); - sb.append("\066"); - sb.append("\111"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -3358,14 +3883,10 @@ protected EncodedActionTable20() { sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\111"); - sb.append("\157"); sb.append("\115"); sb.append("\136"); sb.append("\116"); sb.append("\046"); - sb.append("\120"); - sb.append("\172"); sb.append("\121"); sb.append("\160"); sb.append("\122"); @@ -3380,1153 +3901,633 @@ protected EncodedActionTable20() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\151"); - sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\025"); sb.append("\223"); - sb.append("\030"); - sb.append("\224"); - sb.append("\115"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\105"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\231"); - sb.append("\252"); - sb.append("\227"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\151"); - sb.append("\u062b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff04"); - sb.append("\003"); - sb.append("\uff04"); - sb.append("\004"); - sb.append("\uff04"); - sb.append("\005"); - sb.append("\uff04"); - sb.append("\006"); - sb.append("\uff04"); - sb.append("\007"); - sb.append("\uff04"); - sb.append("\010"); - sb.append("\uff04"); - sb.append("\011"); - sb.append("\uff04"); - sb.append("\012"); - sb.append("\uff04"); - sb.append("\014"); - sb.append("\uff04"); - sb.append("\015"); - sb.append("\uff04"); - sb.append("\016"); - sb.append("\uff04"); - sb.append("\017"); - sb.append("\uff04"); - sb.append("\020"); - sb.append("\uff04"); - sb.append("\021"); - sb.append("\uff04"); - sb.append("\022"); - sb.append("\uff04"); - sb.append("\023"); - sb.append("\uff04"); - sb.append("\024"); - sb.append("\uff04"); - sb.append("\025"); - sb.append("\uff04"); - sb.append("\026"); - sb.append("\uff04"); - sb.append("\027"); - sb.append("\uff04"); - sb.append("\030"); - sb.append("\uff04"); - sb.append("\032"); - sb.append("\uff04"); - sb.append("\034"); - sb.append("\uff04"); - sb.append("\035"); - sb.append("\uff04"); - sb.append("\036"); - sb.append("\uff04"); - sb.append("\037"); - sb.append("\uff04"); - sb.append("\040"); - sb.append("\uff04"); - sb.append("\041"); - sb.append("\uff04"); - sb.append("\042"); - sb.append("\uff04"); - sb.append("\043"); - sb.append("\uff04"); - sb.append("\044"); - sb.append("\uff04"); - sb.append("\045"); - sb.append("\uff04"); - sb.append("\046"); - sb.append("\uff04"); - sb.append("\047"); - sb.append("\uff04"); - sb.append("\050"); - sb.append("\uff04"); - sb.append("\051"); - sb.append("\uff04"); - sb.append("\052"); - sb.append("\uff04"); - sb.append("\054"); - sb.append("\uff04"); - sb.append("\056"); - sb.append("\uff04"); - sb.append("\057"); - sb.append("\uff04"); - sb.append("\061"); - sb.append("\uff04"); - sb.append("\062"); - sb.append("\uff04"); - sb.append("\063"); - sb.append("\uff04"); - sb.append("\064"); - sb.append("\uff04"); - sb.append("\065"); - sb.append("\uff04"); - sb.append("\066"); - sb.append("\uff04"); - sb.append("\074"); - sb.append("\uff04"); - sb.append("\075"); - sb.append("\uff04"); - sb.append("\077"); - sb.append("\uff04"); - sb.append("\100"); - sb.append("\uff04"); - sb.append("\101"); - sb.append("\uff04"); sb.append("\102"); - sb.append("\uff04"); - sb.append("\103"); - sb.append("\uff04"); - sb.append("\104"); - sb.append("\uff04"); - sb.append("\105"); - sb.append("\uff04"); - sb.append("\111"); - sb.append("\uff04"); - sb.append("\112"); - sb.append("\uff04"); - sb.append("\114"); - sb.append("\uff04"); - sb.append("\115"); - sb.append("\uff04"); - sb.append("\116"); - sb.append("\uff04"); - sb.append("\120"); - sb.append("\uff04"); - sb.append("\121"); - sb.append("\uff04"); - sb.append("\122"); - sb.append("\uff04"); - sb.append("\123"); - sb.append("\uff04"); - sb.append("\124"); - sb.append("\uff04"); - sb.append("\125"); - sb.append("\uff04"); - sb.append("\126"); - sb.append("\uff04"); - sb.append("\133"); - sb.append("\uff04"); - sb.append("\151"); - sb.append("\uff04"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\uff04"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\uff04"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\uff04"); - sb.append("\200"); - sb.append("\uff04"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\uff04"); - sb.append("\203"); - sb.append("\uff04"); - sb.append("\204"); - sb.append("\uff04"); - sb.append("\205"); - sb.append("\uff04"); - sb.append("\206"); - sb.append("\uff04"); - sb.append("\207"); - sb.append("\uff04"); - sb.append("\210"); - sb.append("\uff04"); - sb.append("\211"); - sb.append("\uff04"); - sb.append("\212"); - sb.append("\uff04"); - sb.append("\213"); - sb.append("\uff04"); - sb.append("\214"); - sb.append("\uff04"); - sb.append("\216"); - sb.append("\uff04"); - sb.append("\217"); - sb.append("\uff04"); - sb.append("\220"); - sb.append("\uff04"); - sb.append("\221"); - sb.append("\uff04"); - sb.append("\222"); - sb.append("\uff04"); - sb.append("\223"); - sb.append("\uff04"); - sb.append("\224"); - sb.append("\uff04"); - sb.append("\230"); - sb.append("\uff04"); - sb.append("\233"); - sb.append("\uff04"); - sb.append("\234"); - sb.append("\uff04"); - sb.append("\235"); - sb.append("\uff04"); - sb.append("\236"); - sb.append("\uff04"); - sb.append("\240"); - sb.append("\uff04"); - sb.append("\247"); - sb.append("\uff04"); - sb.append("\250"); - sb.append("\uff04"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\u0629"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); sb.append("\252"); - sb.append("\uff04"); - sb.append("\253"); - sb.append("\uff04"); - sb.append("\254"); - sb.append("\uff04"); - sb.append("\255"); - sb.append("\uff04"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff6f"); + sb.append("\250"); sb.append("\003"); - sb.append("\uff6f"); + sb.append("\211"); sb.append("\004"); - sb.append("\uff6f"); + sb.append("\202"); sb.append("\005"); - sb.append("\uff6f"); + sb.append("\164"); sb.append("\006"); - sb.append("\uff6f"); + sb.append("\156"); sb.append("\007"); - sb.append("\uff6f"); + sb.append("\175"); sb.append("\010"); - sb.append("\uff6f"); + sb.append("\217"); sb.append("\011"); - sb.append("\uff6f"); + sb.append("\204"); sb.append("\012"); - sb.append("\uff6f"); + sb.append("\075"); sb.append("\014"); - sb.append("\uff6f"); + sb.append("\007"); sb.append("\015"); - sb.append("\uff6f"); + sb.append("\031"); sb.append("\016"); - sb.append("\uff6f"); + sb.append("\071"); sb.append("\017"); - sb.append("\uff6f"); + sb.append("\143"); sb.append("\020"); - sb.append("\uff6f"); + sb.append("\035"); sb.append("\021"); - sb.append("\uff6f"); - sb.append("\022"); - sb.append("\uff6f"); + sb.append("\034"); sb.append("\023"); - sb.append("\uff6f"); - sb.append("\024"); - sb.append("\uff6f"); + sb.append("\145"); sb.append("\025"); - sb.append("\uff6f"); - sb.append("\026"); - sb.append("\uff6f"); + sb.append("\200"); sb.append("\027"); - sb.append("\uff6f"); - sb.append("\030"); - sb.append("\uff6f"); + sb.append("\203"); sb.append("\032"); - sb.append("\uff6f"); + sb.append("\106"); sb.append("\034"); - sb.append("\uff6f"); - sb.append("\035"); - sb.append("\uff6f"); + sb.append("\113"); sb.append("\036"); - sb.append("\uff6f"); - sb.append("\037"); - sb.append("\uff6f"); - sb.append("\040"); - sb.append("\uff6f"); + sb.append("\125"); sb.append("\041"); - sb.append("\uff6f"); + sb.append("\033"); sb.append("\042"); - sb.append("\uff6f"); + sb.append("\040"); sb.append("\043"); - sb.append("\uff6f"); + sb.append("\226"); sb.append("\044"); - sb.append("\uff6f"); + sb.append("\222"); sb.append("\045"); - sb.append("\uff6f"); - sb.append("\046"); - sb.append("\uff6f"); + sb.append("\u01b3"); sb.append("\047"); - sb.append("\uff6f"); + sb.append("\212"); sb.append("\050"); - sb.append("\uff6f"); + sb.append("\173"); sb.append("\051"); - sb.append("\uff6f"); + sb.append("\214"); sb.append("\052"); - sb.append("\uff6f"); + sb.append("\057"); sb.append("\054"); - sb.append("\uff6f"); + sb.append("\026"); sb.append("\056"); - sb.append("\uff6f"); + sb.append("\u03a9"); sb.append("\057"); - sb.append("\uff6f"); + sb.append("\016"); sb.append("\061"); - sb.append("\uff6f"); + sb.append("\110"); sb.append("\062"); - sb.append("\uff6f"); + sb.append("\210"); sb.append("\063"); - sb.append("\uff6f"); - sb.append("\064"); - sb.append("\uff6f"); - sb.append("\065"); - sb.append("\uff6f"); - sb.append("\066"); - sb.append("\uff6f"); + sb.append("\010"); sb.append("\074"); - sb.append("\uff6f"); + sb.append("\051"); sb.append("\075"); - sb.append("\uff6f"); + sb.append("\166"); sb.append("\077"); - sb.append("\uff6f"); + sb.append("\123"); sb.append("\100"); - sb.append("\uff6f"); + sb.append("\012"); sb.append("\101"); - sb.append("\uff6f"); + sb.append("\206"); sb.append("\102"); - sb.append("\uff6f"); + sb.append("\041"); sb.append("\103"); - sb.append("\uff6f"); + sb.append("\144"); sb.append("\104"); - sb.append("\uff6f"); + sb.append("\117"); sb.append("\105"); - sb.append("\uff6f"); + sb.append("\141"); sb.append("\111"); - sb.append("\uff6f"); - sb.append("\112"); - sb.append("\uff6f"); - sb.append("\114"); - sb.append("\uff6f"); + sb.append("\157"); sb.append("\115"); - sb.append("\uff6f"); + sb.append("\136"); sb.append("\116"); - sb.append("\uff6f"); + sb.append("\046"); sb.append("\120"); - sb.append("\uff6f"); + sb.append("\172"); sb.append("\121"); - sb.append("\uff6f"); + sb.append("\160"); sb.append("\122"); - sb.append("\uff6f"); + sb.append("\013"); sb.append("\123"); - sb.append("\uff6f"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\uff6f"); sb.append("\125"); - sb.append("\uff6f"); + sb.append("\116"); sb.append("\126"); - sb.append("\uff6f"); + sb.append("\131"); sb.append("\133"); - sb.append("\uff6f"); + sb.append("\020"); sb.append("\151"); - sb.append("\uff6f"); - sb.append("\172"); - sb.append("\uff6f"); + sb.append("\171"); sb.append("\173"); - sb.append("\uff6f"); - sb.append("\177"); - sb.append("\uff6f"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\uff6f"); - sb.append("\202"); - sb.append("\uff6f"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\uff6f"); + sb.append("\054"); sb.append("\204"); - sb.append("\uff6f"); + sb.append("\120"); sb.append("\205"); - sb.append("\uff6f"); + sb.append("\207"); sb.append("\206"); - sb.append("\uff6f"); + sb.append("\154"); sb.append("\207"); - sb.append("\uff6f"); + sb.append("\216"); sb.append("\210"); - sb.append("\uff6f"); + sb.append("\151"); sb.append("\211"); - sb.append("\uff6f"); + sb.append("\142"); sb.append("\212"); - sb.append("\uff6f"); + sb.append("\155"); sb.append("\213"); - sb.append("\uff6f"); + sb.append("\063"); sb.append("\214"); - sb.append("\uff6f"); - sb.append("\216"); - sb.append("\uff6f"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\uff6f"); - sb.append("\220"); - sb.append("\uff6f"); - sb.append("\221"); - sb.append("\uff6f"); - sb.append("\222"); - sb.append("\uff6f"); + sb.append("\101"); sb.append("\223"); - sb.append("\uff6f"); - sb.append("\224"); - sb.append("\uff6f"); - sb.append("\230"); - sb.append("\uff6f"); + sb.append("\025"); + sb.append("\231"); + sb.append("\047"); sb.append("\233"); - sb.append("\uff6f"); + sb.append("\u062a"); sb.append("\234"); - sb.append("\uff6f"); + sb.append("\152"); sb.append("\235"); - sb.append("\uff6f"); + sb.append("\015"); sb.append("\236"); - sb.append("\uff6f"); - sb.append("\240"); - sb.append("\uff6f"); - sb.append("\247"); - sb.append("\uff6f"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\uff6f"); - sb.append("\252"); - sb.append("\uff6f"); - sb.append("\253"); - sb.append("\uff6f"); + sb.append("\021"); sb.append("\254"); - sb.append("\uff6f"); + sb.append("\147"); sb.append("\255"); - sb.append("\uff6f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\u062e"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\322"); - sb.append("\002"); - sb.append("\uff6e"); + sb.append("\266"); sb.append("\003"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\004"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\005"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\006"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\007"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\010"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\011"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\012"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\014"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\015"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\016"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\017"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\020"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\021"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\022"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\023"); - sb.append("\uff6e"); - sb.append("\024"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\025"); - sb.append("\uff6e"); - sb.append("\026"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\027"); - sb.append("\uff6e"); - sb.append("\030"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\032"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\034"); - sb.append("\uff6e"); - sb.append("\035"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\036"); - sb.append("\uff6e"); - sb.append("\037"); - sb.append("\uff6e"); - sb.append("\040"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\041"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\042"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\043"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\044"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\045"); - sb.append("\uff6e"); - sb.append("\046"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\047"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\050"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\051"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\052"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\054"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\056"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\057"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\061"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\062"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\063"); - sb.append("\uff6e"); - sb.append("\064"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\065"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\066"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\074"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\075"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\077"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\100"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\101"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\102"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\103"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\104"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\105"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\111"); - sb.append("\uff6e"); - sb.append("\112"); - sb.append("\uff6e"); - sb.append("\114"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\115"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\116"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\120"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\121"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\122"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\123"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\124"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\125"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\126"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\133"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\151"); - sb.append("\uff6e"); - sb.append("\172"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\173"); - sb.append("\uff6e"); - sb.append("\177"); - sb.append("\uff6e"); + sb.append("\uff7c"); + sb.append("\174"); + sb.append("\uff7c"); sb.append("\200"); - sb.append("\uff6e"); - sb.append("\202"); - sb.append("\uff6e"); + sb.append("\uff7c"); + sb.append("\201"); + sb.append("\uff7c"); sb.append("\203"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\204"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\205"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\206"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\207"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\210"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\211"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\212"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\213"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\214"); - sb.append("\uff6e"); - sb.append("\216"); - sb.append("\uff6e"); + sb.append("\uff7c"); + sb.append("\215"); + sb.append("\uff7c"); sb.append("\217"); - sb.append("\uff6e"); - sb.append("\220"); - sb.append("\uff6e"); - sb.append("\221"); - sb.append("\uff6e"); - sb.append("\222"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\223"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\224"); - sb.append("\uff6e"); - sb.append("\230"); - sb.append("\uff6e"); - sb.append("\233"); - sb.append("\uff6e"); + sb.append("\uff7c"); + sb.append("\225"); + sb.append("\uff7c"); + sb.append("\231"); + sb.append("\uff7c"); sb.append("\234"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\235"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\236"); - sb.append("\uff6e"); - sb.append("\240"); - sb.append("\uff6e"); - sb.append("\247"); - sb.append("\uff6e"); + sb.append("\uff7c"); + sb.append("\237"); + sb.append("\uff7c"); + sb.append("\241"); + sb.append("\uff7c"); sb.append("\250"); - sb.append("\uff6e"); - sb.append("\252"); - sb.append("\uff6e"); + sb.append("\uff7c"); + sb.append("\251"); + sb.append("\uff7c"); sb.append("\253"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\254"); - sb.append("\uff6e"); + sb.append("\uff7c"); sb.append("\255"); - sb.append("\uff6e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufd26"); - sb.append("\033"); - sb.append("\ufd26"); - sb.append("\073"); - sb.append("\ufd26"); - sb.append("\112"); - sb.append("\ufd26"); - sb.append("\127"); - sb.append("\ufd26"); - sb.append("\130"); - sb.append("\ufd26"); - sb.append("\131"); - sb.append("\ufd26"); - sb.append("\132"); - sb.append("\ufd26"); - sb.append("\150"); - sb.append("\ufd26"); - sb.append("\151"); - sb.append("\ufd26"); - sb.append("\152"); - sb.append("\ufd26"); - sb.append("\153"); - sb.append("\ufd26"); - sb.append("\154"); - sb.append("\ufd26"); - sb.append("\155"); - sb.append("\ufd26"); - sb.append("\156"); - sb.append("\ufd26"); - sb.append("\157"); - sb.append("\ufd26"); - sb.append("\160"); - sb.append("\ufd26"); - sb.append("\161"); - sb.append("\ufd26"); - sb.append("\162"); - sb.append("\ufd26"); - sb.append("\163"); - sb.append("\ufd26"); - sb.append("\164"); - sb.append("\ufd26"); - sb.append("\165"); - sb.append("\ufd26"); - sb.append("\166"); - sb.append("\ufd26"); - sb.append("\167"); - sb.append("\ufd26"); - sb.append("\170"); - sb.append("\ufd26"); - sb.append("\171"); - sb.append("\ufd26"); - sb.append("\172"); - sb.append("\ufd26"); - sb.append("\173"); - sb.append("\ufd26"); - sb.append("\174"); - sb.append("\ufd26"); - sb.append("\175"); - sb.append("\ufd26"); - sb.append("\176"); - sb.append("\ufd26"); - sb.append("\201"); - sb.append("\ufd26"); - sb.append("\215"); - sb.append("\ufd26"); - sb.append("\231"); - sb.append("\ufd26"); - sb.append("\232"); - sb.append("\ufd26"); - sb.append("\242"); - sb.append("\ufd26"); - sb.append("\245"); - sb.append("\ufd26"); - sb.append("\251"); - sb.append("\ufd26"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufeb0"); - sb.append("\134"); - sb.append("\u0637"); - sb.append("\151"); - sb.append("\ufeb0"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u0632"); - sb.append("\151"); - sb.append("\u0633"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\012"); - sb.append("\u0634"); + sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\322"); sb.append("\002"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\003"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\004"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\005"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\006"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\007"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\010"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\011"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\012"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\014"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\015"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\016"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\017"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\020"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\021"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\022"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\023"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\024"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\025"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\026"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\027"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\030"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\032"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\034"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\035"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\036"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\037"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\040"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\041"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\042"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\043"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\044"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\045"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\046"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\047"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\050"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\051"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\052"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\054"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\056"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\057"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\061"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\062"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\063"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\064"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\065"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\066"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\074"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\075"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\077"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\100"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\101"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\102"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\103"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\104"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\105"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\111"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\112"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\114"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\115"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\116"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\120"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\121"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\122"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\123"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\124"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\125"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\126"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\133"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\151"); - sb.append("\uff66"); - sb.append("\172"); - sb.append("\uff66"); + sb.append("\uff73"); sb.append("\173"); - sb.append("\uff66"); - sb.append("\177"); - sb.append("\uff66"); + sb.append("\uff73"); + sb.append("\174"); + sb.append("\uff73"); sb.append("\200"); - sb.append("\uff66"); - sb.append("\202"); - sb.append("\uff66"); - sb.append("\203"); - sb.append("\uff66"); - sb.append("\204"); - sb.append("\uff66"); - sb.append("\205"); - sb.append("\uff66"); - sb.append("\206"); - sb.append("\uff66"); - sb.append("\207"); - sb.append("\uff66"); - sb.append("\210"); - sb.append("\uff66"); - sb.append("\211"); - sb.append("\uff66"); - sb.append("\212"); - sb.append("\uff66"); - sb.append("\213"); - sb.append("\uff66"); - sb.append("\214"); - sb.append("\uff66"); - sb.append("\216"); - sb.append("\uff66"); - sb.append("\217"); - sb.append("\uff66"); - sb.append("\220"); - sb.append("\uff66"); - sb.append("\221"); - sb.append("\uff66"); - sb.append("\222"); - sb.append("\uff66"); - sb.append("\223"); - sb.append("\uff66"); - sb.append("\224"); - sb.append("\uff66"); - sb.append("\230"); - sb.append("\uff66"); - sb.append("\233"); - sb.append("\uff66"); - sb.append("\234"); - sb.append("\uff66"); - sb.append("\235"); - sb.append("\uff66"); - sb.append("\236"); - sb.append("\uff66"); - sb.append("\240"); - sb.append("\uff66"); - sb.append("\247"); - sb.append("\uff66"); - sb.append("\250"); - sb.append("\uff66"); - sb.append("\252"); - sb.append("\uff66"); - sb.append("\253"); - sb.append("\uff66"); - sb.append("\254"); - sb.append("\uff66"); - sb.append("\255"); - sb.append("\uff66"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufeb2"); - sb.append("\134"); - sb.append("\u0635"); - sb.append("\151"); - sb.append("\ufeb2"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\170"); - sb.append("\004"); + sb.append("\uff73"); sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); + sb.append("\uff73"); + sb.append("\203"); + sb.append("\uff73"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java index 2e7507da6470..2525b06cebd0 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,6 +29,1548 @@ public String getTableData() { } protected EncodedActionTable21() { sb = new StringBuilder(); + sb.append("\204"); + sb.append("\uff73"); + sb.append("\205"); + sb.append("\uff73"); + sb.append("\206"); + sb.append("\uff73"); + sb.append("\207"); + sb.append("\uff73"); + sb.append("\210"); + sb.append("\uff73"); + sb.append("\211"); + sb.append("\uff73"); + sb.append("\212"); + sb.append("\uff73"); + sb.append("\213"); + sb.append("\uff73"); + sb.append("\214"); + sb.append("\uff73"); + sb.append("\215"); + sb.append("\uff73"); + sb.append("\217"); + sb.append("\uff73"); + sb.append("\220"); + sb.append("\uff73"); + sb.append("\221"); + sb.append("\uff73"); + sb.append("\222"); + sb.append("\uff73"); + sb.append("\223"); + sb.append("\uff73"); + sb.append("\224"); + sb.append("\uff73"); + sb.append("\225"); + sb.append("\uff73"); + sb.append("\231"); + sb.append("\uff73"); + sb.append("\234"); + sb.append("\uff73"); + sb.append("\235"); + sb.append("\uff73"); + sb.append("\236"); + sb.append("\uff73"); + sb.append("\237"); + sb.append("\uff73"); + sb.append("\241"); + sb.append("\uff73"); + sb.append("\250"); + sb.append("\uff73"); + sb.append("\251"); + sb.append("\uff73"); + sb.append("\253"); + sb.append("\uff73"); + sb.append("\254"); + sb.append("\uff73"); + sb.append("\255"); + sb.append("\uff73"); + sb.append("\256"); + sb.append("\uff73"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff05"); + sb.append("\003"); + sb.append("\uff05"); + sb.append("\004"); + sb.append("\uff05"); + sb.append("\005"); + sb.append("\uff05"); + sb.append("\006"); + sb.append("\uff05"); + sb.append("\007"); + sb.append("\uff05"); + sb.append("\010"); + sb.append("\uff05"); + sb.append("\011"); + sb.append("\uff05"); + sb.append("\012"); + sb.append("\uff05"); + sb.append("\014"); + sb.append("\uff05"); + sb.append("\015"); + sb.append("\uff05"); + sb.append("\016"); + sb.append("\uff05"); + sb.append("\017"); + sb.append("\uff05"); + sb.append("\020"); + sb.append("\uff05"); + sb.append("\021"); + sb.append("\uff05"); + sb.append("\022"); + sb.append("\uff05"); + sb.append("\023"); + sb.append("\uff05"); + sb.append("\024"); + sb.append("\uff05"); + sb.append("\025"); + sb.append("\uff05"); + sb.append("\026"); + sb.append("\uff05"); + sb.append("\027"); + sb.append("\uff05"); + sb.append("\030"); + sb.append("\uff05"); + sb.append("\032"); + sb.append("\uff05"); + sb.append("\034"); + sb.append("\uff05"); + sb.append("\035"); + sb.append("\uff05"); + sb.append("\036"); + sb.append("\uff05"); + sb.append("\037"); + sb.append("\uff05"); + sb.append("\040"); + sb.append("\uff05"); + sb.append("\041"); + sb.append("\uff05"); + sb.append("\042"); + sb.append("\uff05"); + sb.append("\043"); + sb.append("\uff05"); + sb.append("\044"); + sb.append("\uff05"); + sb.append("\045"); + sb.append("\uff05"); + sb.append("\046"); + sb.append("\uff05"); + sb.append("\047"); + sb.append("\uff05"); + sb.append("\050"); + sb.append("\uff05"); + sb.append("\051"); + sb.append("\uff05"); + sb.append("\052"); + sb.append("\uff05"); + sb.append("\054"); + sb.append("\uff05"); + sb.append("\056"); + sb.append("\uff05"); + sb.append("\057"); + sb.append("\uff05"); + sb.append("\061"); + sb.append("\uff05"); + sb.append("\062"); + sb.append("\uff05"); + sb.append("\063"); + sb.append("\uff05"); + sb.append("\064"); + sb.append("\uff05"); + sb.append("\065"); + sb.append("\uff05"); + sb.append("\066"); + sb.append("\uff05"); + sb.append("\074"); + sb.append("\uff05"); + sb.append("\075"); + sb.append("\uff05"); + sb.append("\077"); + sb.append("\uff05"); + sb.append("\100"); + sb.append("\uff05"); + sb.append("\101"); + sb.append("\uff05"); + sb.append("\102"); + sb.append("\uff05"); + sb.append("\103"); + sb.append("\uff05"); + sb.append("\104"); + sb.append("\uff05"); + sb.append("\105"); + sb.append("\uff05"); + sb.append("\111"); + sb.append("\uff05"); + sb.append("\112"); + sb.append("\uff05"); + sb.append("\114"); + sb.append("\uff05"); + sb.append("\115"); + sb.append("\uff05"); + sb.append("\116"); + sb.append("\uff05"); + sb.append("\120"); + sb.append("\uff05"); + sb.append("\121"); + sb.append("\uff05"); + sb.append("\122"); + sb.append("\uff05"); + sb.append("\123"); + sb.append("\uff05"); + sb.append("\124"); + sb.append("\uff05"); + sb.append("\125"); + sb.append("\uff05"); + sb.append("\126"); + sb.append("\uff05"); + sb.append("\133"); + sb.append("\uff05"); + sb.append("\151"); + sb.append("\uff05"); + sb.append("\173"); + sb.append("\uff05"); + sb.append("\174"); + sb.append("\uff05"); + sb.append("\200"); + sb.append("\uff05"); + sb.append("\201"); + sb.append("\uff05"); + sb.append("\203"); + sb.append("\uff05"); + sb.append("\204"); + sb.append("\uff05"); + sb.append("\205"); + sb.append("\uff05"); + sb.append("\206"); + sb.append("\uff05"); + sb.append("\207"); + sb.append("\uff05"); + sb.append("\210"); + sb.append("\uff05"); + sb.append("\211"); + sb.append("\uff05"); + sb.append("\212"); + sb.append("\uff05"); + sb.append("\213"); + sb.append("\uff05"); + sb.append("\214"); + sb.append("\uff05"); + sb.append("\215"); + sb.append("\uff05"); + sb.append("\217"); + sb.append("\uff05"); + sb.append("\220"); + sb.append("\uff05"); + sb.append("\221"); + sb.append("\uff05"); + sb.append("\222"); + sb.append("\uff05"); + sb.append("\223"); + sb.append("\uff05"); + sb.append("\224"); + sb.append("\uff05"); + sb.append("\225"); + sb.append("\uff05"); + sb.append("\231"); + sb.append("\uff05"); + sb.append("\234"); + sb.append("\uff05"); + sb.append("\235"); + sb.append("\uff05"); + sb.append("\236"); + sb.append("\uff05"); + sb.append("\237"); + sb.append("\uff05"); + sb.append("\241"); + sb.append("\uff05"); + sb.append("\250"); + sb.append("\uff05"); + sb.append("\251"); + sb.append("\uff05"); + sb.append("\253"); + sb.append("\uff05"); + sb.append("\254"); + sb.append("\uff05"); + sb.append("\255"); + sb.append("\uff05"); + sb.append("\256"); + sb.append("\uff05"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\266"); + sb.append("\003"); + sb.append("\211"); + sb.append("\004"); + sb.append("\202"); + sb.append("\005"); + sb.append("\164"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\217"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\014"); + sb.append("\007"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\143"); + sb.append("\020"); + sb.append("\035"); + sb.append("\021"); + sb.append("\034"); + sb.append("\022"); + sb.append("\u062e"); + sb.append("\023"); + sb.append("\145"); + sb.append("\025"); + sb.append("\200"); + sb.append("\027"); + sb.append("\203"); + sb.append("\032"); + sb.append("\106"); + sb.append("\034"); + sb.append("\113"); + sb.append("\036"); + sb.append("\125"); + sb.append("\041"); + sb.append("\033"); + sb.append("\042"); + sb.append("\040"); + sb.append("\043"); + sb.append("\226"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\023"); + sb.append("\047"); + sb.append("\212"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\052"); + sb.append("\057"); + sb.append("\054"); + sb.append("\026"); + sb.append("\056"); + sb.append("\u03a9"); + sb.append("\057"); + sb.append("\016"); + sb.append("\061"); + sb.append("\110"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\065"); + sb.append("\027"); + sb.append("\066"); + sb.append("\111"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\111"); + sb.append("\157"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\120"); + sb.append("\172"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\151"); + sb.append("\171"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\025"); + sb.append("\224"); + sb.append("\030"); + sb.append("\225"); + sb.append("\115"); + sb.append("\231"); + sb.append("\047"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\105"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\231"); + sb.append("\253"); + sb.append("\227"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\151"); + sb.append("\u062f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff04"); + sb.append("\003"); + sb.append("\uff04"); + sb.append("\004"); + sb.append("\uff04"); + sb.append("\005"); + sb.append("\uff04"); + sb.append("\006"); + sb.append("\uff04"); + sb.append("\007"); + sb.append("\uff04"); + sb.append("\010"); + sb.append("\uff04"); + sb.append("\011"); + sb.append("\uff04"); + sb.append("\012"); + sb.append("\uff04"); + sb.append("\014"); + sb.append("\uff04"); + sb.append("\015"); + sb.append("\uff04"); + sb.append("\016"); + sb.append("\uff04"); + sb.append("\017"); + sb.append("\uff04"); + sb.append("\020"); + sb.append("\uff04"); + sb.append("\021"); + sb.append("\uff04"); + sb.append("\022"); + sb.append("\uff04"); + sb.append("\023"); + sb.append("\uff04"); + sb.append("\024"); + sb.append("\uff04"); + sb.append("\025"); + sb.append("\uff04"); + sb.append("\026"); + sb.append("\uff04"); + sb.append("\027"); + sb.append("\uff04"); + sb.append("\030"); + sb.append("\uff04"); + sb.append("\032"); + sb.append("\uff04"); + sb.append("\034"); + sb.append("\uff04"); + sb.append("\035"); + sb.append("\uff04"); + sb.append("\036"); + sb.append("\uff04"); + sb.append("\037"); + sb.append("\uff04"); + sb.append("\040"); + sb.append("\uff04"); + sb.append("\041"); + sb.append("\uff04"); + sb.append("\042"); + sb.append("\uff04"); + sb.append("\043"); + sb.append("\uff04"); + sb.append("\044"); + sb.append("\uff04"); + sb.append("\045"); + sb.append("\uff04"); + sb.append("\046"); + sb.append("\uff04"); + sb.append("\047"); + sb.append("\uff04"); + sb.append("\050"); + sb.append("\uff04"); + sb.append("\051"); + sb.append("\uff04"); + sb.append("\052"); + sb.append("\uff04"); + sb.append("\054"); + sb.append("\uff04"); + sb.append("\056"); + sb.append("\uff04"); + sb.append("\057"); + sb.append("\uff04"); + sb.append("\061"); + sb.append("\uff04"); + sb.append("\062"); + sb.append("\uff04"); + sb.append("\063"); + sb.append("\uff04"); + sb.append("\064"); + sb.append("\uff04"); + sb.append("\065"); + sb.append("\uff04"); + sb.append("\066"); + sb.append("\uff04"); + sb.append("\074"); + sb.append("\uff04"); + sb.append("\075"); + sb.append("\uff04"); + sb.append("\077"); + sb.append("\uff04"); + sb.append("\100"); + sb.append("\uff04"); + sb.append("\101"); + sb.append("\uff04"); + sb.append("\102"); + sb.append("\uff04"); + sb.append("\103"); + sb.append("\uff04"); + sb.append("\104"); + sb.append("\uff04"); + sb.append("\105"); + sb.append("\uff04"); + sb.append("\111"); + sb.append("\uff04"); + sb.append("\112"); + sb.append("\uff04"); + sb.append("\114"); + sb.append("\uff04"); + sb.append("\115"); + sb.append("\uff04"); + sb.append("\116"); + sb.append("\uff04"); + sb.append("\120"); + sb.append("\uff04"); + sb.append("\121"); + sb.append("\uff04"); + sb.append("\122"); + sb.append("\uff04"); + sb.append("\123"); + sb.append("\uff04"); + sb.append("\124"); + sb.append("\uff04"); + sb.append("\125"); + sb.append("\uff04"); + sb.append("\126"); + sb.append("\uff04"); + sb.append("\133"); + sb.append("\uff04"); + sb.append("\151"); + sb.append("\uff04"); + sb.append("\173"); + sb.append("\uff04"); + sb.append("\174"); + sb.append("\uff04"); + sb.append("\200"); + sb.append("\uff04"); + sb.append("\201"); + sb.append("\uff04"); + sb.append("\203"); + sb.append("\uff04"); + sb.append("\204"); + sb.append("\uff04"); + sb.append("\205"); + sb.append("\uff04"); + sb.append("\206"); + sb.append("\uff04"); + sb.append("\207"); + sb.append("\uff04"); + sb.append("\210"); + sb.append("\uff04"); + sb.append("\211"); + sb.append("\uff04"); + sb.append("\212"); + sb.append("\uff04"); + sb.append("\213"); + sb.append("\uff04"); + sb.append("\214"); + sb.append("\uff04"); + sb.append("\215"); + sb.append("\uff04"); + sb.append("\217"); + sb.append("\uff04"); + sb.append("\220"); + sb.append("\uff04"); + sb.append("\221"); + sb.append("\uff04"); + sb.append("\222"); + sb.append("\uff04"); + sb.append("\223"); + sb.append("\uff04"); + sb.append("\224"); + sb.append("\uff04"); + sb.append("\225"); + sb.append("\uff04"); + sb.append("\231"); + sb.append("\uff04"); + sb.append("\234"); + sb.append("\uff04"); + sb.append("\235"); + sb.append("\uff04"); + sb.append("\236"); + sb.append("\uff04"); + sb.append("\237"); + sb.append("\uff04"); + sb.append("\241"); + sb.append("\uff04"); + sb.append("\250"); + sb.append("\uff04"); + sb.append("\251"); + sb.append("\uff04"); + sb.append("\253"); + sb.append("\uff04"); + sb.append("\254"); + sb.append("\uff04"); + sb.append("\255"); + sb.append("\uff04"); + sb.append("\256"); + sb.append("\uff04"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff6f"); + sb.append("\003"); + sb.append("\uff6f"); + sb.append("\004"); + sb.append("\uff6f"); + sb.append("\005"); + sb.append("\uff6f"); + sb.append("\006"); + sb.append("\uff6f"); + sb.append("\007"); + sb.append("\uff6f"); + sb.append("\010"); + sb.append("\uff6f"); + sb.append("\011"); + sb.append("\uff6f"); + sb.append("\012"); + sb.append("\uff6f"); + sb.append("\014"); + sb.append("\uff6f"); + sb.append("\015"); + sb.append("\uff6f"); + sb.append("\016"); + sb.append("\uff6f"); + sb.append("\017"); + sb.append("\uff6f"); + sb.append("\020"); + sb.append("\uff6f"); + sb.append("\021"); + sb.append("\uff6f"); + sb.append("\022"); + sb.append("\uff6f"); + sb.append("\023"); + sb.append("\uff6f"); + sb.append("\024"); + sb.append("\uff6f"); + sb.append("\025"); + sb.append("\uff6f"); + sb.append("\026"); + sb.append("\uff6f"); + sb.append("\027"); + sb.append("\uff6f"); + sb.append("\030"); + sb.append("\uff6f"); + sb.append("\032"); + sb.append("\uff6f"); + sb.append("\034"); + sb.append("\uff6f"); + sb.append("\035"); + sb.append("\uff6f"); + sb.append("\036"); + sb.append("\uff6f"); + sb.append("\037"); + sb.append("\uff6f"); + sb.append("\040"); + sb.append("\uff6f"); + sb.append("\041"); + sb.append("\uff6f"); + sb.append("\042"); + sb.append("\uff6f"); + sb.append("\043"); + sb.append("\uff6f"); + sb.append("\044"); + sb.append("\uff6f"); + sb.append("\045"); + sb.append("\uff6f"); + sb.append("\046"); + sb.append("\uff6f"); + sb.append("\047"); + sb.append("\uff6f"); + sb.append("\050"); + sb.append("\uff6f"); + sb.append("\051"); + sb.append("\uff6f"); + sb.append("\052"); + sb.append("\uff6f"); + sb.append("\054"); + sb.append("\uff6f"); + sb.append("\056"); + sb.append("\uff6f"); + sb.append("\057"); + sb.append("\uff6f"); + sb.append("\061"); + sb.append("\uff6f"); + sb.append("\062"); + sb.append("\uff6f"); + sb.append("\063"); + sb.append("\uff6f"); + sb.append("\064"); + sb.append("\uff6f"); + sb.append("\065"); + sb.append("\uff6f"); + sb.append("\066"); + sb.append("\uff6f"); + sb.append("\074"); + sb.append("\uff6f"); + sb.append("\075"); + sb.append("\uff6f"); + sb.append("\077"); + sb.append("\uff6f"); + sb.append("\100"); + sb.append("\uff6f"); + sb.append("\101"); + sb.append("\uff6f"); + sb.append("\102"); + sb.append("\uff6f"); + sb.append("\103"); + sb.append("\uff6f"); + sb.append("\104"); + sb.append("\uff6f"); + sb.append("\105"); + sb.append("\uff6f"); + sb.append("\111"); + sb.append("\uff6f"); + sb.append("\112"); + sb.append("\uff6f"); + sb.append("\114"); + sb.append("\uff6f"); + sb.append("\115"); + sb.append("\uff6f"); + sb.append("\116"); + sb.append("\uff6f"); + sb.append("\120"); + sb.append("\uff6f"); + sb.append("\121"); + sb.append("\uff6f"); + sb.append("\122"); + sb.append("\uff6f"); + sb.append("\123"); + sb.append("\uff6f"); + sb.append("\124"); + sb.append("\uff6f"); + sb.append("\125"); + sb.append("\uff6f"); + sb.append("\126"); + sb.append("\uff6f"); + sb.append("\133"); + sb.append("\uff6f"); + sb.append("\151"); + sb.append("\uff6f"); + sb.append("\173"); + sb.append("\uff6f"); + sb.append("\174"); + sb.append("\uff6f"); + sb.append("\200"); + sb.append("\uff6f"); + sb.append("\201"); + sb.append("\uff6f"); + sb.append("\203"); + sb.append("\uff6f"); + sb.append("\204"); + sb.append("\uff6f"); + sb.append("\205"); + sb.append("\uff6f"); + sb.append("\206"); + sb.append("\uff6f"); + sb.append("\207"); + sb.append("\uff6f"); + sb.append("\210"); + sb.append("\uff6f"); + sb.append("\211"); + sb.append("\uff6f"); + sb.append("\212"); + sb.append("\uff6f"); + sb.append("\213"); + sb.append("\uff6f"); + sb.append("\214"); + sb.append("\uff6f"); + sb.append("\215"); + sb.append("\uff6f"); + sb.append("\217"); + sb.append("\uff6f"); + sb.append("\220"); + sb.append("\uff6f"); + sb.append("\221"); + sb.append("\uff6f"); + sb.append("\222"); + sb.append("\uff6f"); + sb.append("\223"); + sb.append("\uff6f"); + sb.append("\224"); + sb.append("\uff6f"); + sb.append("\225"); + sb.append("\uff6f"); + sb.append("\231"); + sb.append("\uff6f"); + sb.append("\234"); + sb.append("\uff6f"); + sb.append("\235"); + sb.append("\uff6f"); + sb.append("\236"); + sb.append("\uff6f"); + sb.append("\237"); + sb.append("\uff6f"); + sb.append("\241"); + sb.append("\uff6f"); + sb.append("\250"); + sb.append("\uff6f"); + sb.append("\251"); + sb.append("\uff6f"); + sb.append("\253"); + sb.append("\uff6f"); + sb.append("\254"); + sb.append("\uff6f"); + sb.append("\255"); + sb.append("\uff6f"); + sb.append("\256"); + sb.append("\uff6f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\u0632"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff6e"); + sb.append("\003"); + sb.append("\uff6e"); + sb.append("\004"); + sb.append("\uff6e"); + sb.append("\005"); + sb.append("\uff6e"); + sb.append("\006"); + sb.append("\uff6e"); + sb.append("\007"); + sb.append("\uff6e"); + sb.append("\010"); + sb.append("\uff6e"); + sb.append("\011"); + sb.append("\uff6e"); + sb.append("\012"); + sb.append("\uff6e"); + sb.append("\014"); + sb.append("\uff6e"); + sb.append("\015"); + sb.append("\uff6e"); + sb.append("\016"); + sb.append("\uff6e"); + sb.append("\017"); + sb.append("\uff6e"); + sb.append("\020"); + sb.append("\uff6e"); + sb.append("\021"); + sb.append("\uff6e"); + sb.append("\022"); + sb.append("\uff6e"); + sb.append("\023"); + sb.append("\uff6e"); + sb.append("\024"); + sb.append("\uff6e"); + sb.append("\025"); + sb.append("\uff6e"); + sb.append("\026"); + sb.append("\uff6e"); + sb.append("\027"); + sb.append("\uff6e"); + sb.append("\030"); + sb.append("\uff6e"); + sb.append("\032"); + sb.append("\uff6e"); + sb.append("\034"); + sb.append("\uff6e"); + sb.append("\035"); + sb.append("\uff6e"); + sb.append("\036"); + sb.append("\uff6e"); + sb.append("\037"); + sb.append("\uff6e"); + sb.append("\040"); + sb.append("\uff6e"); + sb.append("\041"); + sb.append("\uff6e"); + sb.append("\042"); + sb.append("\uff6e"); + sb.append("\043"); + sb.append("\uff6e"); + sb.append("\044"); + sb.append("\uff6e"); + sb.append("\045"); + sb.append("\uff6e"); + sb.append("\046"); + sb.append("\uff6e"); + sb.append("\047"); + sb.append("\uff6e"); + sb.append("\050"); + sb.append("\uff6e"); + sb.append("\051"); + sb.append("\uff6e"); + sb.append("\052"); + sb.append("\uff6e"); + sb.append("\054"); + sb.append("\uff6e"); + sb.append("\056"); + sb.append("\uff6e"); + sb.append("\057"); + sb.append("\uff6e"); + sb.append("\061"); + sb.append("\uff6e"); + sb.append("\062"); + sb.append("\uff6e"); + sb.append("\063"); + sb.append("\uff6e"); + sb.append("\064"); + sb.append("\uff6e"); + sb.append("\065"); + sb.append("\uff6e"); + sb.append("\066"); + sb.append("\uff6e"); + sb.append("\074"); + sb.append("\uff6e"); + sb.append("\075"); + sb.append("\uff6e"); + sb.append("\077"); + sb.append("\uff6e"); + sb.append("\100"); + sb.append("\uff6e"); + sb.append("\101"); + sb.append("\uff6e"); + sb.append("\102"); + sb.append("\uff6e"); + sb.append("\103"); + sb.append("\uff6e"); + sb.append("\104"); + sb.append("\uff6e"); + sb.append("\105"); + sb.append("\uff6e"); + sb.append("\111"); + sb.append("\uff6e"); + sb.append("\112"); + sb.append("\uff6e"); + sb.append("\114"); + sb.append("\uff6e"); + sb.append("\115"); + sb.append("\uff6e"); + sb.append("\116"); + sb.append("\uff6e"); + sb.append("\120"); + sb.append("\uff6e"); + sb.append("\121"); + sb.append("\uff6e"); + sb.append("\122"); + sb.append("\uff6e"); + sb.append("\123"); + sb.append("\uff6e"); + sb.append("\124"); + sb.append("\uff6e"); + sb.append("\125"); + sb.append("\uff6e"); + sb.append("\126"); + sb.append("\uff6e"); + sb.append("\133"); + sb.append("\uff6e"); + sb.append("\151"); + sb.append("\uff6e"); + sb.append("\173"); + sb.append("\uff6e"); + sb.append("\174"); + sb.append("\uff6e"); + sb.append("\200"); + sb.append("\uff6e"); + sb.append("\201"); + sb.append("\uff6e"); + sb.append("\203"); + sb.append("\uff6e"); + sb.append("\204"); + sb.append("\uff6e"); + sb.append("\205"); + sb.append("\uff6e"); + sb.append("\206"); + sb.append("\uff6e"); + sb.append("\207"); + sb.append("\uff6e"); + sb.append("\210"); + sb.append("\uff6e"); + sb.append("\211"); + sb.append("\uff6e"); + sb.append("\212"); + sb.append("\uff6e"); + sb.append("\213"); + sb.append("\uff6e"); + sb.append("\214"); + sb.append("\uff6e"); + sb.append("\215"); + sb.append("\uff6e"); + sb.append("\217"); + sb.append("\uff6e"); + sb.append("\220"); + sb.append("\uff6e"); + sb.append("\221"); + sb.append("\uff6e"); + sb.append("\222"); + sb.append("\uff6e"); + sb.append("\223"); + sb.append("\uff6e"); + sb.append("\224"); + sb.append("\uff6e"); + sb.append("\225"); + sb.append("\uff6e"); + sb.append("\231"); + sb.append("\uff6e"); + sb.append("\234"); + sb.append("\uff6e"); + sb.append("\235"); + sb.append("\uff6e"); + sb.append("\236"); + sb.append("\uff6e"); + sb.append("\237"); + sb.append("\uff6e"); + sb.append("\241"); + sb.append("\uff6e"); + sb.append("\250"); + sb.append("\uff6e"); + sb.append("\251"); + sb.append("\uff6e"); + sb.append("\253"); + sb.append("\uff6e"); + sb.append("\254"); + sb.append("\uff6e"); + sb.append("\255"); + sb.append("\uff6e"); + sb.append("\256"); + sb.append("\uff6e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufd24"); + sb.append("\033"); + sb.append("\ufd24"); + sb.append("\073"); + sb.append("\ufd24"); + sb.append("\112"); + sb.append("\ufd24"); + sb.append("\127"); + sb.append("\ufd24"); + sb.append("\130"); + sb.append("\ufd24"); + sb.append("\131"); + sb.append("\ufd24"); + sb.append("\132"); + sb.append("\ufd24"); + sb.append("\150"); + sb.append("\ufd24"); + sb.append("\151"); + sb.append("\ufd24"); + sb.append("\152"); + sb.append("\ufd24"); + sb.append("\153"); + sb.append("\ufd24"); + sb.append("\154"); + sb.append("\ufd24"); + sb.append("\155"); + sb.append("\ufd24"); + sb.append("\156"); + sb.append("\ufd24"); + sb.append("\157"); + sb.append("\ufd24"); + sb.append("\160"); + sb.append("\ufd24"); + sb.append("\161"); + sb.append("\ufd24"); + sb.append("\162"); + sb.append("\ufd24"); + sb.append("\163"); + sb.append("\ufd24"); + sb.append("\164"); + sb.append("\ufd24"); + sb.append("\165"); + sb.append("\ufd24"); + sb.append("\166"); + sb.append("\ufd24"); + sb.append("\167"); + sb.append("\ufd24"); + sb.append("\170"); + sb.append("\ufd24"); + sb.append("\171"); + sb.append("\ufd24"); + sb.append("\172"); + sb.append("\ufd24"); + sb.append("\173"); + sb.append("\ufd24"); + sb.append("\174"); + sb.append("\ufd24"); + sb.append("\175"); + sb.append("\ufd24"); + sb.append("\176"); + sb.append("\ufd24"); + sb.append("\177"); + sb.append("\ufd24"); + sb.append("\202"); + sb.append("\ufd24"); + sb.append("\216"); + sb.append("\ufd24"); + sb.append("\232"); + sb.append("\ufd24"); + sb.append("\233"); + sb.append("\ufd24"); + sb.append("\243"); + sb.append("\ufd24"); + sb.append("\246"); + sb.append("\ufd24"); + sb.append("\252"); + sb.append("\ufd24"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\127"); + sb.append("\ufeb0"); + sb.append("\134"); + sb.append("\u063b"); + sb.append("\151"); + sb.append("\ufeb0"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u0636"); + sb.append("\151"); + sb.append("\u0637"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\012"); + sb.append("\u0638"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff66"); + sb.append("\003"); + sb.append("\uff66"); + sb.append("\004"); + sb.append("\uff66"); + sb.append("\005"); + sb.append("\uff66"); + sb.append("\006"); + sb.append("\uff66"); + sb.append("\007"); + sb.append("\uff66"); + sb.append("\010"); + sb.append("\uff66"); + sb.append("\011"); + sb.append("\uff66"); + sb.append("\012"); + sb.append("\uff66"); + sb.append("\014"); + sb.append("\uff66"); + sb.append("\015"); + sb.append("\uff66"); + sb.append("\016"); + sb.append("\uff66"); + sb.append("\017"); + sb.append("\uff66"); + sb.append("\020"); + sb.append("\uff66"); + sb.append("\021"); + sb.append("\uff66"); + sb.append("\022"); + sb.append("\uff66"); + sb.append("\023"); + sb.append("\uff66"); + sb.append("\024"); + sb.append("\uff66"); + sb.append("\025"); + sb.append("\uff66"); + sb.append("\026"); + sb.append("\uff66"); + sb.append("\027"); + sb.append("\uff66"); + sb.append("\030"); + sb.append("\uff66"); + sb.append("\032"); + sb.append("\uff66"); + sb.append("\034"); + sb.append("\uff66"); + sb.append("\035"); + sb.append("\uff66"); + sb.append("\036"); + sb.append("\uff66"); + sb.append("\037"); + sb.append("\uff66"); + sb.append("\040"); + sb.append("\uff66"); + sb.append("\041"); + sb.append("\uff66"); + sb.append("\042"); + sb.append("\uff66"); + sb.append("\043"); + sb.append("\uff66"); + sb.append("\044"); + sb.append("\uff66"); + sb.append("\045"); + sb.append("\uff66"); + sb.append("\046"); + sb.append("\uff66"); + sb.append("\047"); + sb.append("\uff66"); + sb.append("\050"); + sb.append("\uff66"); + sb.append("\051"); + sb.append("\uff66"); + sb.append("\052"); + sb.append("\uff66"); + sb.append("\054"); + sb.append("\uff66"); + sb.append("\056"); + sb.append("\uff66"); + sb.append("\057"); + sb.append("\uff66"); + sb.append("\061"); + sb.append("\uff66"); + sb.append("\062"); + sb.append("\uff66"); + sb.append("\063"); + sb.append("\uff66"); + sb.append("\064"); + sb.append("\uff66"); + sb.append("\065"); + sb.append("\uff66"); + sb.append("\066"); + sb.append("\uff66"); + sb.append("\074"); + sb.append("\uff66"); + sb.append("\075"); + sb.append("\uff66"); + sb.append("\077"); + sb.append("\uff66"); + sb.append("\100"); + sb.append("\uff66"); + sb.append("\101"); + sb.append("\uff66"); + sb.append("\102"); + sb.append("\uff66"); + sb.append("\103"); + sb.append("\uff66"); + sb.append("\104"); + sb.append("\uff66"); + sb.append("\105"); + sb.append("\uff66"); + sb.append("\111"); + sb.append("\uff66"); + sb.append("\112"); + sb.append("\uff66"); + sb.append("\114"); + sb.append("\uff66"); + sb.append("\115"); + sb.append("\uff66"); + sb.append("\116"); + sb.append("\uff66"); + sb.append("\120"); + sb.append("\uff66"); + sb.append("\121"); + sb.append("\uff66"); + sb.append("\122"); + sb.append("\uff66"); + sb.append("\123"); + sb.append("\uff66"); + sb.append("\124"); + sb.append("\uff66"); + sb.append("\125"); + sb.append("\uff66"); + sb.append("\126"); + sb.append("\uff66"); + sb.append("\133"); + sb.append("\uff66"); + sb.append("\151"); + sb.append("\uff66"); + sb.append("\173"); + sb.append("\uff66"); + sb.append("\174"); + sb.append("\uff66"); + sb.append("\200"); + sb.append("\uff66"); + sb.append("\201"); + sb.append("\uff66"); + sb.append("\203"); + sb.append("\uff66"); + sb.append("\204"); + sb.append("\uff66"); + sb.append("\205"); + sb.append("\uff66"); + sb.append("\206"); + sb.append("\uff66"); + sb.append("\207"); + sb.append("\uff66"); + sb.append("\210"); + sb.append("\uff66"); + sb.append("\211"); + sb.append("\uff66"); + sb.append("\212"); + sb.append("\uff66"); + sb.append("\213"); + sb.append("\uff66"); + sb.append("\214"); + sb.append("\uff66"); + sb.append("\215"); + sb.append("\uff66"); + sb.append("\217"); + sb.append("\uff66"); + sb.append("\220"); + sb.append("\uff66"); + sb.append("\221"); + sb.append("\uff66"); + sb.append("\222"); + sb.append("\uff66"); + sb.append("\223"); + sb.append("\uff66"); + sb.append("\224"); + sb.append("\uff66"); + sb.append("\225"); + sb.append("\uff66"); + sb.append("\231"); + sb.append("\uff66"); + sb.append("\234"); + sb.append("\uff66"); + sb.append("\235"); + sb.append("\uff66"); + sb.append("\236"); + sb.append("\uff66"); + sb.append("\237"); + sb.append("\uff66"); + sb.append("\241"); + sb.append("\uff66"); + sb.append("\250"); + sb.append("\uff66"); + sb.append("\251"); + sb.append("\uff66"); + sb.append("\253"); + sb.append("\uff66"); + sb.append("\254"); + sb.append("\uff66"); + sb.append("\255"); + sb.append("\uff66"); + sb.append("\256"); + sb.append("\uff66"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\127"); + sb.append("\ufeb2"); + sb.append("\134"); + sb.append("\u0639"); + sb.append("\151"); + sb.append("\ufeb2"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); sb.append("\105"); sb.append("\141"); sb.append("\115"); @@ -48,138 +1591,140 @@ protected EncodedActionTable21() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\102"); + sb.append("\104"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\127"); sb.append("\ufeb1"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\151"); sb.append("\ufeb1"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -195,7 +1740,7 @@ protected EncodedActionTable21() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -238,142 +1783,144 @@ protected EncodedActionTable21() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\102"); + sb.append("\104"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\127"); sb.append("\ufeaf"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\151"); sb.append("\ufeaf"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\010"); sb.append("\010"); - sb.append("\u028e"); + sb.append("\u0292"); sb.append("\121"); - sb.append("\u028d"); - sb.append("\230"); - sb.append("\u03c4"); + sb.append("\u0291"); + sb.append("\231"); + sb.append("\u03c8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\230"); - sb.append("\u063b"); + sb.append("\231"); + sb.append("\u063f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -390,58 +1937,58 @@ protected EncodedActionTable21() { sb.append("\ufef5"); sb.append("\150"); sb.append("\ufef5"); - sb.append("\156"); + sb.append("\157"); sb.append("\ufef5"); - sb.append("\225"); - sb.append("\277"); sb.append("\226"); - sb.append("\257"); + sb.append("\277"); sb.append("\227"); - sb.append("\302"); + sb.append("\257"); sb.append("\230"); - sb.append("\ufef5"); + sb.append("\302"); sb.append("\231"); + sb.append("\ufef5"); + sb.append("\232"); sb.append("\ufefa"); - sb.append("\244"); + sb.append("\245"); sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\254"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufef5"); - sb.append("\253"); + sb.append("\254"); + sb.append("\252"); sb.append("\ufef5"); sb.append("\254"); sb.append("\ufef5"); sb.append("\255"); sb.append("\ufef5"); sb.append("\256"); - sb.append("\271"); + sb.append("\ufef5"); sb.append("\257"); - sb.append("\275"); + sb.append("\271"); sb.append("\260"); + sb.append("\275"); + sb.append("\261"); sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u063d"); + sb.append("\232"); + sb.append("\u0641"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); sb.append("\111"); sb.append("\ufee2"); - sb.append("\232"); - sb.append("\u0242"); + sb.append("\233"); + sb.append("\u0246"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); sb.append("\111"); - sb.append("\u063f"); + sb.append("\u0643"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -564,15 +2111,13 @@ protected EncodedActionTable21() { sb.append("\uff7c"); sb.append("\151"); sb.append("\uff7c"); - sb.append("\172"); - sb.append("\uff7c"); sb.append("\173"); sb.append("\uff7c"); - sb.append("\177"); + sb.append("\174"); sb.append("\uff7c"); sb.append("\200"); sb.append("\uff7c"); - sb.append("\202"); + sb.append("\201"); sb.append("\uff7c"); sb.append("\203"); sb.append("\uff7c"); @@ -594,17 +2139,17 @@ protected EncodedActionTable21() { sb.append("\uff7c"); sb.append("\214"); sb.append("\uff7c"); - sb.append("\216"); + sb.append("\215"); sb.append("\uff7c"); - sb.append("\222"); + sb.append("\217"); sb.append("\uff7c"); sb.append("\223"); sb.append("\uff7c"); sb.append("\224"); sb.append("\uff7c"); - sb.append("\230"); + sb.append("\225"); sb.append("\uff7c"); - sb.append("\233"); + sb.append("\231"); sb.append("\uff7c"); sb.append("\234"); sb.append("\uff7c"); @@ -612,13 +2157,13 @@ protected EncodedActionTable21() { sb.append("\uff7c"); sb.append("\236"); sb.append("\uff7c"); - sb.append("\240"); + sb.append("\237"); sb.append("\uff7c"); - sb.append("\247"); + sb.append("\241"); sb.append("\uff7c"); sb.append("\250"); sb.append("\uff7c"); - sb.append("\252"); + sb.append("\251"); sb.append("\uff7c"); sb.append("\253"); sb.append("\uff7c"); @@ -626,6 +2171,8 @@ protected EncodedActionTable21() { sb.append("\uff7c"); sb.append("\255"); sb.append("\uff7c"); + sb.append("\256"); + sb.append("\uff7c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -633,7 +2180,7 @@ protected EncodedActionTable21() { sb.append("\003"); sb.append("\211"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\005"); sb.append("\164"); sb.append("\006"); @@ -691,7 +2238,7 @@ protected EncodedActionTable21() { sb.append("\054"); sb.append("\026"); sb.append("\056"); - sb.append("\u03a5"); + sb.append("\u03a9"); sb.append("\057"); sb.append("\016"); sb.append("\061"); @@ -725,7 +2272,7 @@ protected EncodedActionTable21() { sb.append("\111"); sb.append("\157"); sb.append("\112"); - sb.append("\u0641"); + sb.append("\u0645"); sb.append("\115"); sb.append("\136"); sb.append("\116"); @@ -748,67 +2295,67 @@ protected EncodedActionTable21() { sb.append("\020"); sb.append("\151"); sb.append("\171"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\025"); sb.append("\223"); - sb.append("\030"); + sb.append("\025"); sb.append("\224"); + sb.append("\030"); + sb.append("\225"); sb.append("\115"); - sb.append("\230"); + sb.append("\231"); sb.append("\047"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); + sb.append("\241"); sb.append("\105"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); + sb.append("\021"); + sb.append("\251"); sb.append("\231"); - sb.append("\252"); - sb.append("\227"); sb.append("\253"); - sb.append("\147"); + sb.append("\227"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); @@ -954,15 +2501,13 @@ protected EncodedActionTable21() { sb.append("\uff3f"); sb.append("\151"); sb.append("\uff3f"); - sb.append("\172"); - sb.append("\uff3f"); sb.append("\173"); sb.append("\uff3f"); - sb.append("\177"); + sb.append("\174"); sb.append("\uff3f"); sb.append("\200"); sb.append("\uff3f"); - sb.append("\202"); + sb.append("\201"); sb.append("\uff3f"); sb.append("\203"); sb.append("\uff3f"); @@ -984,7 +2529,7 @@ protected EncodedActionTable21() { sb.append("\uff3f"); sb.append("\214"); sb.append("\uff3f"); - sb.append("\216"); + sb.append("\215"); sb.append("\uff3f"); sb.append("\217"); sb.append("\uff3f"); @@ -998,9 +2543,9 @@ protected EncodedActionTable21() { sb.append("\uff3f"); sb.append("\224"); sb.append("\uff3f"); - sb.append("\230"); + sb.append("\225"); sb.append("\uff3f"); - sb.append("\233"); + sb.append("\231"); sb.append("\uff3f"); sb.append("\234"); sb.append("\uff3f"); @@ -1008,13 +2553,13 @@ protected EncodedActionTable21() { sb.append("\uff3f"); sb.append("\236"); sb.append("\uff3f"); - sb.append("\240"); + sb.append("\237"); sb.append("\uff3f"); - sb.append("\247"); + sb.append("\241"); sb.append("\uff3f"); sb.append("\250"); sb.append("\uff3f"); - sb.append("\252"); + sb.append("\251"); sb.append("\uff3f"); sb.append("\253"); sb.append("\uff3f"); @@ -1022,22 +2567,24 @@ protected EncodedActionTable21() { sb.append("\uff3f"); sb.append("\255"); sb.append("\uff3f"); + sb.append("\256"); + sb.append("\uff3f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\344"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1047,348 +2594,350 @@ protected EncodedActionTable21() { sb.append("\016"); sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u021d"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u0644"); + sb.append("\232"); + sb.append("\u0648"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\033"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\071"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\072"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\073"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\111"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\112"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\113"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\127"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\130"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\131"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\132"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\134"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\135"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\136"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\137"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\140"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\141"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\142"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\143"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\144"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\145"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\146"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\147"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\150"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\151"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\152"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\153"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\154"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\155"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\156"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\157"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\160"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\161"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\162"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\163"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\164"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\165"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\166"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\167"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\170"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\171"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\172"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\173"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\174"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\175"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\176"); - sb.append("\ufdee"); - sb.append("\201"); - sb.append("\ufdee"); + sb.append("\ufded"); + sb.append("\177"); + sb.append("\ufded"); sb.append("\202"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\203"); - sb.append("\ufdee"); - sb.append("\214"); - sb.append("\ufdee"); + sb.append("\ufded"); + sb.append("\204"); + sb.append("\ufded"); sb.append("\215"); - sb.append("\ufdee"); - sb.append("\230"); - sb.append("\ufdee"); + sb.append("\ufded"); + sb.append("\216"); + sb.append("\ufded"); sb.append("\231"); - sb.append("\ufdee"); + sb.append("\ufded"); sb.append("\232"); - sb.append("\ufdee"); - sb.append("\242"); - sb.append("\ufdee"); + sb.append("\ufded"); + sb.append("\233"); + sb.append("\ufded"); sb.append("\243"); - sb.append("\ufdee"); - sb.append("\245"); - sb.append("\ufdee"); + sb.append("\ufded"); + sb.append("\244"); + sb.append("\ufded"); sb.append("\246"); - sb.append("\ufdee"); - sb.append("\251"); - sb.append("\ufdee"); + sb.append("\ufded"); + sb.append("\247"); + sb.append("\ufded"); + sb.append("\252"); + sb.append("\ufded"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); sb.append("\127"); sb.append("\uff91"); - sb.append("\215"); + sb.append("\216"); sb.append("\uff91"); sb.append("\001"); sb.append("\002"); @@ -1396,18 +2945,18 @@ protected EncodedActionTable21() { sb.append("\010"); sb.append("\127"); sb.append("\uff93"); - sb.append("\215"); + sb.append("\216"); sb.append("\uff93"); - sb.append("\230"); - sb.append("\u064c"); + sb.append("\231"); + sb.append("\u0650"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); sb.append("\127"); - sb.append("\u0648"); - sb.append("\215"); - sb.append("\ufd6e"); + sb.append("\u064c"); + sb.append("\216"); + sb.append("\ufd6c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -1415,23 +2964,23 @@ protected EncodedActionTable21() { sb.append("\010"); sb.append("\244"); sb.append("\121"); - sb.append("\237"); - sb.append("\215"); - sb.append("\ufd6d"); - sb.append("\222"); + sb.append("\240"); + sb.append("\216"); + sb.append("\ufd6b"); + sb.append("\223"); sb.append("\341"); - sb.append("\253"); - sb.append("\241"); sb.append("\254"); - sb.append("\240"); + sb.append("\241"); sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\215"); - sb.append("\u064a"); + sb.append("\216"); + sb.append("\u064e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -1462,9 +3011,7 @@ protected EncodedActionTable21() { sb.append("\uff8f"); sb.append("\150"); sb.append("\uff8f"); - sb.append("\156"); - sb.append("\uff8f"); - sb.append("\222"); + sb.append("\157"); sb.append("\uff8f"); sb.append("\223"); sb.append("\uff8f"); @@ -1478,11 +3025,11 @@ protected EncodedActionTable21() { sb.append("\uff8f"); sb.append("\230"); sb.append("\uff8f"); - sb.append("\240"); + sb.append("\231"); sb.append("\uff8f"); - sb.append("\244"); + sb.append("\241"); sb.append("\uff8f"); - sb.append("\247"); + sb.append("\245"); sb.append("\uff8f"); sb.append("\250"); sb.append("\uff8f"); @@ -1502,30 +3049,32 @@ protected EncodedActionTable21() { sb.append("\uff8f"); sb.append("\260"); sb.append("\uff8f"); + sb.append("\261"); + sb.append("\uff8f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); sb.append("\127"); sb.append("\uff90"); - sb.append("\215"); + sb.append("\216"); sb.append("\uff90"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\344"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1535,233 +3084,233 @@ protected EncodedActionTable21() { sb.append("\016"); sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u021d"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u064e"); + sb.append("\232"); + sb.append("\u0652"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); sb.append("\127"); sb.append("\uff92"); - sb.append("\215"); + sb.append("\216"); sb.append("\uff92"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); sb.append("\127"); - sb.append("\u0658"); + sb.append("\u065c"); sb.append("\151"); - sb.append("\u0659"); + sb.append("\u065d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -1779,28 +3328,28 @@ protected EncodedActionTable21() { sb.append("\012"); sb.append("\075"); sb.append("\016"); - sb.append("\u0338"); + sb.append("\u033c"); sb.append("\075"); sb.append("\166"); sb.append("\111"); - sb.append("\u0653"); + sb.append("\u0657"); sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); + sb.append("\240"); + sb.append("\215"); sb.append("\u01ef"); - sb.append("\222"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); sb.append("\152"); - sb.append("\253"); - sb.append("\241"); sb.append("\254"); - sb.append("\240"); + sb.append("\241"); sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); sb.append("\001"); sb.append("\002"); @@ -1815,13 +3364,13 @@ protected EncodedActionTable21() { sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1837,7 +3386,7 @@ protected EncodedActionTable21() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1880,66 +3429,66 @@ protected EncodedActionTable21() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); sb.append("\127"); - sb.append("\ufd50"); + sb.append("\ufd4e"); sb.append("\151"); - sb.append("\ufd50"); + sb.append("\ufd4e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -1951,69 +3500,71 @@ protected EncodedActionTable21() { sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\102"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\112"); - sb.append("\u0657"); + sb.append("\u065b"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -2027,9 +3578,9 @@ protected EncodedActionTable21() { sb.append("\000"); sb.append("\006"); sb.append("\012"); - sb.append("\u0650"); - sb.append("\233"); - sb.append("\u0651"); + sb.append("\u0654"); + sb.append("\234"); + sb.append("\u0655"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -2174,15 +3725,13 @@ protected EncodedActionTable21() { sb.append("\uff67"); sb.append("\151"); sb.append("\uff67"); - sb.append("\172"); - sb.append("\uff67"); sb.append("\173"); sb.append("\uff67"); - sb.append("\177"); + sb.append("\174"); sb.append("\uff67"); sb.append("\200"); sb.append("\uff67"); - sb.append("\202"); + sb.append("\201"); sb.append("\uff67"); sb.append("\203"); sb.append("\uff67"); @@ -2204,7 +3753,7 @@ protected EncodedActionTable21() { sb.append("\uff67"); sb.append("\214"); sb.append("\uff67"); - sb.append("\216"); + sb.append("\215"); sb.append("\uff67"); sb.append("\217"); sb.append("\uff67"); @@ -2218,9 +3767,9 @@ protected EncodedActionTable21() { sb.append("\uff67"); sb.append("\224"); sb.append("\uff67"); - sb.append("\230"); + sb.append("\225"); sb.append("\uff67"); - sb.append("\233"); + sb.append("\231"); sb.append("\uff67"); sb.append("\234"); sb.append("\uff67"); @@ -2228,13 +3777,13 @@ protected EncodedActionTable21() { sb.append("\uff67"); sb.append("\236"); sb.append("\uff67"); - sb.append("\240"); + sb.append("\237"); sb.append("\uff67"); - sb.append("\247"); + sb.append("\241"); sb.append("\uff67"); sb.append("\250"); sb.append("\uff67"); - sb.append("\252"); + sb.append("\251"); sb.append("\uff67"); sb.append("\253"); sb.append("\uff67"); @@ -2242,6 +3791,8 @@ protected EncodedActionTable21() { sb.append("\uff67"); sb.append("\255"); sb.append("\uff67"); + sb.append("\256"); + sb.append("\uff67"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -2257,109 +3808,111 @@ protected EncodedActionTable21() { sb.append("\012"); sb.append("\075"); sb.append("\015"); - sb.append("\u0553"); + sb.append("\u0557"); sb.append("\107"); - sb.append("\u0552"); + sb.append("\u0556"); sb.append("\110"); - sb.append("\u0550"); - sb.append("\234"); - sb.append("\u065c"); + sb.append("\u0554"); + sb.append("\235"); + sb.append("\u0660"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\033"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\073"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\112"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\127"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\130"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\131"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\132"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\150"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\151"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\152"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\153"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\154"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\155"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\156"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\157"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\160"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\161"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\162"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\163"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\164"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\165"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\166"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\167"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\170"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\171"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\172"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\173"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\174"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\175"); - sb.append("\ufd73"); + sb.append("\ufd71"); sb.append("\176"); - sb.append("\ufd73"); - sb.append("\201"); - sb.append("\ufd73"); - sb.append("\215"); - sb.append("\ufd73"); - sb.append("\231"); - sb.append("\ufd73"); + sb.append("\ufd71"); + sb.append("\177"); + sb.append("\ufd71"); + sb.append("\202"); + sb.append("\ufd71"); + sb.append("\216"); + sb.append("\ufd71"); sb.append("\232"); - sb.append("\ufd73"); - sb.append("\242"); - sb.append("\ufd73"); - sb.append("\245"); - sb.append("\ufd73"); - sb.append("\251"); - sb.append("\ufd73"); + sb.append("\ufd71"); + sb.append("\233"); + sb.append("\ufd71"); + sb.append("\243"); + sb.append("\ufd71"); + sb.append("\246"); + sb.append("\ufd71"); + sb.append("\252"); + sb.append("\ufd71"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\344"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2369,352 +3922,354 @@ protected EncodedActionTable21() { sb.append("\016"); sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u021d"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u065f"); + sb.append("\232"); + sb.append("\u0663"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\033"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\071"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\072"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\073"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\111"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\112"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\113"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\127"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\130"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\131"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\132"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\134"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\135"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\136"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\137"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\140"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\141"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\142"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\143"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\144"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\145"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\146"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\147"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\150"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\151"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\152"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\153"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\154"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\155"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\156"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\157"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\160"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\161"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\162"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\163"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\164"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\165"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\166"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\167"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\170"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\171"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\172"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\173"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\174"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\175"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\176"); - sb.append("\ufded"); - sb.append("\201"); - sb.append("\ufded"); + sb.append("\ufdec"); + sb.append("\177"); + sb.append("\ufdec"); sb.append("\202"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\203"); - sb.append("\ufded"); - sb.append("\214"); - sb.append("\ufded"); + sb.append("\ufdec"); + sb.append("\204"); + sb.append("\ufdec"); sb.append("\215"); - sb.append("\ufded"); - sb.append("\230"); - sb.append("\ufded"); + sb.append("\ufdec"); + sb.append("\216"); + sb.append("\ufdec"); sb.append("\231"); - sb.append("\ufded"); + sb.append("\ufdec"); sb.append("\232"); - sb.append("\ufded"); - sb.append("\242"); - sb.append("\ufded"); + sb.append("\ufdec"); + sb.append("\233"); + sb.append("\ufdec"); sb.append("\243"); - sb.append("\ufded"); - sb.append("\245"); - sb.append("\ufded"); + sb.append("\ufdec"); + sb.append("\244"); + sb.append("\ufdec"); sb.append("\246"); - sb.append("\ufded"); - sb.append("\251"); - sb.append("\ufded"); + sb.append("\ufdec"); + sb.append("\247"); + sb.append("\ufdec"); + sb.append("\252"); + sb.append("\ufdec"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\012"); sb.append("\065"); sb.append("\uff2b"); - sb.append("\223"); - sb.append("\uff2b"); sb.append("\224"); sb.append("\uff2b"); - sb.append("\250"); + sb.append("\225"); + sb.append("\uff2b"); + sb.append("\251"); sb.append("\uff2b"); sb.append("\001"); sb.append("\002"); diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable22.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable22.java new file mode 100644 index 000000000000..a4be0f3e993a --- /dev/null +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable22.java @@ -0,0 +1,266 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.netbeans.modules.php.editor.parser; + +/** + * Class generated by Parser Cutter + */ +public class EncodedActionTable22 { + protected final StringBuilder sb; + public String getTableData() { + return sb.toString(); + } + protected EncodedActionTable22() { + sb = new StringBuilder(); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\210"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\217"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\u0211"); + sb.append("\220"); + sb.append("\u0180"); + sb.append("\221"); + sb.append("\u0181"); + sb.append("\222"); + sb.append("\u0194"); + sb.append("\223"); + sb.append("\u0203"); + sb.append("\224"); + sb.append("\u017c"); + sb.append("\225"); + sb.append("\u0163"); + sb.append("\226"); + sb.append("\u0191"); + sb.append("\227"); + sb.append("\u0190"); + sb.append("\230"); + sb.append("\u019f"); + sb.append("\231"); + sb.append("\u01b4"); + sb.append("\232"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0195"); + sb.append("\242"); + sb.append("\u018f"); + sb.append("\245"); + sb.append("\u0210"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015d"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u0663"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufdeb"); + sb.append("\033"); + sb.append("\ufdeb"); + sb.append("\071"); + sb.append("\ufdeb"); + sb.append("\072"); + sb.append("\ufdeb"); + sb.append("\073"); + sb.append("\ufdeb"); + sb.append("\111"); + sb.append("\ufdeb"); + sb.append("\112"); + sb.append("\ufdeb"); + sb.append("\113"); + sb.append("\ufdeb"); + sb.append("\127"); + sb.append("\ufdeb"); + sb.append("\130"); + sb.append("\ufdeb"); + sb.append("\131"); + sb.append("\ufdeb"); + sb.append("\132"); + sb.append("\ufdeb"); + sb.append("\134"); + sb.append("\ufdeb"); + sb.append("\135"); + sb.append("\ufdeb"); + sb.append("\136"); + sb.append("\ufdeb"); + sb.append("\137"); + sb.append("\ufdeb"); + sb.append("\140"); + sb.append("\ufdeb"); + sb.append("\141"); + sb.append("\ufdeb"); + sb.append("\142"); + sb.append("\ufdeb"); + sb.append("\143"); + sb.append("\ufdeb"); + sb.append("\144"); + sb.append("\ufdeb"); + sb.append("\145"); + sb.append("\ufdeb"); + sb.append("\146"); + sb.append("\ufdeb"); + sb.append("\147"); + sb.append("\ufdeb"); + sb.append("\150"); + sb.append("\ufdeb"); + sb.append("\151"); + sb.append("\ufdeb"); + sb.append("\152"); + sb.append("\ufdeb"); + sb.append("\153"); + sb.append("\ufdeb"); + sb.append("\154"); + sb.append("\ufdeb"); + sb.append("\155"); + sb.append("\ufdeb"); + sb.append("\156"); + sb.append("\ufdeb"); + sb.append("\157"); + sb.append("\ufdeb"); + sb.append("\160"); + sb.append("\ufdeb"); + sb.append("\161"); + sb.append("\ufdeb"); + sb.append("\162"); + sb.append("\ufdeb"); + sb.append("\163"); + sb.append("\ufdeb"); + sb.append("\164"); + sb.append("\ufdeb"); + sb.append("\165"); + sb.append("\ufdeb"); + sb.append("\166"); + sb.append("\ufdeb"); + sb.append("\167"); + sb.append("\ufdeb"); + sb.append("\170"); + sb.append("\ufdeb"); + sb.append("\171"); + sb.append("\ufdeb"); + sb.append("\172"); + sb.append("\ufdeb"); + sb.append("\173"); + sb.append("\ufdeb"); + sb.append("\174"); + sb.append("\ufdeb"); + sb.append("\175"); + sb.append("\ufdeb"); + sb.append("\176"); + sb.append("\ufdeb"); + sb.append("\177"); + sb.append("\ufdeb"); + sb.append("\202"); + sb.append("\ufdeb"); + sb.append("\203"); + sb.append("\ufdeb"); + sb.append("\204"); + sb.append("\ufdeb"); + sb.append("\215"); + sb.append("\ufdeb"); + sb.append("\216"); + sb.append("\ufdeb"); + sb.append("\231"); + sb.append("\ufdeb"); + sb.append("\232"); + sb.append("\ufdeb"); + sb.append("\233"); + sb.append("\ufdeb"); + sb.append("\243"); + sb.append("\ufdeb"); + sb.append("\244"); + sb.append("\ufdeb"); + sb.append("\246"); + sb.append("\ufdeb"); + sb.append("\247"); + sb.append("\ufdeb"); + sb.append("\252"); + sb.append("\ufdeb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\065"); + sb.append("\uff2b"); + sb.append("\224"); + sb.append("\uff2b"); + sb.append("\225"); + sb.append("\uff2b"); + sb.append("\251"); + sb.append("\uff2b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\010"); + sb.append("\uff26"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\002"); + sb.append("\000"); + sb.append("\001"); + sb.append("\002"); + sb.append(""); + } +} \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java index a8ac7cd27c40..d0e731156763 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,86 +29,24 @@ public String getTableData() { } protected EncodedActionTable3() { sb = new StringBuilder(); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\232"); - sb.append("\uffc7"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); sb.append("\000"); + sb.append("\006"); sb.append("\012"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\230"); - sb.append("\uff43"); - sb.append("\232"); - sb.append("\uffca"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\044"); - sb.append("\u0397"); - sb.append("\045"); - sb.append("\u0398"); - sb.append("\071"); - sb.append("\ufde2"); - sb.append("\072"); - sb.append("\ufde2"); - sb.append("\113"); - sb.append("\ufde2"); - sb.append("\232"); - sb.append("\uffae"); + sb.append("\075"); + sb.append("\234"); + sb.append("\u0299"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -117,13 +56,13 @@ protected EncodedActionTable3() { sb.append("\016"); sb.append("\071"); sb.append("\032"); - sb.append("\106"); + sb.append("\u01bb"); sb.append("\036"); sb.append("\125"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -166,376 +105,344 @@ protected EncodedActionTable3() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\232"); - sb.append("\uffd5"); - sb.append("\233"); - sb.append("\152"); + sb.append("\217"); + sb.append("\u01fa"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\232"); - sb.append("\u0394"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\104"); + sb.append("\116"); sb.append("\031"); - sb.append("\ufdc3"); - sb.append("\127"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); + sb.append("\071"); + sb.append("\ufcc5"); + sb.append("\072"); + sb.append("\ufcc5"); + sb.append("\111"); + sb.append("\ufcc5"); + sb.append("\113"); + sb.append("\ufcc5"); sb.append("\130"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\131"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\132"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\150"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\152"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\153"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\154"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\155"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\156"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\157"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\160"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\161"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\162"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\163"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\164"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\165"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\166"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\167"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\170"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\171"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\172"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\173"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\174"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\175"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); sb.append("\176"); - sb.append("\ufdc3"); - sb.append("\201"); - sb.append("\ufdc3"); + sb.append("\ufe5f"); + sb.append("\177"); + sb.append("\ufe5f"); + sb.append("\202"); + sb.append("\ufe5f"); + sb.append("\215"); + sb.append("\ufcc5"); sb.append("\231"); - sb.append("\ufdc3"); + sb.append("\ufcc5"); sb.append("\232"); - sb.append("\uffb5"); - sb.append("\242"); - sb.append("\ufdc3"); + sb.append("\u03e8"); + sb.append("\243"); + sb.append("\ufe5f"); + sb.append("\246"); + sb.append("\ufe5f"); + sb.append("\252"); + sb.append("\ufe5f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\036"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\065"); + sb.append("\u01fc"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01f8"); + sb.append("\234"); + sb.append("\152"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); - sb.append("\ufdc3"); - sb.append("\251"); - sb.append("\ufdc3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\127"); - sb.append("\ufec2"); - sb.append("\231"); - sb.append("\ufec2"); + sb.append("\065"); + sb.append("\u03e1"); + sb.append("\250"); + sb.append("\021"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\232"); - sb.append("\u0392"); + sb.append("\012"); + sb.append("\067"); + sb.append("\ufdcd"); + sb.append("\070"); + sb.append("\ufdcd"); + sb.append("\111"); + sb.append("\ufdcd"); + sb.append("\231"); + sb.append("\u0242"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\104"); sb.append("\031"); - sb.append("\ufdc7"); - sb.append("\127"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\130"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\131"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\132"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\150"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\152"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\153"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\154"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\155"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\156"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\157"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\160"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\161"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\162"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\163"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\164"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\165"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\166"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\167"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\170"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\171"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\172"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\173"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\174"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\175"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); sb.append("\176"); - sb.append("\ufdc7"); - sb.append("\201"); - sb.append("\ufdc7"); + sb.append("\ufdcd"); + sb.append("\177"); + sb.append("\ufdcd"); + sb.append("\202"); + sb.append("\ufdcd"); sb.append("\231"); - sb.append("\ufdc7"); + sb.append("\u01ff"); sb.append("\232"); - sb.append("\uffb1"); - sb.append("\242"); - sb.append("\ufdc7"); - sb.append("\245"); - sb.append("\ufdc7"); - sb.append("\251"); - sb.append("\ufdc7"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\016"); - sb.append("\u0338"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); + sb.append("\ufdcd"); + sb.append("\243"); + sb.append("\ufdcd"); + sb.append("\246"); + sb.append("\ufdcd"); + sb.append("\252"); + sb.append("\ufdcd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\142"); + sb.append("\102"); sb.append("\031"); - sb.append("\ufd50"); - sb.append("\127"); - sb.append("\ufeb8"); + sb.append("\ufe5e"); sb.append("\130"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\131"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\132"); - sb.append("\ufd50"); - sb.append("\134"); - sb.append("\u0371"); - sb.append("\135"); - sb.append("\u0376"); - sb.append("\136"); - sb.append("\u0372"); - sb.append("\137"); - sb.append("\u037c"); - sb.append("\140"); - sb.append("\u0375"); - sb.append("\141"); - sb.append("\u037b"); - sb.append("\142"); - sb.append("\u0378"); - sb.append("\143"); - sb.append("\u037a"); - sb.append("\144"); - sb.append("\u0374"); - sb.append("\145"); - sb.append("\u0370"); - sb.append("\146"); - sb.append("\u0377"); - sb.append("\147"); - sb.append("\u0379"); + sb.append("\ufe5e"); sb.append("\150"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\152"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\153"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\154"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\155"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\156"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\157"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\160"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\161"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\162"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\163"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\164"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\165"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\166"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\167"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\170"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\171"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\172"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\173"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\174"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\175"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\176"); - sb.append("\ufd50"); - sb.append("\201"); - sb.append("\ufd50"); + sb.append("\ufe5e"); + sb.append("\177"); + sb.append("\ufe5e"); sb.append("\202"); - sb.append("\ufd4e"); - sb.append("\203"); - sb.append("\ufd4e"); - sb.append("\231"); - sb.append("\ufeb8"); - sb.append("\242"); - sb.append("\ufd50"); + sb.append("\ufe5e"); + sb.append("\232"); + sb.append("\u03d7"); sb.append("\243"); - sb.append("\u0373"); - sb.append("\245"); - sb.append("\ufd50"); + sb.append("\ufe5e"); sb.append("\246"); - sb.append("\u037d"); - sb.append("\251"); - sb.append("\ufd50"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\230"); - sb.append("\u036d"); - sb.append("\232"); - sb.append("\uffc5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\232"); - sb.append("\u036b"); + sb.append("\ufe5e"); + sb.append("\252"); + sb.append("\ufe5e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\201"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -544,130 +451,304 @@ protected EncodedActionTable3() { sb.append("\031"); sb.append("\016"); sb.append("\071"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\106"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\125"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\222"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\026"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\210"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\010"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\051"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\166"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\144"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\117"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\046"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\160"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\013"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\u0210"); sb.append("\124"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\116"); + sb.append("\u0215"); sb.append("\126"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u01b0"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\232"); - sb.append("\ufff2"); - sb.append("\233"); - sb.append("\152"); + sb.append("\ufec3"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\127"); - sb.append("\ufec0"); sb.append("\231"); - sb.append("\ufec0"); + sb.append("\u03d2"); + sb.append("\233"); + sb.append("\uffce"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\106"); + sb.append("\031"); + sb.append("\ufdc4"); + sb.append("\127"); + sb.append("\ufdc4"); + sb.append("\130"); + sb.append("\ufdc4"); + sb.append("\131"); + sb.append("\ufdc4"); + sb.append("\132"); + sb.append("\ufdc4"); + sb.append("\150"); + sb.append("\ufdc4"); + sb.append("\152"); + sb.append("\ufdc4"); + sb.append("\153"); + sb.append("\ufdc4"); + sb.append("\154"); + sb.append("\ufdc4"); + sb.append("\155"); + sb.append("\ufdc4"); + sb.append("\156"); + sb.append("\ufdc4"); + sb.append("\157"); + sb.append("\ufdc4"); + sb.append("\160"); + sb.append("\ufdc4"); + sb.append("\161"); + sb.append("\ufdc4"); + sb.append("\162"); + sb.append("\ufdc4"); + sb.append("\163"); + sb.append("\ufdc4"); + sb.append("\164"); + sb.append("\ufdc4"); + sb.append("\165"); + sb.append("\ufdc4"); + sb.append("\166"); + sb.append("\ufdc4"); + sb.append("\167"); + sb.append("\ufdc4"); + sb.append("\170"); + sb.append("\ufdc4"); + sb.append("\171"); + sb.append("\ufdc4"); + sb.append("\172"); + sb.append("\ufdc4"); + sb.append("\173"); + sb.append("\ufdc4"); + sb.append("\174"); + sb.append("\ufdc4"); + sb.append("\175"); + sb.append("\ufdc4"); + sb.append("\176"); + sb.append("\ufdc4"); + sb.append("\177"); + sb.append("\ufdc4"); + sb.append("\202"); + sb.append("\ufdc4"); + sb.append("\232"); + sb.append("\ufdc4"); + sb.append("\233"); + sb.append("\uffb6"); + sb.append("\243"); + sb.append("\ufdc4"); + sb.append("\246"); + sb.append("\ufdc4"); + sb.append("\252"); + sb.append("\ufdc4"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\172"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -683,7 +764,7 @@ protected EncodedActionTable3() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -726,106 +807,72 @@ protected EncodedActionTable3() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufec4"); + sb.append("\u01b5"); sb.append("\233"); - sb.append("\152"); + sb.append("\ufff3"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\040"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\065"); - sb.append("\u01f8"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01f4"); - sb.append("\232"); - sb.append("\uffea"); - sb.append("\233"); - sb.append("\152"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); sb.append("\172"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -841,7 +888,7 @@ protected EncodedActionTable3() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -884,72 +931,100 @@ protected EncodedActionTable3() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\232"); - sb.append("\uffe9"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\233"); - sb.append("\152"); + sb.append("\uffc7"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\012"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\231"); + sb.append("\uff43"); + sb.append("\233"); + sb.append("\uffca"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); + sb.append("\044"); + sb.append("\u039b"); + sb.append("\045"); + sb.append("\u039c"); + sb.append("\071"); + sb.append("\ufde1"); + sb.append("\072"); + sb.append("\ufde1"); + sb.append("\113"); + sb.append("\ufde1"); + sb.append("\233"); + sb.append("\uffae"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\172"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -965,7 +1040,7 @@ protected EncodedActionTable3() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1008,134 +1083,156 @@ protected EncodedActionTable3() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\232"); - sb.append("\ufff0"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\233"); - sb.append("\152"); + sb.append("\uffd5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\004"); + sb.append("\233"); + sb.append("\u0398"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\106"); sb.append("\031"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\127"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\130"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\131"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\132"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\150"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\152"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\153"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\154"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\155"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\156"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\157"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\160"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\161"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\162"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\163"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\164"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\165"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\166"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\167"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\170"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\171"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\172"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\173"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\174"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\175"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); sb.append("\176"); - sb.append("\ufdc8"); - sb.append("\201"); - sb.append("\ufdc8"); - sb.append("\231"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); + sb.append("\177"); + sb.append("\ufdc2"); + sb.append("\202"); + sb.append("\ufdc2"); sb.append("\232"); - sb.append("\uffb2"); - sb.append("\242"); - sb.append("\ufdc8"); - sb.append("\245"); - sb.append("\ufdc8"); - sb.append("\251"); - sb.append("\ufdc8"); + sb.append("\ufdc2"); + sb.append("\233"); + sb.append("\uffb5"); + sb.append("\243"); + sb.append("\ufdc2"); + sb.append("\246"); + sb.append("\ufdc2"); + sb.append("\252"); + sb.append("\ufdc2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufec2"); + sb.append("\232"); + sb.append("\ufec2"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\233"); + sb.append("\u0396"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\106"); sb.append("\031"); sb.append("\ufdc6"); sb.append("\127"); @@ -1190,46 +1287,178 @@ protected EncodedActionTable3() { sb.append("\ufdc6"); sb.append("\176"); sb.append("\ufdc6"); - sb.append("\201"); + sb.append("\177"); sb.append("\ufdc6"); - sb.append("\231"); + sb.append("\202"); sb.append("\ufdc6"); sb.append("\232"); - sb.append("\uffb7"); - sb.append("\242"); sb.append("\ufdc6"); - sb.append("\245"); + sb.append("\233"); + sb.append("\uffb1"); + sb.append("\243"); sb.append("\ufdc6"); - sb.append("\251"); + sb.append("\246"); + sb.append("\ufdc6"); + sb.append("\252"); sb.append("\ufdc6"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\230"); - sb.append("\u0363"); - sb.append("\232"); - sb.append("\ufff1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\230"); - sb.append("\u034a"); - sb.append("\232"); - sb.append("\uffc4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); + sb.append("\034"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\016"); + sb.append("\u033c"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\144"); + sb.append("\031"); + sb.append("\ufd4e"); + sb.append("\127"); + sb.append("\ufeb8"); + sb.append("\130"); + sb.append("\ufd4e"); + sb.append("\131"); + sb.append("\ufd4e"); + sb.append("\132"); + sb.append("\ufd4e"); + sb.append("\134"); + sb.append("\u0375"); + sb.append("\135"); + sb.append("\u037a"); + sb.append("\136"); + sb.append("\u0376"); + sb.append("\137"); + sb.append("\u0380"); + sb.append("\140"); + sb.append("\u0379"); + sb.append("\141"); + sb.append("\u037f"); + sb.append("\142"); + sb.append("\u037c"); + sb.append("\143"); + sb.append("\u037e"); + sb.append("\144"); + sb.append("\u0378"); + sb.append("\145"); + sb.append("\u0374"); + sb.append("\146"); + sb.append("\u037b"); + sb.append("\147"); + sb.append("\u037d"); + sb.append("\150"); + sb.append("\ufd4e"); + sb.append("\152"); + sb.append("\ufd4e"); + sb.append("\153"); + sb.append("\ufd4e"); + sb.append("\154"); + sb.append("\ufd4e"); + sb.append("\155"); + sb.append("\ufd4e"); + sb.append("\156"); + sb.append("\ufd4e"); + sb.append("\157"); + sb.append("\ufd4e"); + sb.append("\160"); + sb.append("\ufd4e"); + sb.append("\161"); + sb.append("\ufd4e"); + sb.append("\162"); + sb.append("\ufd4e"); + sb.append("\163"); + sb.append("\ufd4e"); + sb.append("\164"); + sb.append("\ufd4e"); + sb.append("\165"); + sb.append("\ufd4e"); + sb.append("\166"); + sb.append("\ufd4e"); + sb.append("\167"); + sb.append("\ufd4e"); + sb.append("\170"); + sb.append("\ufd4e"); + sb.append("\171"); + sb.append("\ufd4e"); + sb.append("\172"); + sb.append("\ufd4e"); + sb.append("\173"); + sb.append("\ufd4e"); + sb.append("\174"); + sb.append("\ufd4e"); + sb.append("\175"); + sb.append("\ufd4e"); + sb.append("\176"); + sb.append("\ufd4e"); + sb.append("\177"); + sb.append("\ufd4e"); + sb.append("\202"); + sb.append("\ufd4e"); + sb.append("\203"); + sb.append("\ufd4c"); + sb.append("\204"); + sb.append("\ufd4c"); + sb.append("\232"); + sb.append("\ufeb8"); + sb.append("\243"); + sb.append("\ufd4e"); + sb.append("\244"); + sb.append("\u0377"); + sb.append("\246"); + sb.append("\ufd4e"); + sb.append("\247"); + sb.append("\u0381"); + sb.append("\252"); + sb.append("\ufd4e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\231"); + sb.append("\u0371"); + sb.append("\233"); + sb.append("\uffc5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\233"); + sb.append("\u036f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\172"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1245,7 +1474,7 @@ protected EncodedActionTable3() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1288,1482 +1517,388 @@ protected EncodedActionTable3() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\232"); - sb.append("\uffef"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\233"); - sb.append("\152"); + sb.append("\ufff2"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); - sb.append("\031"); - sb.append("\ufdc2"); + sb.append("\006"); sb.append("\127"); - sb.append("\ufdc2"); - sb.append("\130"); - sb.append("\ufdc2"); - sb.append("\131"); - sb.append("\ufdc2"); - sb.append("\132"); - sb.append("\ufdc2"); - sb.append("\150"); - sb.append("\ufdc2"); - sb.append("\152"); - sb.append("\ufdc2"); - sb.append("\153"); - sb.append("\ufdc2"); - sb.append("\154"); - sb.append("\ufdc2"); - sb.append("\155"); - sb.append("\ufdc2"); - sb.append("\156"); - sb.append("\ufdc2"); - sb.append("\157"); - sb.append("\ufdc2"); - sb.append("\160"); - sb.append("\ufdc2"); - sb.append("\161"); - sb.append("\ufdc2"); - sb.append("\162"); - sb.append("\ufdc2"); - sb.append("\163"); - sb.append("\ufdc2"); - sb.append("\164"); - sb.append("\ufdc2"); - sb.append("\165"); - sb.append("\ufdc2"); - sb.append("\166"); - sb.append("\ufdc2"); - sb.append("\167"); - sb.append("\ufdc2"); - sb.append("\170"); - sb.append("\ufdc2"); - sb.append("\171"); - sb.append("\ufdc2"); + sb.append("\ufec0"); + sb.append("\232"); + sb.append("\ufec0"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\172"); - sb.append("\ufdc2"); - sb.append("\173"); - sb.append("\ufdc2"); - sb.append("\174"); - sb.append("\ufdc2"); - sb.append("\175"); - sb.append("\ufdc2"); - sb.append("\176"); - sb.append("\ufdc2"); - sb.append("\201"); - sb.append("\ufdc2"); - sb.append("\231"); - sb.append("\ufdc2"); - sb.append("\232"); - sb.append("\uffb0"); - sb.append("\242"); - sb.append("\ufdc2"); - sb.append("\245"); - sb.append("\ufdc2"); - sb.append("\251"); - sb.append("\ufdc2"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\104"); - sb.append("\031"); - sb.append("\ufdc9"); - sb.append("\127"); - sb.append("\ufdc9"); - sb.append("\130"); - sb.append("\ufdc9"); - sb.append("\131"); - sb.append("\ufdc9"); - sb.append("\132"); - sb.append("\ufdc9"); - sb.append("\150"); - sb.append("\ufdc9"); - sb.append("\152"); - sb.append("\ufdc9"); - sb.append("\153"); - sb.append("\ufdc9"); - sb.append("\154"); - sb.append("\ufdc9"); - sb.append("\155"); - sb.append("\ufdc9"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\ufdc9"); - sb.append("\157"); - sb.append("\ufdc9"); - sb.append("\160"); - sb.append("\ufdc9"); - sb.append("\161"); - sb.append("\ufdc9"); - sb.append("\162"); - sb.append("\ufdc9"); - sb.append("\163"); - sb.append("\ufdc9"); - sb.append("\164"); - sb.append("\ufdc9"); - sb.append("\165"); - sb.append("\ufdc9"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\ufdc9"); - sb.append("\167"); - sb.append("\ufdc9"); - sb.append("\170"); - sb.append("\ufdc9"); - sb.append("\171"); - sb.append("\ufdc9"); - sb.append("\172"); - sb.append("\ufdc9"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\ufdc9"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufdc9"); - sb.append("\175"); - sb.append("\ufdc9"); sb.append("\176"); - sb.append("\ufdc9"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufdc9"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufdc9"); + sb.append("\u01b5"); sb.append("\232"); - sb.append("\uffb3"); - sb.append("\242"); - sb.append("\ufdc9"); - sb.append("\245"); - sb.append("\ufdc9"); - sb.append("\251"); - sb.append("\ufdc9"); + sb.append("\ufec4"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u0344"); + sb.append("\040"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\065"); + sb.append("\u01fc"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); sb.append("\231"); - sb.append("\ufd6e"); + sb.append("\u01f8"); + sb.append("\233"); + sb.append("\uffea"); + sb.append("\234"); + sb.append("\152"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\172"); sb.append("\004"); - sb.append("\231"); - sb.append("\u0343"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\102"); - sb.append("\031"); - sb.append("\ufd58"); - sb.append("\127"); - sb.append("\ufeb9"); - sb.append("\130"); - sb.append("\ufd58"); - sb.append("\131"); - sb.append("\ufd58"); - sb.append("\132"); - sb.append("\ufd58"); - sb.append("\150"); - sb.append("\ufd58"); - sb.append("\152"); - sb.append("\ufd58"); - sb.append("\153"); - sb.append("\ufd58"); - sb.append("\154"); - sb.append("\ufd58"); - sb.append("\155"); - sb.append("\ufd58"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\ufd58"); - sb.append("\157"); - sb.append("\ufd58"); - sb.append("\160"); - sb.append("\ufd58"); - sb.append("\161"); - sb.append("\ufd58"); - sb.append("\162"); - sb.append("\ufd58"); - sb.append("\163"); - sb.append("\ufd58"); - sb.append("\164"); - sb.append("\ufd58"); - sb.append("\165"); - sb.append("\ufd58"); - sb.append("\166"); - sb.append("\ufd58"); - sb.append("\167"); - sb.append("\ufd58"); - sb.append("\170"); - sb.append("\ufd58"); - sb.append("\171"); - sb.append("\ufd58"); - sb.append("\172"); - sb.append("\ufd58"); - sb.append("\173"); - sb.append("\ufd58"); - sb.append("\174"); - sb.append("\ufd58"); + sb.append("\007"); sb.append("\175"); - sb.append("\ufd58"); - sb.append("\176"); - sb.append("\ufd58"); - sb.append("\201"); - sb.append("\ufd58"); - sb.append("\231"); - sb.append("\ufeb9"); - sb.append("\242"); - sb.append("\ufd58"); - sb.append("\245"); - sb.append("\ufd58"); - sb.append("\251"); - sb.append("\ufd58"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\120"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufff7"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufddf"); - sb.append("\072"); - sb.append("\ufddf"); - sb.append("\111"); - sb.append("\ufff7"); - sb.append("\113"); - sb.append("\ufddf"); - sb.append("\127"); - sb.append("\ufff7"); - sb.append("\130"); - sb.append("\ufff7"); - sb.append("\131"); - sb.append("\ufff7"); - sb.append("\132"); - sb.append("\ufff7"); - sb.append("\150"); - sb.append("\ufff7"); - sb.append("\152"); - sb.append("\ufff7"); - sb.append("\153"); - sb.append("\ufff7"); - sb.append("\154"); - sb.append("\ufff7"); - sb.append("\155"); - sb.append("\ufff7"); - sb.append("\156"); - sb.append("\ufff7"); - sb.append("\157"); - sb.append("\ufff7"); - sb.append("\160"); - sb.append("\ufff7"); - sb.append("\161"); - sb.append("\ufff7"); - sb.append("\162"); - sb.append("\ufff7"); - sb.append("\163"); - sb.append("\ufff7"); - sb.append("\164"); - sb.append("\ufff7"); - sb.append("\165"); - sb.append("\ufff7"); - sb.append("\166"); - sb.append("\ufff7"); - sb.append("\167"); - sb.append("\ufff7"); - sb.append("\170"); - sb.append("\ufff7"); - sb.append("\171"); - sb.append("\ufff7"); - sb.append("\172"); - sb.append("\ufff7"); - sb.append("\173"); - sb.append("\ufff7"); - sb.append("\174"); - sb.append("\ufff7"); - sb.append("\175"); - sb.append("\ufff7"); - sb.append("\176"); - sb.append("\ufff7"); - sb.append("\201"); - sb.append("\ufff7"); - sb.append("\214"); - sb.append("\ufff7"); - sb.append("\230"); - sb.append("\ufddf"); - sb.append("\231"); - sb.append("\ufff7"); - sb.append("\232"); - sb.append("\ufccb"); - sb.append("\242"); - sb.append("\ufff7"); - sb.append("\245"); - sb.append("\ufff7"); - sb.append("\251"); - sb.append("\ufff7"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\230"); - sb.append("\u0326"); - sb.append("\232"); - sb.append("\uffbe"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\032"); sb.append("\106"); - sb.append("\031"); - sb.append("\ufdd1"); - sb.append("\127"); - sb.append("\ufdd1"); - sb.append("\130"); - sb.append("\ufdd1"); - sb.append("\131"); - sb.append("\ufdd1"); - sb.append("\132"); - sb.append("\ufdd1"); - sb.append("\150"); - sb.append("\ufdd1"); - sb.append("\152"); - sb.append("\ufdd1"); - sb.append("\153"); - sb.append("\ufdd1"); - sb.append("\154"); - sb.append("\ufdd1"); - sb.append("\155"); - sb.append("\ufdd1"); - sb.append("\156"); - sb.append("\ufdd1"); - sb.append("\157"); - sb.append("\ufdd1"); - sb.append("\160"); - sb.append("\ufdd1"); - sb.append("\161"); - sb.append("\ufdd1"); - sb.append("\162"); - sb.append("\ufdd1"); - sb.append("\163"); - sb.append("\ufdd1"); - sb.append("\164"); - sb.append("\ufdd1"); - sb.append("\165"); - sb.append("\ufdd1"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\ufdd1"); - sb.append("\167"); - sb.append("\ufdd1"); - sb.append("\170"); - sb.append("\ufdd1"); - sb.append("\171"); - sb.append("\ufdd1"); - sb.append("\172"); - sb.append("\ufdd1"); - sb.append("\173"); - sb.append("\ufdd1"); - sb.append("\174"); - sb.append("\ufdd1"); - sb.append("\175"); - sb.append("\ufdd1"); - sb.append("\176"); - sb.append("\ufdd1"); - sb.append("\201"); - sb.append("\ufdd1"); - sb.append("\230"); - sb.append("\u0321"); - sb.append("\231"); - sb.append("\ufdd1"); - sb.append("\232"); - sb.append("\uffe8"); - sb.append("\242"); - sb.append("\ufdd1"); - sb.append("\245"); - sb.append("\ufdd1"); - sb.append("\251"); - sb.append("\ufdd1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); sb.append("\104"); - sb.append("\031"); - sb.append("\ufdc4"); - sb.append("\127"); - sb.append("\ufdc4"); - sb.append("\130"); - sb.append("\ufdc4"); - sb.append("\131"); - sb.append("\ufdc4"); - sb.append("\132"); - sb.append("\ufdc4"); - sb.append("\150"); - sb.append("\ufdc4"); - sb.append("\152"); - sb.append("\ufdc4"); - sb.append("\153"); - sb.append("\ufdc4"); - sb.append("\154"); - sb.append("\ufdc4"); - sb.append("\155"); - sb.append("\ufdc4"); - sb.append("\156"); - sb.append("\ufdc4"); - sb.append("\157"); - sb.append("\ufdc4"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); sb.append("\160"); - sb.append("\ufdc4"); - sb.append("\161"); - sb.append("\ufdc4"); - sb.append("\162"); - sb.append("\ufdc4"); - sb.append("\163"); - sb.append("\ufdc4"); - sb.append("\164"); - sb.append("\ufdc4"); - sb.append("\165"); - sb.append("\ufdc4"); - sb.append("\166"); - sb.append("\ufdc4"); - sb.append("\167"); - sb.append("\ufdc4"); - sb.append("\170"); - sb.append("\ufdc4"); - sb.append("\171"); - sb.append("\ufdc4"); - sb.append("\172"); - sb.append("\ufdc4"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\ufdc4"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufdc4"); - sb.append("\175"); - sb.append("\ufdc4"); sb.append("\176"); - sb.append("\ufdc4"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufdc4"); - sb.append("\231"); - sb.append("\ufdc4"); - sb.append("\232"); - sb.append("\uffb4"); - sb.append("\242"); - sb.append("\ufdc4"); - sb.append("\245"); - sb.append("\ufdc4"); - sb.append("\251"); - sb.append("\ufdc4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\230"); - sb.append("\u0277"); - sb.append("\232"); - sb.append("\uffcf"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufeba"); - sb.append("\231"); - sb.append("\ufeba"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); sb.append("\120"); - sb.append("\031"); - sb.append("\ufff8"); - sb.append("\071"); - sb.append("\ufde0"); - sb.append("\072"); - sb.append("\ufde0"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\113"); - sb.append("\ufde0"); - sb.append("\127"); - sb.append("\ufff8"); - sb.append("\130"); - sb.append("\ufff8"); - sb.append("\131"); - sb.append("\ufff8"); - sb.append("\132"); - sb.append("\ufff8"); - sb.append("\150"); - sb.append("\ufff8"); - sb.append("\152"); - sb.append("\ufff8"); - sb.append("\153"); - sb.append("\ufff8"); - sb.append("\154"); - sb.append("\ufff8"); - sb.append("\155"); - sb.append("\ufff8"); - sb.append("\156"); - sb.append("\ufff8"); - sb.append("\157"); - sb.append("\ufff8"); - sb.append("\160"); - sb.append("\ufff8"); - sb.append("\161"); - sb.append("\ufff8"); - sb.append("\162"); - sb.append("\ufff8"); - sb.append("\163"); - sb.append("\ufff8"); - sb.append("\164"); - sb.append("\ufff8"); - sb.append("\165"); - sb.append("\ufff8"); - sb.append("\166"); - sb.append("\ufff8"); - sb.append("\167"); - sb.append("\ufff8"); - sb.append("\170"); - sb.append("\ufff8"); - sb.append("\171"); - sb.append("\ufff8"); - sb.append("\172"); - sb.append("\ufff8"); - sb.append("\173"); - sb.append("\ufff8"); - sb.append("\174"); - sb.append("\ufff8"); - sb.append("\175"); - sb.append("\ufff8"); - sb.append("\176"); - sb.append("\ufff8"); - sb.append("\201"); - sb.append("\ufff8"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\230"); - sb.append("\ufde0"); - sb.append("\231"); - sb.append("\ufff8"); - sb.append("\232"); - sb.append("\ufccc"); - sb.append("\242"); - sb.append("\ufff8"); - sb.append("\245"); - sb.append("\ufff8"); - sb.append("\251"); - sb.append("\ufff8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\230"); - sb.append("\uff43"); - sb.append("\232"); - sb.append("\uffcb"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\260"); - sb.append("\004"); - sb.append("\ufd6c"); - sb.append("\005"); - sb.append("\ufd6c"); - sb.append("\010"); - sb.append("\ufd6c"); - sb.append("\012"); - sb.append("\ufd6c"); - sb.append("\016"); - sb.append("\ufd6c"); - sb.append("\017"); - sb.append("\ufd6c"); - sb.append("\020"); - sb.append("\ufd6c"); - sb.append("\021"); - sb.append("\ufd6c"); - sb.append("\022"); - sb.append("\ufd6c"); - sb.append("\023"); - sb.append("\ufd6c"); - sb.append("\024"); - sb.append("\ufd6c"); - sb.append("\025"); - sb.append("\ufd6c"); - sb.append("\026"); - sb.append("\ufd6c"); - sb.append("\027"); - sb.append("\ufd6c"); - sb.append("\030"); - sb.append("\ufd6c"); - sb.append("\031"); - sb.append("\ufd6c"); - sb.append("\032"); - sb.append("\ufd6c"); - sb.append("\033"); - sb.append("\ufd6c"); - sb.append("\034"); - sb.append("\ufd6c"); - sb.append("\035"); - sb.append("\ufd6c"); - sb.append("\036"); - sb.append("\ufd6c"); - sb.append("\037"); - sb.append("\ufd6c"); - sb.append("\040"); - sb.append("\ufd6c"); - sb.append("\041"); - sb.append("\ufd6c"); - sb.append("\042"); - sb.append("\ufd6c"); - sb.append("\043"); - sb.append("\ufd6c"); - sb.append("\044"); - sb.append("\ufd6c"); - sb.append("\045"); - sb.append("\ufd6c"); - sb.append("\046"); - sb.append("\ufd6c"); - sb.append("\047"); - sb.append("\ufd6c"); - sb.append("\050"); - sb.append("\ufd6c"); - sb.append("\052"); - sb.append("\ufd6c"); - sb.append("\053"); - sb.append("\ufd6c"); - sb.append("\054"); - sb.append("\ufd6c"); - sb.append("\055"); - sb.append("\ufd6c"); - sb.append("\056"); - sb.append("\ufd6c"); - sb.append("\057"); - sb.append("\ufd6c"); - sb.append("\060"); - sb.append("\ufd6c"); - sb.append("\061"); - sb.append("\ufd6c"); - sb.append("\062"); - sb.append("\ufd6c"); - sb.append("\063"); - sb.append("\ufd6c"); - sb.append("\065"); - sb.append("\ufd6c"); - sb.append("\066"); - sb.append("\ufd6c"); - sb.append("\067"); - sb.append("\ufd6c"); - sb.append("\070"); - sb.append("\ufd6c"); - sb.append("\074"); - sb.append("\ufd6c"); - sb.append("\075"); - sb.append("\ufd6c"); - sb.append("\076"); - sb.append("\ufd6c"); - sb.append("\077"); - sb.append("\ufd6c"); - sb.append("\100"); - sb.append("\ufd6c"); - sb.append("\101"); - sb.append("\ufd6c"); - sb.append("\102"); - sb.append("\ufd6c"); - sb.append("\103"); - sb.append("\ufd6c"); - sb.append("\104"); - sb.append("\ufd6c"); - sb.append("\114"); - sb.append("\ufd6c"); - sb.append("\115"); - sb.append("\ufd6c"); - sb.append("\116"); - sb.append("\ufd6c"); - sb.append("\121"); - sb.append("\ufd6c"); - sb.append("\122"); - sb.append("\ufd6c"); - sb.append("\123"); - sb.append("\ufd6c"); - sb.append("\124"); - sb.append("\ufd6c"); - sb.append("\125"); - sb.append("\ufd6c"); - sb.append("\126"); - sb.append("\ufd6c"); - sb.append("\130"); - sb.append("\ufd6c"); - sb.append("\131"); - sb.append("\ufd6c"); - sb.append("\132"); - sb.append("\ufd6c"); - sb.append("\133"); - sb.append("\ufd6c"); - sb.append("\214"); - sb.append("\ufd6c"); - sb.append("\216"); - sb.append("\ufd6c"); - sb.append("\217"); - sb.append("\ufd6c"); - sb.append("\220"); - sb.append("\ufd6c"); - sb.append("\221"); - sb.append("\ufd6c"); - sb.append("\222"); - sb.append("\ufd6c"); - sb.append("\223"); - sb.append("\ufd6c"); - sb.append("\224"); - sb.append("\ufd6c"); - sb.append("\225"); - sb.append("\ufd6c"); - sb.append("\226"); - sb.append("\ufd6c"); - sb.append("\227"); - sb.append("\ufd6c"); - sb.append("\230"); - sb.append("\ufd6c"); - sb.append("\233"); - sb.append("\ufd6c"); - sb.append("\240"); - sb.append("\ufd6c"); - sb.append("\241"); - sb.append("\ufd6c"); - sb.append("\244"); - sb.append("\ufd6c"); - sb.append("\250"); - sb.append("\ufd6c"); - sb.append("\253"); - sb.append("\ufd6c"); - sb.append("\254"); - sb.append("\ufd6c"); - sb.append("\255"); - sb.append("\ufd6c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u0228"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\244"); - sb.append("\004"); - sb.append("\uff42"); - sb.append("\005"); - sb.append("\uff42"); - sb.append("\010"); - sb.append("\uff42"); - sb.append("\012"); - sb.append("\uff42"); - sb.append("\017"); - sb.append("\uff42"); - sb.append("\020"); - sb.append("\uff42"); - sb.append("\021"); - sb.append("\uff42"); - sb.append("\022"); - sb.append("\uff42"); - sb.append("\023"); - sb.append("\uff42"); - sb.append("\024"); - sb.append("\uff42"); - sb.append("\025"); - sb.append("\uff42"); - sb.append("\026"); - sb.append("\uff42"); - sb.append("\027"); - sb.append("\uff42"); - sb.append("\030"); - sb.append("\uff42"); - sb.append("\031"); - sb.append("\uff42"); - sb.append("\032"); - sb.append("\uff42"); - sb.append("\033"); - sb.append("\uff42"); - sb.append("\034"); - sb.append("\uff42"); - sb.append("\035"); - sb.append("\uff42"); - sb.append("\036"); - sb.append("\uff42"); - sb.append("\037"); - sb.append("\uff42"); - sb.append("\040"); - sb.append("\uff42"); - sb.append("\041"); - sb.append("\uff42"); - sb.append("\042"); - sb.append("\uff42"); - sb.append("\043"); - sb.append("\uff42"); - sb.append("\044"); - sb.append("\uff42"); - sb.append("\045"); - sb.append("\uff42"); - sb.append("\046"); - sb.append("\uff42"); - sb.append("\047"); - sb.append("\uff42"); - sb.append("\050"); - sb.append("\uff42"); - sb.append("\052"); - sb.append("\uff42"); - sb.append("\053"); - sb.append("\uff42"); - sb.append("\054"); - sb.append("\uff42"); - sb.append("\055"); - sb.append("\uff42"); - sb.append("\056"); - sb.append("\uff42"); - sb.append("\057"); - sb.append("\uff42"); - sb.append("\060"); - sb.append("\uff42"); - sb.append("\061"); - sb.append("\uff42"); - sb.append("\062"); - sb.append("\uff42"); - sb.append("\063"); - sb.append("\uff42"); - sb.append("\065"); - sb.append("\uff42"); - sb.append("\066"); - sb.append("\uff42"); - sb.append("\067"); - sb.append("\uff42"); - sb.append("\070"); - sb.append("\uff42"); - sb.append("\074"); - sb.append("\uff42"); - sb.append("\075"); - sb.append("\uff42"); - sb.append("\076"); - sb.append("\uff42"); - sb.append("\077"); - sb.append("\uff42"); - sb.append("\100"); - sb.append("\uff42"); - sb.append("\101"); - sb.append("\uff42"); - sb.append("\102"); - sb.append("\uff42"); - sb.append("\103"); - sb.append("\uff42"); - sb.append("\104"); - sb.append("\uff42"); - sb.append("\114"); - sb.append("\uff42"); - sb.append("\115"); - sb.append("\uff42"); - sb.append("\116"); - sb.append("\uff42"); - sb.append("\121"); - sb.append("\uff42"); - sb.append("\122"); - sb.append("\uff42"); - sb.append("\123"); - sb.append("\uff42"); - sb.append("\124"); - sb.append("\uff42"); - sb.append("\125"); - sb.append("\uff42"); - sb.append("\126"); - sb.append("\uff42"); - sb.append("\130"); - sb.append("\uff42"); - sb.append("\131"); - sb.append("\uff42"); - sb.append("\132"); - sb.append("\uff42"); - sb.append("\133"); - sb.append("\uff42"); - sb.append("\216"); - sb.append("\uff42"); - sb.append("\217"); - sb.append("\uff42"); - sb.append("\220"); - sb.append("\uff42"); - sb.append("\221"); - sb.append("\uff42"); - sb.append("\222"); - sb.append("\uff42"); - sb.append("\223"); - sb.append("\uff42"); - sb.append("\224"); - sb.append("\uff42"); - sb.append("\225"); - sb.append("\uff42"); - sb.append("\226"); - sb.append("\uff42"); - sb.append("\227"); - sb.append("\uff42"); - sb.append("\230"); - sb.append("\uff42"); - sb.append("\240"); - sb.append("\uff42"); - sb.append("\241"); - sb.append("\uff42"); - sb.append("\244"); - sb.append("\uff42"); - sb.append("\250"); - sb.append("\uff42"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\260"); - sb.append("\004"); - sb.append("\ufd6b"); - sb.append("\005"); - sb.append("\ufd6b"); - sb.append("\010"); - sb.append("\ufd6b"); - sb.append("\012"); - sb.append("\ufd6b"); - sb.append("\016"); - sb.append("\ufd6b"); - sb.append("\017"); - sb.append("\ufd6b"); - sb.append("\020"); - sb.append("\ufd6b"); - sb.append("\021"); - sb.append("\ufd6b"); - sb.append("\022"); - sb.append("\ufd6b"); - sb.append("\023"); - sb.append("\ufd6b"); - sb.append("\024"); - sb.append("\ufd6b"); - sb.append("\025"); - sb.append("\ufd6b"); - sb.append("\026"); - sb.append("\ufd6b"); - sb.append("\027"); - sb.append("\ufd6b"); - sb.append("\030"); - sb.append("\ufd6b"); - sb.append("\031"); - sb.append("\ufd6b"); - sb.append("\032"); - sb.append("\ufd6b"); - sb.append("\033"); - sb.append("\ufd6b"); - sb.append("\034"); - sb.append("\ufd6b"); - sb.append("\035"); - sb.append("\ufd6b"); - sb.append("\036"); - sb.append("\ufd6b"); - sb.append("\037"); - sb.append("\ufd6b"); - sb.append("\040"); - sb.append("\ufd6b"); - sb.append("\041"); - sb.append("\ufd6b"); - sb.append("\042"); - sb.append("\ufd6b"); - sb.append("\043"); - sb.append("\ufd6b"); - sb.append("\044"); - sb.append("\ufd6b"); - sb.append("\045"); - sb.append("\ufd6b"); - sb.append("\046"); - sb.append("\ufd6b"); - sb.append("\047"); - sb.append("\ufd6b"); - sb.append("\050"); - sb.append("\ufd6b"); - sb.append("\052"); - sb.append("\ufd6b"); - sb.append("\053"); - sb.append("\ufd6b"); - sb.append("\054"); - sb.append("\ufd6b"); - sb.append("\055"); - sb.append("\ufd6b"); - sb.append("\056"); - sb.append("\ufd6b"); - sb.append("\057"); - sb.append("\ufd6b"); - sb.append("\060"); - sb.append("\ufd6b"); - sb.append("\061"); - sb.append("\ufd6b"); - sb.append("\062"); - sb.append("\ufd6b"); - sb.append("\063"); - sb.append("\ufd6b"); - sb.append("\065"); - sb.append("\ufd6b"); - sb.append("\066"); - sb.append("\ufd6b"); - sb.append("\067"); - sb.append("\ufd6b"); - sb.append("\070"); - sb.append("\ufd6b"); - sb.append("\074"); - sb.append("\ufd6b"); - sb.append("\075"); - sb.append("\ufd6b"); - sb.append("\076"); - sb.append("\ufd6b"); - sb.append("\077"); - sb.append("\ufd6b"); - sb.append("\100"); - sb.append("\ufd6b"); - sb.append("\101"); - sb.append("\ufd6b"); - sb.append("\102"); - sb.append("\ufd6b"); - sb.append("\103"); - sb.append("\ufd6b"); - sb.append("\104"); - sb.append("\ufd6b"); - sb.append("\114"); - sb.append("\ufd6b"); - sb.append("\115"); - sb.append("\ufd6b"); - sb.append("\116"); - sb.append("\ufd6b"); - sb.append("\121"); - sb.append("\ufd6b"); - sb.append("\122"); - sb.append("\ufd6b"); - sb.append("\123"); - sb.append("\ufd6b"); - sb.append("\124"); - sb.append("\ufd6b"); - sb.append("\125"); - sb.append("\ufd6b"); - sb.append("\126"); - sb.append("\ufd6b"); - sb.append("\130"); - sb.append("\ufd6b"); - sb.append("\131"); - sb.append("\ufd6b"); - sb.append("\132"); - sb.append("\ufd6b"); - sb.append("\133"); - sb.append("\ufd6b"); - sb.append("\214"); - sb.append("\ufd6b"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); sb.append("\216"); - sb.append("\ufd6b"); - sb.append("\217"); - sb.append("\ufd6b"); - sb.append("\220"); - sb.append("\ufd6b"); - sb.append("\221"); - sb.append("\ufd6b"); - sb.append("\222"); - sb.append("\ufd6b"); - sb.append("\223"); - sb.append("\ufd6b"); - sb.append("\224"); - sb.append("\ufd6b"); - sb.append("\225"); - sb.append("\ufd6b"); - sb.append("\226"); - sb.append("\ufd6b"); - sb.append("\227"); - sb.append("\ufd6b"); - sb.append("\230"); - sb.append("\ufd6b"); - sb.append("\233"); - sb.append("\ufd6b"); - sb.append("\240"); - sb.append("\ufd6b"); - sb.append("\241"); - sb.append("\ufd6b"); - sb.append("\244"); - sb.append("\ufd6b"); - sb.append("\250"); - sb.append("\ufd6b"); - sb.append("\253"); - sb.append("\ufd6b"); - sb.append("\254"); - sb.append("\ufd6b"); - sb.append("\255"); - sb.append("\ufd6b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\056"); - sb.append("\010"); - sb.append("\ufef5"); - sb.append("\012"); - sb.append("\ufef5"); - sb.append("\075"); - sb.append("\ufef5"); - sb.append("\076"); - sb.append("\ufef5"); - sb.append("\121"); - sb.append("\ufef5"); - sb.append("\150"); - sb.append("\ufef5"); - sb.append("\156"); - sb.append("\ufef5"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\230"); - sb.append("\ufef5"); - sb.append("\231"); - sb.append("\ufefa"); - sb.append("\244"); - sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\251"); - sb.append("\ufef5"); - sb.append("\253"); - sb.append("\ufef5"); - sb.append("\254"); - sb.append("\ufef5"); - sb.append("\255"); - sb.append("\ufef5"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\050"); - sb.append("\010"); - sb.append("\ufef2"); - sb.append("\012"); - sb.append("\ufef2"); - sb.append("\075"); - sb.append("\ufef2"); - sb.append("\076"); - sb.append("\ufef2"); - sb.append("\121"); - sb.append("\ufef2"); - sb.append("\150"); - sb.append("\ufef2"); - sb.append("\156"); - sb.append("\ufef2"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\230"); - sb.append("\ufef2"); - sb.append("\244"); - sb.append("\ufef2"); - sb.append("\251"); - sb.append("\ufef2"); - sb.append("\253"); - sb.append("\ufef2"); - sb.append("\254"); - sb.append("\ufef2"); - sb.append("\255"); - sb.append("\ufef2"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufef6"); - sb.append("\231"); - sb.append("\ufef6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\054"); - sb.append("\010"); - sb.append("\ufef5"); - sb.append("\012"); - sb.append("\ufef5"); - sb.append("\075"); - sb.append("\ufef5"); - sb.append("\076"); - sb.append("\ufef5"); - sb.append("\121"); - sb.append("\ufef5"); - sb.append("\150"); - sb.append("\ufef5"); - sb.append("\156"); - sb.append("\ufef5"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\230"); - sb.append("\ufef5"); - sb.append("\244"); - sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); - sb.append("\251"); - sb.append("\ufef5"); - sb.append("\253"); - sb.append("\ufef5"); - sb.append("\254"); - sb.append("\ufef5"); - sb.append("\255"); - sb.append("\ufef5"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\044"); - sb.append("\010"); - sb.append("\ufef4"); - sb.append("\012"); - sb.append("\ufef4"); - sb.append("\075"); - sb.append("\ufef4"); - sb.append("\076"); - sb.append("\ufef4"); - sb.append("\121"); - sb.append("\ufef4"); - sb.append("\150"); - sb.append("\ufef4"); - sb.append("\156"); - sb.append("\ufef4"); - sb.append("\230"); - sb.append("\ufef4"); - sb.append("\244"); - sb.append("\ufef4"); - sb.append("\250"); - sb.append("\254"); - sb.append("\251"); - sb.append("\ufef4"); - sb.append("\253"); - sb.append("\ufef4"); - sb.append("\254"); - sb.append("\ufef4"); - sb.append("\255"); - sb.append("\ufef4"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u0262"); - sb.append("\231"); - sb.append("\ufd6e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\044"); - sb.append("\010"); - sb.append("\ufef3"); - sb.append("\012"); - sb.append("\ufef3"); - sb.append("\075"); - sb.append("\ufef3"); - sb.append("\076"); - sb.append("\ufef3"); - sb.append("\121"); - sb.append("\ufef3"); - sb.append("\150"); - sb.append("\ufef3"); - sb.append("\156"); - sb.append("\ufef3"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\230"); - sb.append("\ufef3"); - sb.append("\244"); - sb.append("\ufef3"); - sb.append("\250"); - sb.append("\254"); - sb.append("\251"); - sb.append("\ufef3"); - sb.append("\253"); - sb.append("\ufef3"); - sb.append("\254"); - sb.append("\ufef3"); - sb.append("\255"); - sb.append("\ufef3"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u0241"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufef9"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufef9"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\ufee0"); - sb.append("\075"); - sb.append("\310"); - sb.append("\076"); - sb.append("\313"); - sb.append("\121"); + sb.append("\u01b5"); + sb.append("\233"); + sb.append("\uffe9"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); sb.append("\237"); - sb.append("\150"); - sb.append("\316"); - sb.append("\156"); - sb.append("\ufee0"); - sb.append("\230"); - sb.append("\321"); - sb.append("\244"); - sb.append("\ufee0"); - sb.append("\251"); - sb.append("\ufee0"); - sb.append("\253"); - sb.append("\241"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); sb.append("\254"); - sb.append("\240"); + sb.append("\147"); sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\012"); - sb.append("\uff43"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\244"); - sb.append("\uff43"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\012"); - sb.append("\uff41"); - sb.append("\244"); - sb.append("\u0234"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\012"); - sb.append("\uff40"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\172"); sb.append("\004"); - sb.append("\012"); - sb.append("\u0236"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufee4"); - sb.append("\134"); - sb.append("\u0237"); - sb.append("\231"); - sb.append("\ufee4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\072"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\357"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); sb.append("\015"); - sb.append("\364"); + sb.append("\031"); sb.append("\016"); - sb.append("\356"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); sb.append("\075"); - sb.append("\351"); + sb.append("\166"); sb.append("\077"); sb.append("\123"); sb.append("\100"); @@ -2784,180 +1919,244 @@ protected EncodedActionTable3() { sb.append("\046"); sb.append("\121"); sb.append("\160"); - sb.append("\172"); - sb.append("\362"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\352"); - sb.append("\177"); - sb.append("\347"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); sb.append("\200"); - sb.append("\354"); - sb.append("\214"); - sb.append("\360"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); sb.append("\216"); - sb.append("\u023a"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\366"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\233"); + sb.append("\ufff0"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\253"); - sb.append("\147"); + sb.append("\250"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\102"); + sb.append("\106"); + sb.append("\031"); + sb.append("\ufdc7"); + sb.append("\127"); + sb.append("\ufdc7"); + sb.append("\130"); + sb.append("\ufdc7"); + sb.append("\131"); + sb.append("\ufdc7"); + sb.append("\132"); + sb.append("\ufdc7"); + sb.append("\150"); + sb.append("\ufdc7"); + sb.append("\152"); + sb.append("\ufdc7"); + sb.append("\153"); + sb.append("\ufdc7"); + sb.append("\154"); + sb.append("\ufdc7"); + sb.append("\155"); + sb.append("\ufdc7"); + sb.append("\156"); + sb.append("\ufdc7"); + sb.append("\157"); + sb.append("\ufdc7"); + sb.append("\160"); + sb.append("\ufdc7"); + sb.append("\161"); + sb.append("\ufdc7"); + sb.append("\162"); + sb.append("\ufdc7"); + sb.append("\163"); + sb.append("\ufdc7"); + sb.append("\164"); + sb.append("\ufdc7"); + sb.append("\165"); + sb.append("\ufdc7"); + sb.append("\166"); + sb.append("\ufdc7"); + sb.append("\167"); + sb.append("\ufdc7"); + sb.append("\170"); + sb.append("\ufdc7"); + sb.append("\171"); + sb.append("\ufdc7"); + sb.append("\172"); + sb.append("\ufdc7"); + sb.append("\173"); + sb.append("\ufdc7"); + sb.append("\174"); + sb.append("\ufdc7"); + sb.append("\175"); + sb.append("\ufdc7"); + sb.append("\176"); + sb.append("\ufdc7"); + sb.append("\177"); + sb.append("\ufdc7"); + sb.append("\202"); + sb.append("\ufdc7"); + sb.append("\232"); + sb.append("\ufdc7"); + sb.append("\233"); + sb.append("\uffb2"); + sb.append("\243"); + sb.append("\ufdc7"); + sb.append("\246"); + sb.append("\ufdc7"); + sb.append("\252"); + sb.append("\ufdc7"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\106"); + sb.append("\031"); + sb.append("\ufdc5"); sb.append("\127"); - sb.append("\ufdba"); + sb.append("\ufdc5"); sb.append("\130"); - sb.append("\u0105"); + sb.append("\ufdc5"); sb.append("\131"); - sb.append("\u0115"); + sb.append("\ufdc5"); sb.append("\132"); - sb.append("\374"); + sb.append("\ufdc5"); sb.append("\150"); - sb.append("\u0101"); - sb.append("\151"); - sb.append("\ufdba"); + sb.append("\ufdc5"); sb.append("\152"); - sb.append("\375"); + sb.append("\ufdc5"); sb.append("\153"); - sb.append("\u010e"); + sb.append("\ufdc5"); sb.append("\154"); - sb.append("\376"); + sb.append("\ufdc5"); sb.append("\155"); - sb.append("\u0107"); + sb.append("\ufdc5"); sb.append("\156"); - sb.append("\u010f"); + sb.append("\ufdc5"); sb.append("\157"); - sb.append("\u0114"); + sb.append("\ufdc5"); sb.append("\160"); - sb.append("\u0108"); + sb.append("\ufdc5"); sb.append("\161"); - sb.append("\371"); + sb.append("\ufdc5"); sb.append("\162"); - sb.append("\u0106"); + sb.append("\ufdc5"); sb.append("\163"); - sb.append("\u0112"); + sb.append("\ufdc5"); sb.append("\164"); - sb.append("\u0111"); + sb.append("\ufdc5"); sb.append("\165"); - sb.append("\u0104"); + sb.append("\ufdc5"); sb.append("\166"); - sb.append("\u0102"); + sb.append("\ufdc5"); sb.append("\167"); - sb.append("\u0110"); + sb.append("\ufdc5"); sb.append("\170"); - sb.append("\u010d"); + sb.append("\ufdc5"); sb.append("\171"); - sb.append("\u0109"); + sb.append("\ufdc5"); sb.append("\172"); - sb.append("\u0116"); + sb.append("\ufdc5"); sb.append("\173"); - sb.append("\u0103"); + sb.append("\ufdc5"); sb.append("\174"); - sb.append("\u010c"); + sb.append("\ufdc5"); sb.append("\175"); - sb.append("\u010a"); + sb.append("\ufdc5"); sb.append("\176"); - sb.append("\373"); - sb.append("\201"); - sb.append("\u0100"); - sb.append("\231"); - sb.append("\ufdba"); - sb.append("\242"); - sb.append("\377"); - sb.append("\245"); - sb.append("\372"); - sb.append("\251"); - sb.append("\u0113"); + sb.append("\ufdc5"); + sb.append("\177"); + sb.append("\ufdc5"); + sb.append("\202"); + sb.append("\ufdc5"); + sb.append("\232"); + sb.append("\ufdc5"); + sb.append("\233"); + sb.append("\uffb7"); + sb.append("\243"); + sb.append("\ufdc5"); + sb.append("\246"); + sb.append("\ufdc5"); + sb.append("\252"); + sb.append("\ufdc5"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\127"); - sb.append("\ufd8f"); sb.append("\231"); - sb.append("\ufd8f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\032"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01f4"); + sb.append("\u0367"); sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); + sb.append("\ufff1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\127"); - sb.append("\ufee3"); - sb.append("\231"); - sb.append("\ufee3"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\127"); - sb.append("\ufdce"); - sb.append("\151"); - sb.append("\ufdce"); - sb.append("\230"); - sb.append("\u023e"); - sb.append("\231"); - sb.append("\ufdce"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufdb9"); - sb.append("\151"); - sb.append("\ufdb9"); sb.append("\231"); - sb.append("\ufdb9"); + sb.append("\u034e"); + sb.append("\233"); + sb.append("\uffc4"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\172"); sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2966,1567 +2165,2369 @@ protected EncodedActionTable3() { sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); + sb.append("\106"); sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\125"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\222"); sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); + sb.append("\026"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\210"); sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\010"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\051"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\166"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\123"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\012"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\206"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\041"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\144"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\136"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\046"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\160"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\013"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\u0214"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\116"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\020"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufec3"); + sb.append("\u01b5"); sb.append("\233"); - sb.append("\152"); + sb.append("\uffef"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\106"); + sb.append("\031"); + sb.append("\ufdc1"); + sb.append("\127"); + sb.append("\ufdc1"); + sb.append("\130"); + sb.append("\ufdc1"); + sb.append("\131"); + sb.append("\ufdc1"); + sb.append("\132"); + sb.append("\ufdc1"); + sb.append("\150"); + sb.append("\ufdc1"); + sb.append("\152"); + sb.append("\ufdc1"); + sb.append("\153"); + sb.append("\ufdc1"); + sb.append("\154"); + sb.append("\ufdc1"); + sb.append("\155"); + sb.append("\ufdc1"); + sb.append("\156"); + sb.append("\ufdc1"); + sb.append("\157"); + sb.append("\ufdc1"); + sb.append("\160"); + sb.append("\ufdc1"); + sb.append("\161"); + sb.append("\ufdc1"); + sb.append("\162"); + sb.append("\ufdc1"); + sb.append("\163"); + sb.append("\ufdc1"); + sb.append("\164"); + sb.append("\ufdc1"); + sb.append("\165"); + sb.append("\ufdc1"); + sb.append("\166"); + sb.append("\ufdc1"); + sb.append("\167"); + sb.append("\ufdc1"); + sb.append("\170"); + sb.append("\ufdc1"); + sb.append("\171"); + sb.append("\ufdc1"); + sb.append("\172"); + sb.append("\ufdc1"); + sb.append("\173"); + sb.append("\ufdc1"); + sb.append("\174"); + sb.append("\ufdc1"); + sb.append("\175"); + sb.append("\ufdc1"); + sb.append("\176"); + sb.append("\ufdc1"); + sb.append("\177"); + sb.append("\ufdc1"); + sb.append("\202"); + sb.append("\ufdc1"); + sb.append("\232"); + sb.append("\ufdc1"); + sb.append("\233"); + sb.append("\uffb0"); + sb.append("\243"); + sb.append("\ufdc1"); + sb.append("\246"); + sb.append("\ufdc1"); + sb.append("\252"); + sb.append("\ufdc1"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\106"); + sb.append("\031"); + sb.append("\ufdc8"); + sb.append("\127"); + sb.append("\ufdc8"); + sb.append("\130"); + sb.append("\ufdc8"); + sb.append("\131"); + sb.append("\ufdc8"); + sb.append("\132"); + sb.append("\ufdc8"); + sb.append("\150"); + sb.append("\ufdc8"); + sb.append("\152"); + sb.append("\ufdc8"); + sb.append("\153"); + sb.append("\ufdc8"); + sb.append("\154"); + sb.append("\ufdc8"); + sb.append("\155"); + sb.append("\ufdc8"); + sb.append("\156"); + sb.append("\ufdc8"); + sb.append("\157"); + sb.append("\ufdc8"); + sb.append("\160"); + sb.append("\ufdc8"); + sb.append("\161"); + sb.append("\ufdc8"); + sb.append("\162"); + sb.append("\ufdc8"); + sb.append("\163"); + sb.append("\ufdc8"); + sb.append("\164"); + sb.append("\ufdc8"); + sb.append("\165"); + sb.append("\ufdc8"); + sb.append("\166"); + sb.append("\ufdc8"); + sb.append("\167"); + sb.append("\ufdc8"); + sb.append("\170"); + sb.append("\ufdc8"); + sb.append("\171"); + sb.append("\ufdc8"); + sb.append("\172"); + sb.append("\ufdc8"); + sb.append("\173"); + sb.append("\ufdc8"); + sb.append("\174"); + sb.append("\ufdc8"); + sb.append("\175"); + sb.append("\ufdc8"); + sb.append("\176"); + sb.append("\ufdc8"); + sb.append("\177"); + sb.append("\ufdc8"); + sb.append("\202"); + sb.append("\ufdc8"); + sb.append("\232"); + sb.append("\ufdc8"); + sb.append("\233"); + sb.append("\uffb3"); + sb.append("\243"); + sb.append("\ufdc8"); + sb.append("\246"); + sb.append("\ufdc8"); + sb.append("\252"); + sb.append("\ufdc8"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u0348"); + sb.append("\232"); + sb.append("\ufd6c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u0240"); + sb.append("\232"); + sb.append("\u0347"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\016"); - sb.append("\067"); - sb.append("\ufdcd"); - sb.append("\070"); - sb.append("\ufdcd"); + sb.append("\104"); + sb.append("\031"); + sb.append("\ufd56"); + sb.append("\127"); + sb.append("\ufeb9"); + sb.append("\130"); + sb.append("\ufd56"); + sb.append("\131"); + sb.append("\ufd56"); + sb.append("\132"); + sb.append("\ufd56"); + sb.append("\150"); + sb.append("\ufd56"); + sb.append("\152"); + sb.append("\ufd56"); + sb.append("\153"); + sb.append("\ufd56"); + sb.append("\154"); + sb.append("\ufd56"); + sb.append("\155"); + sb.append("\ufd56"); + sb.append("\156"); + sb.append("\ufd56"); + sb.append("\157"); + sb.append("\ufd56"); + sb.append("\160"); + sb.append("\ufd56"); + sb.append("\161"); + sb.append("\ufd56"); + sb.append("\162"); + sb.append("\ufd56"); + sb.append("\163"); + sb.append("\ufd56"); + sb.append("\164"); + sb.append("\ufd56"); + sb.append("\165"); + sb.append("\ufd56"); + sb.append("\166"); + sb.append("\ufd56"); + sb.append("\167"); + sb.append("\ufd56"); + sb.append("\170"); + sb.append("\ufd56"); + sb.append("\171"); + sb.append("\ufd56"); + sb.append("\172"); + sb.append("\ufd56"); + sb.append("\173"); + sb.append("\ufd56"); + sb.append("\174"); + sb.append("\ufd56"); + sb.append("\175"); + sb.append("\ufd56"); + sb.append("\176"); + sb.append("\ufd56"); + sb.append("\177"); + sb.append("\ufd56"); + sb.append("\202"); + sb.append("\ufd56"); + sb.append("\232"); + sb.append("\ufeb9"); + sb.append("\243"); + sb.append("\ufd56"); + sb.append("\246"); + sb.append("\ufd56"); + sb.append("\252"); + sb.append("\ufd56"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\122"); + sb.append("\031"); + sb.append("\ufff7"); + sb.append("\071"); + sb.append("\ufdde"); + sb.append("\072"); + sb.append("\ufdde"); sb.append("\111"); - sb.append("\ufdcd"); + sb.append("\ufff7"); + sb.append("\113"); + sb.append("\ufdde"); sb.append("\127"); - sb.append("\ufdcd"); - sb.append("\151"); - sb.append("\ufdcd"); + sb.append("\ufff7"); + sb.append("\130"); + sb.append("\ufff7"); + sb.append("\131"); + sb.append("\ufff7"); + sb.append("\132"); + sb.append("\ufff7"); + sb.append("\150"); + sb.append("\ufff7"); + sb.append("\152"); + sb.append("\ufff7"); + sb.append("\153"); + sb.append("\ufff7"); + sb.append("\154"); + sb.append("\ufff7"); + sb.append("\155"); + sb.append("\ufff7"); + sb.append("\156"); + sb.append("\ufff7"); + sb.append("\157"); + sb.append("\ufff7"); + sb.append("\160"); + sb.append("\ufff7"); + sb.append("\161"); + sb.append("\ufff7"); + sb.append("\162"); + sb.append("\ufff7"); + sb.append("\163"); + sb.append("\ufff7"); + sb.append("\164"); + sb.append("\ufff7"); + sb.append("\165"); + sb.append("\ufff7"); + sb.append("\166"); + sb.append("\ufff7"); + sb.append("\167"); + sb.append("\ufff7"); + sb.append("\170"); + sb.append("\ufff7"); + sb.append("\171"); + sb.append("\ufff7"); + sb.append("\172"); + sb.append("\ufff7"); + sb.append("\173"); + sb.append("\ufff7"); + sb.append("\174"); + sb.append("\ufff7"); + sb.append("\175"); + sb.append("\ufff7"); + sb.append("\176"); + sb.append("\ufff7"); + sb.append("\177"); + sb.append("\ufff7"); + sb.append("\202"); + sb.append("\ufff7"); + sb.append("\215"); + sb.append("\ufff7"); sb.append("\231"); - sb.append("\ufdcd"); + sb.append("\ufdde"); + sb.append("\232"); + sb.append("\ufff7"); + sb.append("\233"); + sb.append("\ufcc9"); + sb.append("\243"); + sb.append("\ufff7"); + sb.append("\246"); + sb.append("\ufff7"); + sb.append("\252"); + sb.append("\ufff7"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\073"); - sb.append("\ufee2"); - sb.append("\232"); - sb.append("\u0242"); + sb.append("\231"); + sb.append("\u032a"); + sb.append("\233"); + sb.append("\uffbe"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\026"); - sb.append("\010"); - sb.append("\244"); - sb.append("\075"); - sb.append("\310"); - sb.append("\076"); - sb.append("\313"); - sb.append("\121"); - sb.append("\237"); + sb.append("\110"); + sb.append("\031"); + sb.append("\ufdd0"); + sb.append("\127"); + sb.append("\ufdd0"); + sb.append("\130"); + sb.append("\ufdd0"); + sb.append("\131"); + sb.append("\ufdd0"); + sb.append("\132"); + sb.append("\ufdd0"); sb.append("\150"); - sb.append("\u024a"); - sb.append("\222"); - sb.append("\u0249"); - sb.append("\230"); - sb.append("\u024c"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\073"); - sb.append("\u0244"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\176"); - sb.append("\003"); - sb.append("\u0247"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); + sb.append("\ufdd0"); + sb.append("\152"); + sb.append("\ufdd0"); + sb.append("\153"); + sb.append("\ufdd0"); + sb.append("\154"); + sb.append("\ufdd0"); + sb.append("\155"); + sb.append("\ufdd0"); sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); + sb.append("\ufdd0"); + sb.append("\157"); + sb.append("\ufdd0"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufdd0"); + sb.append("\161"); + sb.append("\ufdd0"); + sb.append("\162"); + sb.append("\ufdd0"); + sb.append("\163"); + sb.append("\ufdd0"); + sb.append("\164"); + sb.append("\ufdd0"); + sb.append("\165"); + sb.append("\ufdd0"); + sb.append("\166"); + sb.append("\ufdd0"); + sb.append("\167"); + sb.append("\ufdd0"); + sb.append("\170"); + sb.append("\ufdd0"); + sb.append("\171"); + sb.append("\ufdd0"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufdd0"); sb.append("\173"); + sb.append("\ufdd0"); + sb.append("\174"); + sb.append("\ufdd0"); + sb.append("\175"); + sb.append("\ufdd0"); sb.append("\176"); + sb.append("\ufdd0"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufdd0"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\047"); + sb.append("\ufdd0"); + sb.append("\231"); + sb.append("\u0325"); + sb.append("\232"); + sb.append("\ufdd0"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\uffe8"); + sb.append("\243"); + sb.append("\ufdd0"); + sb.append("\246"); + sb.append("\ufdd0"); + sb.append("\252"); + sb.append("\ufdd0"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\106"); sb.append("\031"); - sb.append("\ufe0d"); - sb.append("\033"); - sb.append("\ufe0d"); - sb.append("\073"); - sb.append("\ufe0d"); - sb.append("\112"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\127"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\130"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\131"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\132"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\150"); - sb.append("\ufe0d"); - sb.append("\151"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\152"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\153"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\154"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\155"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\156"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\157"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\160"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\161"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\162"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\163"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\164"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\165"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\166"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\167"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\170"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\171"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\172"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\173"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\174"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\175"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); sb.append("\176"); - sb.append("\ufe0d"); - sb.append("\201"); - sb.append("\ufe0d"); - sb.append("\215"); - sb.append("\ufe0d"); + sb.append("\ufdc3"); + sb.append("\177"); + sb.append("\ufdc3"); + sb.append("\202"); + sb.append("\ufdc3"); + sb.append("\232"); + sb.append("\ufdc3"); + sb.append("\233"); + sb.append("\uffb4"); + sb.append("\243"); + sb.append("\ufdc3"); + sb.append("\246"); + sb.append("\ufdc3"); + sb.append("\252"); + sb.append("\ufdc3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); sb.append("\231"); - sb.append("\ufe0d"); + sb.append("\u027b"); + sb.append("\233"); + sb.append("\uffcf"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufeba"); sb.append("\232"); - sb.append("\ufe0d"); - sb.append("\242"); - sb.append("\ufe0d"); - sb.append("\245"); - sb.append("\ufe0d"); - sb.append("\251"); - sb.append("\ufe0d"); + sb.append("\ufeba"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\122"); sb.append("\031"); - sb.append("\ufd52"); - sb.append("\033"); - sb.append("\ufd52"); - sb.append("\073"); - sb.append("\ufd52"); - sb.append("\112"); - sb.append("\ufd52"); + sb.append("\ufff8"); + sb.append("\071"); + sb.append("\ufddf"); + sb.append("\072"); + sb.append("\ufddf"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\113"); + sb.append("\ufddf"); sb.append("\127"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\130"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\131"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\132"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\150"); - sb.append("\ufd52"); - sb.append("\151"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\152"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\153"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\154"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\155"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\156"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\157"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\160"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\161"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\162"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\163"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\164"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\165"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\166"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\167"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\170"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\171"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\172"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\173"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\174"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\175"); - sb.append("\ufd52"); + sb.append("\ufff8"); sb.append("\176"); - sb.append("\ufd52"); - sb.append("\201"); - sb.append("\ufd52"); + sb.append("\ufff8"); + sb.append("\177"); + sb.append("\ufff8"); + sb.append("\202"); + sb.append("\ufff8"); sb.append("\215"); - sb.append("\ufd52"); + sb.append("\u0274"); sb.append("\231"); - sb.append("\ufd52"); + sb.append("\ufddf"); sb.append("\232"); - sb.append("\ufd52"); - sb.append("\242"); - sb.append("\ufd52"); - sb.append("\245"); - sb.append("\ufd52"); - sb.append("\251"); - sb.append("\ufd52"); + sb.append("\ufff8"); + sb.append("\233"); + sb.append("\ufcca"); + sb.append("\243"); + sb.append("\ufff8"); + sb.append("\246"); + sb.append("\ufff8"); + sb.append("\252"); + sb.append("\ufff8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\012"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\231"); + sb.append("\uff43"); + sb.append("\233"); + sb.append("\uffcb"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\260"); + sb.append("\004"); + sb.append("\ufd6a"); + sb.append("\005"); + sb.append("\ufd6a"); + sb.append("\010"); + sb.append("\ufd6a"); + sb.append("\012"); + sb.append("\ufd6a"); + sb.append("\016"); + sb.append("\ufd6a"); + sb.append("\017"); + sb.append("\ufd6a"); + sb.append("\020"); + sb.append("\ufd6a"); + sb.append("\021"); + sb.append("\ufd6a"); + sb.append("\022"); + sb.append("\ufd6a"); + sb.append("\023"); + sb.append("\ufd6a"); + sb.append("\024"); + sb.append("\ufd6a"); + sb.append("\025"); + sb.append("\ufd6a"); + sb.append("\026"); + sb.append("\ufd6a"); + sb.append("\027"); + sb.append("\ufd6a"); + sb.append("\030"); + sb.append("\ufd6a"); sb.append("\031"); - sb.append("\ufd51"); + sb.append("\ufd6a"); + sb.append("\032"); + sb.append("\ufd6a"); sb.append("\033"); - sb.append("\ufd51"); - sb.append("\073"); - sb.append("\ufd51"); - sb.append("\112"); - sb.append("\ufd51"); - sb.append("\127"); - sb.append("\ufd51"); + sb.append("\ufd6a"); + sb.append("\034"); + sb.append("\ufd6a"); + sb.append("\035"); + sb.append("\ufd6a"); + sb.append("\036"); + sb.append("\ufd6a"); + sb.append("\037"); + sb.append("\ufd6a"); + sb.append("\040"); + sb.append("\ufd6a"); + sb.append("\041"); + sb.append("\ufd6a"); + sb.append("\042"); + sb.append("\ufd6a"); + sb.append("\043"); + sb.append("\ufd6a"); + sb.append("\044"); + sb.append("\ufd6a"); + sb.append("\045"); + sb.append("\ufd6a"); + sb.append("\046"); + sb.append("\ufd6a"); + sb.append("\047"); + sb.append("\ufd6a"); + sb.append("\050"); + sb.append("\ufd6a"); + sb.append("\052"); + sb.append("\ufd6a"); + sb.append("\053"); + sb.append("\ufd6a"); + sb.append("\054"); + sb.append("\ufd6a"); + sb.append("\055"); + sb.append("\ufd6a"); + sb.append("\056"); + sb.append("\ufd6a"); + sb.append("\057"); + sb.append("\ufd6a"); + sb.append("\060"); + sb.append("\ufd6a"); + sb.append("\061"); + sb.append("\ufd6a"); + sb.append("\062"); + sb.append("\ufd6a"); + sb.append("\063"); + sb.append("\ufd6a"); + sb.append("\065"); + sb.append("\ufd6a"); + sb.append("\066"); + sb.append("\ufd6a"); + sb.append("\067"); + sb.append("\ufd6a"); + sb.append("\070"); + sb.append("\ufd6a"); + sb.append("\074"); + sb.append("\ufd6a"); + sb.append("\075"); + sb.append("\ufd6a"); + sb.append("\076"); + sb.append("\ufd6a"); + sb.append("\077"); + sb.append("\ufd6a"); + sb.append("\100"); + sb.append("\ufd6a"); + sb.append("\101"); + sb.append("\ufd6a"); + sb.append("\102"); + sb.append("\ufd6a"); + sb.append("\103"); + sb.append("\ufd6a"); + sb.append("\104"); + sb.append("\ufd6a"); + sb.append("\114"); + sb.append("\ufd6a"); + sb.append("\115"); + sb.append("\ufd6a"); + sb.append("\116"); + sb.append("\ufd6a"); + sb.append("\121"); + sb.append("\ufd6a"); + sb.append("\122"); + sb.append("\ufd6a"); + sb.append("\123"); + sb.append("\ufd6a"); + sb.append("\124"); + sb.append("\ufd6a"); + sb.append("\125"); + sb.append("\ufd6a"); + sb.append("\126"); + sb.append("\ufd6a"); sb.append("\130"); - sb.append("\ufd51"); + sb.append("\ufd6a"); sb.append("\131"); - sb.append("\ufd51"); + sb.append("\ufd6a"); sb.append("\132"); - sb.append("\ufd51"); - sb.append("\150"); - sb.append("\ufd51"); - sb.append("\151"); - sb.append("\ufd51"); - sb.append("\152"); - sb.append("\ufd51"); - sb.append("\153"); - sb.append("\ufd51"); - sb.append("\154"); - sb.append("\ufd51"); - sb.append("\155"); - sb.append("\ufd51"); - sb.append("\156"); - sb.append("\ufd51"); - sb.append("\157"); - sb.append("\ufd51"); - sb.append("\160"); - sb.append("\ufd51"); - sb.append("\161"); - sb.append("\ufd51"); - sb.append("\162"); - sb.append("\ufd51"); - sb.append("\163"); - sb.append("\ufd51"); - sb.append("\164"); - sb.append("\ufd51"); - sb.append("\165"); - sb.append("\ufd51"); - sb.append("\166"); - sb.append("\ufd51"); - sb.append("\167"); - sb.append("\ufd51"); - sb.append("\170"); - sb.append("\ufd51"); - sb.append("\171"); - sb.append("\ufd51"); - sb.append("\172"); - sb.append("\ufd51"); - sb.append("\173"); - sb.append("\ufd51"); - sb.append("\174"); - sb.append("\ufd51"); - sb.append("\175"); - sb.append("\ufd51"); - sb.append("\176"); - sb.append("\ufd51"); - sb.append("\201"); - sb.append("\ufd51"); + sb.append("\ufd6a"); + sb.append("\133"); + sb.append("\ufd6a"); sb.append("\215"); - sb.append("\ufd51"); + sb.append("\ufd6a"); + sb.append("\217"); + sb.append("\ufd6a"); + sb.append("\220"); + sb.append("\ufd6a"); + sb.append("\221"); + sb.append("\ufd6a"); + sb.append("\222"); + sb.append("\ufd6a"); + sb.append("\223"); + sb.append("\ufd6a"); + sb.append("\224"); + sb.append("\ufd6a"); + sb.append("\225"); + sb.append("\ufd6a"); + sb.append("\226"); + sb.append("\ufd6a"); + sb.append("\227"); + sb.append("\ufd6a"); + sb.append("\230"); + sb.append("\ufd6a"); sb.append("\231"); - sb.append("\ufd51"); - sb.append("\232"); - sb.append("\ufd51"); + sb.append("\ufd6a"); + sb.append("\234"); + sb.append("\ufd6a"); + sb.append("\241"); + sb.append("\ufd6a"); sb.append("\242"); - sb.append("\ufd51"); + sb.append("\ufd6a"); sb.append("\245"); - sb.append("\ufd51"); + sb.append("\ufd6a"); sb.append("\251"); - sb.append("\ufd51"); + sb.append("\ufd6a"); + sb.append("\254"); + sb.append("\ufd6a"); + sb.append("\255"); + sb.append("\ufd6a"); + sb.append("\256"); + sb.append("\ufd6a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u022c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\244"); sb.append("\004"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\005"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\010"); - sb.append("\ufedc"); + sb.append("\uff42"); + sb.append("\012"); + sb.append("\uff42"); sb.append("\017"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\020"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\021"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\022"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\023"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\024"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\025"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\026"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\027"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\030"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\031"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\032"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\033"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\034"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\035"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\036"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\037"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\040"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\041"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\042"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\043"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\044"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\045"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\046"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\047"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\050"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\052"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\053"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\054"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\055"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\056"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\057"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\060"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\061"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\062"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\063"); - sb.append("\ufedc"); + sb.append("\uff42"); + sb.append("\065"); + sb.append("\uff42"); sb.append("\066"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\067"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\070"); - sb.append("\ufedc"); - sb.append("\073"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\074"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\075"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\076"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\077"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\100"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\101"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\102"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\103"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\104"); - sb.append("\ufedc"); - sb.append("\111"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\114"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\115"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\116"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\121"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\122"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\123"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\124"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\125"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\126"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\130"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\131"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\132"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\133"); - sb.append("\ufedc"); - sb.append("\151"); - sb.append("\ufedc"); - sb.append("\154"); - sb.append("\u025c"); - sb.append("\216"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\217"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\220"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\221"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\222"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\223"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\224"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\225"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\226"); - sb.append("\ufedc"); + sb.append("\uff42"); sb.append("\227"); - sb.append("\ufedc"); - sb.append("\240"); - sb.append("\ufedc"); + sb.append("\uff42"); + sb.append("\230"); + sb.append("\uff42"); + sb.append("\231"); + sb.append("\uff42"); sb.append("\241"); - sb.append("\ufedc"); - sb.append("\250"); - sb.append("\ufedc"); + sb.append("\uff42"); + sb.append("\242"); + sb.append("\uff42"); + sb.append("\245"); + sb.append("\uff42"); + sb.append("\251"); + sb.append("\uff42"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\250"); + sb.append("\260"); sb.append("\004"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\005"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\010"); - sb.append("\ufed9"); + sb.append("\ufd69"); + sb.append("\012"); + sb.append("\ufd69"); + sb.append("\016"); + sb.append("\ufd69"); sb.append("\017"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\020"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\021"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\022"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\023"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\024"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\025"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\026"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\027"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\030"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\031"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\032"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\033"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\034"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\035"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\036"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\037"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\040"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\041"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\042"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\043"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\044"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\045"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\046"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\047"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\050"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\052"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\053"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\054"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\055"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\056"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\057"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\060"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\061"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\062"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\063"); - sb.append("\ufed9"); + sb.append("\ufd69"); + sb.append("\065"); + sb.append("\ufd69"); sb.append("\066"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\067"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\070"); - sb.append("\ufed9"); - sb.append("\073"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\074"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\075"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\076"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\077"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\100"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\101"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\102"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\103"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\104"); - sb.append("\ufed9"); - sb.append("\111"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\114"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\115"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\116"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\121"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\122"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\123"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\124"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\125"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\126"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\130"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\131"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\132"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\133"); - sb.append("\ufed9"); - sb.append("\151"); - sb.append("\ufed9"); - sb.append("\154"); - sb.append("\ufed9"); - sb.append("\216"); - sb.append("\ufed9"); + sb.append("\ufd69"); + sb.append("\215"); + sb.append("\ufd69"); sb.append("\217"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\220"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\221"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\222"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\223"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\224"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\225"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\226"); - sb.append("\ufed9"); + sb.append("\ufd69"); sb.append("\227"); - sb.append("\ufed9"); + sb.append("\ufd69"); + sb.append("\230"); + sb.append("\ufd69"); sb.append("\231"); - sb.append("\ufed9"); - sb.append("\240"); - sb.append("\ufed9"); + sb.append("\ufd69"); + sb.append("\234"); + sb.append("\ufd69"); sb.append("\241"); - sb.append("\ufed9"); + sb.append("\ufd69"); + sb.append("\242"); + sb.append("\ufd69"); + sb.append("\245"); + sb.append("\ufd69"); + sb.append("\251"); + sb.append("\ufd69"); + sb.append("\254"); + sb.append("\ufd69"); + sb.append("\255"); + sb.append("\ufd69"); + sb.append("\256"); + sb.append("\ufd69"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\056"); + sb.append("\010"); + sb.append("\ufef5"); + sb.append("\012"); + sb.append("\ufef5"); + sb.append("\075"); + sb.append("\ufef5"); + sb.append("\076"); + sb.append("\ufef5"); + sb.append("\121"); + sb.append("\ufef5"); + sb.append("\150"); + sb.append("\ufef5"); + sb.append("\157"); + sb.append("\ufef5"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\231"); + sb.append("\ufef5"); + sb.append("\232"); + sb.append("\ufefa"); + sb.append("\245"); + sb.append("\ufef5"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufef5"); + sb.append("\254"); + sb.append("\ufef5"); + sb.append("\255"); + sb.append("\ufef5"); + sb.append("\256"); + sb.append("\ufef5"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\050"); + sb.append("\010"); + sb.append("\ufef2"); + sb.append("\012"); + sb.append("\ufef2"); + sb.append("\075"); + sb.append("\ufef2"); + sb.append("\076"); + sb.append("\ufef2"); + sb.append("\121"); + sb.append("\ufef2"); + sb.append("\150"); + sb.append("\ufef2"); + sb.append("\157"); + sb.append("\ufef2"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\231"); + sb.append("\ufef2"); + sb.append("\245"); + sb.append("\ufef2"); + sb.append("\252"); + sb.append("\ufef2"); + sb.append("\254"); + sb.append("\ufef2"); + sb.append("\255"); + sb.append("\ufef2"); + sb.append("\256"); + sb.append("\ufef2"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufef6"); + sb.append("\232"); + sb.append("\ufef6"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\054"); + sb.append("\010"); + sb.append("\ufef5"); + sb.append("\012"); + sb.append("\ufef5"); + sb.append("\075"); + sb.append("\ufef5"); + sb.append("\076"); + sb.append("\ufef5"); + sb.append("\121"); + sb.append("\ufef5"); + sb.append("\150"); + sb.append("\ufef5"); + sb.append("\157"); + sb.append("\ufef5"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\231"); + sb.append("\ufef5"); + sb.append("\245"); + sb.append("\ufef5"); sb.append("\250"); - sb.append("\ufed9"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufef5"); + sb.append("\254"); + sb.append("\ufef5"); + sb.append("\255"); + sb.append("\ufef5"); + sb.append("\256"); + sb.append("\ufef5"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\044"); + sb.append("\010"); + sb.append("\ufef4"); + sb.append("\012"); + sb.append("\ufef4"); + sb.append("\075"); + sb.append("\ufef4"); + sb.append("\076"); + sb.append("\ufef4"); + sb.append("\121"); + sb.append("\ufef4"); + sb.append("\150"); + sb.append("\ufef4"); + sb.append("\157"); + sb.append("\ufef4"); + sb.append("\231"); + sb.append("\ufef4"); + sb.append("\245"); + sb.append("\ufef4"); + sb.append("\251"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufef4"); + sb.append("\254"); + sb.append("\ufef4"); + sb.append("\255"); + sb.append("\ufef4"); + sb.append("\256"); + sb.append("\ufef4"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u0266"); + sb.append("\232"); + sb.append("\ufd6c"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\044"); + sb.append("\010"); + sb.append("\ufef3"); + sb.append("\012"); + sb.append("\ufef3"); + sb.append("\075"); + sb.append("\ufef3"); + sb.append("\076"); + sb.append("\ufef3"); + sb.append("\121"); + sb.append("\ufef3"); + sb.append("\150"); + sb.append("\ufef3"); + sb.append("\157"); + sb.append("\ufef3"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\231"); + sb.append("\ufef3"); + sb.append("\245"); + sb.append("\ufef3"); sb.append("\251"); - sb.append("\ufed9"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufef3"); + sb.append("\254"); + sb.append("\ufef3"); + sb.append("\255"); + sb.append("\ufef3"); + sb.append("\256"); + sb.append("\ufef3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u0245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufef9"); + sb.append("\232"); + sb.append("\ufef9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\022"); + sb.append("\034"); sb.append("\010"); sb.append("\244"); + sb.append("\012"); + sb.append("\ufee0"); sb.append("\075"); sb.append("\310"); sb.append("\076"); sb.append("\313"); sb.append("\121"); - sb.append("\237"); - sb.append("\222"); - sb.append("\u0249"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); sb.append("\240"); + sb.append("\150"); + sb.append("\316"); + sb.append("\157"); + sb.append("\ufee0"); + sb.append("\231"); + sb.append("\321"); + sb.append("\245"); + sb.append("\ufee0"); + sb.append("\252"); + sb.append("\ufee0"); + sb.append("\254"); + sb.append("\241"); sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\244"); + sb.append("\012"); + sb.append("\012"); + sb.append("\uff43"); + sb.append("\157"); + sb.append("\u0228"); + sb.append("\245"); + sb.append("\uff43"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\012"); + sb.append("\uff41"); + sb.append("\245"); + sb.append("\u0238"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\004"); - sb.append("\ufedb"); - sb.append("\005"); - sb.append("\ufedb"); + sb.append("\012"); + sb.append("\uff40"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\012"); + sb.append("\u023a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\010"); - sb.append("\ufedb"); - sb.append("\017"); - sb.append("\ufedb"); - sb.append("\020"); - sb.append("\ufedb"); - sb.append("\021"); - sb.append("\ufedb"); - sb.append("\022"); - sb.append("\ufedb"); - sb.append("\023"); - sb.append("\ufedb"); - sb.append("\024"); - sb.append("\ufedb"); - sb.append("\025"); - sb.append("\ufedb"); - sb.append("\026"); - sb.append("\ufedb"); - sb.append("\027"); - sb.append("\ufedb"); - sb.append("\030"); - sb.append("\ufedb"); - sb.append("\031"); - sb.append("\ufedb"); - sb.append("\032"); - sb.append("\ufedb"); - sb.append("\033"); - sb.append("\ufedb"); - sb.append("\034"); - sb.append("\ufedb"); - sb.append("\035"); - sb.append("\ufedb"); - sb.append("\036"); - sb.append("\ufedb"); - sb.append("\037"); - sb.append("\ufedb"); - sb.append("\040"); - sb.append("\ufedb"); - sb.append("\041"); - sb.append("\ufedb"); - sb.append("\042"); - sb.append("\ufedb"); - sb.append("\043"); - sb.append("\ufedb"); - sb.append("\044"); - sb.append("\ufedb"); - sb.append("\045"); - sb.append("\ufedb"); - sb.append("\046"); - sb.append("\ufedb"); - sb.append("\047"); - sb.append("\ufedb"); - sb.append("\050"); - sb.append("\ufedb"); - sb.append("\052"); - sb.append("\ufedb"); - sb.append("\053"); - sb.append("\ufedb"); - sb.append("\054"); - sb.append("\ufedb"); - sb.append("\055"); - sb.append("\ufedb"); - sb.append("\056"); - sb.append("\ufedb"); - sb.append("\057"); - sb.append("\ufedb"); - sb.append("\060"); - sb.append("\ufedb"); - sb.append("\061"); - sb.append("\ufedb"); - sb.append("\062"); - sb.append("\ufedb"); - sb.append("\063"); - sb.append("\ufedb"); - sb.append("\066"); - sb.append("\ufedb"); - sb.append("\067"); - sb.append("\ufedb"); - sb.append("\070"); - sb.append("\ufedb"); - sb.append("\073"); - sb.append("\ufedb"); - sb.append("\074"); - sb.append("\ufedb"); + sb.append("\127"); + sb.append("\ufee4"); + sb.append("\134"); + sb.append("\u023b"); + sb.append("\232"); + sb.append("\ufee4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\072"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\356"); + sb.append("\015"); + sb.append("\364"); + sb.append("\016"); + sb.append("\357"); sb.append("\075"); - sb.append("\ufedb"); - sb.append("\076"); - sb.append("\ufedb"); + sb.append("\351"); sb.append("\077"); - sb.append("\ufedb"); + sb.append("\123"); sb.append("\100"); - sb.append("\ufedb"); + sb.append("\012"); sb.append("\101"); - sb.append("\ufedb"); + sb.append("\206"); sb.append("\102"); - sb.append("\ufedb"); + sb.append("\041"); sb.append("\103"); - sb.append("\ufedb"); + sb.append("\144"); sb.append("\104"); - sb.append("\ufedb"); - sb.append("\111"); - sb.append("\ufedb"); - sb.append("\114"); - sb.append("\ufedb"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); sb.append("\115"); - sb.append("\ufedb"); + sb.append("\136"); sb.append("\116"); - sb.append("\ufedb"); + sb.append("\046"); sb.append("\121"); - sb.append("\ufedb"); - sb.append("\122"); - sb.append("\ufedb"); - sb.append("\123"); - sb.append("\ufedb"); - sb.append("\124"); - sb.append("\ufedb"); - sb.append("\125"); - sb.append("\ufedb"); - sb.append("\126"); - sb.append("\ufedb"); + sb.append("\160"); + sb.append("\173"); + sb.append("\362"); + sb.append("\174"); + sb.append("\352"); + sb.append("\200"); + sb.append("\347"); + sb.append("\201"); + sb.append("\354"); + sb.append("\215"); + sb.append("\360"); + sb.append("\217"); + sb.append("\u023e"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\366"); + sb.append("\237"); + sb.append("\060"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\104"); + sb.append("\127"); + sb.append("\ufdb9"); sb.append("\130"); - sb.append("\ufedb"); + sb.append("\u0105"); sb.append("\131"); - sb.append("\ufedb"); + sb.append("\u0116"); sb.append("\132"); - sb.append("\ufedb"); - sb.append("\133"); - sb.append("\ufedb"); + sb.append("\375"); + sb.append("\150"); + sb.append("\u0100"); sb.append("\151"); - sb.append("\ufedb"); - sb.append("\216"); - sb.append("\ufedb"); - sb.append("\217"); - sb.append("\ufedb"); - sb.append("\220"); - sb.append("\ufedb"); - sb.append("\221"); - sb.append("\ufedb"); - sb.append("\222"); - sb.append("\ufedb"); - sb.append("\223"); - sb.append("\ufedb"); - sb.append("\224"); - sb.append("\ufedb"); - sb.append("\225"); - sb.append("\ufedb"); - sb.append("\226"); - sb.append("\ufedb"); - sb.append("\227"); - sb.append("\ufedb"); - sb.append("\240"); - sb.append("\ufedb"); - sb.append("\241"); - sb.append("\ufedb"); - sb.append("\250"); - sb.append("\ufedb"); - sb.append("\251"); - sb.append("\u0259"); + sb.append("\ufdb9"); + sb.append("\152"); + sb.append("\374"); + sb.append("\153"); + sb.append("\u010e"); + sb.append("\154"); + sb.append("\u0113"); + sb.append("\155"); + sb.append("\376"); + sb.append("\156"); + sb.append("\u0107"); + sb.append("\157"); + sb.append("\u010f"); + sb.append("\160"); + sb.append("\u0115"); + sb.append("\161"); + sb.append("\u0109"); + sb.append("\162"); + sb.append("\371"); + sb.append("\163"); + sb.append("\u0106"); + sb.append("\164"); + sb.append("\u0112"); + sb.append("\165"); + sb.append("\u0110"); + sb.append("\166"); + sb.append("\u0104"); + sb.append("\167"); + sb.append("\u0102"); + sb.append("\170"); + sb.append("\u0111"); + sb.append("\171"); + sb.append("\u010d"); + sb.append("\172"); + sb.append("\u0108"); + sb.append("\173"); + sb.append("\u0117"); + sb.append("\174"); + sb.append("\u0103"); + sb.append("\175"); + sb.append("\u010c"); + sb.append("\176"); + sb.append("\u010a"); + sb.append("\177"); + sb.append("\372"); + sb.append("\202"); + sb.append("\377"); + sb.append("\232"); + sb.append("\ufdb9"); + sb.append("\243"); + sb.append("\u0101"); + sb.append("\246"); + sb.append("\373"); + sb.append("\252"); + sb.append("\u0114"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\022"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufd8d"); + sb.append("\232"); + sb.append("\ufd8d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\032"); sb.append("\010"); sb.append("\244"); + sb.append("\012"); sb.append("\075"); - sb.append("\310"); - sb.append("\076"); - sb.append("\313"); + sb.append("\075"); + sb.append("\166"); sb.append("\121"); - sb.append("\237"); - sb.append("\222"); - sb.append("\u0249"); - sb.append("\253"); - sb.append("\241"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01f8"); + sb.append("\234"); + sb.append("\152"); sb.append("\254"); - sb.append("\240"); + sb.append("\241"); sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufee3"); + sb.append("\232"); + sb.append("\ufee3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\127"); + sb.append("\ufdcd"); + sb.append("\151"); + sb.append("\ufdcd"); + sb.append("\231"); + sb.append("\u0242"); + sb.append("\232"); + sb.append("\ufdcd"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\010"); - sb.append("\073"); - sb.append("\ufee1"); - sb.append("\111"); - sb.append("\ufee1"); + sb.append("\127"); + sb.append("\ufdb8"); sb.append("\151"); - sb.append("\ufee1"); + sb.append("\ufdb8"); + sb.append("\232"); + sb.append("\ufdb8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\250"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\ufeda"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\ufeda"); + sb.append("\u01ae"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\ufeda"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); sb.append("\017"); - sb.append("\ufeda"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\ufeda"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\ufeda"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\ufeda"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\ufeda"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\ufeda"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\ufeda"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\ufeda"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\ufeda"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\ufeda"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\ufeda"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\ufeda"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\ufeda"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\ufeda"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\ufeda"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\ufeda"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\ufeda"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\ufeda"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\ufeda"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\ufeda"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\ufeda"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\ufeda"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\ufeda"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\ufeda"); + sb.append("\u019f"); sb.append("\047"); - sb.append("\ufeda"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\ufeda"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\ufeda"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\ufeda"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\ufeda"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\ufeda"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\ufeda"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\ufeda"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\ufeda"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\ufeda"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\ufeda"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\ufeda"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\ufeda"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\ufeda"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\ufeda"); - sb.append("\073"); - sb.append("\ufeda"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\ufeda"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\ufeda"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\ufeda"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\ufeda"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\ufeda"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\ufeda"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\ufeda"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\ufeda"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\ufeda"); - sb.append("\111"); - sb.append("\ufeda"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); sb.append("\114"); - sb.append("\ufeda"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\ufeda"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\ufeda"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\ufeda"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\ufeda"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\ufeda"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\ufeda"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\ufeda"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\ufeda"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\ufeda"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\ufeda"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\ufeda"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\ufeda"); - sb.append("\151"); - sb.append("\ufeda"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); sb.append("\154"); - sb.append("\ufeda"); + sb.append("\207"); sb.append("\216"); - sb.append("\ufeda"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\ufeda"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\ufeda"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\ufeda"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\ufeda"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\ufeda"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\ufeda"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\ufeda"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\ufeda"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\ufeda"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); sb.append("\231"); - sb.append("\ufeda"); - sb.append("\240"); - sb.append("\ufeda"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\241"); - sb.append("\ufeda"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\ufeda"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufeda"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\246"); sb.append("\004"); - sb.append("\ufede"); - sb.append("\005"); - sb.append("\ufede"); - sb.append("\010"); - sb.append("\ufede"); - sb.append("\017"); - sb.append("\ufede"); - sb.append("\020"); - sb.append("\ufede"); - sb.append("\021"); - sb.append("\ufede"); - sb.append("\022"); - sb.append("\ufede"); - sb.append("\023"); - sb.append("\ufede"); - sb.append("\024"); - sb.append("\ufede"); - sb.append("\025"); - sb.append("\ufede"); + sb.append("\232"); + sb.append("\u0244"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); + sb.append("\067"); + sb.append("\ufdcc"); + sb.append("\070"); + sb.append("\ufdcc"); + sb.append("\111"); + sb.append("\ufdcc"); + sb.append("\127"); + sb.append("\ufdcc"); + sb.append("\151"); + sb.append("\ufdcc"); + sb.append("\232"); + sb.append("\ufdcc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\073"); + sb.append("\ufee2"); + sb.append("\233"); + sb.append("\u0246"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\026"); - sb.append("\ufede"); - sb.append("\027"); - sb.append("\ufede"); - sb.append("\030"); - sb.append("\ufede"); + sb.append("\010"); + sb.append("\244"); + sb.append("\075"); + sb.append("\310"); + sb.append("\076"); + sb.append("\313"); + sb.append("\121"); + sb.append("\240"); + sb.append("\150"); + sb.append("\u024e"); + sb.append("\223"); + sb.append("\u024d"); + sb.append("\231"); + sb.append("\u0250"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\073"); + sb.append("\u0248"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\176"); + sb.append("\003"); + sb.append("\u024b"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufede"); + sb.append("\016"); + sb.append("\071"); sb.append("\032"); - sb.append("\ufede"); - sb.append("\033"); - sb.append("\ufede"); - sb.append("\034"); - sb.append("\ufede"); - sb.append("\035"); - sb.append("\ufede"); + sb.append("\106"); sb.append("\036"); - sb.append("\ufede"); - sb.append("\037"); - sb.append("\ufede"); - sb.append("\040"); - sb.append("\ufede"); - sb.append("\041"); - sb.append("\ufede"); - sb.append("\042"); - sb.append("\ufede"); - sb.append("\043"); - sb.append("\ufede"); + sb.append("\125"); sb.append("\044"); - sb.append("\ufede"); + sb.append("\222"); sb.append("\045"); - sb.append("\ufede"); - sb.append("\046"); - sb.append("\ufede"); - sb.append("\047"); - sb.append("\ufede"); + sb.append("\u01b3"); sb.append("\050"); - sb.append("\ufede"); - sb.append("\052"); - sb.append("\ufede"); - sb.append("\053"); - sb.append("\ufede"); - sb.append("\054"); - sb.append("\ufede"); - sb.append("\055"); - sb.append("\ufede"); - sb.append("\056"); - sb.append("\ufede"); - sb.append("\057"); - sb.append("\ufede"); - sb.append("\060"); - sb.append("\ufede"); - sb.append("\061"); - sb.append("\ufede"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); + sb.append("\054"); + sb.append("\026"); sb.append("\062"); - sb.append("\ufede"); + sb.append("\210"); sb.append("\063"); - sb.append("\ufede"); - sb.append("\066"); - sb.append("\ufede"); - sb.append("\067"); - sb.append("\ufede"); - sb.append("\070"); - sb.append("\ufede"); - sb.append("\073"); - sb.append("\ufede"); + sb.append("\010"); sb.append("\074"); - sb.append("\ufede"); + sb.append("\051"); sb.append("\075"); - sb.append("\ufede"); - sb.append("\076"); - sb.append("\ufede"); + sb.append("\166"); sb.append("\077"); - sb.append("\ufede"); + sb.append("\123"); sb.append("\100"); - sb.append("\ufede"); + sb.append("\012"); sb.append("\101"); - sb.append("\ufede"); + sb.append("\206"); sb.append("\102"); - sb.append("\ufede"); + sb.append("\041"); sb.append("\103"); - sb.append("\ufede"); + sb.append("\144"); sb.append("\104"); - sb.append("\ufede"); - sb.append("\111"); - sb.append("\ufede"); - sb.append("\114"); - sb.append("\ufede"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); sb.append("\115"); - sb.append("\ufede"); + sb.append("\136"); sb.append("\116"); - sb.append("\ufede"); + sb.append("\046"); sb.append("\121"); - sb.append("\ufede"); + sb.append("\160"); sb.append("\122"); - sb.append("\ufede"); + sb.append("\013"); sb.append("\123"); - sb.append("\ufede"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\ufede"); sb.append("\125"); - sb.append("\ufede"); + sb.append("\116"); sb.append("\126"); - sb.append("\ufede"); - sb.append("\130"); - sb.append("\ufede"); sb.append("\131"); - sb.append("\ufede"); - sb.append("\132"); - sb.append("\ufede"); sb.append("\133"); - sb.append("\ufede"); - sb.append("\151"); - sb.append("\ufede"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); sb.append("\154"); - sb.append("\ufed5"); + sb.append("\207"); sb.append("\216"); - sb.append("\ufede"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\ufede"); - sb.append("\220"); - sb.append("\ufede"); - sb.append("\221"); - sb.append("\ufede"); - sb.append("\222"); - sb.append("\ufede"); + sb.append("\101"); sb.append("\223"); - sb.append("\ufede"); - sb.append("\224"); - sb.append("\ufede"); - sb.append("\225"); - sb.append("\ufede"); - sb.append("\226"); - sb.append("\ufede"); - sb.append("\227"); - sb.append("\ufede"); - sb.append("\240"); - sb.append("\ufede"); - sb.append("\241"); - sb.append("\ufede"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\047"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\250"); - sb.append("\ufede"); - sb.append("\251"); - sb.append("\u0254"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe0c"); + sb.append("\033"); + sb.append("\ufe0c"); + sb.append("\073"); + sb.append("\ufe0c"); + sb.append("\112"); + sb.append("\ufe0c"); + sb.append("\127"); + sb.append("\ufe0c"); + sb.append("\130"); + sb.append("\ufe0c"); + sb.append("\131"); + sb.append("\ufe0c"); + sb.append("\132"); + sb.append("\ufe0c"); + sb.append("\150"); + sb.append("\ufe0c"); + sb.append("\151"); + sb.append("\ufe0c"); + sb.append("\152"); + sb.append("\ufe0c"); + sb.append("\153"); + sb.append("\ufe0c"); sb.append("\154"); - sb.append("\u0251"); + sb.append("\ufe0c"); + sb.append("\155"); + sb.append("\ufe0c"); + sb.append("\156"); + sb.append("\ufe0c"); + sb.append("\157"); + sb.append("\ufe0c"); + sb.append("\160"); + sb.append("\ufe0c"); + sb.append("\161"); + sb.append("\ufe0c"); + sb.append("\162"); + sb.append("\ufe0c"); + sb.append("\163"); + sb.append("\ufe0c"); + sb.append("\164"); + sb.append("\ufe0c"); + sb.append("\165"); + sb.append("\ufe0c"); + sb.append("\166"); + sb.append("\ufe0c"); + sb.append("\167"); + sb.append("\ufe0c"); + sb.append("\170"); + sb.append("\ufe0c"); + sb.append("\171"); + sb.append("\ufe0c"); + sb.append("\172"); + sb.append("\ufe0c"); + sb.append("\173"); + sb.append("\ufe0c"); + sb.append("\174"); + sb.append("\ufe0c"); + sb.append("\175"); + sb.append("\ufe0c"); + sb.append("\176"); + sb.append("\ufe0c"); + sb.append("\177"); + sb.append("\ufe0c"); + sb.append("\202"); + sb.append("\ufe0c"); + sb.append("\216"); + sb.append("\ufe0c"); + sb.append("\232"); + sb.append("\ufe0c"); + sb.append("\233"); + sb.append("\ufe0c"); + sb.append("\243"); + sb.append("\ufe0c"); + sb.append("\246"); + sb.append("\ufe0c"); + sb.append("\252"); + sb.append("\ufe0c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\024"); - sb.append("\010"); - sb.append("\244"); - sb.append("\075"); - sb.append("\310"); - sb.append("\076"); - sb.append("\313"); - sb.append("\121"); - sb.append("\237"); - sb.append("\222"); - sb.append("\u0249"); - sb.append("\230"); - sb.append("\u024c"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufd50"); + sb.append("\033"); + sb.append("\ufd50"); + sb.append("\073"); + sb.append("\ufd50"); + sb.append("\112"); + sb.append("\ufd50"); + sb.append("\127"); + sb.append("\ufd50"); + sb.append("\130"); + sb.append("\ufd50"); + sb.append("\131"); + sb.append("\ufd50"); + sb.append("\132"); + sb.append("\ufd50"); + sb.append("\150"); + sb.append("\ufd50"); + sb.append("\151"); + sb.append("\ufd50"); + sb.append("\152"); + sb.append("\ufd50"); + sb.append("\153"); + sb.append("\ufd50"); + sb.append("\154"); + sb.append("\ufd50"); + sb.append("\155"); + sb.append("\ufd50"); + sb.append("\156"); + sb.append("\ufd50"); + sb.append("\157"); + sb.append("\ufd50"); + sb.append("\160"); + sb.append("\ufd50"); + sb.append("\161"); + sb.append("\ufd50"); + sb.append("\162"); + sb.append("\ufd50"); + sb.append("\163"); + sb.append("\ufd50"); + sb.append("\164"); + sb.append("\ufd50"); + sb.append("\165"); + sb.append("\ufd50"); + sb.append("\166"); + sb.append("\ufd50"); + sb.append("\167"); + sb.append("\ufd50"); + sb.append("\170"); + sb.append("\ufd50"); + sb.append("\171"); + sb.append("\ufd50"); + sb.append("\172"); + sb.append("\ufd50"); + sb.append("\173"); + sb.append("\ufd50"); + sb.append("\174"); + sb.append("\ufd50"); + sb.append("\175"); + sb.append("\ufd50"); + sb.append("\176"); + sb.append("\ufd50"); + sb.append("\177"); + sb.append("\ufd50"); + sb.append("\202"); + sb.append("\ufd50"); + sb.append("\216"); + sb.append("\ufd50"); + sb.append("\232"); + sb.append("\ufd50"); + sb.append("\233"); + sb.append("\ufd50"); + sb.append("\243"); + sb.append("\ufd50"); + sb.append("\246"); + sb.append("\ufd50"); + sb.append("\252"); + sb.append("\ufd50"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\244"); - sb.append("\004"); - sb.append("\ufed3"); - sb.append("\005"); - sb.append("\ufed3"); - sb.append("\010"); - sb.append("\ufed3"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufd4f"); + sb.append("\033"); + sb.append("\ufd4f"); + sb.append("\073"); + sb.append("\ufd4f"); + sb.append("\112"); + sb.append("\ufd4f"); + sb.append("\127"); + sb.append("\ufd4f"); + sb.append("\130"); + sb.append("\ufd4f"); + sb.append("\131"); + sb.append("\ufd4f"); + sb.append("\132"); + sb.append("\ufd4f"); + sb.append("\150"); + sb.append("\ufd4f"); + sb.append("\151"); + sb.append("\ufd4f"); + sb.append("\152"); + sb.append("\ufd4f"); + sb.append("\153"); + sb.append("\ufd4f"); + sb.append("\154"); + sb.append("\ufd4f"); + sb.append("\155"); + sb.append("\ufd4f"); + sb.append("\156"); + sb.append("\ufd4f"); + sb.append("\157"); + sb.append("\ufd4f"); + sb.append("\160"); + sb.append("\ufd4f"); + sb.append("\161"); + sb.append("\ufd4f"); + sb.append("\162"); + sb.append("\ufd4f"); + sb.append("\163"); + sb.append("\ufd4f"); + sb.append("\164"); + sb.append("\ufd4f"); + sb.append("\165"); + sb.append("\ufd4f"); + sb.append("\166"); + sb.append("\ufd4f"); + sb.append("\167"); + sb.append("\ufd4f"); + sb.append("\170"); + sb.append("\ufd4f"); + sb.append("\171"); + sb.append("\ufd4f"); + sb.append("\172"); + sb.append("\ufd4f"); + sb.append("\173"); + sb.append("\ufd4f"); + sb.append("\174"); + sb.append("\ufd4f"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java index ed82446a411d..7cc443445e5b 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,328 +29,362 @@ public String getTableData() { } protected EncodedActionTable4() { sb = new StringBuilder(); + sb.append("\175"); + sb.append("\ufd4f"); + sb.append("\176"); + sb.append("\ufd4f"); + sb.append("\177"); + sb.append("\ufd4f"); + sb.append("\202"); + sb.append("\ufd4f"); + sb.append("\216"); + sb.append("\ufd4f"); + sb.append("\232"); + sb.append("\ufd4f"); + sb.append("\233"); + sb.append("\ufd4f"); + sb.append("\243"); + sb.append("\ufd4f"); + sb.append("\246"); + sb.append("\ufd4f"); + sb.append("\252"); + sb.append("\ufd4f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\244"); + sb.append("\004"); + sb.append("\ufedc"); + sb.append("\005"); + sb.append("\ufedc"); + sb.append("\010"); + sb.append("\ufedc"); sb.append("\017"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\020"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\021"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\022"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\023"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\024"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\025"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\026"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\027"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\030"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\031"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\032"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\033"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\034"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\035"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\036"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\037"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\040"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\041"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\042"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\043"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\044"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\045"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\046"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\047"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\050"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\052"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\053"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\054"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\055"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\056"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\057"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\060"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\061"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\062"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\063"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\066"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\067"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\070"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\073"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\074"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\075"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\076"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\077"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\100"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\101"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\102"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\103"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\104"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\111"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\114"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\115"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\116"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\121"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\122"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\123"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\124"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\125"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\126"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\130"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\131"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\132"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\133"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\151"); - sb.append("\ufed3"); - sb.append("\154"); - sb.append("\ufed3"); - sb.append("\216"); - sb.append("\ufed3"); + sb.append("\ufedc"); + sb.append("\155"); + sb.append("\u0260"); sb.append("\217"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\220"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\221"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\222"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\223"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\224"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\225"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\226"); - sb.append("\ufed3"); + sb.append("\ufedc"); sb.append("\227"); - sb.append("\ufed3"); - sb.append("\240"); - sb.append("\ufed3"); + sb.append("\ufedc"); + sb.append("\230"); + sb.append("\ufedc"); sb.append("\241"); - sb.append("\ufed3"); - sb.append("\250"); - sb.append("\ufed3"); + sb.append("\ufedc"); + sb.append("\242"); + sb.append("\ufedc"); + sb.append("\251"); + sb.append("\ufedc"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\244"); + sb.append("\250"); sb.append("\004"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\005"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\010"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\017"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\020"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\021"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\022"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\023"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\024"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\025"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\026"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\027"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\030"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\031"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\032"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\033"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\034"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\035"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\036"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\037"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\040"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\041"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\042"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\043"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\044"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\045"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\046"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\047"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\050"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\052"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\053"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\054"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\055"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\056"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\057"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\060"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\061"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\062"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\063"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\066"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\067"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\070"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\073"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\074"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\075"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\076"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\077"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\100"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\101"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\102"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\103"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\104"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\111"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\114"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\115"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\116"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\121"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\122"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\123"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\124"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\125"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\126"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\130"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\131"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\132"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\133"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\151"); - sb.append("\ufed5"); - sb.append("\154"); - sb.append("\ufed5"); - sb.append("\216"); - sb.append("\ufed5"); + sb.append("\ufed9"); + sb.append("\155"); + sb.append("\ufed9"); sb.append("\217"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\220"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\221"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\222"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\223"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\224"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\225"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\226"); - sb.append("\ufed5"); + sb.append("\ufed9"); sb.append("\227"); - sb.append("\ufed5"); - sb.append("\240"); - sb.append("\ufed5"); + sb.append("\ufed9"); + sb.append("\230"); + sb.append("\ufed9"); + sb.append("\232"); + sb.append("\ufed9"); sb.append("\241"); - sb.append("\ufed5"); - sb.append("\250"); - sb.append("\ufed5"); + sb.append("\ufed9"); + sb.append("\242"); + sb.append("\ufed9"); + sb.append("\251"); + sb.append("\ufed9"); + sb.append("\252"); + sb.append("\ufed9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); @@ -361,4172 +396,4138 @@ protected EncodedActionTable4() { sb.append("\076"); sb.append("\313"); sb.append("\121"); - sb.append("\237"); - sb.append("\222"); - sb.append("\u0249"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); sb.append("\240"); + sb.append("\223"); + sb.append("\u024d"); + sb.append("\254"); + sb.append("\241"); sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\246"); + sb.append("\244"); sb.append("\004"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\005"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\010"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\017"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\020"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\021"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\022"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\023"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\024"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\025"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\026"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\027"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\030"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\031"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\032"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\033"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\034"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\035"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\036"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\037"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\040"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\041"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\042"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\043"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\044"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\045"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\046"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\047"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\050"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\052"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\053"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\054"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\055"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\056"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\057"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\060"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\061"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\062"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\063"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\066"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\067"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\070"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\073"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\074"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\075"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\076"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\077"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\100"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\101"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\102"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\103"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\104"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\111"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\114"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\115"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\116"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\121"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\122"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\123"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\124"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\125"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\126"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\130"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\131"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\132"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\133"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\151"); - sb.append("\ufed1"); - sb.append("\216"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\217"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\220"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\221"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\222"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\223"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\224"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\225"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\226"); - sb.append("\ufed1"); + sb.append("\ufedb"); sb.append("\227"); - sb.append("\ufed1"); - sb.append("\231"); - sb.append("\ufed1"); - sb.append("\240"); - sb.append("\ufed1"); + sb.append("\ufedb"); + sb.append("\230"); + sb.append("\ufedb"); sb.append("\241"); - sb.append("\ufed1"); - sb.append("\250"); - sb.append("\ufed1"); + sb.append("\ufedb"); + sb.append("\242"); + sb.append("\ufedb"); sb.append("\251"); - sb.append("\ufed1"); + sb.append("\ufedb"); + sb.append("\252"); + sb.append("\u025d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\231"); - sb.append("\u0258"); - sb.append("\251"); - sb.append("\u0259"); + sb.append("\022"); + sb.append("\010"); + sb.append("\244"); + sb.append("\075"); + sb.append("\310"); + sb.append("\076"); + sb.append("\313"); + sb.append("\121"); + sb.append("\240"); + sb.append("\223"); + sb.append("\u024d"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\251"); - sb.append("\u0254"); + sb.append("\010"); + sb.append("\073"); + sb.append("\ufee1"); + sb.append("\111"); + sb.append("\ufee1"); + sb.append("\151"); + sb.append("\ufee1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\244"); + sb.append("\250"); sb.append("\004"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\005"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\010"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\017"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\020"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\021"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\022"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\023"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\024"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\025"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\026"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\027"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\030"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\031"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\032"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\033"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\034"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\035"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\036"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\037"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\040"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\041"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\042"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\043"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\044"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\045"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\046"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\047"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\050"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\052"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\053"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\054"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\055"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\056"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\057"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\060"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\061"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\062"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\063"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\066"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\067"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\070"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\073"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\074"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\075"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\076"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\077"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\100"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\101"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\102"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\103"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\104"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\111"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\114"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\115"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\116"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\121"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\122"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\123"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\124"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\125"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\126"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\130"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\131"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\132"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\133"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\151"); - sb.append("\ufed4"); - sb.append("\154"); - sb.append("\ufed4"); - sb.append("\216"); - sb.append("\ufed4"); + sb.append("\ufeda"); + sb.append("\155"); + sb.append("\ufeda"); sb.append("\217"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\220"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\221"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\222"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\223"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\224"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\225"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\226"); - sb.append("\ufed4"); + sb.append("\ufeda"); sb.append("\227"); - sb.append("\ufed4"); - sb.append("\240"); - sb.append("\ufed4"); - sb.append("\241"); - sb.append("\ufed4"); - sb.append("\250"); - sb.append("\ufed4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\022"); - sb.append("\010"); - sb.append("\244"); - sb.append("\075"); - sb.append("\310"); - sb.append("\076"); - sb.append("\313"); - sb.append("\121"); - sb.append("\237"); - sb.append("\222"); - sb.append("\u0249"); - sb.append("\253"); + sb.append("\ufeda"); + sb.append("\230"); + sb.append("\ufeda"); + sb.append("\232"); + sb.append("\ufeda"); sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); + sb.append("\ufeda"); + sb.append("\242"); + sb.append("\ufeda"); + sb.append("\251"); + sb.append("\ufeda"); + sb.append("\252"); + sb.append("\ufeda"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\246"); sb.append("\004"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\005"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\010"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\017"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\020"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\021"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\022"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\023"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\024"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\025"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\026"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\027"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\030"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\031"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\032"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\033"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\034"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\035"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\036"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\037"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\040"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\041"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\042"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\043"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\044"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\045"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\046"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\047"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\050"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\052"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\053"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\054"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\055"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\056"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\057"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\060"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\061"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\062"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\063"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\066"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\067"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\070"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\073"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\074"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\075"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\076"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\077"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\100"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\101"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\102"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\103"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\104"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\111"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\114"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\115"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\116"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\121"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\122"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\123"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\124"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\125"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\126"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\130"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\131"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\132"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\133"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\151"); - sb.append("\ufed0"); - sb.append("\216"); - sb.append("\ufed0"); + sb.append("\ufede"); + sb.append("\155"); + sb.append("\ufed5"); sb.append("\217"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\220"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\221"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\222"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\223"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\224"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\225"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\226"); - sb.append("\ufed0"); + sb.append("\ufede"); sb.append("\227"); - sb.append("\ufed0"); - sb.append("\231"); - sb.append("\ufed0"); - sb.append("\240"); - sb.append("\ufed0"); + sb.append("\ufede"); + sb.append("\230"); + sb.append("\ufede"); sb.append("\241"); - sb.append("\ufed0"); - sb.append("\250"); - sb.append("\ufed0"); + sb.append("\ufede"); + sb.append("\242"); + sb.append("\ufede"); sb.append("\251"); - sb.append("\ufed0"); + sb.append("\ufede"); + sb.append("\252"); + sb.append("\u0258"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\242"); sb.append("\004"); - sb.append("\ufedd"); + sb.append("\155"); + sb.append("\u0255"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\024"); + sb.append("\010"); + sb.append("\244"); + sb.append("\075"); + sb.append("\310"); + sb.append("\076"); + sb.append("\313"); + sb.append("\121"); + sb.append("\240"); + sb.append("\223"); + sb.append("\u024d"); + sb.append("\231"); + sb.append("\u0250"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\244"); + sb.append("\004"); + sb.append("\ufed3"); sb.append("\005"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\010"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\017"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\020"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\021"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\022"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\023"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\024"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\025"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\026"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\027"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\030"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\031"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\032"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\033"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\034"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\035"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\036"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\037"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\040"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\041"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\042"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\043"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\044"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\045"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\046"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\047"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\050"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\052"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\053"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\054"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\055"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\056"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\057"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\060"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\061"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\062"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\063"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\066"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\067"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\070"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\073"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\074"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\075"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\076"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\077"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\100"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\101"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\102"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\103"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\104"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\111"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\114"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\115"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\116"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\121"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\122"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\123"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\124"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\125"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\126"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\130"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\131"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\132"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\133"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\151"); - sb.append("\ufedd"); - sb.append("\216"); - sb.append("\ufedd"); + sb.append("\ufed3"); + sb.append("\155"); + sb.append("\ufed3"); sb.append("\217"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\220"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\221"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\222"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\223"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\224"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\225"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\226"); - sb.append("\ufedd"); + sb.append("\ufed3"); sb.append("\227"); - sb.append("\ufedd"); - sb.append("\240"); - sb.append("\ufedd"); - sb.append("\241"); - sb.append("\ufedd"); - sb.append("\250"); - sb.append("\ufedd"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\024"); - sb.append("\010"); - sb.append("\244"); - sb.append("\075"); - sb.append("\310"); - sb.append("\076"); - sb.append("\313"); - sb.append("\121"); - sb.append("\237"); - sb.append("\222"); - sb.append("\u0249"); + sb.append("\ufed3"); sb.append("\230"); - sb.append("\u024c"); - sb.append("\253"); + sb.append("\ufed3"); sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); + sb.append("\ufed3"); + sb.append("\242"); + sb.append("\ufed3"); + sb.append("\251"); + sb.append("\ufed3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\244"); sb.append("\004"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\005"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\010"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\017"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\020"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\021"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\022"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\023"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\024"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\025"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\026"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\027"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\030"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\031"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\032"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\033"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\034"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\035"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\036"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\037"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\040"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\041"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\042"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\043"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\044"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\045"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\046"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\047"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\050"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\052"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\053"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\054"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\055"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\056"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\057"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\060"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\061"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\062"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\063"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\066"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\067"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\070"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\073"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\074"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\075"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\076"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\077"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\100"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\101"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\102"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\103"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\104"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\111"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\114"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\115"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\116"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\121"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\122"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\123"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\124"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\125"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\126"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\130"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\131"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\132"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\133"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\151"); - sb.append("\ufed2"); - sb.append("\154"); - sb.append("\ufed2"); - sb.append("\216"); - sb.append("\ufed2"); + sb.append("\ufed5"); + sb.append("\155"); + sb.append("\ufed5"); sb.append("\217"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\220"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\221"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\222"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\223"); - sb.append("\ufed2"); + sb.append("\ufed5"); sb.append("\224"); - sb.append("\ufed2"); - sb.append("\225"); - sb.append("\ufed2"); - sb.append("\226"); - sb.append("\ufed2"); - sb.append("\227"); - sb.append("\ufed2"); - sb.append("\240"); - sb.append("\ufed2"); - sb.append("\241"); - sb.append("\ufed2"); - sb.append("\250"); - sb.append("\ufed2"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\042"); - sb.append("\010"); - sb.append("\ufeed"); - sb.append("\012"); - sb.append("\ufeed"); - sb.append("\075"); - sb.append("\ufeed"); - sb.append("\076"); - sb.append("\ufeed"); - sb.append("\121"); - sb.append("\ufeed"); - sb.append("\150"); - sb.append("\ufeed"); - sb.append("\156"); - sb.append("\ufeed"); + sb.append("\ufed5"); sb.append("\225"); - sb.append("\277"); + sb.append("\ufed5"); sb.append("\226"); - sb.append("\257"); + sb.append("\ufed5"); sb.append("\227"); - sb.append("\302"); + sb.append("\ufed5"); sb.append("\230"); - sb.append("\ufeed"); - sb.append("\244"); - sb.append("\ufeed"); + sb.append("\ufed5"); + sb.append("\241"); + sb.append("\ufed5"); + sb.append("\242"); + sb.append("\ufed5"); sb.append("\251"); - sb.append("\ufeed"); - sb.append("\253"); - sb.append("\ufeed"); - sb.append("\254"); - sb.append("\ufeed"); - sb.append("\255"); - sb.append("\ufeed"); + sb.append("\ufed5"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\036"); + sb.append("\022"); sb.append("\010"); - sb.append("\ufeee"); - sb.append("\012"); - sb.append("\ufeee"); - sb.append("\075"); - sb.append("\ufeee"); - sb.append("\076"); - sb.append("\ufeee"); - sb.append("\121"); - sb.append("\ufeee"); - sb.append("\150"); - sb.append("\ufeee"); - sb.append("\156"); - sb.append("\ufeee"); - sb.append("\230"); - sb.append("\ufeee"); sb.append("\244"); - sb.append("\ufeee"); - sb.append("\250"); - sb.append("\254"); - sb.append("\251"); - sb.append("\ufeee"); - sb.append("\253"); - sb.append("\ufeee"); - sb.append("\254"); - sb.append("\ufeee"); - sb.append("\255"); - sb.append("\ufeee"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\ufee9"); - sb.append("\012"); - sb.append("\ufee9"); sb.append("\075"); - sb.append("\ufee9"); + sb.append("\310"); sb.append("\076"); - sb.append("\ufee9"); + sb.append("\313"); sb.append("\121"); - sb.append("\ufee9"); - sb.append("\150"); - sb.append("\ufee9"); - sb.append("\156"); - sb.append("\ufee9"); - sb.append("\230"); - sb.append("\ufee9"); - sb.append("\244"); - sb.append("\ufee9"); - sb.append("\251"); - sb.append("\ufee9"); - sb.append("\253"); - sb.append("\ufee9"); + sb.append("\240"); + sb.append("\223"); + sb.append("\u024d"); sb.append("\254"); - sb.append("\ufee9"); + sb.append("\241"); sb.append("\255"); - sb.append("\ufee9"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\034"); + sb.append("\246"); + sb.append("\004"); + sb.append("\ufed1"); + sb.append("\005"); + sb.append("\ufed1"); sb.append("\010"); - sb.append("\ufee8"); - sb.append("\012"); - sb.append("\ufee8"); - sb.append("\075"); - sb.append("\ufee8"); - sb.append("\076"); - sb.append("\ufee8"); - sb.append("\121"); - sb.append("\ufee8"); - sb.append("\150"); - sb.append("\ufee8"); - sb.append("\156"); - sb.append("\ufee8"); - sb.append("\230"); - sb.append("\ufee8"); - sb.append("\244"); - sb.append("\ufee8"); - sb.append("\251"); - sb.append("\ufee8"); - sb.append("\253"); - sb.append("\ufee8"); - sb.append("\254"); - sb.append("\ufee8"); - sb.append("\255"); - sb.append("\ufee8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\ufed1"); + sb.append("\017"); + sb.append("\ufed1"); + sb.append("\020"); + sb.append("\ufed1"); + sb.append("\021"); + sb.append("\ufed1"); + sb.append("\022"); + sb.append("\ufed1"); + sb.append("\023"); + sb.append("\ufed1"); + sb.append("\024"); + sb.append("\ufed1"); + sb.append("\025"); + sb.append("\ufed1"); + sb.append("\026"); + sb.append("\ufed1"); + sb.append("\027"); + sb.append("\ufed1"); + sb.append("\030"); + sb.append("\ufed1"); + sb.append("\031"); + sb.append("\ufed1"); + sb.append("\032"); + sb.append("\ufed1"); + sb.append("\033"); + sb.append("\ufed1"); + sb.append("\034"); + sb.append("\ufed1"); + sb.append("\035"); + sb.append("\ufed1"); + sb.append("\036"); + sb.append("\ufed1"); + sb.append("\037"); + sb.append("\ufed1"); + sb.append("\040"); + sb.append("\ufed1"); + sb.append("\041"); + sb.append("\ufed1"); + sb.append("\042"); + sb.append("\ufed1"); + sb.append("\043"); + sb.append("\ufed1"); + sb.append("\044"); + sb.append("\ufed1"); + sb.append("\045"); + sb.append("\ufed1"); + sb.append("\046"); + sb.append("\ufed1"); + sb.append("\047"); + sb.append("\ufed1"); + sb.append("\050"); + sb.append("\ufed1"); + sb.append("\052"); + sb.append("\ufed1"); + sb.append("\053"); + sb.append("\ufed1"); + sb.append("\054"); + sb.append("\ufed1"); + sb.append("\055"); + sb.append("\ufed1"); sb.append("\056"); - sb.append("\010"); - sb.append("\ufef5"); - sb.append("\012"); - sb.append("\ufef5"); + sb.append("\ufed1"); + sb.append("\057"); + sb.append("\ufed1"); + sb.append("\060"); + sb.append("\ufed1"); + sb.append("\061"); + sb.append("\ufed1"); + sb.append("\062"); + sb.append("\ufed1"); + sb.append("\063"); + sb.append("\ufed1"); + sb.append("\066"); + sb.append("\ufed1"); + sb.append("\067"); + sb.append("\ufed1"); + sb.append("\070"); + sb.append("\ufed1"); + sb.append("\073"); + sb.append("\ufed1"); + sb.append("\074"); + sb.append("\ufed1"); sb.append("\075"); - sb.append("\ufef5"); + sb.append("\ufed1"); sb.append("\076"); - sb.append("\ufef5"); + sb.append("\ufed1"); + sb.append("\077"); + sb.append("\ufed1"); + sb.append("\100"); + sb.append("\ufed1"); + sb.append("\101"); + sb.append("\ufed1"); + sb.append("\102"); + sb.append("\ufed1"); + sb.append("\103"); + sb.append("\ufed1"); + sb.append("\104"); + sb.append("\ufed1"); + sb.append("\111"); + sb.append("\ufed1"); + sb.append("\114"); + sb.append("\ufed1"); + sb.append("\115"); + sb.append("\ufed1"); + sb.append("\116"); + sb.append("\ufed1"); sb.append("\121"); - sb.append("\ufef5"); - sb.append("\150"); - sb.append("\ufef5"); - sb.append("\156"); - sb.append("\ufef5"); + sb.append("\ufed1"); + sb.append("\122"); + sb.append("\ufed1"); + sb.append("\123"); + sb.append("\ufed1"); + sb.append("\124"); + sb.append("\ufed1"); + sb.append("\125"); + sb.append("\ufed1"); + sb.append("\126"); + sb.append("\ufed1"); + sb.append("\130"); + sb.append("\ufed1"); + sb.append("\131"); + sb.append("\ufed1"); + sb.append("\132"); + sb.append("\ufed1"); + sb.append("\133"); + sb.append("\ufed1"); + sb.append("\151"); + sb.append("\ufed1"); + sb.append("\217"); + sb.append("\ufed1"); + sb.append("\220"); + sb.append("\ufed1"); + sb.append("\221"); + sb.append("\ufed1"); + sb.append("\222"); + sb.append("\ufed1"); + sb.append("\223"); + sb.append("\ufed1"); + sb.append("\224"); + sb.append("\ufed1"); sb.append("\225"); - sb.append("\277"); + sb.append("\ufed1"); sb.append("\226"); - sb.append("\257"); + sb.append("\ufed1"); sb.append("\227"); - sb.append("\302"); + sb.append("\ufed1"); sb.append("\230"); - sb.append("\ufef5"); - sb.append("\231"); - sb.append("\ufd6d"); - sb.append("\244"); - sb.append("\ufef5"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\254"); + sb.append("\ufed1"); + sb.append("\232"); + sb.append("\ufed1"); + sb.append("\241"); + sb.append("\ufed1"); + sb.append("\242"); + sb.append("\ufed1"); sb.append("\251"); - sb.append("\ufef5"); - sb.append("\253"); - sb.append("\ufef5"); - sb.append("\254"); - sb.append("\ufef5"); - sb.append("\255"); - sb.append("\ufef5"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\ufefb"); + sb.append("\ufed1"); + sb.append("\252"); + sb.append("\ufed1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); - sb.append("\127"); - sb.append("\ufef8"); - sb.append("\231"); - sb.append("\ufef8"); + sb.append("\232"); + sb.append("\u025c"); + sb.append("\252"); + sb.append("\u025d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\036"); - sb.append("\010"); - sb.append("\ufeef"); - sb.append("\012"); - sb.append("\ufeef"); - sb.append("\075"); - sb.append("\ufeef"); - sb.append("\076"); - sb.append("\ufeef"); - sb.append("\121"); - sb.append("\ufeef"); - sb.append("\150"); - sb.append("\ufeef"); - sb.append("\156"); - sb.append("\ufeef"); - sb.append("\230"); - sb.append("\ufeef"); - sb.append("\244"); - sb.append("\ufeef"); - sb.append("\250"); - sb.append("\254"); - sb.append("\251"); - sb.append("\ufeef"); - sb.append("\253"); - sb.append("\ufeef"); - sb.append("\254"); - sb.append("\ufeef"); - sb.append("\255"); - sb.append("\ufeef"); + sb.append("\004"); + sb.append("\252"); + sb.append("\u0258"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\042"); + sb.append("\244"); + sb.append("\004"); + sb.append("\ufed4"); + sb.append("\005"); + sb.append("\ufed4"); sb.append("\010"); - sb.append("\ufef1"); - sb.append("\012"); - sb.append("\ufef1"); - sb.append("\075"); - sb.append("\ufef1"); - sb.append("\076"); - sb.append("\ufef1"); - sb.append("\121"); - sb.append("\ufef1"); - sb.append("\150"); - sb.append("\ufef1"); - sb.append("\156"); - sb.append("\ufef1"); - sb.append("\230"); - sb.append("\ufef1"); - sb.append("\244"); - sb.append("\ufef1"); - sb.append("\251"); - sb.append("\ufef1"); - sb.append("\253"); - sb.append("\ufef1"); - sb.append("\254"); - sb.append("\ufef1"); - sb.append("\255"); - sb.append("\ufef1"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\ufed4"); + sb.append("\017"); + sb.append("\ufed4"); + sb.append("\020"); + sb.append("\ufed4"); + sb.append("\021"); + sb.append("\ufed4"); + sb.append("\022"); + sb.append("\ufed4"); + sb.append("\023"); + sb.append("\ufed4"); + sb.append("\024"); + sb.append("\ufed4"); + sb.append("\025"); + sb.append("\ufed4"); + sb.append("\026"); + sb.append("\ufed4"); + sb.append("\027"); + sb.append("\ufed4"); + sb.append("\030"); + sb.append("\ufed4"); + sb.append("\031"); + sb.append("\ufed4"); + sb.append("\032"); + sb.append("\ufed4"); + sb.append("\033"); + sb.append("\ufed4"); sb.append("\034"); - sb.append("\010"); - sb.append("\ufeea"); - sb.append("\012"); - sb.append("\ufeea"); + sb.append("\ufed4"); + sb.append("\035"); + sb.append("\ufed4"); + sb.append("\036"); + sb.append("\ufed4"); + sb.append("\037"); + sb.append("\ufed4"); + sb.append("\040"); + sb.append("\ufed4"); + sb.append("\041"); + sb.append("\ufed4"); + sb.append("\042"); + sb.append("\ufed4"); + sb.append("\043"); + sb.append("\ufed4"); + sb.append("\044"); + sb.append("\ufed4"); + sb.append("\045"); + sb.append("\ufed4"); + sb.append("\046"); + sb.append("\ufed4"); + sb.append("\047"); + sb.append("\ufed4"); + sb.append("\050"); + sb.append("\ufed4"); + sb.append("\052"); + sb.append("\ufed4"); + sb.append("\053"); + sb.append("\ufed4"); + sb.append("\054"); + sb.append("\ufed4"); + sb.append("\055"); + sb.append("\ufed4"); + sb.append("\056"); + sb.append("\ufed4"); + sb.append("\057"); + sb.append("\ufed4"); + sb.append("\060"); + sb.append("\ufed4"); + sb.append("\061"); + sb.append("\ufed4"); + sb.append("\062"); + sb.append("\ufed4"); + sb.append("\063"); + sb.append("\ufed4"); + sb.append("\066"); + sb.append("\ufed4"); + sb.append("\067"); + sb.append("\ufed4"); + sb.append("\070"); + sb.append("\ufed4"); + sb.append("\073"); + sb.append("\ufed4"); + sb.append("\074"); + sb.append("\ufed4"); sb.append("\075"); - sb.append("\ufeea"); + sb.append("\ufed4"); sb.append("\076"); - sb.append("\ufeea"); + sb.append("\ufed4"); + sb.append("\077"); + sb.append("\ufed4"); + sb.append("\100"); + sb.append("\ufed4"); + sb.append("\101"); + sb.append("\ufed4"); + sb.append("\102"); + sb.append("\ufed4"); + sb.append("\103"); + sb.append("\ufed4"); + sb.append("\104"); + sb.append("\ufed4"); + sb.append("\111"); + sb.append("\ufed4"); + sb.append("\114"); + sb.append("\ufed4"); + sb.append("\115"); + sb.append("\ufed4"); + sb.append("\116"); + sb.append("\ufed4"); sb.append("\121"); - sb.append("\ufeea"); - sb.append("\150"); - sb.append("\ufeea"); - sb.append("\156"); - sb.append("\ufeea"); + sb.append("\ufed4"); + sb.append("\122"); + sb.append("\ufed4"); + sb.append("\123"); + sb.append("\ufed4"); + sb.append("\124"); + sb.append("\ufed4"); + sb.append("\125"); + sb.append("\ufed4"); + sb.append("\126"); + sb.append("\ufed4"); + sb.append("\130"); + sb.append("\ufed4"); + sb.append("\131"); + sb.append("\ufed4"); + sb.append("\132"); + sb.append("\ufed4"); + sb.append("\133"); + sb.append("\ufed4"); + sb.append("\151"); + sb.append("\ufed4"); + sb.append("\155"); + sb.append("\ufed4"); + sb.append("\217"); + sb.append("\ufed4"); + sb.append("\220"); + sb.append("\ufed4"); + sb.append("\221"); + sb.append("\ufed4"); + sb.append("\222"); + sb.append("\ufed4"); + sb.append("\223"); + sb.append("\ufed4"); + sb.append("\224"); + sb.append("\ufed4"); + sb.append("\225"); + sb.append("\ufed4"); + sb.append("\226"); + sb.append("\ufed4"); + sb.append("\227"); + sb.append("\ufed4"); sb.append("\230"); - sb.append("\ufeea"); - sb.append("\244"); - sb.append("\ufeea"); + sb.append("\ufed4"); + sb.append("\241"); + sb.append("\ufed4"); + sb.append("\242"); + sb.append("\ufed4"); sb.append("\251"); - sb.append("\ufeea"); - sb.append("\253"); - sb.append("\ufeea"); - sb.append("\254"); - sb.append("\ufeea"); - sb.append("\255"); - sb.append("\ufeea"); + sb.append("\ufed4"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\034"); + sb.append("\022"); sb.append("\010"); - sb.append("\ufeeb"); - sb.append("\012"); - sb.append("\ufeeb"); + sb.append("\244"); sb.append("\075"); - sb.append("\ufeeb"); + sb.append("\310"); sb.append("\076"); - sb.append("\ufeeb"); + sb.append("\313"); sb.append("\121"); - sb.append("\ufeeb"); - sb.append("\150"); - sb.append("\ufeeb"); - sb.append("\156"); - sb.append("\ufeeb"); - sb.append("\230"); - sb.append("\ufeeb"); - sb.append("\244"); - sb.append("\ufeeb"); - sb.append("\251"); - sb.append("\ufeeb"); - sb.append("\253"); - sb.append("\ufeeb"); + sb.append("\240"); + sb.append("\223"); + sb.append("\u024d"); sb.append("\254"); - sb.append("\ufeeb"); + sb.append("\241"); sb.append("\255"); - sb.append("\ufeeb"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\246"); + sb.append("\004"); + sb.append("\ufed0"); + sb.append("\005"); + sb.append("\ufed0"); sb.append("\010"); - sb.append("\uff8d"); - sb.append("\012"); - sb.append("\uff8d"); - sb.append("\037"); - sb.append("\uff8d"); - sb.append("\044"); - sb.append("\uff8d"); - sb.append("\045"); - sb.append("\uff8d"); - sb.append("\046"); - sb.append("\uff8d"); - sb.append("\060"); - sb.append("\uff8d"); - sb.append("\065"); - sb.append("\uff8d"); - sb.append("\066"); - sb.append("\uff8d"); - sb.append("\075"); - sb.append("\uff8d"); - sb.append("\076"); - sb.append("\uff8d"); - sb.append("\121"); - sb.append("\uff8d"); - sb.append("\150"); - sb.append("\uff8d"); - sb.append("\156"); - sb.append("\uff8d"); - sb.append("\222"); - sb.append("\uff8d"); - sb.append("\223"); - sb.append("\uff8d"); - sb.append("\224"); - sb.append("\uff8d"); - sb.append("\225"); - sb.append("\uff8d"); - sb.append("\226"); - sb.append("\uff8d"); - sb.append("\227"); - sb.append("\uff8d"); - sb.append("\230"); - sb.append("\uff8d"); - sb.append("\240"); - sb.append("\uff8d"); - sb.append("\244"); - sb.append("\uff8d"); - sb.append("\247"); - sb.append("\uff8d"); - sb.append("\250"); - sb.append("\uff8d"); - sb.append("\251"); - sb.append("\uff8d"); - sb.append("\252"); - sb.append("\uff8d"); - sb.append("\253"); - sb.append("\uff8d"); - sb.append("\254"); - sb.append("\uff8d"); - sb.append("\255"); - sb.append("\uff8d"); - sb.append("\256"); - sb.append("\uff8d"); - sb.append("\257"); - sb.append("\uff8d"); - sb.append("\260"); - sb.append("\uff8d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufef7"); - sb.append("\231"); - sb.append("\ufef7"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\042"); - sb.append("\010"); - sb.append("\ufeec"); - sb.append("\012"); - sb.append("\ufeec"); - sb.append("\075"); - sb.append("\ufeec"); - sb.append("\076"); - sb.append("\ufeec"); - sb.append("\121"); - sb.append("\ufeec"); - sb.append("\150"); - sb.append("\ufeec"); - sb.append("\156"); - sb.append("\ufeec"); - sb.append("\225"); - sb.append("\277"); - sb.append("\226"); - sb.append("\257"); - sb.append("\227"); - sb.append("\302"); - sb.append("\230"); - sb.append("\ufeec"); - sb.append("\244"); - sb.append("\ufeec"); - sb.append("\251"); - sb.append("\ufeec"); - sb.append("\253"); - sb.append("\ufeec"); - sb.append("\254"); - sb.append("\ufeec"); - sb.append("\255"); - sb.append("\ufeec"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\042"); - sb.append("\010"); - sb.append("\ufef0"); - sb.append("\012"); - sb.append("\ufef0"); - sb.append("\075"); - sb.append("\ufef0"); - sb.append("\076"); - sb.append("\ufef0"); - sb.append("\121"); - sb.append("\ufef0"); - sb.append("\150"); - sb.append("\ufef0"); - sb.append("\156"); - sb.append("\ufef0"); - sb.append("\230"); - sb.append("\ufef0"); - sb.append("\244"); - sb.append("\ufef0"); - sb.append("\251"); - sb.append("\ufef0"); - sb.append("\253"); - sb.append("\ufef0"); - sb.append("\254"); - sb.append("\ufef0"); - sb.append("\255"); - sb.append("\ufef0"); - sb.append("\256"); - sb.append("\271"); - sb.append("\257"); - sb.append("\275"); - sb.append("\260"); - sb.append("\261"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\ufee7"); - sb.append("\012"); - sb.append("\ufee7"); - sb.append("\075"); - sb.append("\ufee7"); - sb.append("\076"); - sb.append("\ufee7"); - sb.append("\121"); - sb.append("\ufee7"); - sb.append("\150"); - sb.append("\ufee7"); - sb.append("\156"); - sb.append("\ufee7"); - sb.append("\230"); - sb.append("\ufee7"); - sb.append("\244"); - sb.append("\ufee7"); - sb.append("\251"); - sb.append("\ufee7"); - sb.append("\253"); - sb.append("\ufee7"); - sb.append("\254"); - sb.append("\ufee7"); - sb.append("\255"); - sb.append("\ufee7"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\ufee6"); - sb.append("\012"); - sb.append("\ufee6"); - sb.append("\075"); - sb.append("\ufee6"); - sb.append("\076"); - sb.append("\ufee6"); - sb.append("\121"); - sb.append("\ufee6"); - sb.append("\150"); - sb.append("\ufee6"); - sb.append("\156"); - sb.append("\ufee6"); - sb.append("\230"); - sb.append("\ufee6"); - sb.append("\244"); - sb.append("\ufee6"); - sb.append("\251"); - sb.append("\ufee6"); - sb.append("\253"); - sb.append("\ufee6"); - sb.append("\254"); - sb.append("\ufee6"); - sb.append("\255"); - sb.append("\ufee6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\112"); - sb.append("\ufd0b"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); + sb.append("\ufed0"); + sb.append("\017"); + sb.append("\ufed0"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); + sb.append("\ufed0"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\ufed0"); + sb.append("\022"); + sb.append("\ufed0"); + sb.append("\023"); + sb.append("\ufed0"); + sb.append("\024"); + sb.append("\ufed0"); + sb.append("\025"); + sb.append("\ufed0"); + sb.append("\026"); + sb.append("\ufed0"); + sb.append("\027"); + sb.append("\ufed0"); + sb.append("\030"); + sb.append("\ufed0"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\ufed0"); sb.append("\032"); - sb.append("\106"); + sb.append("\ufed0"); + sb.append("\033"); + sb.append("\ufed0"); + sb.append("\034"); + sb.append("\ufed0"); + sb.append("\035"); + sb.append("\ufed0"); sb.append("\036"); - sb.append("\125"); + sb.append("\ufed0"); + sb.append("\037"); + sb.append("\ufed0"); + sb.append("\040"); + sb.append("\ufed0"); + sb.append("\041"); + sb.append("\ufed0"); + sb.append("\042"); + sb.append("\ufed0"); + sb.append("\043"); + sb.append("\ufed0"); sb.append("\044"); - sb.append("\222"); + sb.append("\ufed0"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\ufed0"); + sb.append("\046"); + sb.append("\ufed0"); + sb.append("\047"); + sb.append("\ufed0"); + sb.append("\050"); + sb.append("\ufed0"); + sb.append("\052"); + sb.append("\ufed0"); + sb.append("\053"); + sb.append("\ufed0"); sb.append("\054"); - sb.append("\026"); + sb.append("\ufed0"); + sb.append("\055"); + sb.append("\ufed0"); + sb.append("\056"); + sb.append("\ufed0"); + sb.append("\057"); + sb.append("\ufed0"); + sb.append("\060"); + sb.append("\ufed0"); + sb.append("\061"); + sb.append("\ufed0"); sb.append("\062"); - sb.append("\210"); + sb.append("\ufed0"); sb.append("\063"); - sb.append("\010"); + sb.append("\ufed0"); + sb.append("\066"); + sb.append("\ufed0"); + sb.append("\067"); + sb.append("\ufed0"); + sb.append("\070"); + sb.append("\ufed0"); + sb.append("\073"); + sb.append("\ufed0"); sb.append("\074"); - sb.append("\051"); + sb.append("\ufed0"); sb.append("\075"); - sb.append("\166"); + sb.append("\ufed0"); + sb.append("\076"); + sb.append("\ufed0"); sb.append("\077"); - sb.append("\123"); + sb.append("\ufed0"); sb.append("\100"); - sb.append("\012"); + sb.append("\ufed0"); sb.append("\101"); - sb.append("\206"); + sb.append("\ufed0"); sb.append("\102"); - sb.append("\041"); + sb.append("\ufed0"); sb.append("\103"); - sb.append("\144"); + sb.append("\ufed0"); sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); + sb.append("\ufed0"); + sb.append("\111"); + sb.append("\ufed0"); + sb.append("\114"); + sb.append("\ufed0"); sb.append("\115"); - sb.append("\136"); + sb.append("\ufed0"); sb.append("\116"); - sb.append("\046"); + sb.append("\ufed0"); sb.append("\121"); - sb.append("\160"); + sb.append("\ufed0"); sb.append("\122"); - sb.append("\013"); + sb.append("\ufed0"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\ufed0"); sb.append("\124"); + sb.append("\ufed0"); sb.append("\125"); - sb.append("\116"); + sb.append("\ufed0"); sb.append("\126"); + sb.append("\ufed0"); + sb.append("\130"); + sb.append("\ufed0"); sb.append("\131"); + sb.append("\ufed0"); + sb.append("\132"); + sb.append("\ufed0"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); + sb.append("\ufed0"); sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\215"); - sb.append("\ufd0b"); - sb.append("\216"); - sb.append("\101"); + sb.append("\ufed0"); + sb.append("\217"); + sb.append("\ufed0"); + sb.append("\220"); + sb.append("\ufed0"); + sb.append("\221"); + sb.append("\ufed0"); sb.append("\222"); - sb.append("\u01b0"); + sb.append("\ufed0"); + sb.append("\223"); + sb.append("\ufed0"); + sb.append("\224"); + sb.append("\ufed0"); + sb.append("\225"); + sb.append("\ufed0"); + sb.append("\226"); + sb.append("\ufed0"); + sb.append("\227"); + sb.append("\ufed0"); sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufed0"); + sb.append("\232"); + sb.append("\ufed0"); + sb.append("\241"); + sb.append("\ufed0"); + sb.append("\242"); + sb.append("\ufed0"); + sb.append("\251"); + sb.append("\ufed0"); + sb.append("\252"); + sb.append("\ufed0"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\122"); + sb.append("\242"); + sb.append("\004"); + sb.append("\ufedd"); + sb.append("\005"); + sb.append("\ufedd"); + sb.append("\010"); + sb.append("\ufedd"); + sb.append("\017"); + sb.append("\ufedd"); + sb.append("\020"); + sb.append("\ufedd"); + sb.append("\021"); + sb.append("\ufedd"); + sb.append("\022"); + sb.append("\ufedd"); + sb.append("\023"); + sb.append("\ufedd"); + sb.append("\024"); + sb.append("\ufedd"); + sb.append("\025"); + sb.append("\ufedd"); + sb.append("\026"); + sb.append("\ufedd"); + sb.append("\027"); + sb.append("\ufedd"); + sb.append("\030"); + sb.append("\ufedd"); sb.append("\031"); - sb.append("\ufd23"); + sb.append("\ufedd"); + sb.append("\032"); + sb.append("\ufedd"); sb.append("\033"); - sb.append("\ufd23"); + sb.append("\ufedd"); + sb.append("\034"); + sb.append("\ufedd"); + sb.append("\035"); + sb.append("\ufedd"); + sb.append("\036"); + sb.append("\ufedd"); + sb.append("\037"); + sb.append("\ufedd"); + sb.append("\040"); + sb.append("\ufedd"); + sb.append("\041"); + sb.append("\ufedd"); + sb.append("\042"); + sb.append("\ufedd"); + sb.append("\043"); + sb.append("\ufedd"); + sb.append("\044"); + sb.append("\ufedd"); + sb.append("\045"); + sb.append("\ufedd"); + sb.append("\046"); + sb.append("\ufedd"); + sb.append("\047"); + sb.append("\ufedd"); + sb.append("\050"); + sb.append("\ufedd"); + sb.append("\052"); + sb.append("\ufedd"); + sb.append("\053"); + sb.append("\ufedd"); + sb.append("\054"); + sb.append("\ufedd"); + sb.append("\055"); + sb.append("\ufedd"); + sb.append("\056"); + sb.append("\ufedd"); + sb.append("\057"); + sb.append("\ufedd"); + sb.append("\060"); + sb.append("\ufedd"); + sb.append("\061"); + sb.append("\ufedd"); + sb.append("\062"); + sb.append("\ufedd"); + sb.append("\063"); + sb.append("\ufedd"); + sb.append("\066"); + sb.append("\ufedd"); + sb.append("\067"); + sb.append("\ufedd"); + sb.append("\070"); + sb.append("\ufedd"); sb.append("\073"); - sb.append("\ufd23"); + sb.append("\ufedd"); + sb.append("\074"); + sb.append("\ufedd"); + sb.append("\075"); + sb.append("\ufedd"); + sb.append("\076"); + sb.append("\ufedd"); + sb.append("\077"); + sb.append("\ufedd"); + sb.append("\100"); + sb.append("\ufedd"); + sb.append("\101"); + sb.append("\ufedd"); + sb.append("\102"); + sb.append("\ufedd"); + sb.append("\103"); + sb.append("\ufedd"); + sb.append("\104"); + sb.append("\ufedd"); sb.append("\111"); - sb.append("\ufd23"); - sb.append("\112"); - sb.append("\ufd23"); - sb.append("\127"); - sb.append("\ufd23"); + sb.append("\ufedd"); + sb.append("\114"); + sb.append("\ufedd"); + sb.append("\115"); + sb.append("\ufedd"); + sb.append("\116"); + sb.append("\ufedd"); + sb.append("\121"); + sb.append("\ufedd"); + sb.append("\122"); + sb.append("\ufedd"); + sb.append("\123"); + sb.append("\ufedd"); + sb.append("\124"); + sb.append("\ufedd"); + sb.append("\125"); + sb.append("\ufedd"); + sb.append("\126"); + sb.append("\ufedd"); sb.append("\130"); - sb.append("\ufd23"); + sb.append("\ufedd"); sb.append("\131"); - sb.append("\ufd23"); + sb.append("\ufedd"); sb.append("\132"); - sb.append("\ufd23"); - sb.append("\150"); - sb.append("\ufd23"); + sb.append("\ufedd"); + sb.append("\133"); + sb.append("\ufedd"); sb.append("\151"); - sb.append("\ufd23"); - sb.append("\152"); - sb.append("\ufd23"); - sb.append("\153"); - sb.append("\ufd23"); - sb.append("\154"); - sb.append("\ufd23"); - sb.append("\155"); - sb.append("\ufd23"); - sb.append("\156"); - sb.append("\ufd23"); - sb.append("\157"); - sb.append("\ufd23"); - sb.append("\160"); - sb.append("\ufd23"); - sb.append("\161"); - sb.append("\ufd23"); - sb.append("\162"); - sb.append("\ufd23"); - sb.append("\163"); - sb.append("\ufd23"); - sb.append("\164"); - sb.append("\ufd23"); - sb.append("\165"); - sb.append("\ufd23"); - sb.append("\166"); - sb.append("\ufd23"); - sb.append("\167"); - sb.append("\ufd23"); - sb.append("\170"); - sb.append("\ufd23"); - sb.append("\171"); - sb.append("\ufd23"); - sb.append("\172"); - sb.append("\ufd23"); - sb.append("\173"); - sb.append("\ufd23"); - sb.append("\174"); - sb.append("\ufd23"); - sb.append("\175"); - sb.append("\ufd23"); - sb.append("\176"); - sb.append("\ufd23"); - sb.append("\201"); - sb.append("\ufd23"); - sb.append("\214"); - sb.append("\ufd23"); - sb.append("\215"); - sb.append("\ufd23"); - sb.append("\231"); - sb.append("\ufd23"); - sb.append("\232"); - sb.append("\ufd23"); + sb.append("\ufedd"); + sb.append("\217"); + sb.append("\ufedd"); + sb.append("\220"); + sb.append("\ufedd"); + sb.append("\221"); + sb.append("\ufedd"); + sb.append("\222"); + sb.append("\ufedd"); + sb.append("\223"); + sb.append("\ufedd"); + sb.append("\224"); + sb.append("\ufedd"); + sb.append("\225"); + sb.append("\ufedd"); + sb.append("\226"); + sb.append("\ufedd"); + sb.append("\227"); + sb.append("\ufedd"); + sb.append("\230"); + sb.append("\ufedd"); + sb.append("\241"); + sb.append("\ufedd"); sb.append("\242"); - sb.append("\ufd23"); - sb.append("\245"); - sb.append("\ufd23"); + sb.append("\ufedd"); sb.append("\251"); - sb.append("\ufd23"); + sb.append("\ufedd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\102"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\112"); - sb.append("\ufd0a"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufd0a"); - sb.append("\242"); - sb.append("\u01c5"); + sb.append("\024"); + sb.append("\010"); + sb.append("\244"); + sb.append("\075"); + sb.append("\310"); + sb.append("\076"); + sb.append("\313"); + sb.append("\121"); + sb.append("\240"); + sb.append("\223"); + sb.append("\u024d"); + sb.append("\231"); + sb.append("\u0250"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\244"); sb.append("\004"); - sb.append("\215"); - sb.append("\u0274"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); + sb.append("\ufed2"); + sb.append("\005"); + sb.append("\ufed2"); + sb.append("\010"); + sb.append("\ufed2"); + sb.append("\017"); + sb.append("\ufed2"); + sb.append("\020"); + sb.append("\ufed2"); + sb.append("\021"); + sb.append("\ufed2"); + sb.append("\022"); + sb.append("\ufed2"); + sb.append("\023"); + sb.append("\ufed2"); + sb.append("\024"); + sb.append("\ufed2"); + sb.append("\025"); + sb.append("\ufed2"); + sb.append("\026"); + sb.append("\ufed2"); + sb.append("\027"); + sb.append("\ufed2"); + sb.append("\030"); + sb.append("\ufed2"); sb.append("\031"); - sb.append("\ufd35"); + sb.append("\ufed2"); + sb.append("\032"); + sb.append("\ufed2"); sb.append("\033"); - sb.append("\ufd35"); - sb.append("\071"); - sb.append("\ufd35"); - sb.append("\072"); - sb.append("\ufd35"); + sb.append("\ufed2"); + sb.append("\034"); + sb.append("\ufed2"); + sb.append("\035"); + sb.append("\ufed2"); + sb.append("\036"); + sb.append("\ufed2"); + sb.append("\037"); + sb.append("\ufed2"); + sb.append("\040"); + sb.append("\ufed2"); + sb.append("\041"); + sb.append("\ufed2"); + sb.append("\042"); + sb.append("\ufed2"); + sb.append("\043"); + sb.append("\ufed2"); + sb.append("\044"); + sb.append("\ufed2"); + sb.append("\045"); + sb.append("\ufed2"); + sb.append("\046"); + sb.append("\ufed2"); + sb.append("\047"); + sb.append("\ufed2"); + sb.append("\050"); + sb.append("\ufed2"); + sb.append("\052"); + sb.append("\ufed2"); + sb.append("\053"); + sb.append("\ufed2"); + sb.append("\054"); + sb.append("\ufed2"); + sb.append("\055"); + sb.append("\ufed2"); + sb.append("\056"); + sb.append("\ufed2"); + sb.append("\057"); + sb.append("\ufed2"); + sb.append("\060"); + sb.append("\ufed2"); + sb.append("\061"); + sb.append("\ufed2"); + sb.append("\062"); + sb.append("\ufed2"); + sb.append("\063"); + sb.append("\ufed2"); + sb.append("\066"); + sb.append("\ufed2"); + sb.append("\067"); + sb.append("\ufed2"); + sb.append("\070"); + sb.append("\ufed2"); sb.append("\073"); - sb.append("\ufd35"); + sb.append("\ufed2"); + sb.append("\074"); + sb.append("\ufed2"); + sb.append("\075"); + sb.append("\ufed2"); + sb.append("\076"); + sb.append("\ufed2"); + sb.append("\077"); + sb.append("\ufed2"); + sb.append("\100"); + sb.append("\ufed2"); + sb.append("\101"); + sb.append("\ufed2"); + sb.append("\102"); + sb.append("\ufed2"); + sb.append("\103"); + sb.append("\ufed2"); + sb.append("\104"); + sb.append("\ufed2"); sb.append("\111"); - sb.append("\ufd35"); - sb.append("\112"); - sb.append("\ufd35"); - sb.append("\113"); - sb.append("\ufd35"); - sb.append("\127"); - sb.append("\ufd35"); + sb.append("\ufed2"); + sb.append("\114"); + sb.append("\ufed2"); + sb.append("\115"); + sb.append("\ufed2"); + sb.append("\116"); + sb.append("\ufed2"); + sb.append("\121"); + sb.append("\ufed2"); + sb.append("\122"); + sb.append("\ufed2"); + sb.append("\123"); + sb.append("\ufed2"); + sb.append("\124"); + sb.append("\ufed2"); + sb.append("\125"); + sb.append("\ufed2"); + sb.append("\126"); + sb.append("\ufed2"); sb.append("\130"); - sb.append("\ufd35"); + sb.append("\ufed2"); sb.append("\131"); - sb.append("\ufd35"); + sb.append("\ufed2"); sb.append("\132"); - sb.append("\ufd35"); - sb.append("\134"); - sb.append("\ufd35"); - sb.append("\135"); - sb.append("\ufd35"); - sb.append("\136"); - sb.append("\ufd35"); - sb.append("\137"); - sb.append("\ufd35"); - sb.append("\140"); - sb.append("\ufd35"); - sb.append("\141"); - sb.append("\ufd35"); - sb.append("\142"); - sb.append("\ufd35"); - sb.append("\143"); - sb.append("\ufd35"); - sb.append("\144"); - sb.append("\ufd35"); - sb.append("\145"); - sb.append("\ufd35"); - sb.append("\146"); - sb.append("\ufd35"); - sb.append("\147"); - sb.append("\ufd35"); - sb.append("\150"); - sb.append("\ufd35"); + sb.append("\ufed2"); + sb.append("\133"); + sb.append("\ufed2"); sb.append("\151"); - sb.append("\ufd35"); - sb.append("\152"); - sb.append("\ufd35"); - sb.append("\153"); - sb.append("\ufd35"); - sb.append("\154"); - sb.append("\ufd35"); + sb.append("\ufed2"); sb.append("\155"); - sb.append("\ufd35"); - sb.append("\156"); - sb.append("\ufd35"); - sb.append("\157"); - sb.append("\ufd35"); - sb.append("\160"); - sb.append("\ufd35"); - sb.append("\161"); - sb.append("\ufd35"); - sb.append("\162"); - sb.append("\ufd35"); - sb.append("\163"); - sb.append("\ufd35"); - sb.append("\164"); - sb.append("\ufd35"); - sb.append("\165"); - sb.append("\ufd35"); - sb.append("\166"); - sb.append("\ufd35"); - sb.append("\167"); - sb.append("\ufd35"); - sb.append("\170"); - sb.append("\ufd35"); - sb.append("\171"); - sb.append("\ufd35"); - sb.append("\172"); - sb.append("\ufd35"); - sb.append("\173"); - sb.append("\ufd35"); - sb.append("\174"); - sb.append("\ufd35"); - sb.append("\175"); - sb.append("\ufd35"); - sb.append("\176"); - sb.append("\ufd35"); - sb.append("\201"); - sb.append("\ufd35"); - sb.append("\202"); - sb.append("\ufd35"); - sb.append("\203"); - sb.append("\ufd35"); - sb.append("\214"); - sb.append("\ufd35"); - sb.append("\215"); - sb.append("\ufd35"); + sb.append("\ufed2"); + sb.append("\217"); + sb.append("\ufed2"); + sb.append("\220"); + sb.append("\ufed2"); + sb.append("\221"); + sb.append("\ufed2"); + sb.append("\222"); + sb.append("\ufed2"); + sb.append("\223"); + sb.append("\ufed2"); + sb.append("\224"); + sb.append("\ufed2"); + sb.append("\225"); + sb.append("\ufed2"); + sb.append("\226"); + sb.append("\ufed2"); + sb.append("\227"); + sb.append("\ufed2"); sb.append("\230"); - sb.append("\ufd35"); - sb.append("\231"); - sb.append("\ufd35"); - sb.append("\232"); - sb.append("\ufd35"); + sb.append("\ufed2"); + sb.append("\241"); + sb.append("\ufed2"); sb.append("\242"); - sb.append("\ufd35"); - sb.append("\243"); - sb.append("\ufd35"); - sb.append("\245"); - sb.append("\ufd35"); - sb.append("\246"); - sb.append("\ufd35"); + sb.append("\ufed2"); sb.append("\251"); - sb.append("\ufd35"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\112"); - sb.append("\u0276"); + sb.append("\ufed2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd34"); - sb.append("\033"); - sb.append("\ufd34"); - sb.append("\071"); - sb.append("\ufd34"); - sb.append("\072"); - sb.append("\ufd34"); - sb.append("\073"); - sb.append("\ufd34"); - sb.append("\111"); - sb.append("\ufd34"); - sb.append("\112"); - sb.append("\ufd34"); - sb.append("\113"); - sb.append("\ufd34"); - sb.append("\127"); - sb.append("\ufd34"); - sb.append("\130"); - sb.append("\ufd34"); - sb.append("\131"); - sb.append("\ufd34"); - sb.append("\132"); - sb.append("\ufd34"); - sb.append("\134"); - sb.append("\ufd34"); - sb.append("\135"); - sb.append("\ufd34"); - sb.append("\136"); - sb.append("\ufd34"); - sb.append("\137"); - sb.append("\ufd34"); - sb.append("\140"); - sb.append("\ufd34"); - sb.append("\141"); - sb.append("\ufd34"); - sb.append("\142"); - sb.append("\ufd34"); - sb.append("\143"); - sb.append("\ufd34"); - sb.append("\144"); - sb.append("\ufd34"); - sb.append("\145"); - sb.append("\ufd34"); - sb.append("\146"); - sb.append("\ufd34"); - sb.append("\147"); - sb.append("\ufd34"); + sb.append("\042"); + sb.append("\010"); + sb.append("\ufeed"); + sb.append("\012"); + sb.append("\ufeed"); + sb.append("\075"); + sb.append("\ufeed"); + sb.append("\076"); + sb.append("\ufeed"); + sb.append("\121"); + sb.append("\ufeed"); sb.append("\150"); - sb.append("\ufd34"); - sb.append("\151"); - sb.append("\ufd34"); - sb.append("\152"); - sb.append("\ufd34"); - sb.append("\153"); - sb.append("\ufd34"); - sb.append("\154"); - sb.append("\ufd34"); - sb.append("\155"); - sb.append("\ufd34"); - sb.append("\156"); - sb.append("\ufd34"); + sb.append("\ufeed"); sb.append("\157"); - sb.append("\ufd34"); - sb.append("\160"); - sb.append("\ufd34"); - sb.append("\161"); - sb.append("\ufd34"); - sb.append("\162"); - sb.append("\ufd34"); - sb.append("\163"); - sb.append("\ufd34"); - sb.append("\164"); - sb.append("\ufd34"); - sb.append("\165"); - sb.append("\ufd34"); - sb.append("\166"); - sb.append("\ufd34"); - sb.append("\167"); - sb.append("\ufd34"); - sb.append("\170"); - sb.append("\ufd34"); - sb.append("\171"); - sb.append("\ufd34"); - sb.append("\172"); - sb.append("\ufd34"); - sb.append("\173"); - sb.append("\ufd34"); - sb.append("\174"); - sb.append("\ufd34"); - sb.append("\175"); - sb.append("\ufd34"); - sb.append("\176"); - sb.append("\ufd34"); - sb.append("\201"); - sb.append("\ufd34"); - sb.append("\202"); - sb.append("\ufd34"); - sb.append("\203"); - sb.append("\ufd34"); - sb.append("\214"); - sb.append("\ufd34"); - sb.append("\215"); - sb.append("\ufd34"); + sb.append("\ufeed"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); sb.append("\230"); - sb.append("\ufd34"); + sb.append("\302"); sb.append("\231"); - sb.append("\ufd34"); - sb.append("\232"); - sb.append("\ufd34"); - sb.append("\242"); - sb.append("\ufd34"); - sb.append("\243"); - sb.append("\ufd34"); + sb.append("\ufeed"); sb.append("\245"); - sb.append("\ufd34"); - sb.append("\246"); - sb.append("\ufd34"); - sb.append("\251"); - sb.append("\ufd34"); + sb.append("\ufeed"); + sb.append("\252"); + sb.append("\ufeed"); + sb.append("\254"); + sb.append("\ufeed"); + sb.append("\255"); + sb.append("\ufeed"); + sb.append("\256"); + sb.append("\ufeed"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\036"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\ufeee"); sb.append("\012"); + sb.append("\ufeee"); sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\u027c"); - sb.append("\075"); - sb.append("\166"); + sb.append("\ufeee"); + sb.append("\076"); + sb.append("\ufeee"); sb.append("\121"); - sb.append("\160"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\147"); + sb.append("\ufeee"); + sb.append("\150"); + sb.append("\ufeee"); + sb.append("\157"); + sb.append("\ufeee"); + sb.append("\231"); + sb.append("\ufeee"); + sb.append("\245"); + sb.append("\ufeee"); + sb.append("\251"); sb.append("\254"); - sb.append("\064"); + sb.append("\252"); + sb.append("\ufeee"); + sb.append("\254"); + sb.append("\ufeee"); sb.append("\255"); - sb.append("\055"); + sb.append("\ufeee"); + sb.append("\256"); + sb.append("\ufeee"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\034"); sb.append("\010"); - sb.append("\071"); - sb.append("\u02ff"); - sb.append("\072"); - sb.append("\u02fd"); - sb.append("\113"); - sb.append("\u02fe"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufcda"); + sb.append("\ufee9"); + sb.append("\012"); + sb.append("\ufee9"); + sb.append("\075"); + sb.append("\ufee9"); + sb.append("\076"); + sb.append("\ufee9"); + sb.append("\121"); + sb.append("\ufee9"); + sb.append("\150"); + sb.append("\ufee9"); + sb.append("\157"); + sb.append("\ufee9"); sb.append("\231"); - sb.append("\ufcda"); + sb.append("\ufee9"); + sb.append("\245"); + sb.append("\ufee9"); + sb.append("\252"); + sb.append("\ufee9"); + sb.append("\254"); + sb.append("\ufee9"); + sb.append("\255"); + sb.append("\ufee9"); + sb.append("\256"); + sb.append("\ufee9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufcdd"); + sb.append("\034"); + sb.append("\010"); + sb.append("\ufee8"); + sb.append("\012"); + sb.append("\ufee8"); + sb.append("\075"); + sb.append("\ufee8"); + sb.append("\076"); + sb.append("\ufee8"); + sb.append("\121"); + sb.append("\ufee8"); + sb.append("\150"); + sb.append("\ufee8"); + sb.append("\157"); + sb.append("\ufee8"); sb.append("\231"); - sb.append("\ufcdd"); + sb.append("\ufee8"); + sb.append("\245"); + sb.append("\ufee8"); + sb.append("\252"); + sb.append("\ufee8"); + sb.append("\254"); + sb.append("\ufee8"); + sb.append("\255"); + sb.append("\ufee8"); + sb.append("\256"); + sb.append("\ufee8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\056"); + sb.append("\010"); + sb.append("\ufef5"); + sb.append("\012"); + sb.append("\ufef5"); + sb.append("\075"); + sb.append("\ufef5"); + sb.append("\076"); + sb.append("\ufef5"); + sb.append("\121"); + sb.append("\ufef5"); + sb.append("\150"); + sb.append("\ufef5"); + sb.append("\157"); + sb.append("\ufef5"); + sb.append("\226"); + sb.append("\277"); + sb.append("\227"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\231"); + sb.append("\ufef5"); + sb.append("\232"); + sb.append("\ufd6b"); + sb.append("\245"); + sb.append("\ufef5"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufef5"); + sb.append("\254"); + sb.append("\ufef5"); + sb.append("\255"); + sb.append("\ufef5"); + sb.append("\256"); + sb.append("\ufef5"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\230"); - sb.append("\ufde4"); + sb.append("\004"); + sb.append("\232"); + sb.append("\ufefb"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\006"); sb.append("\127"); - sb.append("\ufcdb"); - sb.append("\231"); - sb.append("\ufcdb"); + sb.append("\ufef8"); + sb.append("\232"); + sb.append("\ufef8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\036"); sb.append("\010"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\230"); - sb.append("\ufde3"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\113"); - sb.append("\u02e8"); + sb.append("\ufeef"); + sb.append("\012"); + sb.append("\ufeef"); + sb.append("\075"); + sb.append("\ufeef"); + sb.append("\076"); + sb.append("\ufeef"); + sb.append("\121"); + sb.append("\ufeef"); + sb.append("\150"); + sb.append("\ufeef"); + sb.append("\157"); + sb.append("\ufeef"); + sb.append("\231"); + sb.append("\ufeef"); + sb.append("\245"); + sb.append("\ufeef"); + sb.append("\251"); + sb.append("\254"); + sb.append("\252"); + sb.append("\ufeef"); + sb.append("\254"); + sb.append("\ufeef"); + sb.append("\255"); + sb.append("\ufeef"); + sb.append("\256"); + sb.append("\ufeef"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\113"); - sb.append("\u02c8"); + sb.append("\042"); + sb.append("\010"); + sb.append("\ufef1"); + sb.append("\012"); + sb.append("\ufef1"); + sb.append("\075"); + sb.append("\ufef1"); + sb.append("\076"); + sb.append("\ufef1"); + sb.append("\121"); + sb.append("\ufef1"); + sb.append("\150"); + sb.append("\ufef1"); + sb.append("\157"); + sb.append("\ufef1"); + sb.append("\231"); + sb.append("\ufef1"); + sb.append("\245"); + sb.append("\ufef1"); + sb.append("\252"); + sb.append("\ufef1"); + sb.append("\254"); + sb.append("\ufef1"); + sb.append("\255"); + sb.append("\ufef1"); + sb.append("\256"); + sb.append("\ufef1"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\u02c4"); + sb.append("\034"); + sb.append("\010"); + sb.append("\ufeea"); + sb.append("\012"); + sb.append("\ufeea"); + sb.append("\075"); + sb.append("\ufeea"); + sb.append("\076"); + sb.append("\ufeea"); + sb.append("\121"); + sb.append("\ufeea"); + sb.append("\150"); + sb.append("\ufeea"); + sb.append("\157"); + sb.append("\ufeea"); sb.append("\231"); - sb.append("\ufd6e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\071"); - sb.append("\u0286"); - sb.append("\072"); - sb.append("\u0283"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\113"); - sb.append("\u0284"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\230"); - sb.append("\ufdea"); + sb.append("\ufeea"); + sb.append("\245"); + sb.append("\ufeea"); + sb.append("\252"); + sb.append("\ufeea"); + sb.append("\254"); + sb.append("\ufeea"); + sb.append("\255"); + sb.append("\ufeea"); + sb.append("\256"); + sb.append("\ufeea"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\014"); + sb.append("\034"); sb.append("\010"); - sb.append("\u028e"); + sb.append("\ufeeb"); sb.append("\012"); + sb.append("\ufeeb"); sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); + sb.append("\ufeeb"); + sb.append("\076"); + sb.append("\ufeeb"); sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); + sb.append("\ufeeb"); + sb.append("\150"); + sb.append("\ufeeb"); + sb.append("\157"); + sb.append("\ufeeb"); + sb.append("\231"); + sb.append("\ufeeb"); + sb.append("\245"); + sb.append("\ufeeb"); + sb.append("\252"); + sb.append("\ufeeb"); + sb.append("\254"); + sb.append("\ufeeb"); + sb.append("\255"); + sb.append("\ufeeb"); + sb.append("\256"); + sb.append("\ufeeb"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\244"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\104"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\uff8d"); sb.append("\012"); - sb.append("\075"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); + sb.append("\uff8d"); sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\uff8d"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\uff8d"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\uff8d"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); + sb.append("\uff8d"); sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); + sb.append("\uff8d"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\uff8d"); sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); + sb.append("\uff8d"); sb.append("\075"); - sb.append("\u0161"); + sb.append("\uff8d"); sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\111"); - sb.append("\u02ac"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); + sb.append("\uff8d"); sb.append("\121"); - sb.append("\u0178"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); + sb.append("\uff8d"); + sb.append("\150"); + sb.append("\uff8d"); + sb.append("\157"); + sb.append("\uff8d"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\uff8d"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\uff8d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\uff8d"); + sb.append("\226"); + sb.append("\uff8d"); + sb.append("\227"); + sb.append("\uff8d"); + sb.append("\230"); + sb.append("\uff8d"); + sb.append("\231"); + sb.append("\uff8d"); + sb.append("\241"); + sb.append("\uff8d"); + sb.append("\245"); + sb.append("\uff8d"); + sb.append("\250"); + sb.append("\uff8d"); + sb.append("\251"); + sb.append("\uff8d"); + sb.append("\252"); + sb.append("\uff8d"); + sb.append("\253"); + sb.append("\uff8d"); + sb.append("\254"); + sb.append("\uff8d"); + sb.append("\255"); + sb.append("\uff8d"); + sb.append("\256"); + sb.append("\uff8d"); + sb.append("\257"); + sb.append("\uff8d"); + sb.append("\260"); + sb.append("\uff8d"); + sb.append("\261"); + sb.append("\uff8d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufef7"); + sb.append("\232"); + sb.append("\ufef7"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\042"); + sb.append("\010"); + sb.append("\ufeec"); + sb.append("\012"); + sb.append("\ufeec"); + sb.append("\075"); + sb.append("\ufeec"); + sb.append("\076"); + sb.append("\ufeec"); + sb.append("\121"); + sb.append("\ufeec"); + sb.append("\150"); + sb.append("\ufeec"); + sb.append("\157"); + sb.append("\ufeec"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\277"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\233"); - sb.append("\152"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\257"); + sb.append("\230"); + sb.append("\302"); + sb.append("\231"); + sb.append("\ufeec"); + sb.append("\245"); + sb.append("\ufeec"); + sb.append("\252"); + sb.append("\ufeec"); + sb.append("\254"); + sb.append("\ufeec"); + sb.append("\255"); + sb.append("\ufeec"); + sb.append("\256"); + sb.append("\ufeec"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd13"); - sb.append("\033"); - sb.append("\ufd13"); - sb.append("\071"); - sb.append("\ufd13"); - sb.append("\072"); - sb.append("\ufd13"); - sb.append("\073"); - sb.append("\ufd13"); - sb.append("\111"); - sb.append("\ufd13"); - sb.append("\112"); - sb.append("\ufd13"); - sb.append("\113"); - sb.append("\ufd13"); - sb.append("\127"); - sb.append("\ufd13"); - sb.append("\130"); - sb.append("\ufd13"); - sb.append("\131"); - sb.append("\ufd13"); - sb.append("\132"); - sb.append("\ufd13"); - sb.append("\134"); - sb.append("\ufd13"); - sb.append("\135"); - sb.append("\ufd13"); - sb.append("\136"); - sb.append("\ufd13"); - sb.append("\137"); - sb.append("\ufd13"); - sb.append("\140"); - sb.append("\ufd13"); - sb.append("\141"); - sb.append("\ufd13"); - sb.append("\142"); - sb.append("\ufd13"); - sb.append("\143"); - sb.append("\ufd13"); - sb.append("\144"); - sb.append("\ufd13"); - sb.append("\145"); - sb.append("\ufd13"); - sb.append("\146"); - sb.append("\ufd13"); - sb.append("\147"); - sb.append("\ufd13"); + sb.append("\042"); + sb.append("\010"); + sb.append("\ufef0"); + sb.append("\012"); + sb.append("\ufef0"); + sb.append("\075"); + sb.append("\ufef0"); + sb.append("\076"); + sb.append("\ufef0"); + sb.append("\121"); + sb.append("\ufef0"); sb.append("\150"); - sb.append("\ufd13"); - sb.append("\151"); - sb.append("\ufd13"); - sb.append("\152"); - sb.append("\ufd13"); - sb.append("\153"); - sb.append("\ufd13"); - sb.append("\154"); - sb.append("\ufd13"); - sb.append("\155"); - sb.append("\ufd13"); - sb.append("\156"); - sb.append("\ufd13"); + sb.append("\ufef0"); sb.append("\157"); - sb.append("\ufd13"); - sb.append("\160"); - sb.append("\ufd13"); - sb.append("\161"); - sb.append("\ufd13"); - sb.append("\162"); - sb.append("\ufd13"); - sb.append("\163"); - sb.append("\ufd13"); - sb.append("\164"); - sb.append("\ufd13"); - sb.append("\165"); - sb.append("\ufd13"); - sb.append("\166"); - sb.append("\ufd13"); - sb.append("\167"); - sb.append("\ufd13"); - sb.append("\170"); - sb.append("\ufd13"); - sb.append("\171"); - sb.append("\ufd13"); - sb.append("\172"); - sb.append("\ufd13"); - sb.append("\173"); - sb.append("\ufd13"); - sb.append("\174"); - sb.append("\ufd13"); - sb.append("\175"); - sb.append("\ufd13"); - sb.append("\176"); - sb.append("\ufd13"); - sb.append("\201"); - sb.append("\ufd13"); - sb.append("\202"); - sb.append("\ufd13"); - sb.append("\203"); - sb.append("\ufd13"); - sb.append("\214"); - sb.append("\ufd13"); - sb.append("\215"); - sb.append("\ufd13"); - sb.append("\230"); - sb.append("\ufd13"); + sb.append("\ufef0"); sb.append("\231"); - sb.append("\ufd13"); - sb.append("\232"); - sb.append("\ufd13"); - sb.append("\242"); - sb.append("\ufd13"); - sb.append("\243"); - sb.append("\ufd13"); + sb.append("\ufef0"); sb.append("\245"); - sb.append("\ufd13"); - sb.append("\246"); - sb.append("\ufd13"); - sb.append("\251"); - sb.append("\ufd13"); + sb.append("\ufef0"); + sb.append("\252"); + sb.append("\ufef0"); + sb.append("\254"); + sb.append("\ufef0"); + sb.append("\255"); + sb.append("\ufef0"); + sb.append("\256"); + sb.append("\ufef0"); + sb.append("\257"); + sb.append("\271"); + sb.append("\260"); + sb.append("\275"); + sb.append("\261"); + sb.append("\261"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\014"); + sb.append("\034"); sb.append("\010"); - sb.append("\u028e"); + sb.append("\ufee7"); sb.append("\012"); + sb.append("\ufee7"); sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); + sb.append("\ufee7"); + sb.append("\076"); + sb.append("\ufee7"); sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); + sb.append("\ufee7"); + sb.append("\150"); + sb.append("\ufee7"); + sb.append("\157"); + sb.append("\ufee7"); + sb.append("\231"); + sb.append("\ufee7"); + sb.append("\245"); + sb.append("\ufee7"); + sb.append("\252"); + sb.append("\ufee7"); + sb.append("\254"); + sb.append("\ufee7"); + sb.append("\255"); + sb.append("\ufee7"); + sb.append("\256"); + sb.append("\ufee7"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\034"); + sb.append("\010"); + sb.append("\ufee6"); + sb.append("\012"); + sb.append("\ufee6"); + sb.append("\075"); + sb.append("\ufee6"); + sb.append("\076"); + sb.append("\ufee6"); + sb.append("\121"); + sb.append("\ufee6"); + sb.append("\150"); + sb.append("\ufee6"); + sb.append("\157"); + sb.append("\ufee6"); + sb.append("\231"); + sb.append("\ufee6"); + sb.append("\245"); + sb.append("\ufee6"); + sb.append("\252"); + sb.append("\ufee6"); + sb.append("\254"); + sb.append("\ufee6"); + sb.append("\255"); + sb.append("\ufee6"); + sb.append("\256"); + sb.append("\ufee6"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\172"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufd02"); - sb.append("\033"); - sb.append("\ufd02"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufd02"); - sb.append("\072"); - sb.append("\ufd02"); - sb.append("\073"); - sb.append("\ufd02"); - sb.append("\111"); - sb.append("\ufd02"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); sb.append("\112"); - sb.append("\ufd02"); - sb.append("\113"); - sb.append("\ufd02"); - sb.append("\127"); - sb.append("\ufd02"); - sb.append("\130"); - sb.append("\ufd02"); - sb.append("\131"); - sb.append("\ufd02"); - sb.append("\132"); - sb.append("\ufd02"); - sb.append("\134"); - sb.append("\ufd02"); - sb.append("\135"); - sb.append("\ufd02"); + sb.append("\ufd09"); + sb.append("\115"); sb.append("\136"); - sb.append("\ufd02"); - sb.append("\137"); - sb.append("\ufd02"); - sb.append("\140"); - sb.append("\ufd02"); - sb.append("\141"); - sb.append("\ufd02"); - sb.append("\142"); - sb.append("\ufd02"); - sb.append("\143"); - sb.append("\ufd02"); - sb.append("\144"); - sb.append("\ufd02"); - sb.append("\145"); - sb.append("\ufd02"); - sb.append("\146"); - sb.append("\ufd02"); - sb.append("\147"); - sb.append("\ufd02"); - sb.append("\150"); - sb.append("\ufd02"); - sb.append("\151"); - sb.append("\ufd02"); - sb.append("\152"); - sb.append("\ufd02"); - sb.append("\153"); - sb.append("\ufd02"); - sb.append("\154"); - sb.append("\ufd02"); - sb.append("\155"); - sb.append("\ufd02"); - sb.append("\156"); - sb.append("\ufd02"); - sb.append("\157"); - sb.append("\ufd02"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); sb.append("\160"); - sb.append("\ufd02"); - sb.append("\161"); - sb.append("\ufd02"); - sb.append("\162"); - sb.append("\ufd02"); - sb.append("\163"); - sb.append("\ufd02"); - sb.append("\164"); - sb.append("\ufd02"); - sb.append("\165"); - sb.append("\ufd02"); - sb.append("\166"); - sb.append("\ufd02"); - sb.append("\167"); - sb.append("\ufd02"); - sb.append("\170"); - sb.append("\ufd02"); - sb.append("\171"); - sb.append("\ufd02"); - sb.append("\172"); - sb.append("\ufd02"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\ufd02"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd02"); - sb.append("\175"); - sb.append("\ufd02"); sb.append("\176"); - sb.append("\ufd02"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd02"); - sb.append("\202"); - sb.append("\ufd02"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd02"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\ufd02"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd02"); - sb.append("\230"); - sb.append("\ufd02"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufd02"); - sb.append("\232"); - sb.append("\ufd02"); - sb.append("\242"); - sb.append("\ufd02"); - sb.append("\243"); - sb.append("\ufd02"); - sb.append("\245"); - sb.append("\ufd02"); - sb.append("\246"); - sb.append("\ufd02"); - sb.append("\251"); - sb.append("\ufd02"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\172"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufd03"); - sb.append("\033"); - sb.append("\ufd03"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufd03"); - sb.append("\072"); - sb.append("\ufd03"); - sb.append("\073"); - sb.append("\ufd03"); - sb.append("\111"); - sb.append("\ufd03"); - sb.append("\112"); - sb.append("\ufd03"); - sb.append("\113"); - sb.append("\ufd03"); - sb.append("\127"); - sb.append("\ufd03"); - sb.append("\130"); - sb.append("\ufd03"); - sb.append("\131"); - sb.append("\ufd03"); - sb.append("\132"); - sb.append("\ufd03"); - sb.append("\134"); - sb.append("\ufd03"); - sb.append("\135"); - sb.append("\ufd03"); - sb.append("\136"); - sb.append("\ufd03"); - sb.append("\137"); - sb.append("\ufd03"); - sb.append("\140"); - sb.append("\ufd03"); - sb.append("\141"); - sb.append("\ufd03"); - sb.append("\142"); - sb.append("\ufd03"); - sb.append("\143"); - sb.append("\ufd03"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); sb.append("\144"); - sb.append("\ufd03"); - sb.append("\145"); - sb.append("\ufd03"); - sb.append("\146"); - sb.append("\ufd03"); - sb.append("\147"); - sb.append("\ufd03"); - sb.append("\150"); - sb.append("\ufd03"); - sb.append("\151"); - sb.append("\ufd03"); - sb.append("\152"); - sb.append("\ufd03"); - sb.append("\153"); - sb.append("\ufd03"); - sb.append("\154"); - sb.append("\ufd03"); - sb.append("\155"); - sb.append("\ufd03"); - sb.append("\156"); - sb.append("\ufd03"); - sb.append("\157"); - sb.append("\ufd03"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); sb.append("\160"); - sb.append("\ufd03"); - sb.append("\161"); - sb.append("\ufd03"); - sb.append("\162"); - sb.append("\ufd03"); - sb.append("\163"); - sb.append("\ufd03"); - sb.append("\164"); - sb.append("\ufd03"); - sb.append("\165"); - sb.append("\ufd03"); - sb.append("\166"); - sb.append("\ufd03"); - sb.append("\167"); - sb.append("\ufd03"); - sb.append("\170"); - sb.append("\ufd03"); - sb.append("\171"); - sb.append("\ufd03"); - sb.append("\172"); - sb.append("\ufd03"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\ufd03"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd03"); - sb.append("\175"); - sb.append("\ufd03"); sb.append("\176"); - sb.append("\ufd03"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd03"); - sb.append("\202"); - sb.append("\ufd03"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd03"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\ufd03"); - sb.append("\215"); - sb.append("\ufd03"); - sb.append("\230"); - sb.append("\ufd03"); - sb.append("\231"); - sb.append("\ufd03"); - sb.append("\232"); - sb.append("\ufd03"); - sb.append("\242"); - sb.append("\ufd03"); - sb.append("\243"); - sb.append("\ufd03"); - sb.append("\245"); - sb.append("\ufd03"); - sb.append("\246"); - sb.append("\ufd03"); - sb.append("\251"); - sb.append("\ufd03"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\216"); + sb.append("\ufd09"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\124"); sb.append("\031"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\033"); - sb.append("\ufd05"); - sb.append("\071"); - sb.append("\ufd05"); - sb.append("\072"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\073"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\111"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\112"); - sb.append("\ufd05"); - sb.append("\113"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\127"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\130"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\131"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\132"); - sb.append("\ufd05"); - sb.append("\134"); - sb.append("\ufd05"); - sb.append("\135"); - sb.append("\ufd05"); - sb.append("\136"); - sb.append("\ufd05"); - sb.append("\137"); - sb.append("\ufd05"); - sb.append("\140"); - sb.append("\ufd05"); - sb.append("\141"); - sb.append("\ufd05"); - sb.append("\142"); - sb.append("\ufd05"); - sb.append("\143"); - sb.append("\ufd05"); - sb.append("\144"); - sb.append("\ufd05"); - sb.append("\145"); - sb.append("\ufd05"); - sb.append("\146"); - sb.append("\ufd05"); - sb.append("\147"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\150"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\151"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\152"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\153"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\154"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\155"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\156"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\157"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\160"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\161"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\162"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\163"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\164"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\165"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\166"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\167"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\170"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\171"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\172"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\173"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\174"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\175"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\176"); - sb.append("\ufd05"); - sb.append("\201"); - sb.append("\ufd05"); + sb.append("\ufd21"); + sb.append("\177"); + sb.append("\ufd21"); sb.append("\202"); - sb.append("\ufd05"); - sb.append("\203"); - sb.append("\ufd05"); - sb.append("\214"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\215"); - sb.append("\ufd05"); - sb.append("\230"); - sb.append("\ufd05"); - sb.append("\231"); - sb.append("\ufd05"); + sb.append("\ufd21"); + sb.append("\216"); + sb.append("\ufd21"); sb.append("\232"); - sb.append("\ufd05"); - sb.append("\242"); - sb.append("\ufd05"); + sb.append("\ufd21"); + sb.append("\233"); + sb.append("\ufd21"); sb.append("\243"); - sb.append("\ufd05"); - sb.append("\245"); - sb.append("\ufd05"); + sb.append("\ufd21"); sb.append("\246"); - sb.append("\ufd05"); - sb.append("\251"); - sb.append("\ufd05"); + sb.append("\ufd21"); + sb.append("\252"); + sb.append("\ufd21"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\104"); sb.append("\031"); - sb.append("\ufd36"); - sb.append("\033"); - sb.append("\ufd36"); - sb.append("\071"); - sb.append("\ufd36"); - sb.append("\072"); - sb.append("\ufd36"); - sb.append("\073"); - sb.append("\ufd36"); - sb.append("\111"); - sb.append("\ufd36"); + sb.append("\u01d4"); sb.append("\112"); - sb.append("\ufd36"); - sb.append("\113"); - sb.append("\ufd36"); - sb.append("\127"); - sb.append("\ufd36"); + sb.append("\ufd08"); sb.append("\130"); - sb.append("\ufd36"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufd36"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufd36"); - sb.append("\134"); - sb.append("\ufd36"); - sb.append("\135"); - sb.append("\ufd36"); - sb.append("\136"); - sb.append("\ufd36"); - sb.append("\137"); - sb.append("\ufd36"); - sb.append("\140"); - sb.append("\ufd36"); - sb.append("\141"); - sb.append("\ufd36"); - sb.append("\142"); - sb.append("\ufd36"); - sb.append("\143"); - sb.append("\ufd36"); - sb.append("\144"); - sb.append("\ufd36"); - sb.append("\145"); - sb.append("\ufd36"); - sb.append("\146"); - sb.append("\ufd36"); - sb.append("\147"); - sb.append("\ufd36"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufd36"); - sb.append("\151"); - sb.append("\ufd36"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\ufd36"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd36"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd36"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd36"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd36"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd36"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd36"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd36"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd36"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd36"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd36"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd36"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd36"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd36"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd36"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd36"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd36"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd36"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd36"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd36"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd36"); - sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); - sb.append("\215"); - sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); - sb.append("\231"); - sb.append("\ufd36"); - sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufd08"); sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); + sb.append("\u01c7"); sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\004"); + sb.append("\216"); + sb.append("\u0278"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\033"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\071"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\072"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\073"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd33"); sb.append("\112"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\113"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\127"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\130"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\131"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\132"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\134"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\135"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\136"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\137"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\140"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\141"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\142"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\143"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\144"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\145"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\146"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\147"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\150"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\151"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\152"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\153"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\154"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\155"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\156"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\157"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\160"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\161"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\162"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\163"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\164"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\165"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\166"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\167"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\170"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\171"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\172"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\173"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\174"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\175"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\176"); - sb.append("\ufd06"); - sb.append("\201"); - sb.append("\ufd06"); + sb.append("\ufd33"); + sb.append("\177"); + sb.append("\ufd33"); sb.append("\202"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\203"); - sb.append("\ufd06"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd33"); + sb.append("\204"); + sb.append("\ufd33"); sb.append("\215"); - sb.append("\ufd06"); - sb.append("\230"); - sb.append("\ufd06"); + sb.append("\ufd33"); + sb.append("\216"); + sb.append("\ufd33"); sb.append("\231"); - sb.append("\ufd06"); + sb.append("\ufd33"); sb.append("\232"); - sb.append("\ufd06"); - sb.append("\242"); - sb.append("\ufd06"); + sb.append("\ufd33"); + sb.append("\233"); + sb.append("\ufd33"); sb.append("\243"); - sb.append("\ufd06"); - sb.append("\245"); - sb.append("\ufd06"); + sb.append("\ufd33"); + sb.append("\244"); + sb.append("\ufd33"); sb.append("\246"); - sb.append("\ufd06"); - sb.append("\251"); - sb.append("\ufd06"); + sb.append("\ufd33"); + sb.append("\247"); + sb.append("\ufd33"); + sb.append("\252"); + sb.append("\ufd33"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\012"); - sb.append("\075"); - sb.append("\233"); - sb.append("\u0295"); + sb.append("\004"); + sb.append("\112"); + sb.append("\u027a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\212"); - sb.append("\012"); - sb.append("\ufccb"); - sb.append("\015"); - sb.append("\ufccb"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\033"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\071"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\072"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\073"); - sb.append("\ufccb"); - sb.append("\106"); - sb.append("\ufccb"); - sb.append("\107"); - sb.append("\ufccb"); - sb.append("\110"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\111"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\112"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\113"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\127"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\130"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\131"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\132"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\134"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\135"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\136"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\137"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\140"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\141"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\142"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\143"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\144"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\145"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\146"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\147"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\150"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\151"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\152"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\153"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\154"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\155"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\156"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\157"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\160"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\161"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\162"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\163"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\164"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\165"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\166"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\167"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\170"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\171"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\172"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\173"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\174"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\175"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\176"); - sb.append("\ufccb"); - sb.append("\201"); - sb.append("\ufccb"); + sb.append("\ufd32"); + sb.append("\177"); + sb.append("\ufd32"); sb.append("\202"); - sb.append("\ufccb"); + sb.append("\ufd32"); sb.append("\203"); - sb.append("\ufccb"); - sb.append("\214"); - sb.append("\ufccb"); + sb.append("\ufd32"); + sb.append("\204"); + sb.append("\ufd32"); sb.append("\215"); - sb.append("\ufccb"); - sb.append("\230"); - sb.append("\ufccb"); + sb.append("\ufd32"); + sb.append("\216"); + sb.append("\ufd32"); + sb.append("\231"); + sb.append("\ufd32"); + sb.append("\232"); + sb.append("\ufd32"); + sb.append("\233"); + sb.append("\ufd32"); + sb.append("\243"); + sb.append("\ufd32"); + sb.append("\244"); + sb.append("\ufd32"); + sb.append("\246"); + sb.append("\ufd32"); + sb.append("\247"); + sb.append("\ufd32"); + sb.append("\252"); + sb.append("\ufd32"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\036"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\u0280"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\160"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\071"); + sb.append("\u0303"); + sb.append("\072"); + sb.append("\u0301"); + sb.append("\113"); + sb.append("\u0302"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufcd8"); + sb.append("\232"); + sb.append("\ufcd8"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufcdb"); + sb.append("\232"); + sb.append("\ufcdb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\231"); + sb.append("\ufde3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufcd9"); + sb.append("\232"); + sb.append("\ufcd9"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\231"); - sb.append("\ufccb"); + sb.append("\ufde2"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\113"); + sb.append("\u02ec"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\113"); + sb.append("\u02cc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\u02c8"); sb.append("\232"); - sb.append("\ufccb"); - sb.append("\234"); - sb.append("\ufccb"); - sb.append("\235"); - sb.append("\ufccb"); - sb.append("\241"); - sb.append("\ufccb"); - sb.append("\242"); - sb.append("\ufccb"); - sb.append("\243"); - sb.append("\ufccb"); - sb.append("\245"); - sb.append("\ufccb"); - sb.append("\246"); - sb.append("\ufccb"); - sb.append("\251"); - sb.append("\ufccb"); + sb.append("\ufd6c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\212"); - sb.append("\012"); - sb.append("\ufccc"); - sb.append("\015"); - sb.append("\ufccc"); - sb.append("\031"); - sb.append("\ufccc"); - sb.append("\033"); - sb.append("\ufccc"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufccc"); + sb.append("\u028a"); sb.append("\072"); - sb.append("\ufccc"); - sb.append("\073"); - sb.append("\ufccc"); - sb.append("\106"); - sb.append("\ufccc"); - sb.append("\107"); - sb.append("\ufccc"); - sb.append("\110"); - sb.append("\ufccc"); + sb.append("\u0287"); sb.append("\111"); - sb.append("\ufccc"); - sb.append("\112"); - sb.append("\ufccc"); + sb.append("\u0273"); sb.append("\113"); - sb.append("\ufccc"); - sb.append("\127"); - sb.append("\ufccc"); - sb.append("\130"); - sb.append("\ufccc"); - sb.append("\131"); - sb.append("\ufccc"); - sb.append("\132"); - sb.append("\ufccc"); - sb.append("\134"); - sb.append("\ufccc"); - sb.append("\135"); - sb.append("\ufccc"); - sb.append("\136"); - sb.append("\ufccc"); - sb.append("\137"); - sb.append("\ufccc"); - sb.append("\140"); - sb.append("\ufccc"); - sb.append("\141"); - sb.append("\ufccc"); - sb.append("\142"); - sb.append("\ufccc"); - sb.append("\143"); - sb.append("\ufccc"); - sb.append("\144"); - sb.append("\ufccc"); - sb.append("\145"); - sb.append("\ufccc"); - sb.append("\146"); - sb.append("\ufccc"); - sb.append("\147"); - sb.append("\ufccc"); - sb.append("\150"); - sb.append("\ufccc"); - sb.append("\151"); - sb.append("\ufccc"); - sb.append("\152"); - sb.append("\ufccc"); - sb.append("\153"); - sb.append("\ufccc"); - sb.append("\154"); - sb.append("\ufccc"); - sb.append("\155"); - sb.append("\ufccc"); - sb.append("\156"); - sb.append("\ufccc"); - sb.append("\157"); - sb.append("\ufccc"); - sb.append("\160"); - sb.append("\ufccc"); - sb.append("\161"); - sb.append("\ufccc"); - sb.append("\162"); - sb.append("\ufccc"); - sb.append("\163"); - sb.append("\ufccc"); - sb.append("\164"); - sb.append("\ufccc"); - sb.append("\165"); - sb.append("\ufccc"); - sb.append("\166"); - sb.append("\ufccc"); - sb.append("\167"); - sb.append("\ufccc"); - sb.append("\170"); - sb.append("\ufccc"); - sb.append("\171"); - sb.append("\ufccc"); - sb.append("\172"); - sb.append("\ufccc"); - sb.append("\173"); - sb.append("\ufccc"); - sb.append("\174"); - sb.append("\ufccc"); - sb.append("\175"); - sb.append("\ufccc"); - sb.append("\176"); - sb.append("\ufccc"); - sb.append("\201"); - sb.append("\ufccc"); - sb.append("\202"); - sb.append("\ufccc"); - sb.append("\203"); - sb.append("\ufccc"); - sb.append("\214"); - sb.append("\ufccc"); + sb.append("\u0288"); sb.append("\215"); - sb.append("\ufccc"); - sb.append("\230"); - sb.append("\ufccc"); + sb.append("\u0274"); sb.append("\231"); - sb.append("\ufccc"); - sb.append("\232"); - sb.append("\ufccc"); + sb.append("\ufde9"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); sb.append("\234"); - sb.append("\ufccc"); - sb.append("\235"); - sb.append("\ufccc"); - sb.append("\241"); - sb.append("\ufccc"); - sb.append("\242"); - sb.append("\ufccc"); - sb.append("\243"); - sb.append("\ufccc"); - sb.append("\245"); - sb.append("\ufccc"); - sb.append("\246"); - sb.append("\ufccc"); - sb.append("\251"); - sb.append("\ufccc"); + sb.append("\152"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\244"); sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); + sb.append("\u016d"); sb.append("\012"); sb.append("\075"); - sb.append("\015"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\106"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\125"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\222"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u018f"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\026"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\210"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\010"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\051"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\166"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\144"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); + sb.append("\u015d"); + sb.append("\111"); + sb.append("\u02b0"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\046"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\160"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\013"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\u0183"); sb.append("\124"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\116"); + sb.append("\u019b"); sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\234"); + sb.append("\152"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd11"); + sb.append("\033"); + sb.append("\ufd11"); + sb.append("\071"); + sb.append("\ufd11"); + sb.append("\072"); + sb.append("\ufd11"); + sb.append("\073"); + sb.append("\ufd11"); + sb.append("\111"); + sb.append("\ufd11"); + sb.append("\112"); + sb.append("\ufd11"); + sb.append("\113"); + sb.append("\ufd11"); + sb.append("\127"); + sb.append("\ufd11"); + sb.append("\130"); + sb.append("\ufd11"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufd11"); + sb.append("\132"); + sb.append("\ufd11"); + sb.append("\134"); + sb.append("\ufd11"); + sb.append("\135"); + sb.append("\ufd11"); + sb.append("\136"); + sb.append("\ufd11"); + sb.append("\137"); + sb.append("\ufd11"); + sb.append("\140"); + sb.append("\ufd11"); + sb.append("\141"); + sb.append("\ufd11"); + sb.append("\142"); + sb.append("\ufd11"); + sb.append("\143"); + sb.append("\ufd11"); + sb.append("\144"); + sb.append("\ufd11"); + sb.append("\145"); + sb.append("\ufd11"); + sb.append("\146"); + sb.append("\ufd11"); + sb.append("\147"); + sb.append("\ufd11"); + sb.append("\150"); + sb.append("\ufd11"); + sb.append("\151"); + sb.append("\ufd11"); + sb.append("\152"); + sb.append("\ufd11"); + sb.append("\153"); + sb.append("\ufd11"); + sb.append("\154"); + sb.append("\ufd11"); + sb.append("\155"); + sb.append("\ufd11"); + sb.append("\156"); + sb.append("\ufd11"); + sb.append("\157"); + sb.append("\ufd11"); + sb.append("\160"); + sb.append("\ufd11"); + sb.append("\161"); + sb.append("\ufd11"); + sb.append("\162"); + sb.append("\ufd11"); + sb.append("\163"); + sb.append("\ufd11"); + sb.append("\164"); + sb.append("\ufd11"); + sb.append("\165"); + sb.append("\ufd11"); + sb.append("\166"); + sb.append("\ufd11"); + sb.append("\167"); + sb.append("\ufd11"); + sb.append("\170"); + sb.append("\ufd11"); + sb.append("\171"); + sb.append("\ufd11"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufd11"); sb.append("\173"); + sb.append("\ufd11"); + sb.append("\174"); + sb.append("\ufd11"); + sb.append("\175"); + sb.append("\ufd11"); sb.append("\176"); + sb.append("\ufd11"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufd11"); sb.append("\202"); - sb.append("\054"); + sb.append("\ufd11"); sb.append("\203"); - sb.append("\120"); + sb.append("\ufd11"); sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufd11"); + sb.append("\215"); + sb.append("\ufd11"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufd11"); + sb.append("\231"); + sb.append("\ufd11"); + sb.append("\232"); + sb.append("\ufd11"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufd11"); + sb.append("\243"); + sb.append("\ufd11"); + sb.append("\244"); + sb.append("\ufd11"); + sb.append("\246"); + sb.append("\ufd11"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd11"); + sb.append("\252"); + sb.append("\ufd11"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\033"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\071"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\072"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\073"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd00"); sb.append("\112"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\113"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\127"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\130"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\131"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\132"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\134"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\135"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\136"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\137"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\140"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\141"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\142"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\143"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\144"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\145"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\146"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\147"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\150"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\151"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\152"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\153"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\154"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\155"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\156"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\157"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\160"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\161"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\162"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\163"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\164"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\165"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\166"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\167"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\170"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\171"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\172"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\173"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\174"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\175"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\176"); - sb.append("\ufd2e"); - sb.append("\201"); - sb.append("\ufd2e"); + sb.append("\ufd00"); + sb.append("\177"); + sb.append("\ufd00"); sb.append("\202"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\203"); - sb.append("\ufd2e"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd00"); + sb.append("\204"); + sb.append("\ufd00"); sb.append("\215"); - sb.append("\ufd2e"); - sb.append("\230"); - sb.append("\ufd2e"); + sb.append("\ufd00"); + sb.append("\216"); + sb.append("\ufd00"); sb.append("\231"); - sb.append("\ufd2e"); + sb.append("\ufd00"); sb.append("\232"); - sb.append("\ufd2e"); - sb.append("\242"); - sb.append("\ufd2e"); + sb.append("\ufd00"); + sb.append("\233"); + sb.append("\ufd00"); sb.append("\243"); - sb.append("\ufd2e"); - sb.append("\245"); - sb.append("\ufd2e"); + sb.append("\ufd00"); + sb.append("\244"); + sb.append("\ufd00"); sb.append("\246"); - sb.append("\ufd2e"); - sb.append("\251"); - sb.append("\ufd2e"); + sb.append("\ufd00"); + sb.append("\247"); + sb.append("\ufd00"); + sb.append("\252"); + sb.append("\ufd00"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\033"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\071"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\072"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\073"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\111"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\112"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\113"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\127"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\130"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\131"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\132"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\134"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\135"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\136"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\137"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\140"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\141"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\142"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\143"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\144"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\145"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\146"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\147"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\150"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\151"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\152"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\153"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\154"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\155"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\156"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\157"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\160"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\161"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\162"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\163"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\164"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\165"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\166"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\167"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\170"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\171"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\172"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\173"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\174"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\175"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\176"); - sb.append("\ufd0f"); - sb.append("\201"); - sb.append("\ufd0f"); + sb.append("\ufd01"); + sb.append("\177"); + sb.append("\ufd01"); sb.append("\202"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\203"); - sb.append("\ufd0f"); - sb.append("\214"); - sb.append("\ufd0f"); + sb.append("\ufd01"); + sb.append("\204"); + sb.append("\ufd01"); sb.append("\215"); - sb.append("\ufd0f"); - sb.append("\230"); - sb.append("\ufd0f"); + sb.append("\ufd01"); + sb.append("\216"); + sb.append("\ufd01"); sb.append("\231"); - sb.append("\ufd0f"); + sb.append("\ufd01"); sb.append("\232"); - sb.append("\ufd0f"); - sb.append("\242"); - sb.append("\ufd0f"); + sb.append("\ufd01"); + sb.append("\233"); + sb.append("\ufd01"); sb.append("\243"); - sb.append("\ufd0f"); - sb.append("\245"); - sb.append("\ufd0f"); + sb.append("\ufd01"); + sb.append("\244"); + sb.append("\ufd01"); sb.append("\246"); - sb.append("\ufd0f"); - sb.append("\251"); - sb.append("\ufd0f"); + sb.append("\ufd01"); + sb.append("\247"); + sb.append("\ufd01"); + sb.append("\252"); + sb.append("\ufd01"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\174"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd03"); + sb.append("\033"); + sb.append("\ufd03"); + sb.append("\071"); + sb.append("\ufd03"); + sb.append("\072"); + sb.append("\ufd03"); + sb.append("\073"); + sb.append("\ufd03"); + sb.append("\111"); + sb.append("\ufd03"); sb.append("\112"); - sb.append("\u0293"); + sb.append("\ufd03"); + sb.append("\113"); + sb.append("\ufd03"); + sb.append("\127"); + sb.append("\ufd03"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd03"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd03"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd03"); + sb.append("\134"); + sb.append("\ufd03"); + sb.append("\135"); + sb.append("\ufd03"); + sb.append("\136"); + sb.append("\ufd03"); + sb.append("\137"); + sb.append("\ufd03"); + sb.append("\140"); + sb.append("\ufd03"); + sb.append("\141"); + sb.append("\ufd03"); + sb.append("\142"); + sb.append("\ufd03"); + sb.append("\143"); + sb.append("\ufd03"); + sb.append("\144"); + sb.append("\ufd03"); + sb.append("\145"); + sb.append("\ufd03"); + sb.append("\146"); + sb.append("\ufd03"); + sb.append("\147"); + sb.append("\ufd03"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd03"); + sb.append("\151"); + sb.append("\ufd03"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd03"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd03"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd03"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd03"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd03"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd03"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd03"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd03"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd03"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd03"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd03"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd03"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd03"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd03"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd03"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd03"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd03"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd03"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd03"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd03"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd03"); + sb.append("\177"); + sb.append("\ufd03"); + sb.append("\202"); + sb.append("\ufd03"); + sb.append("\203"); + sb.append("\ufd03"); + sb.append("\204"); + sb.append("\ufd03"); + sb.append("\215"); + sb.append("\ufd03"); + sb.append("\216"); + sb.append("\ufd03"); + sb.append("\231"); + sb.append("\ufd03"); + sb.append("\232"); + sb.append("\ufd03"); + sb.append("\233"); + sb.append("\ufd03"); + sb.append("\243"); + sb.append("\ufd03"); + sb.append("\244"); + sb.append("\ufd03"); + sb.append("\246"); + sb.append("\ufd03"); + sb.append("\247"); + sb.append("\ufd03"); + sb.append("\252"); + sb.append("\ufd03"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\033"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\071"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\072"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\073"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\111"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\112"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\113"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\127"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\130"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\131"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\132"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\134"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\135"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\136"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\137"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\140"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\141"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\142"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\143"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\144"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\145"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\146"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\147"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\150"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\151"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\152"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\153"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\154"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\155"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\156"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\157"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\160"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\161"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\162"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\163"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\164"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\165"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\166"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\167"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\170"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\171"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\172"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\173"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\174"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\175"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\176"); - sb.append("\ufd01"); - sb.append("\201"); - sb.append("\ufd01"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); sb.append("\202"); - sb.append("\ufd01"); + sb.append("\ufd34"); sb.append("\203"); - sb.append("\ufd01"); - sb.append("\214"); - sb.append("\ufd01"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); sb.append("\215"); - sb.append("\ufd01"); - sb.append("\230"); - sb.append("\ufd01"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); sb.append("\231"); - sb.append("\ufd01"); + sb.append("\u029f"); sb.append("\232"); - sb.append("\ufd01"); - sb.append("\242"); - sb.append("\ufd01"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); sb.append("\243"); - sb.append("\ufd01"); - sb.append("\245"); - sb.append("\ufd01"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); sb.append("\246"); - sb.append("\ufd01"); - sb.append("\251"); - sb.append("\ufd01"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\033"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\071"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\072"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\073"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\113"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\127"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\130"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\131"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\132"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\134"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\135"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\136"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\137"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\140"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\141"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\142"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\143"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\144"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\145"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\146"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\147"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\150"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\151"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\152"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\153"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\154"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\155"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\156"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\157"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\160"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\161"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\162"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\163"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\164"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\165"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\166"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\167"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\170"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\171"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\172"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\173"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\174"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\175"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\176"); - sb.append("\ufd2d"); - sb.append("\201"); - sb.append("\ufd2d"); + sb.append("\ufd04"); + sb.append("\177"); + sb.append("\ufd04"); sb.append("\202"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\203"); - sb.append("\ufd2d"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd04"); + sb.append("\204"); + sb.append("\ufd04"); sb.append("\215"); - sb.append("\ufd2d"); - sb.append("\230"); - sb.append("\ufd2d"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd04"); sb.append("\231"); - sb.append("\ufd2d"); + sb.append("\ufd04"); sb.append("\232"); - sb.append("\ufd2d"); - sb.append("\242"); - sb.append("\ufd2d"); + sb.append("\ufd04"); + sb.append("\233"); + sb.append("\ufd04"); sb.append("\243"); - sb.append("\ufd2d"); - sb.append("\245"); - sb.append("\ufd2d"); + sb.append("\ufd04"); + sb.append("\244"); + sb.append("\ufd04"); sb.append("\246"); - sb.append("\ufd2d"); - sb.append("\251"); - sb.append("\ufd2d"); + sb.append("\ufd04"); + sb.append("\247"); + sb.append("\ufd04"); + sb.append("\252"); + sb.append("\ufd04"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); + sb.append("\006"); sb.append("\012"); - sb.append("\ufcff"); - sb.append("\111"); - sb.append("\u0296"); - sb.append("\233"); - sb.append("\ufcff"); + sb.append("\075"); + sb.append("\234"); + sb.append("\u0299"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); + sb.append("\214"); sb.append("\012"); - sb.append("\075"); + sb.append("\ufcc9"); sb.append("\015"); + sb.append("\ufcc9"); sb.append("\031"); - sb.append("\016"); + sb.append("\ufcc9"); + sb.append("\033"); + sb.append("\ufcc9"); sb.append("\071"); - sb.append("\032"); + sb.append("\ufcc9"); + sb.append("\072"); + sb.append("\ufcc9"); + sb.append("\073"); + sb.append("\ufcc9"); sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); + sb.append("\ufcc9"); + sb.append("\107"); + sb.append("\ufcc9"); + sb.append("\110"); + sb.append("\ufcc9"); + sb.append("\111"); + sb.append("\ufcc9"); + sb.append("\112"); + sb.append("\ufcc9"); + sb.append("\113"); + sb.append("\ufcc9"); + sb.append("\127"); + sb.append("\ufcc9"); + sb.append("\130"); + sb.append("\ufcc9"); + sb.append("\131"); + sb.append("\ufcc9"); + sb.append("\132"); + sb.append("\ufcc9"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java index a7813c189de1..67060d7f9e61 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,550 +29,390 @@ public String getTableData() { } protected EncodedActionTable5() { sb = new StringBuilder(); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\112"); - sb.append("\u0298"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufd0c"); - sb.append("\033"); - sb.append("\ufd0c"); - sb.append("\071"); - sb.append("\ufd0c"); - sb.append("\072"); - sb.append("\ufd0c"); - sb.append("\073"); - sb.append("\ufd0c"); - sb.append("\111"); - sb.append("\ufd0c"); - sb.append("\112"); - sb.append("\ufd0c"); - sb.append("\113"); - sb.append("\ufd0c"); - sb.append("\127"); - sb.append("\ufd0c"); - sb.append("\130"); - sb.append("\ufd0c"); - sb.append("\131"); - sb.append("\ufd0c"); - sb.append("\132"); - sb.append("\ufd0c"); sb.append("\134"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\135"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\136"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\137"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\140"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\141"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\142"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\143"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\144"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\145"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\146"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\147"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\150"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\151"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\152"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\153"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\154"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\155"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\156"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\157"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\160"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\161"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\162"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\163"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\164"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\165"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\166"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\167"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\170"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\171"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\172"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\173"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\174"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\175"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\176"); - sb.append("\ufd0c"); - sb.append("\201"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); + sb.append("\177"); + sb.append("\ufcc9"); sb.append("\202"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\203"); - sb.append("\ufd0c"); - sb.append("\214"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); + sb.append("\204"); + sb.append("\ufcc9"); sb.append("\215"); - sb.append("\ufd0c"); - sb.append("\230"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); + sb.append("\216"); + sb.append("\ufcc9"); sb.append("\231"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\232"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); + sb.append("\233"); + sb.append("\ufcc9"); + sb.append("\235"); + sb.append("\ufcc9"); + sb.append("\236"); + sb.append("\ufcc9"); sb.append("\242"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); sb.append("\243"); - sb.append("\ufd0c"); - sb.append("\245"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); + sb.append("\244"); + sb.append("\ufcc9"); sb.append("\246"); - sb.append("\ufd0c"); - sb.append("\251"); - sb.append("\ufd0c"); + sb.append("\ufcc9"); + sb.append("\247"); + sb.append("\ufcc9"); + sb.append("\252"); + sb.append("\ufcc9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\214"); + sb.append("\012"); + sb.append("\ufcca"); + sb.append("\015"); + sb.append("\ufcca"); sb.append("\031"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\033"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\071"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\072"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\073"); - sb.append("\ufd04"); + sb.append("\ufcca"); + sb.append("\106"); + sb.append("\ufcca"); + sb.append("\107"); + sb.append("\ufcca"); + sb.append("\110"); + sb.append("\ufcca"); sb.append("\111"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\112"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\113"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\127"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\130"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\131"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\132"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\134"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\135"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\136"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\137"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\140"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\141"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\142"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\143"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\144"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\145"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\146"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\147"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\150"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\151"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\152"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\153"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\154"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\155"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\156"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\157"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\160"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\161"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\162"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\163"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\164"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\165"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\166"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\167"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\170"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\171"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\172"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\173"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\174"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\175"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\176"); - sb.append("\ufd04"); - sb.append("\201"); - sb.append("\ufd04"); + sb.append("\ufcca"); + sb.append("\177"); + sb.append("\ufcca"); sb.append("\202"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\203"); - sb.append("\ufd04"); - sb.append("\214"); - sb.append("\ufd04"); + sb.append("\ufcca"); + sb.append("\204"); + sb.append("\ufcca"); sb.append("\215"); - sb.append("\ufd04"); - sb.append("\230"); - sb.append("\ufd04"); + sb.append("\ufcca"); + sb.append("\216"); + sb.append("\ufcca"); sb.append("\231"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\232"); - sb.append("\ufd04"); + sb.append("\ufcca"); + sb.append("\233"); + sb.append("\ufcca"); + sb.append("\235"); + sb.append("\ufcca"); + sb.append("\236"); + sb.append("\ufcca"); sb.append("\242"); - sb.append("\ufd04"); + sb.append("\ufcca"); sb.append("\243"); - sb.append("\ufd04"); - sb.append("\245"); - sb.append("\ufd04"); + sb.append("\ufcca"); + sb.append("\244"); + sb.append("\ufcca"); sb.append("\246"); - sb.append("\ufd04"); - sb.append("\251"); - sb.append("\ufd04"); + sb.append("\ufcca"); + sb.append("\247"); + sb.append("\ufcca"); + sb.append("\252"); + sb.append("\ufcca"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\033"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\071"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\072"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\073"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\113"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\127"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\130"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\131"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\132"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\134"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\135"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\136"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\137"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\140"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\141"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\142"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\143"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\144"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\145"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\146"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\147"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\150"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\151"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\152"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\153"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\154"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\155"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\156"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\157"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\160"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\161"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\162"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\163"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\164"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\165"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\166"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\167"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\170"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\171"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\174"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\175"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); + sb.append("\177"); + sb.append("\ufd2c"); sb.append("\202"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd2c"); + sb.append("\204"); + sb.append("\ufd2c"); sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2c"); sb.append("\231"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); + sb.append("\233"); + sb.append("\ufd2c"); sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); + sb.append("\244"); + sb.append("\ufd2c"); sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\ufd2c"); + sb.append("\247"); + sb.append("\ufd2c"); + sb.append("\252"); + sb.append("\ufd2c"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\170"); sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -580,2644 +421,2692 @@ protected EncodedActionTable5() { sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); + sb.append("\106"); sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\125"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\222"); sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); + sb.append("\026"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\210"); sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\010"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\051"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\166"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\123"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\012"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\206"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\041"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\144"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\136"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\046"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\160"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\013"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\u0214"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\116"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\020"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); + sb.append("\101"); sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u029d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); + sb.append("\102"); sb.append("\031"); - sb.append("\ufd37"); - sb.append("\033"); - sb.append("\ufd37"); - sb.append("\071"); - sb.append("\ufd37"); - sb.append("\072"); - sb.append("\ufd37"); - sb.append("\073"); - sb.append("\ufd37"); - sb.append("\111"); - sb.append("\ufd37"); + sb.append("\u01d4"); sb.append("\112"); - sb.append("\ufd37"); - sb.append("\113"); - sb.append("\ufd37"); - sb.append("\127"); - sb.append("\ufd37"); + sb.append("\u0296"); sb.append("\130"); - sb.append("\ufd37"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufd37"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufd37"); - sb.append("\134"); - sb.append("\ufd37"); - sb.append("\135"); - sb.append("\ufd37"); - sb.append("\136"); - sb.append("\ufd37"); - sb.append("\137"); - sb.append("\ufd37"); - sb.append("\140"); - sb.append("\ufd37"); - sb.append("\141"); - sb.append("\ufd37"); - sb.append("\142"); - sb.append("\ufd37"); - sb.append("\143"); - sb.append("\ufd37"); - sb.append("\144"); - sb.append("\ufd37"); - sb.append("\145"); - sb.append("\ufd37"); - sb.append("\146"); - sb.append("\ufd37"); - sb.append("\147"); - sb.append("\ufd37"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufd37"); - sb.append("\151"); - sb.append("\ufd37"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\ufd37"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd37"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd37"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd37"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd37"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd37"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd37"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd37"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd37"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd37"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd37"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd37"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd37"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd37"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd37"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd37"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd37"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd37"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd37"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd37"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd37"); - sb.append("\201"); - sb.append("\ufd37"); - sb.append("\202"); - sb.append("\ufd37"); - sb.append("\203"); - sb.append("\ufd37"); - sb.append("\214"); - sb.append("\ufd37"); - sb.append("\215"); - sb.append("\ufd37"); - sb.append("\230"); - sb.append("\ufd37"); - sb.append("\231"); - sb.append("\ufd37"); - sb.append("\232"); - sb.append("\ufd37"); - sb.append("\242"); - sb.append("\ufd37"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); sb.append("\243"); - sb.append("\ufd37"); - sb.append("\245"); - sb.append("\ufd37"); + sb.append("\u01c7"); sb.append("\246"); - sb.append("\ufd37"); - sb.append("\251"); - sb.append("\ufd37"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\033"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\071"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\072"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\073"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufcff"); sb.append("\112"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\113"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\127"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\130"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\131"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\132"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\134"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\135"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\136"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\137"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\140"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\141"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\142"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\143"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\144"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\145"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\146"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\147"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\151"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\152"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\153"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\154"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\155"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\156"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\157"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\160"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\161"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\162"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\163"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\164"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\165"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\166"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\167"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\170"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\171"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\172"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\173"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\174"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\175"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); + sb.append("\ufcff"); + sb.append("\177"); + sb.append("\ufcff"); sb.append("\202"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufcff"); + sb.append("\204"); + sb.append("\ufcff"); sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); + sb.append("\ufcff"); + sb.append("\216"); + sb.append("\ufcff"); sb.append("\231"); - sb.append("\ufd3b"); + sb.append("\ufcff"); sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); + sb.append("\ufcff"); + sb.append("\233"); + sb.append("\ufcff"); sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); + sb.append("\ufcff"); + sb.append("\244"); + sb.append("\ufcff"); sb.append("\246"); - sb.append("\ufd3b"); - sb.append("\251"); - sb.append("\ufd3b"); + sb.append("\ufcff"); + sb.append("\247"); + sb.append("\ufcff"); + sb.append("\252"); + sb.append("\ufcff"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\033"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\071"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\072"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\073"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\111"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\112"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\113"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\127"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\130"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\131"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\132"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\134"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\135"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\136"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\137"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\140"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\141"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\142"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\143"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\144"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\145"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\146"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\147"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\150"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\151"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\152"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\153"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\154"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\155"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\156"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\157"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\160"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\161"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\162"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\163"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\164"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\165"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\166"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\167"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\170"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\171"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\172"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\173"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\174"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\175"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\176"); - sb.append("\ufd31"); - sb.append("\201"); - sb.append("\ufd31"); + sb.append("\ufd0d"); + sb.append("\177"); + sb.append("\ufd0d"); sb.append("\202"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\203"); - sb.append("\ufd31"); - sb.append("\214"); - sb.append("\ufd31"); + sb.append("\ufd0d"); + sb.append("\204"); + sb.append("\ufd0d"); sb.append("\215"); - sb.append("\ufd31"); - sb.append("\230"); - sb.append("\ufd31"); + sb.append("\ufd0d"); + sb.append("\216"); + sb.append("\ufd0d"); sb.append("\231"); - sb.append("\ufd31"); + sb.append("\ufd0d"); sb.append("\232"); - sb.append("\ufd31"); - sb.append("\242"); - sb.append("\ufd31"); + sb.append("\ufd0d"); + sb.append("\233"); + sb.append("\ufd0d"); sb.append("\243"); - sb.append("\ufd31"); - sb.append("\245"); - sb.append("\ufd31"); + sb.append("\ufd0d"); + sb.append("\244"); + sb.append("\ufd0d"); sb.append("\246"); - sb.append("\ufd31"); - sb.append("\251"); - sb.append("\ufd31"); + sb.append("\ufd0d"); + sb.append("\247"); + sb.append("\ufd0d"); + sb.append("\252"); + sb.append("\ufd0d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\033"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\071"); - sb.append("\u02a5"); + sb.append("\ufd2b"); sb.append("\072"); - sb.append("\u02a2"); + sb.append("\ufd2b"); sb.append("\073"); - sb.append("\ufd47"); + sb.append("\ufd2b"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\113"); - sb.append("\u02a3"); + sb.append("\ufd2b"); sb.append("\127"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\130"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\131"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\132"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\134"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\135"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\136"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\137"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\140"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\141"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\142"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\143"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\144"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\145"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\146"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\147"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\150"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\151"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\152"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\153"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\154"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\155"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\156"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\157"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\160"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\161"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\162"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\163"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\164"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\165"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\166"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\167"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\170"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\171"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\172"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\173"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\174"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\175"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\176"); - sb.append("\ufd47"); - sb.append("\201"); - sb.append("\ufd47"); + sb.append("\ufd2b"); + sb.append("\177"); + sb.append("\ufd2b"); sb.append("\202"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\203"); - sb.append("\ufd47"); + sb.append("\ufd2b"); + sb.append("\204"); + sb.append("\ufd2b"); sb.append("\215"); - sb.append("\ufd47"); - sb.append("\230"); - sb.append("\ufd47"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2b"); sb.append("\231"); - sb.append("\ufd47"); + sb.append("\ufd2b"); sb.append("\232"); - sb.append("\ufd47"); - sb.append("\242"); - sb.append("\ufd47"); + sb.append("\ufd2b"); + sb.append("\233"); + sb.append("\ufd2b"); sb.append("\243"); - sb.append("\ufd47"); - sb.append("\245"); - sb.append("\ufd47"); + sb.append("\ufd2b"); + sb.append("\244"); + sb.append("\ufd2b"); sb.append("\246"); - sb.append("\ufd47"); - sb.append("\251"); - sb.append("\ufd47"); + sb.append("\ufd2b"); + sb.append("\247"); + sb.append("\ufd2b"); + sb.append("\252"); + sb.append("\ufd2b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\012"); + sb.append("\ufcfd"); + sb.append("\111"); + sb.append("\u029a"); + sb.append("\234"); + sb.append("\ufcfd"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\112"); + sb.append("\u029c"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\033"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\071"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\072"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\073"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\111"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\112"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\113"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\127"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\130"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\131"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\132"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\134"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\135"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\136"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\137"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\140"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\141"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\142"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\143"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\144"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\145"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\146"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\147"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\150"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\151"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\152"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\153"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\154"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\155"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\156"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\157"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\160"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\161"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\162"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\163"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\164"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\165"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\166"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\167"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\170"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\171"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\172"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\173"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\174"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\175"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\176"); - sb.append("\ufd30"); - sb.append("\201"); - sb.append("\ufd30"); + sb.append("\ufd0a"); + sb.append("\177"); + sb.append("\ufd0a"); sb.append("\202"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\203"); - sb.append("\ufd30"); - sb.append("\214"); - sb.append("\ufd30"); + sb.append("\ufd0a"); + sb.append("\204"); + sb.append("\ufd0a"); sb.append("\215"); - sb.append("\ufd30"); - sb.append("\230"); - sb.append("\ufd30"); + sb.append("\ufd0a"); + sb.append("\216"); + sb.append("\ufd0a"); sb.append("\231"); - sb.append("\ufd30"); + sb.append("\ufd0a"); sb.append("\232"); - sb.append("\ufd30"); - sb.append("\242"); - sb.append("\ufd30"); + sb.append("\ufd0a"); + sb.append("\233"); + sb.append("\ufd0a"); sb.append("\243"); - sb.append("\ufd30"); - sb.append("\245"); - sb.append("\ufd30"); + sb.append("\ufd0a"); + sb.append("\244"); + sb.append("\ufd0a"); sb.append("\246"); - sb.append("\ufd30"); - sb.append("\251"); - sb.append("\ufd30"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\244"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\010"); - sb.append("\u016b"); - sb.append("\012"); - sb.append("\075"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); - sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\111"); - sb.append("\u02ac"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); - sb.append("\121"); - sb.append("\u0178"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\233"); - sb.append("\152"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\ufd0a"); + sb.append("\247"); + sb.append("\ufd0a"); + sb.append("\252"); + sb.append("\ufd0a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\033"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\071"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\072"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\073"); - sb.append("\ufd3c"); + sb.append("\ufd02"); + sb.append("\111"); + sb.append("\ufd02"); sb.append("\112"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\113"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\127"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\130"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\131"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\132"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\134"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\135"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\136"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\137"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\140"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\141"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\142"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\143"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\144"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\145"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\146"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\147"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\150"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\151"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\152"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\153"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\154"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\155"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\156"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\157"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\160"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\161"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\162"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\163"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\164"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\165"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\166"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\167"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\170"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\171"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\172"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\173"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\174"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\175"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\176"); - sb.append("\ufd3c"); - sb.append("\201"); - sb.append("\ufd3c"); + sb.append("\ufd02"); + sb.append("\177"); + sb.append("\ufd02"); sb.append("\202"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\203"); - sb.append("\ufd3c"); + sb.append("\ufd02"); + sb.append("\204"); + sb.append("\ufd02"); sb.append("\215"); - sb.append("\ufd3c"); - sb.append("\230"); - sb.append("\ufd3c"); + sb.append("\ufd02"); + sb.append("\216"); + sb.append("\ufd02"); sb.append("\231"); - sb.append("\ufd3c"); + sb.append("\ufd02"); sb.append("\232"); - sb.append("\ufd3c"); - sb.append("\242"); - sb.append("\ufd3c"); + sb.append("\ufd02"); + sb.append("\233"); + sb.append("\ufd02"); sb.append("\243"); - sb.append("\ufd3c"); - sb.append("\245"); - sb.append("\ufd3c"); + sb.append("\ufd02"); + sb.append("\244"); + sb.append("\ufd02"); sb.append("\246"); - sb.append("\ufd3c"); - sb.append("\251"); - sb.append("\ufd3c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); + sb.append("\ufd02"); + sb.append("\247"); + sb.append("\ufd02"); + sb.append("\252"); + sb.append("\ufd02"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\071"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\072"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\073"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\111"); - sb.append("\ufd36"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\113"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\127"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\134"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\135"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\136"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\137"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\140"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\141"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\142"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\143"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\144"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\145"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\146"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\147"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\150"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\152"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\153"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\154"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\155"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\156"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\157"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\161"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\162"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\163"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\164"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\165"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\166"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\167"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\170"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\171"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\174"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\175"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); sb.append("\202"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); sb.append("\215"); - sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); sb.append("\231"); - sb.append("\ufd36"); + sb.append("\ufd2d"); sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); + sb.append("\004"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufd2f"); - sb.append("\033"); - sb.append("\ufd2f"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); - sb.append("\073"); - sb.append("\ufd2f"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); - sb.append("\127"); - sb.append("\ufd2f"); - sb.append("\130"); - sb.append("\ufd2f"); - sb.append("\131"); - sb.append("\ufd2f"); - sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); - sb.append("\150"); - sb.append("\ufd2f"); - sb.append("\151"); - sb.append("\ufd2f"); - sb.append("\152"); - sb.append("\ufd2f"); - sb.append("\153"); - sb.append("\ufd2f"); - sb.append("\154"); - sb.append("\ufd2f"); - sb.append("\155"); - sb.append("\ufd2f"); - sb.append("\156"); - sb.append("\ufd2f"); - sb.append("\157"); - sb.append("\ufd2f"); - sb.append("\160"); - sb.append("\ufd2f"); - sb.append("\161"); - sb.append("\ufd2f"); - sb.append("\162"); - sb.append("\ufd2f"); - sb.append("\163"); - sb.append("\ufd2f"); - sb.append("\164"); - sb.append("\ufd2f"); - sb.append("\165"); - sb.append("\ufd2f"); - sb.append("\166"); - sb.append("\ufd2f"); - sb.append("\167"); - sb.append("\ufd2f"); - sb.append("\170"); - sb.append("\ufd2f"); - sb.append("\171"); - sb.append("\ufd2f"); - sb.append("\172"); - sb.append("\ufd2f"); - sb.append("\173"); - sb.append("\ufd2f"); - sb.append("\174"); - sb.append("\ufd2f"); - sb.append("\175"); - sb.append("\ufd2f"); - sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); - sb.append("\202"); - sb.append("\ufd2f"); - sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); - sb.append("\231"); - sb.append("\ufd2f"); - sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); - sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); - sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\ufd3a"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\ufd3a"); - sb.append("\071"); - sb.append("\ufd3a"); - sb.append("\072"); - sb.append("\ufd3a"); - sb.append("\073"); - sb.append("\ufd3a"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd3a"); - sb.append("\113"); - sb.append("\ufd3a"); - sb.append("\127"); - sb.append("\ufd3a"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u0227"); + sb.append("\045"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u0224"); + sb.append("\063"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u020e"); + sb.append("\075"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0217"); + sb.append("\100"); + sb.append("\u0201"); + sb.append("\101"); + sb.append("\u0223"); + sb.append("\102"); + sb.append("\u0208"); + sb.append("\103"); + sb.append("\u021c"); + sb.append("\104"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u021b"); + sb.append("\116"); + sb.append("\u020b"); + sb.append("\121"); + sb.append("\u0220"); + sb.append("\122"); + sb.append("\u0202"); + sb.append("\123"); + sb.append("\u0210"); + sb.append("\124"); + sb.append("\u0218"); + sb.append("\125"); + sb.append("\u0215"); + sb.append("\126"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\ufd3a"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\ufd3a"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\ufd3a"); - sb.append("\134"); - sb.append("\ufd3a"); - sb.append("\135"); - sb.append("\ufd3a"); - sb.append("\136"); - sb.append("\ufd3a"); - sb.append("\137"); - sb.append("\ufd3a"); - sb.append("\140"); - sb.append("\ufd3a"); - sb.append("\141"); - sb.append("\ufd3a"); - sb.append("\142"); - sb.append("\ufd3a"); - sb.append("\143"); - sb.append("\ufd3a"); - sb.append("\144"); - sb.append("\ufd3a"); - sb.append("\145"); - sb.append("\ufd3a"); - sb.append("\146"); - sb.append("\ufd3a"); - sb.append("\147"); - sb.append("\ufd3a"); - sb.append("\150"); - sb.append("\ufd3a"); - sb.append("\151"); - sb.append("\ufd3a"); - sb.append("\152"); - sb.append("\ufd3a"); - sb.append("\153"); - sb.append("\ufd3a"); - sb.append("\154"); - sb.append("\ufd3a"); - sb.append("\155"); - sb.append("\ufd3a"); - sb.append("\156"); - sb.append("\ufd3a"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u0203"); sb.append("\157"); - sb.append("\ufd3a"); - sb.append("\160"); - sb.append("\ufd3a"); - sb.append("\161"); - sb.append("\ufd3a"); - sb.append("\162"); - sb.append("\ufd3a"); - sb.append("\163"); - sb.append("\ufd3a"); - sb.append("\164"); - sb.append("\ufd3a"); - sb.append("\165"); - sb.append("\ufd3a"); - sb.append("\166"); - sb.append("\ufd3a"); - sb.append("\167"); - sb.append("\ufd3a"); - sb.append("\170"); - sb.append("\ufd3a"); - sb.append("\171"); - sb.append("\ufd3a"); - sb.append("\172"); - sb.append("\ufd3a"); + sb.append("\u020c"); sb.append("\173"); - sb.append("\ufd3a"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd3a"); - sb.append("\175"); - sb.append("\ufd3a"); sb.append("\176"); - sb.append("\ufd3a"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd3a"); - sb.append("\202"); - sb.append("\ufd3a"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd3a"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\u0270"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd3a"); + sb.append("\114"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\ufd3a"); + sb.append("\u01a0"); sb.append("\231"); - sb.append("\ufd3a"); + sb.append("\u01b5"); sb.append("\232"); - sb.append("\ufd3a"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\ufd3a"); - sb.append("\243"); - sb.append("\ufd3a"); + sb.append("\u0190"); sb.append("\245"); - sb.append("\ufd3a"); - sb.append("\246"); - sb.append("\ufd3a"); + sb.append("\u0212"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufd3a"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u02a1"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\033"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\071"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\072"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\073"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\111"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\112"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\113"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\127"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\130"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\131"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\132"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\134"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\135"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\136"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\137"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\140"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\141"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\142"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\143"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\144"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\145"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\146"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\147"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\150"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\151"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\152"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\153"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\154"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\155"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\156"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\157"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\160"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\161"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\162"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\163"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\164"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\165"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\166"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\167"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\170"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\171"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\172"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\173"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\174"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\175"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\176"); - sb.append("\ufd09"); - sb.append("\201"); - sb.append("\ufd09"); + sb.append("\ufd35"); + sb.append("\177"); + sb.append("\ufd35"); sb.append("\202"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\203"); - sb.append("\ufd09"); - sb.append("\214"); - sb.append("\ufd09"); + sb.append("\ufd35"); + sb.append("\204"); + sb.append("\ufd35"); sb.append("\215"); - sb.append("\ufd09"); - sb.append("\230"); - sb.append("\ufd09"); + sb.append("\ufd35"); + sb.append("\216"); + sb.append("\ufd35"); sb.append("\231"); - sb.append("\ufd09"); + sb.append("\ufd35"); sb.append("\232"); - sb.append("\ufd09"); - sb.append("\242"); - sb.append("\ufd09"); + sb.append("\ufd35"); + sb.append("\233"); + sb.append("\ufd35"); sb.append("\243"); - sb.append("\ufd09"); - sb.append("\245"); - sb.append("\ufd09"); + sb.append("\ufd35"); + sb.append("\244"); + sb.append("\ufd35"); sb.append("\246"); - sb.append("\ufd09"); - sb.append("\251"); - sb.append("\ufd09"); + sb.append("\ufd35"); + sb.append("\247"); + sb.append("\ufd35"); + sb.append("\252"); + sb.append("\ufd35"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\033"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\071"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\072"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\073"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\111"); - sb.append("\ufd36"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\113"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\127"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\130"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\131"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\132"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\134"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\135"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\136"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\137"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\140"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\141"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\142"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\143"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\144"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\145"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\146"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\147"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\150"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\151"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\152"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\153"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\154"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\155"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\156"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\157"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\160"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\161"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\162"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\163"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\164"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\165"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\166"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\167"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\170"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\171"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\172"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\173"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\174"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\175"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); + sb.append("\ufd39"); + sb.append("\177"); + sb.append("\ufd39"); sb.append("\202"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); + sb.append("\ufd39"); + sb.append("\204"); + sb.append("\ufd39"); sb.append("\215"); - sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd39"); sb.append("\231"); - sb.append("\ufd36"); + sb.append("\ufd39"); sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); + sb.append("\ufd39"); + sb.append("\233"); + sb.append("\ufd39"); sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); + sb.append("\ufd39"); + sb.append("\247"); + sb.append("\ufd39"); + sb.append("\252"); + sb.append("\ufd39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\033"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\071"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\072"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\073"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\111"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\112"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\113"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\127"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\130"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\131"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\132"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\134"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\135"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\136"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\137"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\140"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\141"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\142"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\143"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\144"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\145"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\146"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\147"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\150"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\151"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\152"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\153"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\154"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\155"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\156"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\157"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\160"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\161"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\162"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\163"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\164"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\165"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\166"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\167"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\170"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\171"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\172"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\173"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\174"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\175"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\176"); - sb.append("\ufd84"); - sb.append("\201"); - sb.append("\ufd84"); + sb.append("\ufd2f"); + sb.append("\177"); + sb.append("\ufd2f"); sb.append("\202"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\203"); - sb.append("\ufd84"); - sb.append("\214"); - sb.append("\u02b4"); + sb.append("\ufd2f"); + sb.append("\204"); + sb.append("\ufd2f"); sb.append("\215"); - sb.append("\ufd84"); - sb.append("\230"); - sb.append("\ufd84"); + sb.append("\ufd2f"); + sb.append("\216"); + sb.append("\ufd2f"); sb.append("\231"); - sb.append("\ufd84"); + sb.append("\ufd2f"); sb.append("\232"); - sb.append("\ufd84"); - sb.append("\242"); - sb.append("\ufd84"); + sb.append("\ufd2f"); + sb.append("\233"); + sb.append("\ufd2f"); sb.append("\243"); - sb.append("\ufd84"); - sb.append("\245"); - sb.append("\ufd84"); + sb.append("\ufd2f"); + sb.append("\244"); + sb.append("\ufd2f"); sb.append("\246"); - sb.append("\ufd84"); - sb.append("\251"); - sb.append("\ufd84"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufd2f"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd2f"); + sb.append("\252"); + sb.append("\ufd2f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\170"); sb.append("\031"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\033"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\071"); - sb.append("\ufd83"); + sb.append("\u02a9"); sb.append("\072"); - sb.append("\ufd83"); + sb.append("\u02a6"); sb.append("\073"); - sb.append("\ufd83"); - sb.append("\111"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\112"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\113"); - sb.append("\ufd83"); + sb.append("\u02a7"); sb.append("\127"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\130"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\131"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\132"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\134"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\135"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\136"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\137"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\140"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\141"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\142"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\143"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\144"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\145"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\146"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\147"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\150"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\151"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\152"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\153"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\154"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\155"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\156"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\157"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\160"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\161"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\162"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\163"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\164"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\165"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\166"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\167"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\170"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\171"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\172"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\173"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\174"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\175"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\176"); - sb.append("\ufd83"); - sb.append("\201"); - sb.append("\ufd83"); + sb.append("\ufd45"); + sb.append("\177"); + sb.append("\ufd45"); sb.append("\202"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\203"); - sb.append("\ufd83"); - sb.append("\214"); - sb.append("\u02af"); - sb.append("\215"); - sb.append("\ufd83"); - sb.append("\230"); - sb.append("\ufd83"); + sb.append("\ufd45"); + sb.append("\204"); + sb.append("\ufd45"); + sb.append("\216"); + sb.append("\ufd45"); sb.append("\231"); - sb.append("\ufd83"); + sb.append("\ufd45"); sb.append("\232"); - sb.append("\ufd83"); - sb.append("\242"); - sb.append("\ufd83"); + sb.append("\ufd45"); + sb.append("\233"); + sb.append("\ufd45"); sb.append("\243"); - sb.append("\ufd83"); - sb.append("\245"); - sb.append("\ufd83"); + sb.append("\ufd45"); + sb.append("\244"); + sb.append("\ufd45"); sb.append("\246"); - sb.append("\ufd83"); - sb.append("\251"); - sb.append("\ufd83"); + sb.append("\ufd45"); + sb.append("\247"); + sb.append("\ufd45"); + sb.append("\252"); + sb.append("\ufd45"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\033"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\071"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\072"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\073"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\111"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\112"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\113"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\127"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\130"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\131"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\132"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\134"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\135"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\136"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\137"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\140"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\141"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\142"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\143"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\144"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\145"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\146"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\147"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\150"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\151"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\152"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\153"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\154"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\155"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\156"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\157"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\160"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\161"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\162"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\163"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\164"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\165"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\166"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\167"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\170"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\171"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\172"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\173"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\174"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\175"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\176"); - sb.append("\ufd08"); - sb.append("\201"); - sb.append("\ufd08"); + sb.append("\ufd2e"); + sb.append("\177"); + sb.append("\ufd2e"); sb.append("\202"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\203"); - sb.append("\ufd08"); - sb.append("\214"); - sb.append("\ufd08"); + sb.append("\ufd2e"); + sb.append("\204"); + sb.append("\ufd2e"); sb.append("\215"); - sb.append("\ufd08"); - sb.append("\230"); - sb.append("\ufd08"); + sb.append("\ufd2e"); + sb.append("\216"); + sb.append("\ufd2e"); sb.append("\231"); - sb.append("\ufd08"); + sb.append("\ufd2e"); sb.append("\232"); - sb.append("\ufd08"); - sb.append("\242"); - sb.append("\ufd08"); + sb.append("\ufd2e"); + sb.append("\233"); + sb.append("\ufd2e"); sb.append("\243"); - sb.append("\ufd08"); - sb.append("\245"); - sb.append("\ufd08"); + sb.append("\ufd2e"); + sb.append("\244"); + sb.append("\ufd2e"); sb.append("\246"); - sb.append("\ufd08"); - sb.append("\251"); - sb.append("\ufd08"); + sb.append("\ufd2e"); + sb.append("\247"); + sb.append("\ufd2e"); + sb.append("\252"); + sb.append("\ufd2e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\244"); sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); + sb.append("\u016d"); sb.append("\012"); sb.append("\075"); - sb.append("\015"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\106"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\125"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\222"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u018f"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\026"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\210"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\010"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\051"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\166"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\144"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); + sb.append("\u015d"); + sb.append("\111"); + sb.append("\u02b0"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\046"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\160"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\013"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\u0183"); sb.append("\124"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\116"); + sb.append("\u019b"); sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\020"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\234"); + sb.append("\152"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\031"); + sb.append("\ufd3a"); + sb.append("\033"); + sb.append("\ufd3a"); + sb.append("\071"); + sb.append("\ufd3a"); + sb.append("\072"); + sb.append("\ufd3a"); + sb.append("\073"); + sb.append("\ufd3a"); + sb.append("\112"); + sb.append("\ufd3a"); + sb.append("\113"); + sb.append("\ufd3a"); + sb.append("\127"); + sb.append("\ufd3a"); + sb.append("\130"); + sb.append("\ufd3a"); + sb.append("\131"); + sb.append("\ufd3a"); + sb.append("\132"); + sb.append("\ufd3a"); + sb.append("\134"); + sb.append("\ufd3a"); + sb.append("\135"); + sb.append("\ufd3a"); + sb.append("\136"); + sb.append("\ufd3a"); + sb.append("\137"); + sb.append("\ufd3a"); + sb.append("\140"); + sb.append("\ufd3a"); + sb.append("\141"); + sb.append("\ufd3a"); + sb.append("\142"); + sb.append("\ufd3a"); + sb.append("\143"); + sb.append("\ufd3a"); + sb.append("\144"); + sb.append("\ufd3a"); + sb.append("\145"); + sb.append("\ufd3a"); + sb.append("\146"); + sb.append("\ufd3a"); + sb.append("\147"); + sb.append("\ufd3a"); + sb.append("\150"); + sb.append("\ufd3a"); + sb.append("\151"); + sb.append("\ufd3a"); + sb.append("\152"); + sb.append("\ufd3a"); + sb.append("\153"); + sb.append("\ufd3a"); + sb.append("\154"); + sb.append("\ufd3a"); + sb.append("\155"); + sb.append("\ufd3a"); + sb.append("\156"); + sb.append("\ufd3a"); + sb.append("\157"); + sb.append("\ufd3a"); + sb.append("\160"); + sb.append("\ufd3a"); + sb.append("\161"); + sb.append("\ufd3a"); + sb.append("\162"); + sb.append("\ufd3a"); + sb.append("\163"); + sb.append("\ufd3a"); + sb.append("\164"); + sb.append("\ufd3a"); + sb.append("\165"); + sb.append("\ufd3a"); + sb.append("\166"); + sb.append("\ufd3a"); + sb.append("\167"); + sb.append("\ufd3a"); + sb.append("\170"); + sb.append("\ufd3a"); + sb.append("\171"); + sb.append("\ufd3a"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufd3a"); sb.append("\173"); + sb.append("\ufd3a"); + sb.append("\174"); + sb.append("\ufd3a"); + sb.append("\175"); + sb.append("\ufd3a"); sb.append("\176"); + sb.append("\ufd3a"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufd3a"); sb.append("\202"); - sb.append("\054"); + sb.append("\ufd3a"); sb.append("\203"); - sb.append("\120"); + sb.append("\ufd3a"); sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufd3a"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufd3a"); + sb.append("\231"); + sb.append("\ufd3a"); + sb.append("\232"); + sb.append("\ufd3a"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufd3a"); + sb.append("\243"); + sb.append("\ufd3a"); + sb.append("\244"); + sb.append("\ufd3a"); + sb.append("\246"); + sb.append("\ufd3a"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd3a"); + sb.append("\252"); + sb.append("\ufd3a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd34"); + sb.append("\033"); + sb.append("\ufd34"); + sb.append("\071"); + sb.append("\ufd34"); + sb.append("\072"); + sb.append("\ufd34"); + sb.append("\073"); + sb.append("\ufd34"); + sb.append("\111"); + sb.append("\ufd34"); + sb.append("\112"); + sb.append("\ufd34"); + sb.append("\113"); + sb.append("\ufd34"); + sb.append("\127"); + sb.append("\ufd34"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd34"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd34"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd34"); + sb.append("\151"); + sb.append("\ufd34"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd34"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd34"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd34"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd34"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd34"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd34"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd34"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd34"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd34"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd34"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd34"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd34"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd34"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd34"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd34"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd34"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd34"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd34"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd34"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd34"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); sb.append("\215"); - sb.append("\u02b1"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); + sb.append("\231"); + sb.append("\u029f"); + sb.append("\232"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\071"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\072"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\073"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\111"); - sb.append("\ufd81"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\113"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\127"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\134"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\135"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\136"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\137"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\140"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\141"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\142"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\143"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\144"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\145"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\146"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\147"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\150"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\152"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\153"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\154"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\155"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\156"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\157"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\161"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\162"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\163"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\164"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\165"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\166"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\167"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\170"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\171"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\174"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\175"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\176"); - sb.append("\ufd81"); - sb.append("\201"); - sb.append("\ufd81"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); sb.append("\202"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\203"); - sb.append("\ufd81"); - sb.append("\214"); - sb.append("\ufd81"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); sb.append("\215"); - sb.append("\ufd81"); - sb.append("\230"); - sb.append("\ufd81"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); sb.append("\231"); - sb.append("\ufd81"); + sb.append("\ufd2d"); sb.append("\232"); - sb.append("\ufd81"); - sb.append("\242"); - sb.append("\ufd81"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); sb.append("\243"); - sb.append("\ufd81"); - sb.append("\245"); - sb.append("\ufd81"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); sb.append("\246"); - sb.append("\ufd81"); - sb.append("\251"); - sb.append("\ufd81"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\174"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd38"); + sb.append("\033"); + sb.append("\ufd38"); + sb.append("\071"); + sb.append("\ufd38"); + sb.append("\072"); + sb.append("\ufd38"); + sb.append("\073"); + sb.append("\ufd38"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\u02b3"); + sb.append("\ufd38"); + sb.append("\113"); + sb.append("\ufd38"); + sb.append("\127"); + sb.append("\ufd38"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd38"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd38"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd38"); + sb.append("\134"); + sb.append("\ufd38"); + sb.append("\135"); + sb.append("\ufd38"); + sb.append("\136"); + sb.append("\ufd38"); + sb.append("\137"); + sb.append("\ufd38"); + sb.append("\140"); + sb.append("\ufd38"); + sb.append("\141"); + sb.append("\ufd38"); + sb.append("\142"); + sb.append("\ufd38"); + sb.append("\143"); + sb.append("\ufd38"); + sb.append("\144"); + sb.append("\ufd38"); + sb.append("\145"); + sb.append("\ufd38"); + sb.append("\146"); + sb.append("\ufd38"); + sb.append("\147"); + sb.append("\ufd38"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd38"); + sb.append("\151"); + sb.append("\ufd38"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd38"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd38"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd38"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd38"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd38"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd38"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd38"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd38"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd38"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd38"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd38"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd38"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd38"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd38"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd38"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd38"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd38"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd38"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd38"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd38"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd38"); + sb.append("\177"); + sb.append("\ufd38"); + sb.append("\202"); + sb.append("\ufd38"); + sb.append("\203"); + sb.append("\ufd38"); + sb.append("\204"); + sb.append("\ufd38"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd38"); + sb.append("\231"); + sb.append("\ufd38"); + sb.append("\232"); + sb.append("\ufd38"); + sb.append("\233"); + sb.append("\ufd38"); + sb.append("\243"); + sb.append("\ufd38"); + sb.append("\244"); + sb.append("\ufd38"); + sb.append("\246"); + sb.append("\ufd38"); + sb.append("\247"); + sb.append("\ufd38"); + sb.append("\252"); + sb.append("\ufd38"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); sb.append("\ufd07"); sb.append("\033"); @@ -3312,224 +3201,164 @@ protected EncodedActionTable5() { sb.append("\ufd07"); sb.append("\176"); sb.append("\ufd07"); - sb.append("\201"); + sb.append("\177"); sb.append("\ufd07"); sb.append("\202"); sb.append("\ufd07"); sb.append("\203"); sb.append("\ufd07"); - sb.append("\214"); + sb.append("\204"); sb.append("\ufd07"); sb.append("\215"); sb.append("\ufd07"); - sb.append("\230"); + sb.append("\216"); sb.append("\ufd07"); sb.append("\231"); sb.append("\ufd07"); sb.append("\232"); sb.append("\ufd07"); - sb.append("\242"); + sb.append("\233"); sb.append("\ufd07"); sb.append("\243"); sb.append("\ufd07"); - sb.append("\245"); + sb.append("\244"); sb.append("\ufd07"); sb.append("\246"); sb.append("\ufd07"); - sb.append("\251"); + sb.append("\247"); + sb.append("\ufd07"); + sb.append("\252"); sb.append("\ufd07"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\174"); sb.append("\031"); - sb.append("\016"); + sb.append("\ufd34"); + sb.append("\033"); + sb.append("\ufd34"); sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); + sb.append("\ufd34"); + sb.append("\072"); + sb.append("\ufd34"); sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd34"); + sb.append("\111"); + sb.append("\ufd34"); + sb.append("\112"); + sb.append("\ufd34"); + sb.append("\113"); + sb.append("\ufd34"); + sb.append("\127"); + sb.append("\ufd34"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd34"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd34"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd34"); + sb.append("\151"); + sb.append("\ufd34"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd34"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd34"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd34"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd34"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd34"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd34"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd34"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd34"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd34"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd34"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd34"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd34"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd34"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd34"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd34"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd34"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd34"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd34"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd34"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd34"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); sb.append("\215"); - sb.append("\u02b6"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); + sb.append("\231"); + sb.append("\u029f"); + sb.append("\232"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); sb.append("\ufd82"); sb.append("\033"); @@ -3624,909 +3453,1081 @@ protected EncodedActionTable5() { sb.append("\ufd82"); sb.append("\176"); sb.append("\ufd82"); - sb.append("\201"); + sb.append("\177"); sb.append("\ufd82"); sb.append("\202"); sb.append("\ufd82"); sb.append("\203"); sb.append("\ufd82"); - sb.append("\214"); + sb.append("\204"); sb.append("\ufd82"); sb.append("\215"); - sb.append("\ufd82"); - sb.append("\230"); + sb.append("\u02b8"); + sb.append("\216"); sb.append("\ufd82"); sb.append("\231"); sb.append("\ufd82"); sb.append("\232"); sb.append("\ufd82"); - sb.append("\242"); + sb.append("\233"); sb.append("\ufd82"); sb.append("\243"); sb.append("\ufd82"); - sb.append("\245"); + sb.append("\244"); sb.append("\ufd82"); sb.append("\246"); sb.append("\ufd82"); - sb.append("\251"); + sb.append("\247"); + sb.append("\ufd82"); + sb.append("\252"); sb.append("\ufd82"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufd2f"); - sb.append("\033"); - sb.append("\ufd2f"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); - sb.append("\073"); - sb.append("\ufd2f"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); - sb.append("\127"); - sb.append("\ufd2f"); - sb.append("\130"); - sb.append("\ufd2f"); - sb.append("\131"); - sb.append("\ufd2f"); - sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); - sb.append("\150"); - sb.append("\ufd2f"); - sb.append("\151"); - sb.append("\ufd2f"); - sb.append("\152"); - sb.append("\ufd2f"); - sb.append("\153"); - sb.append("\ufd2f"); - sb.append("\154"); - sb.append("\ufd2f"); - sb.append("\155"); - sb.append("\ufd2f"); - sb.append("\156"); - sb.append("\ufd2f"); - sb.append("\157"); - sb.append("\ufd2f"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); sb.append("\160"); - sb.append("\ufd2f"); - sb.append("\161"); - sb.append("\ufd2f"); - sb.append("\162"); - sb.append("\ufd2f"); - sb.append("\163"); - sb.append("\ufd2f"); - sb.append("\164"); - sb.append("\ufd2f"); - sb.append("\165"); - sb.append("\ufd2f"); - sb.append("\166"); - sb.append("\ufd2f"); - sb.append("\167"); - sb.append("\ufd2f"); - sb.append("\170"); - sb.append("\ufd2f"); - sb.append("\171"); - sb.append("\ufd2f"); - sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd2f"); - sb.append("\175"); - sb.append("\ufd2f"); sb.append("\176"); - sb.append("\ufd2f"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd2f"); - sb.append("\202"); - sb.append("\ufd2f"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd2f"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); - sb.append("\231"); - sb.append("\ufd2f"); - sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); - sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); - sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\033"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\071"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\072"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\073"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd81"); sb.append("\112"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\113"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\127"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\130"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\131"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\132"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\134"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\135"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\136"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\137"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\140"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\141"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\142"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\143"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\144"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\145"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\146"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\147"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\150"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\151"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\152"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\153"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\154"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\155"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\156"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\157"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\160"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\161"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\162"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\163"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\164"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\165"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\166"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\167"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\170"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\171"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\172"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\173"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\174"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\175"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\176"); - sb.append("\ufd38"); - sb.append("\201"); - sb.append("\ufd38"); + sb.append("\ufd81"); + sb.append("\177"); + sb.append("\ufd81"); sb.append("\202"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\203"); - sb.append("\ufd38"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd81"); + sb.append("\204"); + sb.append("\ufd81"); sb.append("\215"); - sb.append("\ufd38"); - sb.append("\230"); - sb.append("\ufd38"); + sb.append("\u02b3"); + sb.append("\216"); + sb.append("\ufd81"); sb.append("\231"); - sb.append("\ufd38"); + sb.append("\ufd81"); sb.append("\232"); - sb.append("\ufd38"); - sb.append("\242"); - sb.append("\ufd38"); + sb.append("\ufd81"); + sb.append("\233"); + sb.append("\ufd81"); sb.append("\243"); - sb.append("\ufd38"); - sb.append("\245"); - sb.append("\ufd38"); + sb.append("\ufd81"); + sb.append("\244"); + sb.append("\ufd81"); sb.append("\246"); - sb.append("\ufd38"); - sb.append("\251"); - sb.append("\ufd38"); + sb.append("\ufd81"); + sb.append("\247"); + sb.append("\ufd81"); + sb.append("\252"); + sb.append("\ufd81"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\033"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\071"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\072"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\073"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\111"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\112"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\113"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\127"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\130"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\131"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\132"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\134"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\135"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\136"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\137"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\140"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\141"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\142"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\143"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\144"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\145"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\146"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\147"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\150"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\151"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\152"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\153"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\154"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\155"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\156"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\157"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\160"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\161"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\162"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\163"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\164"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\165"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\166"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\167"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\170"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\171"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\172"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\173"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\174"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\175"); - sb.append("\ufd36"); + sb.append("\ufd06"); sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); + sb.append("\ufd06"); + sb.append("\177"); + sb.append("\ufd06"); + sb.append("\202"); + sb.append("\ufd06"); + sb.append("\203"); + sb.append("\ufd06"); + sb.append("\204"); + sb.append("\ufd06"); + sb.append("\215"); + sb.append("\ufd06"); + sb.append("\216"); + sb.append("\ufd06"); + sb.append("\231"); + sb.append("\ufd06"); + sb.append("\232"); + sb.append("\ufd06"); + sb.append("\233"); + sb.append("\ufd06"); + sb.append("\243"); + sb.append("\ufd06"); + sb.append("\244"); + sb.append("\ufd06"); + sb.append("\246"); + sb.append("\ufd06"); + sb.append("\247"); + sb.append("\ufd06"); + sb.append("\252"); + sb.append("\ufd06"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); sb.append("\202"); - sb.append("\ufd36"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd36"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\ufd36"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufd36"); - sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); - sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); - sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\102"); sb.append("\031"); - sb.append("\ufd2f"); - sb.append("\033"); - sb.append("\ufd2f"); - sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); - sb.append("\073"); - sb.append("\ufd2f"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); - sb.append("\127"); - sb.append("\ufd2f"); + sb.append("\u01d4"); sb.append("\130"); - sb.append("\ufd2f"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufd2f"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufd2f"); - sb.append("\151"); - sb.append("\ufd2f"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\ufd2f"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd2f"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd2f"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd2f"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd2f"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd2f"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd2f"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd2f"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd2f"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd2f"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd2f"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd2f"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd2f"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd2f"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd2f"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd2f"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd2f"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd2f"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd2f"); - sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); - sb.append("\231"); - sb.append("\ufd2f"); - sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\u02b5"); sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); + sb.append("\u01c7"); sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\033"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\071"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\072"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\073"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd7f"); sb.append("\112"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\113"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\127"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\130"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\131"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\132"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\134"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\135"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\136"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\137"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\140"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\141"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\142"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\143"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\144"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\145"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\146"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\147"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\150"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\151"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\152"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\153"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\154"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\155"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\156"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\157"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\160"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\161"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\162"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\163"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\164"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\165"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\166"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\167"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\170"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\171"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\172"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\173"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\174"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\175"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\176"); - sb.append("\ufd39"); - sb.append("\201"); - sb.append("\ufd39"); + sb.append("\ufd7f"); + sb.append("\177"); + sb.append("\ufd7f"); sb.append("\202"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\203"); - sb.append("\ufd39"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd7f"); + sb.append("\204"); + sb.append("\ufd7f"); sb.append("\215"); - sb.append("\ufd39"); - sb.append("\230"); - sb.append("\ufd39"); + sb.append("\ufd7f"); + sb.append("\216"); + sb.append("\ufd7f"); sb.append("\231"); - sb.append("\ufd39"); + sb.append("\ufd7f"); sb.append("\232"); - sb.append("\ufd39"); - sb.append("\242"); - sb.append("\ufd39"); + sb.append("\ufd7f"); + sb.append("\233"); + sb.append("\ufd7f"); sb.append("\243"); - sb.append("\ufd39"); - sb.append("\245"); - sb.append("\ufd39"); + sb.append("\ufd7f"); + sb.append("\244"); + sb.append("\ufd7f"); sb.append("\246"); - sb.append("\ufd39"); - sb.append("\251"); - sb.append("\ufd39"); + sb.append("\ufd7f"); + sb.append("\247"); + sb.append("\ufd7f"); + sb.append("\252"); + sb.append("\ufd7f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\102"); sb.append("\031"); - sb.append("\ufd36"); - sb.append("\033"); - sb.append("\ufd36"); - sb.append("\071"); - sb.append("\ufd36"); - sb.append("\072"); - sb.append("\ufd36"); - sb.append("\073"); - sb.append("\ufd36"); - sb.append("\111"); - sb.append("\ufd36"); + sb.append("\u01d4"); sb.append("\112"); - sb.append("\ufd36"); - sb.append("\113"); - sb.append("\ufd36"); - sb.append("\127"); - sb.append("\ufd36"); + sb.append("\u02b7"); sb.append("\130"); - sb.append("\ufd36"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufd36"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufd36"); - sb.append("\134"); - sb.append("\ufd36"); - sb.append("\135"); - sb.append("\ufd36"); - sb.append("\136"); - sb.append("\ufd36"); - sb.append("\137"); - sb.append("\ufd36"); - sb.append("\140"); - sb.append("\ufd36"); - sb.append("\141"); - sb.append("\ufd36"); - sb.append("\142"); - sb.append("\ufd36"); - sb.append("\143"); - sb.append("\ufd36"); - sb.append("\144"); - sb.append("\ufd36"); - sb.append("\145"); - sb.append("\ufd36"); - sb.append("\146"); - sb.append("\ufd36"); - sb.append("\147"); - sb.append("\ufd36"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufd36"); - sb.append("\151"); - sb.append("\ufd36"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\ufd36"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd36"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd36"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd36"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd36"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd36"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd36"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd36"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd36"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd36"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd36"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd36"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd36"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd36"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd36"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd36"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd36"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd36"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd36"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd36"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd36"); - sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); - sb.append("\215"); - sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); - sb.append("\231"); - sb.append("\ufd36"); - sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); + sb.append("\u01c5"); sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); + sb.append("\u01c7"); sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\033"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\071"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\072"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\073"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd05"); sb.append("\112"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\113"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\127"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\130"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\131"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\132"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\134"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\135"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\136"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\137"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\140"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\141"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\142"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\143"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\144"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\145"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\146"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\147"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\150"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\151"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\152"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\153"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\154"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\155"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\156"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\157"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\160"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\161"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\162"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\163"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\164"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\165"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\166"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\167"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\170"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\171"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\174"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\175"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); + sb.append("\ufd05"); + sb.append("\177"); + sb.append("\ufd05"); sb.append("\202"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd05"); + sb.append("\204"); + sb.append("\ufd05"); sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); + sb.append("\ufd05"); + sb.append("\216"); + sb.append("\ufd05"); sb.append("\231"); - sb.append("\ufd2f"); + sb.append("\ufd05"); sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); + sb.append("\ufd05"); + sb.append("\233"); + sb.append("\ufd05"); sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); + sb.append("\ufd05"); + sb.append("\244"); + sb.append("\ufd05"); sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\ufd05"); + sb.append("\247"); + sb.append("\ufd05"); + sb.append("\252"); + sb.append("\ufd05"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufd3b"); - sb.append("\033"); - sb.append("\ufd3b"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufd3b"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java index 78919c031284..74314baf4bf3 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,244 +29,288 @@ public String getTableData() { } protected EncodedActionTable6() { sb = new StringBuilder(); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\u02ba"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd80"); + sb.append("\033"); + sb.append("\ufd80"); + sb.append("\071"); + sb.append("\ufd80"); sb.append("\072"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\073"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd80"); sb.append("\112"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\113"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\127"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\130"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\131"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\132"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\134"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\135"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\136"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\137"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\140"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\141"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\142"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\143"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\144"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\145"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\146"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\147"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\151"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\152"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\153"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\154"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\155"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\156"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\157"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\160"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\161"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\162"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\163"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\164"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\165"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\166"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\167"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\170"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\171"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\172"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\173"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\174"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\175"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); + sb.append("\ufd80"); + sb.append("\177"); + sb.append("\ufd80"); sb.append("\202"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd80"); + sb.append("\204"); + sb.append("\ufd80"); sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); + sb.append("\ufd80"); + sb.append("\216"); + sb.append("\ufd80"); sb.append("\231"); - sb.append("\ufd3b"); + sb.append("\ufd80"); sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); + sb.append("\ufd80"); + sb.append("\233"); + sb.append("\ufd80"); sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); + sb.append("\ufd80"); + sb.append("\244"); + sb.append("\ufd80"); sb.append("\246"); - sb.append("\ufd3b"); - sb.append("\251"); - sb.append("\ufd3b"); + sb.append("\ufd80"); + sb.append("\247"); + sb.append("\ufd80"); + sb.append("\252"); + sb.append("\ufd80"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\071"); - sb.append("\u02a5"); + sb.append("\ufd2d"); sb.append("\072"); - sb.append("\u02a2"); + sb.append("\ufd2d"); sb.append("\073"); - sb.append("\ufd45"); + sb.append("\ufd2d"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\113"); - sb.append("\u02a3"); + sb.append("\ufd2d"); sb.append("\127"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\134"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\135"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\136"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\137"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\140"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\141"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\142"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\143"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\144"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\145"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\146"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\147"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\150"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\152"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\153"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\154"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\155"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\156"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\157"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\161"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\162"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\163"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\164"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\165"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\166"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\167"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\170"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\171"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\174"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\175"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\176"); - sb.append("\ufd45"); - sb.append("\201"); - sb.append("\ufd45"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); sb.append("\202"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\203"); - sb.append("\ufd45"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); sb.append("\215"); - sb.append("\ufd45"); - sb.append("\230"); - sb.append("\ufd45"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); sb.append("\231"); - sb.append("\ufd45"); + sb.append("\ufd2d"); sb.append("\232"); - sb.append("\ufd45"); - sb.append("\242"); - sb.append("\ufd45"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); sb.append("\243"); - sb.append("\ufd45"); - sb.append("\245"); - sb.append("\ufd45"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); sb.append("\246"); - sb.append("\ufd45"); - sb.append("\251"); - sb.append("\ufd45"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); sb.append("\ufd36"); sb.append("\033"); @@ -277,7 +322,7 @@ protected EncodedActionTable6() { sb.append("\073"); sb.append("\ufd36"); sb.append("\111"); - sb.append("\ufd36"); + sb.append("\u0273"); sb.append("\112"); sb.append("\ufd36"); sb.append("\113"); @@ -360,1362 +405,1888 @@ protected EncodedActionTable6() { sb.append("\ufd36"); sb.append("\176"); sb.append("\ufd36"); - sb.append("\201"); + sb.append("\177"); sb.append("\ufd36"); sb.append("\202"); sb.append("\ufd36"); sb.append("\203"); sb.append("\ufd36"); - sb.append("\214"); + sb.append("\204"); sb.append("\ufd36"); sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); sb.append("\231"); sb.append("\ufd36"); sb.append("\232"); sb.append("\ufd36"); - sb.append("\242"); + sb.append("\233"); sb.append("\ufd36"); sb.append("\243"); sb.append("\ufd36"); - sb.append("\245"); + sb.append("\244"); sb.append("\ufd36"); sb.append("\246"); sb.append("\ufd36"); - sb.append("\251"); + sb.append("\247"); + sb.append("\ufd36"); + sb.append("\252"); sb.append("\ufd36"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\033"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\071"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\072"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\073"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd34"); sb.append("\112"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\113"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\127"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\130"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\131"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\132"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\134"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\135"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\136"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\137"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\140"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\141"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\142"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\143"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\144"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\145"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\146"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\147"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\150"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\151"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\152"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\153"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\154"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\155"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\156"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\157"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\160"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\161"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\162"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\163"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\164"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\165"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\166"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\167"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\170"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\171"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\174"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\175"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); sb.append("\202"); - sb.append("\ufd2f"); + sb.append("\ufd34"); sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); sb.append("\231"); - sb.append("\ufd2f"); + sb.append("\u029f"); sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\071"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\072"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\073"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\113"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\127"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\134"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\135"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\136"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\137"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\140"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\141"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\142"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\143"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\144"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\145"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\146"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\147"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\152"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\153"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\154"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\155"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\156"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\157"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\161"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\162"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\163"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\164"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\165"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\166"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\167"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\170"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\171"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\174"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\175"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); sb.append("\202"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); sb.append("\231"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); sb.append("\246"); - sb.append("\ufd3b"); - sb.append("\251"); - sb.append("\ufd3b"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\033"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\071"); - sb.append("\u02a5"); + sb.append("\ufd37"); sb.append("\072"); - sb.append("\u02a2"); + sb.append("\ufd37"); sb.append("\073"); - sb.append("\ufd46"); + sb.append("\ufd37"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\113"); - sb.append("\u02a3"); + sb.append("\ufd37"); sb.append("\127"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\130"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\131"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\132"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\134"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\135"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\136"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\137"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\140"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\141"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\142"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\143"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\144"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\145"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\146"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\147"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\150"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\151"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\152"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\153"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\154"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\155"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\156"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\157"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\160"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\161"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\162"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\163"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\164"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\165"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\166"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\167"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\170"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\171"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\172"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\173"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\174"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\175"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\176"); - sb.append("\ufd46"); - sb.append("\201"); - sb.append("\ufd46"); + sb.append("\ufd37"); + sb.append("\177"); + sb.append("\ufd37"); sb.append("\202"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\203"); - sb.append("\ufd46"); + sb.append("\ufd37"); + sb.append("\204"); + sb.append("\ufd37"); sb.append("\215"); - sb.append("\ufd46"); - sb.append("\230"); - sb.append("\ufd46"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd37"); sb.append("\231"); - sb.append("\ufd46"); + sb.append("\ufd37"); sb.append("\232"); - sb.append("\ufd46"); - sb.append("\242"); - sb.append("\ufd46"); + sb.append("\ufd37"); + sb.append("\233"); + sb.append("\ufd37"); sb.append("\243"); - sb.append("\ufd46"); - sb.append("\245"); - sb.append("\ufd46"); + sb.append("\ufd37"); + sb.append("\244"); + sb.append("\ufd37"); sb.append("\246"); - sb.append("\ufd46"); - sb.append("\251"); - sb.append("\ufd46"); + sb.append("\ufd37"); + sb.append("\247"); + sb.append("\ufd37"); + sb.append("\252"); + sb.append("\ufd37"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\040"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\174"); sb.append("\031"); - sb.append("\016"); - sb.append("\u027c"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); + sb.append("\ufd34"); + sb.append("\033"); + sb.append("\ufd34"); + sb.append("\071"); + sb.append("\ufd34"); + sb.append("\072"); + sb.append("\ufd34"); + sb.append("\073"); + sb.append("\ufd34"); + sb.append("\111"); + sb.append("\ufd34"); + sb.append("\112"); + sb.append("\ufd34"); + sb.append("\113"); + sb.append("\ufd34"); + sb.append("\127"); + sb.append("\ufd34"); + sb.append("\130"); + sb.append("\ufd34"); + sb.append("\131"); + sb.append("\ufd34"); + sb.append("\132"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); + sb.append("\150"); + sb.append("\ufd34"); + sb.append("\151"); + sb.append("\ufd34"); + sb.append("\152"); + sb.append("\ufd34"); + sb.append("\153"); + sb.append("\ufd34"); + sb.append("\154"); + sb.append("\ufd34"); + sb.append("\155"); + sb.append("\ufd34"); + sb.append("\156"); + sb.append("\ufd34"); + sb.append("\157"); + sb.append("\ufd34"); sb.append("\160"); - sb.append("\214"); - sb.append("\u01ec"); + sb.append("\ufd34"); + sb.append("\161"); + sb.append("\ufd34"); + sb.append("\162"); + sb.append("\ufd34"); + sb.append("\163"); + sb.append("\ufd34"); + sb.append("\164"); + sb.append("\ufd34"); + sb.append("\165"); + sb.append("\ufd34"); + sb.append("\166"); + sb.append("\ufd34"); + sb.append("\167"); + sb.append("\ufd34"); + sb.append("\170"); + sb.append("\ufd34"); + sb.append("\171"); + sb.append("\ufd34"); + sb.append("\172"); + sb.append("\ufd34"); + sb.append("\173"); + sb.append("\ufd34"); + sb.append("\174"); + sb.append("\ufd34"); + sb.append("\175"); + sb.append("\ufd34"); + sb.append("\176"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); + sb.append("\215"); + sb.append("\ufd34"); sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufd34"); sb.append("\231"); - sb.append("\ufd6d"); + sb.append("\u029f"); + sb.append("\232"); + sb.append("\ufd34"); sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u02c6"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\ufce5"); + sb.append("\ufd2d"); + sb.append("\071"); + sb.append("\ufd2d"); + sb.append("\072"); + sb.append("\ufd2d"); sb.append("\073"); - sb.append("\ufce5"); + sb.append("\ufd2d"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufce5"); + sb.append("\ufd2d"); + sb.append("\113"); + sb.append("\ufd2d"); sb.append("\127"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\ufce5"); + sb.append("\ufd2d"); + sb.append("\134"); + sb.append("\ufd2d"); + sb.append("\135"); + sb.append("\ufd2d"); + sb.append("\136"); + sb.append("\ufd2d"); + sb.append("\137"); + sb.append("\ufd2d"); + sb.append("\140"); + sb.append("\ufd2d"); + sb.append("\141"); + sb.append("\ufd2d"); + sb.append("\142"); + sb.append("\ufd2d"); + sb.append("\143"); + sb.append("\ufd2d"); + sb.append("\144"); + sb.append("\ufd2d"); + sb.append("\145"); + sb.append("\ufd2d"); + sb.append("\146"); + sb.append("\ufd2d"); + sb.append("\147"); + sb.append("\ufd2d"); sb.append("\150"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\152"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\153"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\154"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\155"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\156"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\157"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\161"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\162"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\163"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\164"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\165"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\166"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\167"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\170"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\171"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\174"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\175"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\176"); - sb.append("\ufce5"); - sb.append("\201"); - sb.append("\ufce5"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); + sb.append("\202"); + sb.append("\ufd2d"); + sb.append("\203"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); sb.append("\215"); - sb.append("\ufce5"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); sb.append("\231"); - sb.append("\ufce5"); + sb.append("\ufd2d"); sb.append("\232"); - sb.append("\ufce5"); - sb.append("\242"); - sb.append("\ufce5"); - sb.append("\245"); - sb.append("\ufce5"); - sb.append("\251"); - sb.append("\ufce5"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); + sb.append("\243"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); + sb.append("\246"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd39"); + sb.append("\033"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); + sb.append("\073"); + sb.append("\ufd39"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); sb.append("\127"); - sb.append("\ufcdc"); - sb.append("\231"); - sb.append("\ufcdc"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\252"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\010"); - sb.append("\u02ca"); - sb.append("\012"); - sb.append("\075"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); - sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\111"); - sb.append("\u02cd"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); - sb.append("\121"); - sb.append("\u02cb"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); + sb.append("\ufd39"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\ufd39"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\ufd39"); sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); + sb.append("\150"); + sb.append("\ufd39"); + sb.append("\151"); + sb.append("\ufd39"); + sb.append("\152"); + sb.append("\ufd39"); + sb.append("\153"); + sb.append("\ufd39"); + sb.append("\154"); + sb.append("\ufd39"); + sb.append("\155"); + sb.append("\ufd39"); + sb.append("\156"); + sb.append("\ufd39"); + sb.append("\157"); + sb.append("\ufd39"); + sb.append("\160"); + sb.append("\ufd39"); + sb.append("\161"); + sb.append("\ufd39"); + sb.append("\162"); + sb.append("\ufd39"); + sb.append("\163"); + sb.append("\ufd39"); + sb.append("\164"); + sb.append("\ufd39"); + sb.append("\165"); + sb.append("\ufd39"); + sb.append("\166"); + sb.append("\ufd39"); + sb.append("\167"); + sb.append("\ufd39"); + sb.append("\170"); + sb.append("\ufd39"); + sb.append("\171"); + sb.append("\ufd39"); + sb.append("\172"); + sb.append("\ufd39"); + sb.append("\173"); + sb.append("\ufd39"); + sb.append("\174"); + sb.append("\ufd39"); + sb.append("\175"); + sb.append("\ufd39"); + sb.append("\176"); + sb.append("\ufd39"); + sb.append("\177"); + sb.append("\ufd39"); + sb.append("\202"); + sb.append("\ufd39"); + sb.append("\203"); + sb.append("\ufd39"); + sb.append("\204"); + sb.append("\ufd39"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); + sb.append("\ufd39"); + sb.append("\231"); + sb.append("\ufd39"); + sb.append("\232"); + sb.append("\ufd39"); sb.append("\233"); - sb.append("\152"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\u02cc"); - sb.append("\254"); - sb.append("\u02cf"); - sb.append("\255"); - sb.append("\u02d1"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); + sb.append("\247"); + sb.append("\ufd39"); + sb.append("\252"); + sb.append("\ufd39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\170"); sb.append("\031"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\033"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\071"); - sb.append("\ufd2b"); + sb.append("\u02a9"); sb.append("\072"); - sb.append("\ufd2b"); + sb.append("\u02a6"); sb.append("\073"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\112"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\113"); - sb.append("\ufd2b"); + sb.append("\u02a7"); sb.append("\127"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\130"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\131"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\132"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\134"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\135"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\136"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\137"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\140"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\141"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\142"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\143"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\144"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\145"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\146"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\147"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\150"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\151"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\152"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\153"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\154"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\155"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\156"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\157"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\160"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\161"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\162"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\163"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\164"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\165"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\166"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\167"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\170"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\171"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\172"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\173"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\174"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\175"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\176"); - sb.append("\ufd2b"); - sb.append("\201"); - sb.append("\ufd2b"); + sb.append("\ufd43"); + sb.append("\177"); + sb.append("\ufd43"); sb.append("\202"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\203"); - sb.append("\ufd2b"); - sb.append("\215"); - sb.append("\ufd2b"); - sb.append("\230"); - sb.append("\u02e5"); + sb.append("\ufd43"); + sb.append("\204"); + sb.append("\ufd43"); + sb.append("\216"); + sb.append("\ufd43"); sb.append("\231"); - sb.append("\ufd2b"); + sb.append("\ufd43"); sb.append("\232"); - sb.append("\ufd2b"); - sb.append("\242"); - sb.append("\ufd2b"); - sb.append("\243"); - sb.append("\ufd2b"); - sb.append("\245"); - sb.append("\ufd2b"); - sb.append("\246"); - sb.append("\ufd2b"); - sb.append("\251"); - sb.append("\ufd2b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\071"); - sb.append("\uffa5"); - sb.append("\072"); - sb.append("\uffa5"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\113"); - sb.append("\uffa5"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\230"); - sb.append("\uffa5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\016"); - sb.append("\071"); - sb.append("\uffa4"); - sb.append("\072"); - sb.append("\uffa4"); - sb.append("\111"); - sb.append("\ufff7"); - sb.append("\113"); - sb.append("\uffa4"); - sb.append("\214"); - sb.append("\ufff7"); - sb.append("\230"); - sb.append("\uffa4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\ufff4"); - sb.append("\214"); - sb.append("\ufff4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufd43"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufd43"); + sb.append("\243"); + sb.append("\ufd43"); + sb.append("\244"); + sb.append("\ufd43"); + sb.append("\246"); + sb.append("\ufd43"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd43"); + sb.append("\252"); + sb.append("\ufd43"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\132"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\033"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\071"); - sb.append("\u02d5"); + sb.append("\ufd34"); sb.append("\072"); - sb.append("\u02d3"); + sb.append("\ufd34"); sb.append("\073"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\111"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\112"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\113"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\127"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\130"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\131"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\132"); - sb.append("\ufcd4"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); sb.append("\150"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\151"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\152"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\153"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\154"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\155"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\156"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\157"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\160"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\161"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\162"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\163"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\164"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\165"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\166"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\167"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\170"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\171"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\172"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\173"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\174"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\175"); - sb.append("\ufcd4"); + sb.append("\ufd34"); sb.append("\176"); - sb.append("\ufcd4"); - sb.append("\201"); - sb.append("\ufcd4"); - sb.append("\214"); - sb.append("\ufcd4"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); sb.append("\215"); - sb.append("\ufcd4"); - sb.append("\230"); - sb.append("\u02d4"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); sb.append("\231"); - sb.append("\ufcd4"); + sb.append("\u029f"); sb.append("\232"); - sb.append("\ufcd4"); - sb.append("\242"); - sb.append("\ufcd4"); - sb.append("\245"); - sb.append("\ufcd4"); - sb.append("\251"); - sb.append("\ufcd4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\ufff6"); - sb.append("\214"); - sb.append("\ufff6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\127"); - sb.append("\ufcd8"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\231"); - sb.append("\ufcd8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\111"); - sb.append("\ufff5"); - sb.append("\214"); - sb.append("\ufff5"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\122"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\ufd24"); + sb.append("\ufd2d"); + sb.append("\071"); + sb.append("\ufd2d"); + sb.append("\072"); + sb.append("\ufd2d"); sb.append("\073"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\111"); - sb.append("\ufd24"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufd24"); + sb.append("\ufd2d"); + sb.append("\113"); + sb.append("\ufd2d"); sb.append("\127"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\ufd24"); + sb.append("\ufd2d"); + sb.append("\134"); + sb.append("\ufd2d"); + sb.append("\135"); + sb.append("\ufd2d"); + sb.append("\136"); + sb.append("\ufd2d"); + sb.append("\137"); + sb.append("\ufd2d"); + sb.append("\140"); + sb.append("\ufd2d"); + sb.append("\141"); + sb.append("\ufd2d"); + sb.append("\142"); + sb.append("\ufd2d"); + sb.append("\143"); + sb.append("\ufd2d"); + sb.append("\144"); + sb.append("\ufd2d"); + sb.append("\145"); + sb.append("\ufd2d"); + sb.append("\146"); + sb.append("\ufd2d"); + sb.append("\147"); + sb.append("\ufd2d"); sb.append("\150"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\152"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\153"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\154"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\155"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\156"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\157"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\161"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\162"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\163"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\164"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\165"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\166"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\167"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\170"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\171"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\174"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\175"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\176"); - sb.append("\ufd24"); - sb.append("\201"); - sb.append("\ufd24"); - sb.append("\214"); - sb.append("\ufd24"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); + sb.append("\202"); + sb.append("\ufd2d"); + sb.append("\203"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); sb.append("\215"); - sb.append("\ufd24"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); sb.append("\231"); - sb.append("\ufd24"); + sb.append("\ufd2d"); sb.append("\232"); - sb.append("\ufd24"); - sb.append("\242"); - sb.append("\ufd24"); - sb.append("\245"); - sb.append("\ufd24"); - sb.append("\251"); - sb.append("\ufd24"); - sb.append("\001"); - sb.append("\002"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); + sb.append("\243"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); + sb.append("\246"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd39"); + sb.append("\033"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); + sb.append("\073"); + sb.append("\ufd39"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); + sb.append("\127"); + sb.append("\ufd39"); + sb.append("\130"); + sb.append("\ufd39"); + sb.append("\131"); + sb.append("\ufd39"); + sb.append("\132"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); + sb.append("\150"); + sb.append("\ufd39"); + sb.append("\151"); + sb.append("\ufd39"); + sb.append("\152"); + sb.append("\ufd39"); + sb.append("\153"); + sb.append("\ufd39"); + sb.append("\154"); + sb.append("\ufd39"); + sb.append("\155"); + sb.append("\ufd39"); + sb.append("\156"); + sb.append("\ufd39"); + sb.append("\157"); + sb.append("\ufd39"); + sb.append("\160"); + sb.append("\ufd39"); + sb.append("\161"); + sb.append("\ufd39"); + sb.append("\162"); + sb.append("\ufd39"); + sb.append("\163"); + sb.append("\ufd39"); + sb.append("\164"); + sb.append("\ufd39"); + sb.append("\165"); + sb.append("\ufd39"); + sb.append("\166"); + sb.append("\ufd39"); + sb.append("\167"); + sb.append("\ufd39"); + sb.append("\170"); + sb.append("\ufd39"); + sb.append("\171"); + sb.append("\ufd39"); + sb.append("\172"); + sb.append("\ufd39"); + sb.append("\173"); + sb.append("\ufd39"); + sb.append("\174"); + sb.append("\ufd39"); + sb.append("\175"); + sb.append("\ufd39"); + sb.append("\176"); + sb.append("\ufd39"); + sb.append("\177"); + sb.append("\ufd39"); + sb.append("\202"); + sb.append("\ufd39"); + sb.append("\203"); + sb.append("\ufd39"); + sb.append("\204"); + sb.append("\ufd39"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd39"); + sb.append("\231"); + sb.append("\ufd39"); + sb.append("\232"); + sb.append("\ufd39"); + sb.append("\233"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); + sb.append("\247"); + sb.append("\ufd39"); + sb.append("\252"); + sb.append("\ufd39"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\031"); + sb.append("\ufd44"); + sb.append("\033"); + sb.append("\ufd44"); + sb.append("\071"); + sb.append("\u02a9"); + sb.append("\072"); + sb.append("\u02a6"); + sb.append("\073"); + sb.append("\ufd44"); + sb.append("\112"); + sb.append("\ufd44"); + sb.append("\113"); + sb.append("\u02a7"); + sb.append("\127"); + sb.append("\ufd44"); + sb.append("\130"); + sb.append("\ufd44"); + sb.append("\131"); + sb.append("\ufd44"); + sb.append("\132"); + sb.append("\ufd44"); + sb.append("\134"); + sb.append("\ufd44"); + sb.append("\135"); + sb.append("\ufd44"); + sb.append("\136"); + sb.append("\ufd44"); + sb.append("\137"); + sb.append("\ufd44"); + sb.append("\140"); + sb.append("\ufd44"); + sb.append("\141"); + sb.append("\ufd44"); + sb.append("\142"); + sb.append("\ufd44"); + sb.append("\143"); + sb.append("\ufd44"); + sb.append("\144"); + sb.append("\ufd44"); + sb.append("\145"); + sb.append("\ufd44"); + sb.append("\146"); + sb.append("\ufd44"); + sb.append("\147"); + sb.append("\ufd44"); + sb.append("\150"); + sb.append("\ufd44"); + sb.append("\151"); + sb.append("\ufd44"); + sb.append("\152"); + sb.append("\ufd44"); + sb.append("\153"); + sb.append("\ufd44"); + sb.append("\154"); + sb.append("\ufd44"); + sb.append("\155"); + sb.append("\ufd44"); + sb.append("\156"); + sb.append("\ufd44"); + sb.append("\157"); + sb.append("\ufd44"); + sb.append("\160"); + sb.append("\ufd44"); + sb.append("\161"); + sb.append("\ufd44"); + sb.append("\162"); + sb.append("\ufd44"); + sb.append("\163"); + sb.append("\ufd44"); + sb.append("\164"); + sb.append("\ufd44"); + sb.append("\165"); + sb.append("\ufd44"); + sb.append("\166"); + sb.append("\ufd44"); + sb.append("\167"); + sb.append("\ufd44"); + sb.append("\170"); + sb.append("\ufd44"); + sb.append("\171"); + sb.append("\ufd44"); + sb.append("\172"); + sb.append("\ufd44"); + sb.append("\173"); + sb.append("\ufd44"); + sb.append("\174"); + sb.append("\ufd44"); + sb.append("\175"); + sb.append("\ufd44"); + sb.append("\176"); + sb.append("\ufd44"); + sb.append("\177"); + sb.append("\ufd44"); + sb.append("\202"); + sb.append("\ufd44"); + sb.append("\203"); + sb.append("\ufd44"); + sb.append("\204"); + sb.append("\ufd44"); + sb.append("\216"); + sb.append("\ufd44"); + sb.append("\231"); + sb.append("\ufd44"); + sb.append("\232"); + sb.append("\ufd44"); + sb.append("\233"); + sb.append("\ufd44"); + sb.append("\243"); + sb.append("\ufd44"); + sb.append("\244"); + sb.append("\ufd44"); + sb.append("\246"); + sb.append("\ufd44"); + sb.append("\247"); + sb.append("\ufd44"); + sb.append("\252"); + sb.append("\ufd44"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\040"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\u0280"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\160"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufd6b"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); sb.append("\000"); - sb.append("\236"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\232"); + sb.append("\u02ca"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufce3"); + sb.append("\033"); + sb.append("\ufce3"); + sb.append("\073"); + sb.append("\ufce3"); + sb.append("\112"); + sb.append("\ufce3"); + sb.append("\127"); + sb.append("\ufce3"); + sb.append("\130"); + sb.append("\ufce3"); + sb.append("\131"); + sb.append("\ufce3"); + sb.append("\132"); + sb.append("\ufce3"); + sb.append("\150"); + sb.append("\ufce3"); + sb.append("\151"); + sb.append("\ufce3"); + sb.append("\152"); + sb.append("\ufce3"); + sb.append("\153"); + sb.append("\ufce3"); + sb.append("\154"); + sb.append("\ufce3"); + sb.append("\155"); + sb.append("\ufce3"); + sb.append("\156"); + sb.append("\ufce3"); + sb.append("\157"); + sb.append("\ufce3"); + sb.append("\160"); + sb.append("\ufce3"); + sb.append("\161"); + sb.append("\ufce3"); + sb.append("\162"); + sb.append("\ufce3"); + sb.append("\163"); + sb.append("\ufce3"); + sb.append("\164"); + sb.append("\ufce3"); + sb.append("\165"); + sb.append("\ufce3"); + sb.append("\166"); + sb.append("\ufce3"); + sb.append("\167"); + sb.append("\ufce3"); + sb.append("\170"); + sb.append("\ufce3"); + sb.append("\171"); + sb.append("\ufce3"); + sb.append("\172"); + sb.append("\ufce3"); + sb.append("\173"); + sb.append("\ufce3"); + sb.append("\174"); + sb.append("\ufce3"); + sb.append("\175"); + sb.append("\ufce3"); + sb.append("\176"); + sb.append("\ufce3"); + sb.append("\177"); + sb.append("\ufce3"); + sb.append("\202"); + sb.append("\ufce3"); + sb.append("\216"); + sb.append("\ufce3"); + sb.append("\232"); + sb.append("\ufce3"); + sb.append("\233"); + sb.append("\ufce3"); + sb.append("\243"); + sb.append("\ufce3"); + sb.append("\246"); + sb.append("\ufce3"); + sb.append("\252"); + sb.append("\ufce3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufcda"); + sb.append("\232"); + sb.append("\ufcda"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\252"); + sb.append("\004"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\u02ce"); + sb.append("\012"); + sb.append("\075"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u018a"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\u015d"); + sb.append("\111"); + sb.append("\u02d1"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\u02cf"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\u018c"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\234"); + sb.append("\152"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\u02d0"); + sb.append("\255"); + sb.append("\u02d3"); + sb.append("\256"); + sb.append("\u02d5"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\170"); + sb.append("\031"); + sb.append("\ufd29"); + sb.append("\033"); + sb.append("\ufd29"); + sb.append("\071"); + sb.append("\ufd29"); + sb.append("\072"); + sb.append("\ufd29"); + sb.append("\073"); + sb.append("\ufd29"); + sb.append("\112"); + sb.append("\ufd29"); + sb.append("\113"); + sb.append("\ufd29"); + sb.append("\127"); + sb.append("\ufd29"); + sb.append("\130"); + sb.append("\ufd29"); + sb.append("\131"); + sb.append("\ufd29"); + sb.append("\132"); + sb.append("\ufd29"); + sb.append("\134"); + sb.append("\ufd29"); + sb.append("\135"); + sb.append("\ufd29"); + sb.append("\136"); + sb.append("\ufd29"); + sb.append("\137"); + sb.append("\ufd29"); + sb.append("\140"); + sb.append("\ufd29"); + sb.append("\141"); + sb.append("\ufd29"); + sb.append("\142"); + sb.append("\ufd29"); + sb.append("\143"); + sb.append("\ufd29"); + sb.append("\144"); + sb.append("\ufd29"); + sb.append("\145"); + sb.append("\ufd29"); + sb.append("\146"); + sb.append("\ufd29"); + sb.append("\147"); + sb.append("\ufd29"); + sb.append("\150"); + sb.append("\ufd29"); + sb.append("\151"); + sb.append("\ufd29"); + sb.append("\152"); + sb.append("\ufd29"); + sb.append("\153"); + sb.append("\ufd29"); + sb.append("\154"); + sb.append("\ufd29"); + sb.append("\155"); + sb.append("\ufd29"); + sb.append("\156"); + sb.append("\ufd29"); + sb.append("\157"); + sb.append("\ufd29"); + sb.append("\160"); + sb.append("\ufd29"); + sb.append("\161"); + sb.append("\ufd29"); + sb.append("\162"); + sb.append("\ufd29"); + sb.append("\163"); + sb.append("\ufd29"); + sb.append("\164"); + sb.append("\ufd29"); + sb.append("\165"); + sb.append("\ufd29"); + sb.append("\166"); + sb.append("\ufd29"); + sb.append("\167"); + sb.append("\ufd29"); + sb.append("\170"); + sb.append("\ufd29"); + sb.append("\171"); + sb.append("\ufd29"); + sb.append("\172"); + sb.append("\ufd29"); + sb.append("\173"); + sb.append("\ufd29"); + sb.append("\174"); + sb.append("\ufd29"); + sb.append("\175"); + sb.append("\ufd29"); + sb.append("\176"); + sb.append("\ufd29"); + sb.append("\177"); + sb.append("\ufd29"); + sb.append("\202"); + sb.append("\ufd29"); + sb.append("\203"); + sb.append("\ufd29"); + sb.append("\204"); + sb.append("\ufd29"); + sb.append("\216"); + sb.append("\ufd29"); + sb.append("\231"); + sb.append("\u02e9"); + sb.append("\232"); + sb.append("\ufd29"); + sb.append("\233"); + sb.append("\ufd29"); + sb.append("\243"); + sb.append("\ufd29"); + sb.append("\244"); + sb.append("\ufd29"); + sb.append("\246"); + sb.append("\ufd29"); + sb.append("\247"); + sb.append("\ufd29"); + sb.append("\252"); + sb.append("\ufd29"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); + sb.append("\071"); + sb.append("\uffa5"); + sb.append("\072"); + sb.append("\uffa5"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\113"); + sb.append("\uffa5"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\231"); + sb.append("\uffa5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\016"); + sb.append("\071"); + sb.append("\uffa4"); + sb.append("\072"); + sb.append("\uffa4"); + sb.append("\111"); + sb.append("\ufff7"); + sb.append("\113"); + sb.append("\uffa4"); + sb.append("\215"); + sb.append("\ufff7"); + sb.append("\231"); + sb.append("\uffa4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\ufff4"); + sb.append("\215"); + sb.append("\ufff4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1724,1620 +2295,998 @@ protected EncodedActionTable6() { sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); + sb.append("\106"); sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\125"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\222"); sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); + sb.append("\026"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\210"); sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\010"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\051"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\166"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\123"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\012"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\206"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\041"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\144"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\136"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\046"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\160"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\013"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\u0214"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\116"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\020"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); + sb.append("\101"); sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\236"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\010"); - sb.append("\u016b"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); + sb.append("\134"); sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); + sb.append("\ufcd2"); sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); - sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); - sb.append("\121"); - sb.append("\u0178"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); + sb.append("\ufcd2"); + sb.append("\071"); + sb.append("\u02d9"); + sb.append("\072"); + sb.append("\u02d7"); + sb.append("\073"); + sb.append("\ufcd2"); + sb.append("\111"); + sb.append("\ufcd2"); + sb.append("\112"); + sb.append("\ufcd2"); + sb.append("\113"); + sb.append("\ufcd2"); + sb.append("\127"); + sb.append("\ufcd2"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\ufcd2"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\ufcd2"); sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); + sb.append("\ufcd2"); + sb.append("\150"); + sb.append("\ufcd2"); + sb.append("\151"); + sb.append("\ufcd2"); + sb.append("\152"); + sb.append("\ufcd2"); + sb.append("\153"); + sb.append("\ufcd2"); + sb.append("\154"); + sb.append("\ufcd2"); + sb.append("\155"); + sb.append("\ufcd2"); + sb.append("\156"); + sb.append("\ufcd2"); + sb.append("\157"); + sb.append("\ufcd2"); + sb.append("\160"); + sb.append("\ufcd2"); + sb.append("\161"); + sb.append("\ufcd2"); + sb.append("\162"); + sb.append("\ufcd2"); + sb.append("\163"); + sb.append("\ufcd2"); + sb.append("\164"); + sb.append("\ufcd2"); + sb.append("\165"); + sb.append("\ufcd2"); + sb.append("\166"); + sb.append("\ufcd2"); + sb.append("\167"); + sb.append("\ufcd2"); + sb.append("\170"); + sb.append("\ufcd2"); + sb.append("\171"); + sb.append("\ufcd2"); + sb.append("\172"); + sb.append("\ufcd2"); + sb.append("\173"); + sb.append("\ufcd2"); + sb.append("\174"); + sb.append("\ufcd2"); + sb.append("\175"); + sb.append("\ufcd2"); + sb.append("\176"); + sb.append("\ufcd2"); + sb.append("\177"); + sb.append("\ufcd2"); + sb.append("\202"); + sb.append("\ufcd2"); + sb.append("\215"); + sb.append("\ufcd2"); sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\ufcd2"); + sb.append("\231"); + sb.append("\u02d8"); + sb.append("\232"); + sb.append("\ufcd2"); + sb.append("\233"); + sb.append("\ufcd2"); + sb.append("\243"); + sb.append("\ufcd2"); + sb.append("\246"); + sb.append("\ufcd2"); + sb.append("\252"); + sb.append("\ufcd2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\160"); + sb.append("\006"); + sb.append("\111"); + sb.append("\ufff6"); + sb.append("\215"); + sb.append("\ufff6"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\127"); + sb.append("\ufcd6"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\232"); + sb.append("\ufcd6"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\111"); + sb.append("\ufff5"); + sb.append("\215"); + sb.append("\ufff5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\124"); sb.append("\031"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\033"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\073"); - sb.append("\ufd43"); + sb.append("\ufd22"); + sb.append("\111"); + sb.append("\ufd22"); sb.append("\112"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\127"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\130"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\131"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\132"); - sb.append("\ufd43"); - sb.append("\134"); - sb.append("\ufd43"); - sb.append("\135"); - sb.append("\ufd43"); - sb.append("\136"); - sb.append("\ufd43"); - sb.append("\137"); - sb.append("\ufd43"); - sb.append("\140"); - sb.append("\ufd43"); - sb.append("\141"); - sb.append("\ufd43"); - sb.append("\142"); - sb.append("\ufd43"); - sb.append("\143"); - sb.append("\ufd43"); - sb.append("\144"); - sb.append("\ufd43"); - sb.append("\145"); - sb.append("\ufd43"); - sb.append("\146"); - sb.append("\ufd43"); - sb.append("\147"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\150"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\151"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\152"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\153"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\154"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\155"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\156"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\157"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\160"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\161"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\162"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\163"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\164"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\165"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\166"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\167"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\170"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\171"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\172"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\173"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\174"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\175"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\176"); - sb.append("\ufd43"); - sb.append("\201"); - sb.append("\ufd43"); + sb.append("\ufd22"); + sb.append("\177"); + sb.append("\ufd22"); sb.append("\202"); - sb.append("\ufd43"); - sb.append("\203"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\215"); - sb.append("\ufd43"); - sb.append("\230"); - sb.append("\u02d7"); - sb.append("\231"); - sb.append("\ufd43"); + sb.append("\ufd22"); + sb.append("\216"); + sb.append("\ufd22"); sb.append("\232"); - sb.append("\ufd43"); - sb.append("\242"); - sb.append("\ufd43"); + sb.append("\ufd22"); + sb.append("\233"); + sb.append("\ufd22"); sb.append("\243"); - sb.append("\ufd43"); - sb.append("\245"); - sb.append("\ufd43"); + sb.append("\ufd22"); sb.append("\246"); - sb.append("\ufd43"); - sb.append("\251"); - sb.append("\ufd43"); + sb.append("\ufd22"); + sb.append("\252"); + sb.append("\ufd22"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\236"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\u01ac"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u0222"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\u0212"); - sb.append("\105"); - sb.append("\141"); + sb.append("\u015d"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\u01a0"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u02d9"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufdf2"); - sb.append("\033"); - sb.append("\ufdf2"); - sb.append("\071"); - sb.append("\ufdf2"); - sb.append("\072"); - sb.append("\ufdf2"); - sb.append("\073"); - sb.append("\ufdf2"); - sb.append("\111"); - sb.append("\ufdf2"); - sb.append("\112"); - sb.append("\ufdf2"); - sb.append("\113"); - sb.append("\ufdf2"); - sb.append("\127"); - sb.append("\ufdf2"); - sb.append("\130"); - sb.append("\ufdf2"); - sb.append("\131"); - sb.append("\ufdf2"); - sb.append("\132"); - sb.append("\ufdf2"); - sb.append("\134"); - sb.append("\ufdf2"); - sb.append("\135"); - sb.append("\ufdf2"); - sb.append("\136"); - sb.append("\ufdf2"); - sb.append("\137"); - sb.append("\ufdf2"); - sb.append("\140"); - sb.append("\ufdf2"); - sb.append("\141"); - sb.append("\ufdf2"); - sb.append("\142"); - sb.append("\ufdf2"); - sb.append("\143"); - sb.append("\ufdf2"); - sb.append("\144"); - sb.append("\ufdf2"); - sb.append("\145"); - sb.append("\ufdf2"); - sb.append("\146"); - sb.append("\ufdf2"); - sb.append("\147"); - sb.append("\ufdf2"); - sb.append("\150"); - sb.append("\ufdf2"); - sb.append("\151"); - sb.append("\ufdf2"); - sb.append("\152"); - sb.append("\ufdf2"); - sb.append("\153"); - sb.append("\ufdf2"); - sb.append("\154"); - sb.append("\ufdf2"); - sb.append("\155"); - sb.append("\ufdf2"); - sb.append("\156"); - sb.append("\ufdf2"); - sb.append("\157"); - sb.append("\ufdf2"); - sb.append("\160"); - sb.append("\ufdf2"); - sb.append("\161"); - sb.append("\ufdf2"); - sb.append("\162"); - sb.append("\ufdf2"); - sb.append("\163"); - sb.append("\ufdf2"); - sb.append("\164"); - sb.append("\ufdf2"); - sb.append("\165"); - sb.append("\ufdf2"); - sb.append("\166"); - sb.append("\ufdf2"); - sb.append("\167"); - sb.append("\ufdf2"); - sb.append("\170"); - sb.append("\ufdf2"); - sb.append("\171"); - sb.append("\ufdf2"); - sb.append("\172"); - sb.append("\ufdf2"); - sb.append("\173"); - sb.append("\ufdf2"); - sb.append("\174"); - sb.append("\ufdf2"); - sb.append("\175"); - sb.append("\ufdf2"); - sb.append("\176"); - sb.append("\ufdf2"); - sb.append("\201"); - sb.append("\ufdf2"); - sb.append("\202"); - sb.append("\ufdf2"); - sb.append("\203"); - sb.append("\ufdf2"); - sb.append("\214"); - sb.append("\ufdf2"); - sb.append("\215"); - sb.append("\ufdf2"); - sb.append("\230"); - sb.append("\ufdf2"); - sb.append("\231"); - sb.append("\ufdf2"); - sb.append("\232"); - sb.append("\ufdf2"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\ufdf2"); - sb.append("\243"); - sb.append("\ufdf2"); - sb.append("\245"); - sb.append("\ufdf2"); - sb.append("\246"); - sb.append("\ufdf2"); + sb.append("\u0190"); sb.append("\251"); - sb.append("\ufdf2"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\231"); - sb.append("\u02db"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufdf3"); - sb.append("\033"); - sb.append("\ufdf3"); - sb.append("\071"); - sb.append("\ufdf3"); - sb.append("\072"); - sb.append("\ufdf3"); - sb.append("\073"); - sb.append("\ufdf3"); - sb.append("\111"); - sb.append("\ufdf3"); - sb.append("\112"); - sb.append("\ufdf3"); - sb.append("\113"); - sb.append("\ufdf3"); - sb.append("\127"); - sb.append("\ufdf3"); - sb.append("\130"); - sb.append("\ufdf3"); - sb.append("\131"); - sb.append("\ufdf3"); - sb.append("\132"); - sb.append("\ufdf3"); - sb.append("\134"); - sb.append("\ufdf3"); - sb.append("\135"); - sb.append("\ufdf3"); - sb.append("\136"); - sb.append("\ufdf3"); - sb.append("\137"); - sb.append("\ufdf3"); - sb.append("\140"); - sb.append("\ufdf3"); - sb.append("\141"); - sb.append("\ufdf3"); - sb.append("\142"); - sb.append("\ufdf3"); - sb.append("\143"); - sb.append("\ufdf3"); - sb.append("\144"); - sb.append("\ufdf3"); - sb.append("\145"); - sb.append("\ufdf3"); - sb.append("\146"); - sb.append("\ufdf3"); - sb.append("\147"); - sb.append("\ufdf3"); - sb.append("\150"); - sb.append("\ufdf3"); - sb.append("\151"); - sb.append("\ufdf3"); - sb.append("\152"); - sb.append("\ufdf3"); - sb.append("\153"); - sb.append("\ufdf3"); - sb.append("\154"); - sb.append("\ufdf3"); - sb.append("\155"); - sb.append("\ufdf3"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\006"); sb.append("\156"); - sb.append("\ufdf3"); - sb.append("\157"); - sb.append("\ufdf3"); - sb.append("\160"); - sb.append("\ufdf3"); - sb.append("\161"); - sb.append("\ufdf3"); - sb.append("\162"); - sb.append("\ufdf3"); - sb.append("\163"); - sb.append("\ufdf3"); - sb.append("\164"); - sb.append("\ufdf3"); - sb.append("\165"); - sb.append("\ufdf3"); - sb.append("\166"); - sb.append("\ufdf3"); - sb.append("\167"); - sb.append("\ufdf3"); - sb.append("\170"); - sb.append("\ufdf3"); - sb.append("\171"); - sb.append("\ufdf3"); - sb.append("\172"); - sb.append("\ufdf3"); - sb.append("\173"); - sb.append("\ufdf3"); - sb.append("\174"); - sb.append("\ufdf3"); + sb.append("\007"); sb.append("\175"); - sb.append("\ufdf3"); - sb.append("\176"); - sb.append("\ufdf3"); - sb.append("\201"); - sb.append("\ufdf3"); - sb.append("\202"); - sb.append("\ufdf3"); - sb.append("\203"); - sb.append("\ufdf3"); - sb.append("\214"); - sb.append("\ufdf3"); - sb.append("\215"); - sb.append("\ufdf3"); - sb.append("\230"); - sb.append("\ufdf3"); - sb.append("\231"); - sb.append("\ufdf3"); - sb.append("\232"); - sb.append("\ufdf3"); - sb.append("\242"); - sb.append("\ufdf3"); - sb.append("\243"); - sb.append("\ufdf3"); - sb.append("\245"); - sb.append("\ufdf3"); - sb.append("\246"); - sb.append("\ufdf3"); - sb.append("\251"); - sb.append("\ufdf3"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\160"); + sb.append("\010"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufd41"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\ufd41"); - sb.append("\073"); - sb.append("\ufd41"); - sb.append("\112"); - sb.append("\ufd41"); - sb.append("\127"); - sb.append("\ufd41"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u0227"); + sb.append("\045"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u0224"); + sb.append("\063"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u020e"); + sb.append("\075"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0217"); + sb.append("\100"); + sb.append("\u0201"); + sb.append("\101"); + sb.append("\u0223"); + sb.append("\102"); + sb.append("\u0208"); + sb.append("\103"); + sb.append("\u021c"); + sb.append("\104"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u021b"); + sb.append("\116"); + sb.append("\u020b"); + sb.append("\121"); + sb.append("\u0220"); + sb.append("\122"); + sb.append("\u0202"); + sb.append("\123"); + sb.append("\u0210"); + sb.append("\124"); + sb.append("\u0218"); + sb.append("\125"); + sb.append("\u0215"); + sb.append("\126"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\ufd41"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\ufd41"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\ufd41"); - sb.append("\134"); - sb.append("\ufd41"); - sb.append("\135"); - sb.append("\ufd41"); - sb.append("\136"); - sb.append("\ufd41"); - sb.append("\137"); - sb.append("\ufd41"); - sb.append("\140"); - sb.append("\ufd41"); - sb.append("\141"); - sb.append("\ufd41"); - sb.append("\142"); - sb.append("\ufd41"); - sb.append("\143"); - sb.append("\ufd41"); - sb.append("\144"); - sb.append("\ufd41"); - sb.append("\145"); - sb.append("\ufd41"); - sb.append("\146"); - sb.append("\ufd41"); - sb.append("\147"); - sb.append("\ufd41"); - sb.append("\150"); - sb.append("\ufd41"); - sb.append("\151"); - sb.append("\ufd41"); - sb.append("\152"); - sb.append("\ufd41"); - sb.append("\153"); - sb.append("\ufd41"); - sb.append("\154"); - sb.append("\ufd41"); - sb.append("\155"); - sb.append("\ufd41"); - sb.append("\156"); - sb.append("\ufd41"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u0203"); sb.append("\157"); - sb.append("\ufd41"); - sb.append("\160"); - sb.append("\ufd41"); - sb.append("\161"); - sb.append("\ufd41"); - sb.append("\162"); - sb.append("\ufd41"); - sb.append("\163"); - sb.append("\ufd41"); - sb.append("\164"); - sb.append("\ufd41"); - sb.append("\165"); - sb.append("\ufd41"); - sb.append("\166"); - sb.append("\ufd41"); - sb.append("\167"); - sb.append("\ufd41"); - sb.append("\170"); - sb.append("\ufd41"); - sb.append("\171"); - sb.append("\ufd41"); - sb.append("\172"); - sb.append("\ufd41"); + sb.append("\u020c"); sb.append("\173"); - sb.append("\ufd41"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd41"); - sb.append("\175"); - sb.append("\ufd41"); sb.append("\176"); - sb.append("\ufd41"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd41"); - sb.append("\202"); - sb.append("\ufd41"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd41"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd41"); + sb.append("\114"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u02dd"); + sb.append("\u01a0"); sb.append("\231"); - sb.append("\ufd41"); + sb.append("\u01b5"); sb.append("\232"); - sb.append("\ufd41"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\ufd41"); - sb.append("\243"); - sb.append("\ufd41"); + sb.append("\u0190"); sb.append("\245"); - sb.append("\ufd41"); - sb.append("\246"); - sb.append("\ufd41"); + sb.append("\u0212"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufd41"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\236"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\u01ac"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u0222"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\u0212"); - sb.append("\105"); - sb.append("\141"); + sb.append("\u015d"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\u0211"); - sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u02df"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufdf1"); - sb.append("\033"); - sb.append("\ufdf1"); - sb.append("\071"); - sb.append("\ufdf1"); - sb.append("\072"); - sb.append("\ufdf1"); - sb.append("\073"); - sb.append("\ufdf1"); - sb.append("\111"); - sb.append("\ufdf1"); - sb.append("\112"); - sb.append("\ufdf1"); - sb.append("\113"); - sb.append("\ufdf1"); - sb.append("\127"); - sb.append("\ufdf1"); - sb.append("\130"); - sb.append("\ufdf1"); - sb.append("\131"); - sb.append("\ufdf1"); - sb.append("\132"); - sb.append("\ufdf1"); - sb.append("\134"); - sb.append("\ufdf1"); - sb.append("\135"); - sb.append("\ufdf1"); - sb.append("\136"); - sb.append("\ufdf1"); - sb.append("\137"); - sb.append("\ufdf1"); - sb.append("\140"); - sb.append("\ufdf1"); - sb.append("\141"); - sb.append("\ufdf1"); - sb.append("\142"); - sb.append("\ufdf1"); - sb.append("\143"); - sb.append("\ufdf1"); - sb.append("\144"); - sb.append("\ufdf1"); - sb.append("\145"); - sb.append("\ufdf1"); - sb.append("\146"); - sb.append("\ufdf1"); - sb.append("\147"); - sb.append("\ufdf1"); - sb.append("\150"); - sb.append("\ufdf1"); - sb.append("\151"); - sb.append("\ufdf1"); - sb.append("\152"); - sb.append("\ufdf1"); - sb.append("\153"); - sb.append("\ufdf1"); - sb.append("\154"); - sb.append("\ufdf1"); - sb.append("\155"); - sb.append("\ufdf1"); - sb.append("\156"); - sb.append("\ufdf1"); - sb.append("\157"); - sb.append("\ufdf1"); - sb.append("\160"); - sb.append("\ufdf1"); - sb.append("\161"); - sb.append("\ufdf1"); - sb.append("\162"); - sb.append("\ufdf1"); - sb.append("\163"); - sb.append("\ufdf1"); - sb.append("\164"); - sb.append("\ufdf1"); - sb.append("\165"); - sb.append("\ufdf1"); - sb.append("\166"); - sb.append("\ufdf1"); - sb.append("\167"); - sb.append("\ufdf1"); - sb.append("\170"); - sb.append("\ufdf1"); - sb.append("\171"); - sb.append("\ufdf1"); - sb.append("\172"); - sb.append("\ufdf1"); - sb.append("\173"); - sb.append("\ufdf1"); - sb.append("\174"); - sb.append("\ufdf1"); - sb.append("\175"); - sb.append("\ufdf1"); - sb.append("\176"); - sb.append("\ufdf1"); - sb.append("\201"); - sb.append("\ufdf1"); - sb.append("\202"); - sb.append("\ufdf1"); - sb.append("\203"); - sb.append("\ufdf1"); - sb.append("\214"); - sb.append("\ufdf1"); - sb.append("\215"); - sb.append("\ufdf1"); - sb.append("\230"); - sb.append("\ufdf1"); - sb.append("\231"); - sb.append("\ufdf1"); - sb.append("\232"); - sb.append("\ufdf1"); - sb.append("\242"); - sb.append("\ufdf1"); - sb.append("\243"); - sb.append("\ufdf1"); - sb.append("\245"); - sb.append("\ufdf1"); - sb.append("\246"); - sb.append("\ufdf1"); - sb.append("\251"); - sb.append("\ufdf1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\112"); - sb.append("\u02e1"); + sb.append("\u019b"); + sb.append("\126"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); + sb.append("\u0190"); sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\126"); + sb.append("\162"); sb.append("\031"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\033"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\073"); - sb.append("\ufcd2"); - sb.append("\111"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\112"); - sb.append("\ufcd2"); - sb.append("\113"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\127"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\130"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\131"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\132"); - sb.append("\ufcd2"); + sb.append("\ufd41"); + sb.append("\134"); + sb.append("\ufd41"); + sb.append("\135"); + sb.append("\ufd41"); + sb.append("\136"); + sb.append("\ufd41"); + sb.append("\137"); + sb.append("\ufd41"); + sb.append("\140"); + sb.append("\ufd41"); + sb.append("\141"); + sb.append("\ufd41"); + sb.append("\142"); + sb.append("\ufd41"); + sb.append("\143"); + sb.append("\ufd41"); + sb.append("\144"); + sb.append("\ufd41"); + sb.append("\145"); + sb.append("\ufd41"); + sb.append("\146"); + sb.append("\ufd41"); + sb.append("\147"); + sb.append("\ufd41"); sb.append("\150"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\151"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\152"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\153"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\154"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\155"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\156"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\157"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\160"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\161"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\162"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\163"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\164"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\165"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\166"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\167"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\170"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\171"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\172"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\173"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\174"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\175"); - sb.append("\ufcd2"); + sb.append("\ufd41"); sb.append("\176"); - sb.append("\ufcd2"); - sb.append("\201"); - sb.append("\ufcd2"); - sb.append("\214"); - sb.append("\ufcd2"); - sb.append("\215"); - sb.append("\ufcd2"); - sb.append("\230"); - sb.append("\u02e2"); + sb.append("\ufd41"); + sb.append("\177"); + sb.append("\ufd41"); + sb.append("\202"); + sb.append("\ufd41"); + sb.append("\203"); + sb.append("\ufd41"); + sb.append("\204"); + sb.append("\ufd41"); + sb.append("\216"); + sb.append("\ufd41"); sb.append("\231"); - sb.append("\ufcd2"); + sb.append("\u02db"); sb.append("\232"); - sb.append("\ufcd2"); - sb.append("\242"); - sb.append("\ufcd2"); - sb.append("\245"); - sb.append("\ufcd2"); - sb.append("\251"); - sb.append("\ufcd2"); + sb.append("\ufd41"); + sb.append("\233"); + sb.append("\ufd41"); + sb.append("\243"); + sb.append("\ufd41"); + sb.append("\244"); + sb.append("\ufd41"); + sb.append("\246"); + sb.append("\ufd41"); + sb.append("\247"); + sb.append("\ufd41"); + sb.append("\252"); + sb.append("\ufd41"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\344"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3347,1186 +3296,1238 @@ protected EncodedActionTable6() { sb.append("\016"); sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u021d"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); sb.append("\241"); - sb.append("\u018e"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u02dd"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufdf1"); + sb.append("\033"); + sb.append("\ufdf1"); + sb.append("\071"); + sb.append("\ufdf1"); + sb.append("\072"); + sb.append("\ufdf1"); + sb.append("\073"); + sb.append("\ufdf1"); + sb.append("\111"); + sb.append("\ufdf1"); + sb.append("\112"); + sb.append("\ufdf1"); + sb.append("\113"); + sb.append("\ufdf1"); + sb.append("\127"); + sb.append("\ufdf1"); + sb.append("\130"); + sb.append("\ufdf1"); + sb.append("\131"); + sb.append("\ufdf1"); + sb.append("\132"); + sb.append("\ufdf1"); + sb.append("\134"); + sb.append("\ufdf1"); + sb.append("\135"); + sb.append("\ufdf1"); + sb.append("\136"); + sb.append("\ufdf1"); + sb.append("\137"); + sb.append("\ufdf1"); + sb.append("\140"); + sb.append("\ufdf1"); + sb.append("\141"); + sb.append("\ufdf1"); + sb.append("\142"); + sb.append("\ufdf1"); + sb.append("\143"); + sb.append("\ufdf1"); + sb.append("\144"); + sb.append("\ufdf1"); + sb.append("\145"); + sb.append("\ufdf1"); + sb.append("\146"); + sb.append("\ufdf1"); + sb.append("\147"); + sb.append("\ufdf1"); + sb.append("\150"); + sb.append("\ufdf1"); + sb.append("\151"); + sb.append("\ufdf1"); + sb.append("\152"); + sb.append("\ufdf1"); + sb.append("\153"); + sb.append("\ufdf1"); + sb.append("\154"); + sb.append("\ufdf1"); + sb.append("\155"); + sb.append("\ufdf1"); + sb.append("\156"); + sb.append("\ufdf1"); + sb.append("\157"); + sb.append("\ufdf1"); + sb.append("\160"); + sb.append("\ufdf1"); + sb.append("\161"); + sb.append("\ufdf1"); + sb.append("\162"); + sb.append("\ufdf1"); + sb.append("\163"); + sb.append("\ufdf1"); + sb.append("\164"); + sb.append("\ufdf1"); + sb.append("\165"); + sb.append("\ufdf1"); + sb.append("\166"); + sb.append("\ufdf1"); + sb.append("\167"); + sb.append("\ufdf1"); + sb.append("\170"); + sb.append("\ufdf1"); + sb.append("\171"); + sb.append("\ufdf1"); + sb.append("\172"); + sb.append("\ufdf1"); + sb.append("\173"); + sb.append("\ufdf1"); + sb.append("\174"); + sb.append("\ufdf1"); + sb.append("\175"); + sb.append("\ufdf1"); + sb.append("\176"); + sb.append("\ufdf1"); + sb.append("\177"); + sb.append("\ufdf1"); + sb.append("\202"); + sb.append("\ufdf1"); + sb.append("\203"); + sb.append("\ufdf1"); + sb.append("\204"); + sb.append("\ufdf1"); + sb.append("\215"); + sb.append("\ufdf1"); + sb.append("\216"); + sb.append("\ufdf1"); + sb.append("\231"); + sb.append("\ufdf1"); + sb.append("\232"); + sb.append("\ufdf1"); + sb.append("\233"); + sb.append("\ufdf1"); + sb.append("\243"); + sb.append("\ufdf1"); sb.append("\244"); - sb.append("\u020e"); + sb.append("\ufdf1"); + sb.append("\246"); + sb.append("\ufdf1"); sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufdf1"); + sb.append("\252"); + sb.append("\ufdf1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u02e4"); + sb.append("\232"); + sb.append("\u02df"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\033"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\071"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\072"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\073"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\111"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\112"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\113"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\127"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\130"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\131"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\132"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\134"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\135"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\136"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\137"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\140"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\141"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\142"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\143"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\144"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\145"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\146"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\147"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\150"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\151"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\152"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\153"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\154"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\155"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\156"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\157"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\160"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\161"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\162"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\163"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\164"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\165"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\166"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\167"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\170"); - sb.append("\ufdef"); + sb.append("\ufdf2"); sb.append("\171"); - sb.append("\ufdef"); - sb.append("\172"); - sb.append("\ufdef"); - sb.append("\173"); - sb.append("\ufdef"); - sb.append("\174"); - sb.append("\ufdef"); - sb.append("\175"); - sb.append("\ufdef"); - sb.append("\176"); - sb.append("\ufdef"); - sb.append("\201"); - sb.append("\ufdef"); - sb.append("\202"); - sb.append("\ufdef"); - sb.append("\203"); - sb.append("\ufdef"); - sb.append("\214"); - sb.append("\ufdef"); - sb.append("\215"); - sb.append("\ufdef"); - sb.append("\230"); - sb.append("\ufdef"); - sb.append("\231"); - sb.append("\ufdef"); - sb.append("\232"); - sb.append("\ufdef"); - sb.append("\242"); - sb.append("\ufdef"); - sb.append("\243"); - sb.append("\ufdef"); - sb.append("\245"); - sb.append("\ufdef"); - sb.append("\246"); - sb.append("\ufdef"); - sb.append("\251"); - sb.append("\ufdef"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); - sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u0222"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u0223"); - sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u0220"); - sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u020a"); - sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0213"); - sb.append("\100"); - sb.append("\u01fd"); - sb.append("\101"); - sb.append("\u021f"); - sb.append("\102"); - sb.append("\u0204"); - sb.append("\103"); - sb.append("\u0218"); - sb.append("\104"); - sb.append("\u0212"); - sb.append("\105"); - sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u0217"); - sb.append("\116"); - sb.append("\u0207"); - sb.append("\121"); - sb.append("\u021c"); - sb.append("\122"); - sb.append("\u01fe"); - sb.append("\123"); - sb.append("\u020c"); - sb.append("\124"); - sb.append("\u0214"); - sb.append("\125"); - sb.append("\u0211"); - sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); + sb.append("\ufdf2"); sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufdf2"); + sb.append("\173"); + sb.append("\ufdf2"); + sb.append("\174"); + sb.append("\ufdf2"); + sb.append("\175"); + sb.append("\ufdf2"); + sb.append("\176"); + sb.append("\ufdf2"); + sb.append("\177"); + sb.append("\ufdf2"); + sb.append("\202"); + sb.append("\ufdf2"); + sb.append("\203"); + sb.append("\ufdf2"); + sb.append("\204"); + sb.append("\ufdf2"); + sb.append("\215"); + sb.append("\ufdf2"); sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufdf2"); sb.append("\231"); - sb.append("\ufec3"); + sb.append("\ufdf2"); + sb.append("\232"); + sb.append("\ufdf2"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); + sb.append("\ufdf2"); + sb.append("\243"); + sb.append("\ufdf2"); sb.append("\244"); - sb.append("\u020e"); + sb.append("\ufdf2"); + sb.append("\246"); + sb.append("\ufdf2"); sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u02e7"); + sb.append("\ufdf2"); + sb.append("\252"); + sb.append("\ufdf2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\162"); sb.append("\031"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\033"); - sb.append("\ufdf0"); - sb.append("\071"); - sb.append("\ufdf0"); - sb.append("\072"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\073"); - sb.append("\ufdf0"); - sb.append("\111"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\112"); - sb.append("\ufdf0"); - sb.append("\113"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\127"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\130"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\131"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\132"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\134"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\135"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\136"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\137"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\140"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\141"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\142"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\143"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\144"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\145"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\146"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\147"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\150"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\151"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\152"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\153"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\154"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\155"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\156"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\157"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\160"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\161"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\162"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\163"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\164"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\165"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\166"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\167"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\170"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\171"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\172"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\173"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\174"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\175"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\176"); - sb.append("\ufdf0"); - sb.append("\201"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); + sb.append("\177"); + sb.append("\ufd3f"); sb.append("\202"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); sb.append("\203"); - sb.append("\ufdf0"); - sb.append("\214"); - sb.append("\ufdf0"); - sb.append("\215"); - sb.append("\ufdf0"); - sb.append("\230"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); + sb.append("\204"); + sb.append("\ufd3f"); + sb.append("\216"); + sb.append("\ufd3f"); sb.append("\231"); - sb.append("\ufdf0"); + sb.append("\u02e1"); sb.append("\232"); - sb.append("\ufdf0"); - sb.append("\242"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); + sb.append("\233"); + sb.append("\ufd3f"); sb.append("\243"); - sb.append("\ufdf0"); - sb.append("\245"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); + sb.append("\244"); + sb.append("\ufd3f"); sb.append("\246"); - sb.append("\ufdf0"); - sb.append("\251"); - sb.append("\ufdf0"); + sb.append("\ufd3f"); + sb.append("\247"); + sb.append("\ufd3f"); + sb.append("\252"); + sb.append("\ufd3f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\240"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u018a"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u0161"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u015b"); - sb.append("\111"); - sb.append("\u02e9"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u018c"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u017d"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); sb.append("\216"); - sb.append("\u0183"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\241"); - sb.append("\u018e"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\232"); + sb.append("\u02e3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\016"); + sb.append("\ufdf0"); + sb.append("\033"); + sb.append("\ufdf0"); sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); + sb.append("\ufdf0"); + sb.append("\072"); + sb.append("\ufdf0"); + sb.append("\073"); + sb.append("\ufdf0"); + sb.append("\111"); + sb.append("\ufdf0"); + sb.append("\112"); + sb.append("\ufdf0"); + sb.append("\113"); + sb.append("\ufdf0"); + sb.append("\127"); + sb.append("\ufdf0"); + sb.append("\130"); + sb.append("\ufdf0"); + sb.append("\131"); + sb.append("\ufdf0"); + sb.append("\132"); + sb.append("\ufdf0"); + sb.append("\134"); + sb.append("\ufdf0"); + sb.append("\135"); + sb.append("\ufdf0"); sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); + sb.append("\ufdf0"); + sb.append("\137"); + sb.append("\ufdf0"); + sb.append("\140"); + sb.append("\ufdf0"); + sb.append("\141"); + sb.append("\ufdf0"); + sb.append("\142"); + sb.append("\ufdf0"); + sb.append("\143"); + sb.append("\ufdf0"); + sb.append("\144"); + sb.append("\ufdf0"); + sb.append("\145"); + sb.append("\ufdf0"); + sb.append("\146"); + sb.append("\ufdf0"); + sb.append("\147"); + sb.append("\ufdf0"); + sb.append("\150"); + sb.append("\ufdf0"); + sb.append("\151"); + sb.append("\ufdf0"); + sb.append("\152"); + sb.append("\ufdf0"); + sb.append("\153"); + sb.append("\ufdf0"); + sb.append("\154"); + sb.append("\ufdf0"); + sb.append("\155"); + sb.append("\ufdf0"); + sb.append("\156"); + sb.append("\ufdf0"); + sb.append("\157"); + sb.append("\ufdf0"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufdf0"); + sb.append("\161"); + sb.append("\ufdf0"); + sb.append("\162"); + sb.append("\ufdf0"); + sb.append("\163"); + sb.append("\ufdf0"); + sb.append("\164"); + sb.append("\ufdf0"); + sb.append("\165"); + sb.append("\ufdf0"); + sb.append("\166"); + sb.append("\ufdf0"); + sb.append("\167"); + sb.append("\ufdf0"); + sb.append("\170"); + sb.append("\ufdf0"); + sb.append("\171"); + sb.append("\ufdf0"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufdf0"); sb.append("\173"); + sb.append("\ufdf0"); + sb.append("\174"); + sb.append("\ufdf0"); + sb.append("\175"); + sb.append("\ufdf0"); sb.append("\176"); + sb.append("\ufdf0"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufdf0"); sb.append("\202"); - sb.append("\054"); + sb.append("\ufdf0"); sb.append("\203"); - sb.append("\120"); + sb.append("\ufdf0"); sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufdf0"); + sb.append("\215"); + sb.append("\ufdf0"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufdf0"); + sb.append("\231"); + sb.append("\ufdf0"); + sb.append("\232"); + sb.append("\ufdf0"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufdf0"); + sb.append("\243"); + sb.append("\ufdf0"); + sb.append("\244"); + sb.append("\ufdf0"); + sb.append("\246"); + sb.append("\ufdf0"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufdf0"); + sb.append("\252"); + sb.append("\ufdf0"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\112"); + sb.append("\u02e5"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\130"); sb.append("\031"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\033"); - sb.append("\ufcd1"); - sb.append("\071"); - sb.append("\u02ed"); - sb.append("\072"); - sb.append("\u02eb"); + sb.append("\ufcd0"); sb.append("\073"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\111"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\112"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\113"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\127"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\130"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\131"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\132"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\150"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\151"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\152"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\153"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\154"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\155"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\156"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\157"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\160"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\161"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\162"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\163"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\164"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\165"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\166"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\167"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\170"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\171"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\172"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\173"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\174"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\175"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); sb.append("\176"); - sb.append("\ufcd1"); - sb.append("\201"); - sb.append("\ufcd1"); - sb.append("\214"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); + sb.append("\177"); + sb.append("\ufcd0"); + sb.append("\202"); + sb.append("\ufcd0"); sb.append("\215"); - sb.append("\ufcd1"); - sb.append("\230"); - sb.append("\u02ec"); + sb.append("\ufcd0"); + sb.append("\216"); + sb.append("\ufcd0"); sb.append("\231"); - sb.append("\ufcd1"); + sb.append("\u02e6"); sb.append("\232"); - sb.append("\ufcd1"); - sb.append("\242"); - sb.append("\ufcd1"); - sb.append("\245"); - sb.append("\ufcd1"); - sb.append("\251"); - sb.append("\ufcd1"); + sb.append("\ufcd0"); + sb.append("\233"); + sb.append("\ufcd0"); + sb.append("\243"); + sb.append("\ufcd0"); + sb.append("\246"); + sb.append("\ufcd0"); + sb.append("\252"); + sb.append("\ufcd0"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\236"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u018a"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u0161"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u021b"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java index 8fda189436bb..bd43b10ab052 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,72 +29,256 @@ public String getTableData() { } protected EncodedActionTable7() { sb = new StringBuilder(); - sb.append("\115"); - sb.append("\u019a"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u018c"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u017d"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); sb.append("\216"); - sb.append("\u0183"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\241"); - sb.append("\u018e"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u02e8"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufdee"); + sb.append("\033"); + sb.append("\ufdee"); + sb.append("\071"); + sb.append("\ufdee"); + sb.append("\072"); + sb.append("\ufdee"); + sb.append("\073"); + sb.append("\ufdee"); + sb.append("\111"); + sb.append("\ufdee"); + sb.append("\112"); + sb.append("\ufdee"); + sb.append("\113"); + sb.append("\ufdee"); + sb.append("\127"); + sb.append("\ufdee"); + sb.append("\130"); + sb.append("\ufdee"); + sb.append("\131"); + sb.append("\ufdee"); + sb.append("\132"); + sb.append("\ufdee"); + sb.append("\134"); + sb.append("\ufdee"); + sb.append("\135"); + sb.append("\ufdee"); + sb.append("\136"); + sb.append("\ufdee"); + sb.append("\137"); + sb.append("\ufdee"); + sb.append("\140"); + sb.append("\ufdee"); + sb.append("\141"); + sb.append("\ufdee"); + sb.append("\142"); + sb.append("\ufdee"); + sb.append("\143"); + sb.append("\ufdee"); + sb.append("\144"); + sb.append("\ufdee"); + sb.append("\145"); + sb.append("\ufdee"); + sb.append("\146"); + sb.append("\ufdee"); + sb.append("\147"); + sb.append("\ufdee"); + sb.append("\150"); + sb.append("\ufdee"); + sb.append("\151"); + sb.append("\ufdee"); + sb.append("\152"); + sb.append("\ufdee"); + sb.append("\153"); + sb.append("\ufdee"); + sb.append("\154"); + sb.append("\ufdee"); + sb.append("\155"); + sb.append("\ufdee"); + sb.append("\156"); + sb.append("\ufdee"); + sb.append("\157"); + sb.append("\ufdee"); + sb.append("\160"); + sb.append("\ufdee"); + sb.append("\161"); + sb.append("\ufdee"); + sb.append("\162"); + sb.append("\ufdee"); + sb.append("\163"); + sb.append("\ufdee"); + sb.append("\164"); + sb.append("\ufdee"); + sb.append("\165"); + sb.append("\ufdee"); + sb.append("\166"); + sb.append("\ufdee"); + sb.append("\167"); + sb.append("\ufdee"); + sb.append("\170"); + sb.append("\ufdee"); + sb.append("\171"); + sb.append("\ufdee"); + sb.append("\172"); + sb.append("\ufdee"); + sb.append("\173"); + sb.append("\ufdee"); + sb.append("\174"); + sb.append("\ufdee"); + sb.append("\175"); + sb.append("\ufdee"); + sb.append("\176"); + sb.append("\ufdee"); + sb.append("\177"); + sb.append("\ufdee"); + sb.append("\202"); + sb.append("\ufdee"); + sb.append("\203"); + sb.append("\ufdee"); + sb.append("\204"); + sb.append("\ufdee"); + sb.append("\215"); + sb.append("\ufdee"); + sb.append("\216"); + sb.append("\ufdee"); + sb.append("\231"); + sb.append("\ufdee"); + sb.append("\232"); + sb.append("\ufdee"); + sb.append("\233"); + sb.append("\ufdee"); + sb.append("\243"); + sb.append("\ufdee"); + sb.append("\244"); + sb.append("\ufdee"); + sb.append("\246"); + sb.append("\ufdee"); + sb.append("\247"); + sb.append("\ufdee"); + sb.append("\252"); + sb.append("\ufdee"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\344"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -103,393 +288,517 @@ protected EncodedActionTable7() { sb.append("\016"); sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u021d"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\236"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\232"); + sb.append("\u02eb"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufdef"); + sb.append("\033"); + sb.append("\ufdef"); + sb.append("\071"); + sb.append("\ufdef"); + sb.append("\072"); + sb.append("\ufdef"); + sb.append("\073"); + sb.append("\ufdef"); + sb.append("\111"); + sb.append("\ufdef"); + sb.append("\112"); + sb.append("\ufdef"); + sb.append("\113"); + sb.append("\ufdef"); + sb.append("\127"); + sb.append("\ufdef"); + sb.append("\130"); + sb.append("\ufdef"); + sb.append("\131"); + sb.append("\ufdef"); + sb.append("\132"); + sb.append("\ufdef"); + sb.append("\134"); + sb.append("\ufdef"); + sb.append("\135"); + sb.append("\ufdef"); + sb.append("\136"); + sb.append("\ufdef"); + sb.append("\137"); + sb.append("\ufdef"); + sb.append("\140"); + sb.append("\ufdef"); + sb.append("\141"); + sb.append("\ufdef"); + sb.append("\142"); + sb.append("\ufdef"); + sb.append("\143"); + sb.append("\ufdef"); + sb.append("\144"); + sb.append("\ufdef"); + sb.append("\145"); + sb.append("\ufdef"); + sb.append("\146"); + sb.append("\ufdef"); + sb.append("\147"); + sb.append("\ufdef"); + sb.append("\150"); + sb.append("\ufdef"); + sb.append("\151"); + sb.append("\ufdef"); + sb.append("\152"); + sb.append("\ufdef"); + sb.append("\153"); + sb.append("\ufdef"); + sb.append("\154"); + sb.append("\ufdef"); + sb.append("\155"); + sb.append("\ufdef"); + sb.append("\156"); + sb.append("\ufdef"); + sb.append("\157"); + sb.append("\ufdef"); + sb.append("\160"); + sb.append("\ufdef"); + sb.append("\161"); + sb.append("\ufdef"); + sb.append("\162"); + sb.append("\ufdef"); + sb.append("\163"); + sb.append("\ufdef"); + sb.append("\164"); + sb.append("\ufdef"); + sb.append("\165"); + sb.append("\ufdef"); + sb.append("\166"); + sb.append("\ufdef"); + sb.append("\167"); + sb.append("\ufdef"); + sb.append("\170"); + sb.append("\ufdef"); + sb.append("\171"); + sb.append("\ufdef"); + sb.append("\172"); + sb.append("\ufdef"); + sb.append("\173"); + sb.append("\ufdef"); + sb.append("\174"); + sb.append("\ufdef"); + sb.append("\175"); + sb.append("\ufdef"); + sb.append("\176"); + sb.append("\ufdef"); + sb.append("\177"); + sb.append("\ufdef"); + sb.append("\202"); + sb.append("\ufdef"); + sb.append("\203"); + sb.append("\ufdef"); + sb.append("\204"); + sb.append("\ufdef"); + sb.append("\215"); + sb.append("\ufdef"); + sb.append("\216"); + sb.append("\ufdef"); + sb.append("\231"); + sb.append("\ufdef"); + sb.append("\232"); + sb.append("\ufdef"); + sb.append("\233"); + sb.append("\ufdef"); + sb.append("\243"); + sb.append("\ufdef"); + sb.append("\244"); + sb.append("\ufdef"); + sb.append("\246"); + sb.append("\ufdef"); + sb.append("\247"); + sb.append("\ufdef"); + sb.append("\252"); + sb.append("\ufdef"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\240"); + sb.append("\004"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u018a"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\u015d"); + sb.append("\111"); + sb.append("\u02ed"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\u018c"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u02ef"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\170"); sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -498,2492 +807,2904 @@ protected EncodedActionTable7() { sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); + sb.append("\106"); sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\125"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\222"); sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); + sb.append("\026"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\210"); sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\010"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\051"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\166"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\123"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\012"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\206"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\041"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\144"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\136"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\046"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\160"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\013"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\u0214"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\116"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\020"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); + sb.append("\101"); sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u02f1"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufdf5"); - sb.append("\033"); - sb.append("\ufdf5"); - sb.append("\071"); - sb.append("\ufdf5"); - sb.append("\072"); - sb.append("\ufdf5"); - sb.append("\073"); - sb.append("\ufdf5"); - sb.append("\111"); - sb.append("\ufdf5"); - sb.append("\112"); - sb.append("\ufdf5"); - sb.append("\113"); - sb.append("\ufdf5"); - sb.append("\127"); - sb.append("\ufdf5"); - sb.append("\130"); - sb.append("\ufdf5"); - sb.append("\131"); - sb.append("\ufdf5"); - sb.append("\132"); - sb.append("\ufdf5"); sb.append("\134"); - sb.append("\ufdf5"); - sb.append("\135"); - sb.append("\ufdf5"); - sb.append("\136"); - sb.append("\ufdf5"); - sb.append("\137"); - sb.append("\ufdf5"); - sb.append("\140"); - sb.append("\ufdf5"); - sb.append("\141"); - sb.append("\ufdf5"); - sb.append("\142"); - sb.append("\ufdf5"); - sb.append("\143"); - sb.append("\ufdf5"); - sb.append("\144"); - sb.append("\ufdf5"); - sb.append("\145"); - sb.append("\ufdf5"); - sb.append("\146"); - sb.append("\ufdf5"); - sb.append("\147"); - sb.append("\ufdf5"); - sb.append("\150"); - sb.append("\ufdf5"); - sb.append("\151"); - sb.append("\ufdf5"); - sb.append("\152"); - sb.append("\ufdf5"); - sb.append("\153"); - sb.append("\ufdf5"); - sb.append("\154"); - sb.append("\ufdf5"); - sb.append("\155"); - sb.append("\ufdf5"); - sb.append("\156"); - sb.append("\ufdf5"); - sb.append("\157"); - sb.append("\ufdf5"); - sb.append("\160"); - sb.append("\ufdf5"); - sb.append("\161"); - sb.append("\ufdf5"); - sb.append("\162"); - sb.append("\ufdf5"); - sb.append("\163"); - sb.append("\ufdf5"); - sb.append("\164"); - sb.append("\ufdf5"); - sb.append("\165"); - sb.append("\ufdf5"); - sb.append("\166"); - sb.append("\ufdf5"); - sb.append("\167"); - sb.append("\ufdf5"); - sb.append("\170"); - sb.append("\ufdf5"); - sb.append("\171"); - sb.append("\ufdf5"); - sb.append("\172"); - sb.append("\ufdf5"); - sb.append("\173"); - sb.append("\ufdf5"); - sb.append("\174"); - sb.append("\ufdf5"); - sb.append("\175"); - sb.append("\ufdf5"); - sb.append("\176"); - sb.append("\ufdf5"); - sb.append("\201"); - sb.append("\ufdf5"); - sb.append("\202"); - sb.append("\ufdf5"); - sb.append("\203"); - sb.append("\ufdf5"); - sb.append("\214"); - sb.append("\ufdf5"); - sb.append("\215"); - sb.append("\ufdf5"); - sb.append("\230"); - sb.append("\ufdf5"); - sb.append("\231"); - sb.append("\ufdf5"); - sb.append("\232"); - sb.append("\ufdf5"); - sb.append("\242"); - sb.append("\ufdf5"); - sb.append("\243"); - sb.append("\ufdf5"); - sb.append("\245"); - sb.append("\ufdf5"); - sb.append("\246"); - sb.append("\ufdf5"); - sb.append("\251"); - sb.append("\ufdf5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u02f3"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); sb.append("\031"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\033"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\071"); - sb.append("\ufdf6"); + sb.append("\u02f1"); sb.append("\072"); - sb.append("\ufdf6"); + sb.append("\u02ef"); sb.append("\073"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\111"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\112"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\113"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\127"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\130"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\131"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\132"); - sb.append("\ufdf6"); - sb.append("\134"); - sb.append("\ufdf6"); - sb.append("\135"); - sb.append("\ufdf6"); - sb.append("\136"); - sb.append("\ufdf6"); - sb.append("\137"); - sb.append("\ufdf6"); - sb.append("\140"); - sb.append("\ufdf6"); - sb.append("\141"); - sb.append("\ufdf6"); - sb.append("\142"); - sb.append("\ufdf6"); - sb.append("\143"); - sb.append("\ufdf6"); - sb.append("\144"); - sb.append("\ufdf6"); - sb.append("\145"); - sb.append("\ufdf6"); - sb.append("\146"); - sb.append("\ufdf6"); - sb.append("\147"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\150"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\151"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\152"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\153"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\154"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\155"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\156"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\157"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\160"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\161"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\162"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\163"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\164"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\165"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\166"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\167"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\170"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\171"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\172"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\173"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\174"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\175"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\176"); - sb.append("\ufdf6"); - sb.append("\201"); - sb.append("\ufdf6"); + sb.append("\ufccf"); + sb.append("\177"); + sb.append("\ufccf"); sb.append("\202"); - sb.append("\ufdf6"); - sb.append("\203"); - sb.append("\ufdf6"); - sb.append("\214"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\215"); - sb.append("\ufdf6"); - sb.append("\230"); - sb.append("\ufdf6"); + sb.append("\ufccf"); + sb.append("\216"); + sb.append("\ufccf"); sb.append("\231"); - sb.append("\ufdf6"); + sb.append("\u02f0"); sb.append("\232"); - sb.append("\ufdf6"); - sb.append("\242"); - sb.append("\ufdf6"); + sb.append("\ufccf"); + sb.append("\233"); + sb.append("\ufccf"); sb.append("\243"); - sb.append("\ufdf6"); - sb.append("\245"); - sb.append("\ufdf6"); + sb.append("\ufccf"); sb.append("\246"); - sb.append("\ufdf6"); - sb.append("\251"); - sb.append("\ufdf6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u02f5"); + sb.append("\ufccf"); + sb.append("\252"); + sb.append("\ufccf"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\236"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\u01ac"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u0222"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\u0212"); - sb.append("\105"); - sb.append("\141"); + sb.append("\u015d"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); + sb.append("\004"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\006"); sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u0227"); + sb.append("\045"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u0224"); + sb.append("\063"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u020e"); + sb.append("\075"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0217"); + sb.append("\100"); + sb.append("\u0201"); + sb.append("\101"); + sb.append("\u0223"); + sb.append("\102"); sb.append("\u0208"); - sb.append("\172"); + sb.append("\103"); + sb.append("\u021c"); sb.append("\104"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u021b"); + sb.append("\116"); + sb.append("\u020b"); + sb.append("\121"); + sb.append("\u0220"); + sb.append("\122"); + sb.append("\u0202"); + sb.append("\123"); + sb.append("\u0210"); + sb.append("\124"); + sb.append("\u0218"); + sb.append("\125"); + sb.append("\u0215"); + sb.append("\126"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\236"); sb.append("\004"); - sb.append("\231"); - sb.append("\u02f7"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\010"); + sb.append("\u016d"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\ufdf4"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\ufdf4"); - sb.append("\071"); - sb.append("\ufdf4"); - sb.append("\072"); - sb.append("\ufdf4"); - sb.append("\073"); - sb.append("\ufdf4"); - sb.append("\111"); - sb.append("\ufdf4"); - sb.append("\112"); - sb.append("\ufdf4"); - sb.append("\113"); - sb.append("\ufdf4"); - sb.append("\127"); - sb.append("\ufdf4"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); + sb.append("\045"); + sb.append("\u018f"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u01a8"); + sb.append("\063"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u01a9"); + sb.append("\075"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0166"); + sb.append("\100"); + sb.append("\u0194"); + sb.append("\101"); + sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); + sb.append("\103"); + sb.append("\u019e"); + sb.append("\104"); + sb.append("\u015d"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u019c"); + sb.append("\116"); + sb.append("\u0170"); + sb.append("\121"); + sb.append("\u017a"); + sb.append("\122"); + sb.append("\u0169"); + sb.append("\123"); + sb.append("\u0183"); + sb.append("\124"); + sb.append("\u0176"); + sb.append("\125"); + sb.append("\u019b"); + sb.append("\126"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\ufdf4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\ufdf4"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\ufdf4"); - sb.append("\134"); - sb.append("\ufdf4"); - sb.append("\135"); - sb.append("\ufdf4"); - sb.append("\136"); - sb.append("\ufdf4"); - sb.append("\137"); - sb.append("\ufdf4"); - sb.append("\140"); - sb.append("\ufdf4"); - sb.append("\141"); - sb.append("\ufdf4"); - sb.append("\142"); - sb.append("\ufdf4"); - sb.append("\143"); - sb.append("\ufdf4"); - sb.append("\144"); - sb.append("\ufdf4"); - sb.append("\145"); - sb.append("\ufdf4"); - sb.append("\146"); - sb.append("\ufdf4"); - sb.append("\147"); - sb.append("\ufdf4"); - sb.append("\150"); - sb.append("\ufdf4"); - sb.append("\151"); - sb.append("\ufdf4"); - sb.append("\152"); - sb.append("\ufdf4"); - sb.append("\153"); - sb.append("\ufdf4"); - sb.append("\154"); - sb.append("\ufdf4"); - sb.append("\155"); - sb.append("\ufdf4"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u02f3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); + sb.append("\004"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\006"); sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u0227"); + sb.append("\045"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u0224"); + sb.append("\063"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u020e"); + sb.append("\075"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0217"); + sb.append("\100"); + sb.append("\u0201"); + sb.append("\101"); + sb.append("\u0223"); + sb.append("\102"); + sb.append("\u0208"); + sb.append("\103"); + sb.append("\u021c"); + sb.append("\104"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u021b"); + sb.append("\116"); + sb.append("\u020b"); + sb.append("\121"); + sb.append("\u0220"); + sb.append("\122"); + sb.append("\u0202"); + sb.append("\123"); + sb.append("\u0210"); + sb.append("\124"); + sb.append("\u0218"); + sb.append("\125"); + sb.append("\u0215"); + sb.append("\126"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); + sb.append("\250"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u02f5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); sb.append("\ufdf4"); - sb.append("\157"); - sb.append("\ufdf4"); - sb.append("\160"); - sb.append("\ufdf4"); - sb.append("\161"); - sb.append("\ufdf4"); - sb.append("\162"); - sb.append("\ufdf4"); - sb.append("\163"); + sb.append("\033"); sb.append("\ufdf4"); - sb.append("\164"); + sb.append("\071"); sb.append("\ufdf4"); - sb.append("\165"); + sb.append("\072"); sb.append("\ufdf4"); - sb.append("\166"); + sb.append("\073"); sb.append("\ufdf4"); - sb.append("\167"); + sb.append("\111"); sb.append("\ufdf4"); - sb.append("\170"); + sb.append("\112"); sb.append("\ufdf4"); - sb.append("\171"); + sb.append("\113"); sb.append("\ufdf4"); - sb.append("\172"); + sb.append("\127"); sb.append("\ufdf4"); - sb.append("\173"); + sb.append("\130"); sb.append("\ufdf4"); - sb.append("\174"); + sb.append("\131"); sb.append("\ufdf4"); - sb.append("\175"); + sb.append("\132"); sb.append("\ufdf4"); - sb.append("\176"); + sb.append("\134"); sb.append("\ufdf4"); - sb.append("\201"); + sb.append("\135"); sb.append("\ufdf4"); - sb.append("\202"); + sb.append("\136"); sb.append("\ufdf4"); - sb.append("\203"); + sb.append("\137"); sb.append("\ufdf4"); - sb.append("\214"); + sb.append("\140"); sb.append("\ufdf4"); - sb.append("\215"); + sb.append("\141"); sb.append("\ufdf4"); - sb.append("\230"); + sb.append("\142"); sb.append("\ufdf4"); - sb.append("\231"); + sb.append("\143"); sb.append("\ufdf4"); - sb.append("\232"); + sb.append("\144"); sb.append("\ufdf4"); - sb.append("\242"); + sb.append("\145"); sb.append("\ufdf4"); - sb.append("\243"); + sb.append("\146"); sb.append("\ufdf4"); - sb.append("\245"); + sb.append("\147"); sb.append("\ufdf4"); - sb.append("\246"); + sb.append("\150"); sb.append("\ufdf4"); - sb.append("\251"); + sb.append("\151"); sb.append("\ufdf4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\112"); - sb.append("\u02f9"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufdf4"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufdf4"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufdf4"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufdf4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufdf4"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufdf4"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufdf4"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufdf4"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufdf4"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufdf4"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufdf4"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufdf4"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufdf4"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufdf4"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufdf4"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufdf4"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufdf4"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufdf4"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdf4"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdf4"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufdf4"); + sb.append("\177"); + sb.append("\ufdf4"); + sb.append("\202"); + sb.append("\ufdf4"); + sb.append("\203"); + sb.append("\ufdf4"); + sb.append("\204"); + sb.append("\ufdf4"); + sb.append("\215"); + sb.append("\ufdf4"); + sb.append("\216"); + sb.append("\ufdf4"); + sb.append("\231"); + sb.append("\ufdf4"); + sb.append("\232"); + sb.append("\ufdf4"); + sb.append("\233"); + sb.append("\ufdf4"); + sb.append("\243"); + sb.append("\ufdf4"); + sb.append("\244"); + sb.append("\ufdf4"); + sb.append("\246"); + sb.append("\ufdf4"); + sb.append("\247"); + sb.append("\ufdf4"); + sb.append("\252"); + sb.append("\ufdf4"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); - sb.append("\031"); - sb.append("\ufcd0"); - sb.append("\033"); - sb.append("\ufcd0"); - sb.append("\073"); - sb.append("\ufcd0"); - sb.append("\111"); - sb.append("\ufcd0"); - sb.append("\112"); - sb.append("\ufcd0"); - sb.append("\113"); - sb.append("\ufcd0"); - sb.append("\127"); - sb.append("\ufcd0"); - sb.append("\130"); - sb.append("\ufcd0"); - sb.append("\131"); - sb.append("\ufcd0"); - sb.append("\132"); - sb.append("\ufcd0"); - sb.append("\150"); - sb.append("\ufcd0"); - sb.append("\151"); - sb.append("\ufcd0"); - sb.append("\152"); - sb.append("\ufcd0"); - sb.append("\153"); - sb.append("\ufcd0"); - sb.append("\154"); - sb.append("\ufcd0"); - sb.append("\155"); - sb.append("\ufcd0"); - sb.append("\156"); - sb.append("\ufcd0"); - sb.append("\157"); - sb.append("\ufcd0"); - sb.append("\160"); - sb.append("\ufcd0"); - sb.append("\161"); - sb.append("\ufcd0"); - sb.append("\162"); - sb.append("\ufcd0"); - sb.append("\163"); - sb.append("\ufcd0"); - sb.append("\164"); - sb.append("\ufcd0"); - sb.append("\165"); - sb.append("\ufcd0"); - sb.append("\166"); - sb.append("\ufcd0"); - sb.append("\167"); - sb.append("\ufcd0"); - sb.append("\170"); - sb.append("\ufcd0"); - sb.append("\171"); - sb.append("\ufcd0"); - sb.append("\172"); - sb.append("\ufcd0"); - sb.append("\173"); - sb.append("\ufcd0"); - sb.append("\174"); - sb.append("\ufcd0"); - sb.append("\175"); - sb.append("\ufcd0"); - sb.append("\176"); - sb.append("\ufcd0"); - sb.append("\201"); - sb.append("\ufcd0"); - sb.append("\214"); - sb.append("\ufcd0"); - sb.append("\215"); - sb.append("\ufcd0"); - sb.append("\231"); - sb.append("\ufcd0"); + sb.append("\004"); sb.append("\232"); - sb.append("\ufcd0"); - sb.append("\242"); - sb.append("\ufcd0"); - sb.append("\245"); - sb.append("\ufcd0"); - sb.append("\251"); - sb.append("\ufcd0"); + sb.append("\u02f7"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\033"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\071"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\072"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\073"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\111"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\112"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\113"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\127"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\130"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\131"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\132"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\134"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\135"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\136"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\137"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\140"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\141"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\142"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\143"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\144"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\145"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\146"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\147"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\150"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\151"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\152"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\153"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\154"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\155"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\156"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\157"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\160"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\161"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\162"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\163"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\164"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\165"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\166"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\167"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\170"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\171"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\172"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\173"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\174"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\175"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\176"); - sb.append("\ufd21"); - sb.append("\201"); - sb.append("\ufd21"); + sb.append("\ufdf5"); + sb.append("\177"); + sb.append("\ufdf5"); sb.append("\202"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\203"); - sb.append("\ufd21"); - sb.append("\214"); - sb.append("\ufd21"); + sb.append("\ufdf5"); + sb.append("\204"); + sb.append("\ufdf5"); sb.append("\215"); - sb.append("\ufd21"); - sb.append("\230"); - sb.append("\ufd21"); + sb.append("\ufdf5"); + sb.append("\216"); + sb.append("\ufdf5"); sb.append("\231"); - sb.append("\ufd21"); + sb.append("\ufdf5"); sb.append("\232"); - sb.append("\ufd21"); - sb.append("\242"); - sb.append("\ufd21"); + sb.append("\ufdf5"); + sb.append("\233"); + sb.append("\ufdf5"); sb.append("\243"); - sb.append("\ufd21"); - sb.append("\245"); - sb.append("\ufd21"); + sb.append("\ufdf5"); + sb.append("\244"); + sb.append("\ufdf5"); sb.append("\246"); - sb.append("\ufd21"); - sb.append("\251"); - sb.append("\ufd21"); + sb.append("\ufdf5"); + sb.append("\247"); + sb.append("\ufdf5"); + sb.append("\252"); + sb.append("\ufdf5"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufd25"); - sb.append("\033"); - sb.append("\ufd25"); - sb.append("\073"); - sb.append("\ufd25"); - sb.append("\112"); - sb.append("\ufd25"); - sb.append("\127"); - sb.append("\ufd25"); - sb.append("\130"); - sb.append("\ufd25"); - sb.append("\131"); - sb.append("\ufd25"); - sb.append("\132"); - sb.append("\ufd25"); - sb.append("\150"); - sb.append("\ufd25"); - sb.append("\151"); - sb.append("\ufd25"); - sb.append("\152"); - sb.append("\ufd25"); - sb.append("\153"); - sb.append("\ufd25"); - sb.append("\154"); - sb.append("\ufd25"); - sb.append("\155"); - sb.append("\ufd25"); - sb.append("\156"); - sb.append("\ufd25"); - sb.append("\157"); - sb.append("\ufd25"); - sb.append("\160"); - sb.append("\ufd25"); - sb.append("\161"); - sb.append("\ufd25"); - sb.append("\162"); - sb.append("\ufd25"); - sb.append("\163"); - sb.append("\ufd25"); - sb.append("\164"); - sb.append("\ufd25"); - sb.append("\165"); - sb.append("\ufd25"); - sb.append("\166"); - sb.append("\ufd25"); - sb.append("\167"); - sb.append("\ufd25"); - sb.append("\170"); - sb.append("\ufd25"); - sb.append("\171"); - sb.append("\ufd25"); - sb.append("\172"); - sb.append("\ufd25"); - sb.append("\173"); - sb.append("\ufd25"); - sb.append("\174"); - sb.append("\ufd25"); - sb.append("\175"); - sb.append("\ufd25"); - sb.append("\176"); - sb.append("\ufd25"); - sb.append("\201"); - sb.append("\ufd25"); - sb.append("\215"); - sb.append("\ufd25"); + sb.append("\004"); sb.append("\231"); - sb.append("\ufd25"); - sb.append("\232"); - sb.append("\ufd25"); - sb.append("\242"); - sb.append("\ufd25"); - sb.append("\245"); - sb.append("\ufd25"); - sb.append("\251"); - sb.append("\ufd25"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\122"); - sb.append("\031"); - sb.append("\ufd22"); - sb.append("\033"); - sb.append("\ufd22"); - sb.append("\073"); - sb.append("\ufd22"); - sb.append("\111"); - sb.append("\ufd22"); - sb.append("\112"); - sb.append("\ufd22"); - sb.append("\127"); - sb.append("\ufd22"); - sb.append("\130"); - sb.append("\ufd22"); - sb.append("\131"); - sb.append("\ufd22"); - sb.append("\132"); - sb.append("\ufd22"); - sb.append("\150"); - sb.append("\ufd22"); - sb.append("\151"); - sb.append("\ufd22"); - sb.append("\152"); - sb.append("\ufd22"); - sb.append("\153"); - sb.append("\ufd22"); - sb.append("\154"); - sb.append("\ufd22"); - sb.append("\155"); - sb.append("\ufd22"); - sb.append("\156"); - sb.append("\ufd22"); - sb.append("\157"); - sb.append("\ufd22"); - sb.append("\160"); - sb.append("\ufd22"); - sb.append("\161"); - sb.append("\ufd22"); - sb.append("\162"); - sb.append("\ufd22"); - sb.append("\163"); - sb.append("\ufd22"); - sb.append("\164"); - sb.append("\ufd22"); - sb.append("\165"); - sb.append("\ufd22"); - sb.append("\166"); - sb.append("\ufd22"); - sb.append("\167"); - sb.append("\ufd22"); - sb.append("\170"); - sb.append("\ufd22"); - sb.append("\171"); - sb.append("\ufd22"); - sb.append("\172"); - sb.append("\ufd22"); - sb.append("\173"); - sb.append("\ufd22"); - sb.append("\174"); - sb.append("\ufd22"); - sb.append("\175"); - sb.append("\ufd22"); - sb.append("\176"); - sb.append("\ufd22"); - sb.append("\201"); - sb.append("\ufd22"); - sb.append("\214"); - sb.append("\ufd22"); - sb.append("\215"); - sb.append("\ufd22"); - sb.append("\231"); - sb.append("\ufd22"); - sb.append("\232"); - sb.append("\ufd22"); - sb.append("\242"); - sb.append("\ufd22"); - sb.append("\245"); - sb.append("\ufd22"); - sb.append("\251"); - sb.append("\ufd22"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u02f9"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\252"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\u02ca"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); sb.append("\012"); sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u018a"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u0161"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u0171"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0173"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u015b"); - sb.append("\111"); - sb.append("\u0305"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u02cb"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u018c"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u017d"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); + sb.append("\173"); + sb.append("\104"); + sb.append("\174"); + sb.append("\176"); + sb.append("\200"); + sb.append("\130"); + sb.append("\201"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); sb.append("\216"); - sb.append("\u0183"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); + sb.append("\215"); + sb.append("\114"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\233"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); + sb.append("\234"); sb.append("\152"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); sb.append("\241"); - sb.append("\u018e"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\u02cc"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\u02cf"); + sb.append("\147"); sb.append("\255"); - sb.append("\u02d1"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\014"); - sb.append("\010"); - sb.append("\u028e"); - sb.append("\012"); - sb.append("\075"); - sb.append("\111"); - sb.append("\u028f"); - sb.append("\121"); - sb.append("\u028d"); - sb.append("\233"); - sb.append("\152"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u02fb"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\033"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\071"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\072"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\073"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\111"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\112"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\113"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\127"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\130"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\131"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\132"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\134"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\135"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\136"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\137"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\140"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\141"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\142"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\143"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\144"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\145"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\146"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\147"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\150"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\151"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\152"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\153"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\154"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\155"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\156"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\157"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\160"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\161"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\162"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\163"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\164"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\165"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\166"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\167"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\170"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\171"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\172"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\173"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\174"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\175"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); + sb.append("\ufdf3"); + sb.append("\177"); + sb.append("\ufdf3"); sb.append("\202"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); + sb.append("\ufdf3"); + sb.append("\204"); + sb.append("\ufdf3"); sb.append("\215"); - sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); + sb.append("\ufdf3"); + sb.append("\216"); + sb.append("\ufdf3"); sb.append("\231"); - sb.append("\ufd36"); + sb.append("\ufdf3"); sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); + sb.append("\ufdf3"); + sb.append("\233"); + sb.append("\ufdf3"); sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); + sb.append("\ufdf3"); + sb.append("\244"); + sb.append("\ufdf3"); sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); + sb.append("\ufdf3"); + sb.append("\247"); + sb.append("\ufdf3"); + sb.append("\252"); + sb.append("\ufdf3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\112"); + sb.append("\u02fd"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\126"); sb.append("\031"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\033"); - sb.append("\ufd2f"); - sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\073"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufcce"); sb.append("\112"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\113"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\127"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\130"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\131"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); - sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\150"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\151"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\152"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\153"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\154"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\155"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\156"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\157"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\160"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\161"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\162"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\163"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\164"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\165"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\166"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\167"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\170"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\171"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\174"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\175"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\176"); - sb.append("\ufd2f"); - sb.append("\201"); - sb.append("\ufd2f"); + sb.append("\ufcce"); + sb.append("\177"); + sb.append("\ufcce"); sb.append("\202"); - sb.append("\ufd2f"); - sb.append("\203"); - sb.append("\ufd2f"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufcce"); sb.append("\215"); - sb.append("\ufd2f"); - sb.append("\230"); - sb.append("\ufd2f"); - sb.append("\231"); - sb.append("\ufd2f"); + sb.append("\ufcce"); + sb.append("\216"); + sb.append("\ufcce"); sb.append("\232"); - sb.append("\ufd2f"); - sb.append("\242"); - sb.append("\ufd2f"); + sb.append("\ufcce"); + sb.append("\233"); + sb.append("\ufcce"); sb.append("\243"); - sb.append("\ufd2f"); - sb.append("\245"); - sb.append("\ufd2f"); + sb.append("\ufcce"); sb.append("\246"); - sb.append("\ufd2f"); - sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\ufcce"); + sb.append("\252"); + sb.append("\ufcce"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\033"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\071"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\072"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\073"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufd1f"); sb.append("\112"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\113"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\127"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\130"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\131"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\132"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\134"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\135"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\136"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\137"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\140"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\141"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\142"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\143"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\144"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\145"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\146"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\147"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\151"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\152"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\153"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\154"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\155"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\156"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\157"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\160"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\161"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\162"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\163"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\164"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\165"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\166"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\167"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\170"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\171"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\172"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\173"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\174"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\175"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); + sb.append("\177"); + sb.append("\ufd1f"); sb.append("\202"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufd1f"); + sb.append("\204"); + sb.append("\ufd1f"); sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); + sb.append("\216"); + sb.append("\ufd1f"); sb.append("\231"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); + sb.append("\233"); + sb.append("\ufd1f"); sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); + sb.append("\244"); + sb.append("\ufd1f"); sb.append("\246"); - sb.append("\ufd3b"); - sb.append("\251"); - sb.append("\ufd3b"); + sb.append("\ufd1f"); + sb.append("\247"); + sb.append("\ufd1f"); + sb.append("\252"); + sb.append("\ufd1f"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\033"); - sb.append("\ufd4b"); - sb.append("\071"); - sb.append("\u02a5"); - sb.append("\072"); - sb.append("\u02a2"); + sb.append("\ufd23"); sb.append("\073"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\112"); - sb.append("\ufd4b"); - sb.append("\113"); - sb.append("\u02a3"); + sb.append("\ufd23"); sb.append("\127"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\130"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\131"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\132"); - sb.append("\ufd4b"); - sb.append("\134"); - sb.append("\ufd4b"); - sb.append("\135"); - sb.append("\ufd4b"); - sb.append("\136"); - sb.append("\ufd4b"); - sb.append("\137"); - sb.append("\ufd4b"); - sb.append("\140"); - sb.append("\ufd4b"); - sb.append("\141"); - sb.append("\ufd4b"); - sb.append("\142"); - sb.append("\ufd4b"); - sb.append("\143"); - sb.append("\ufd4b"); - sb.append("\144"); - sb.append("\ufd4b"); - sb.append("\145"); - sb.append("\ufd4b"); - sb.append("\146"); - sb.append("\ufd4b"); - sb.append("\147"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\150"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\151"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\152"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\153"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\154"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\155"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\156"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\157"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\160"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\161"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\162"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\163"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\164"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\165"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\166"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\167"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\170"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\171"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\172"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\173"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\174"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\175"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\176"); - sb.append("\ufd4b"); - sb.append("\201"); - sb.append("\ufd4b"); + sb.append("\ufd23"); + sb.append("\177"); + sb.append("\ufd23"); sb.append("\202"); - sb.append("\ufd4b"); - sb.append("\203"); - sb.append("\ufd4b"); - sb.append("\215"); - sb.append("\ufd4b"); - sb.append("\230"); - sb.append("\ufd4b"); - sb.append("\231"); - sb.append("\ufd4b"); + sb.append("\ufd23"); + sb.append("\216"); + sb.append("\ufd23"); sb.append("\232"); - sb.append("\ufd4b"); - sb.append("\242"); - sb.append("\ufd4b"); + sb.append("\ufd23"); + sb.append("\233"); + sb.append("\ufd23"); sb.append("\243"); - sb.append("\ufd4b"); - sb.append("\245"); - sb.append("\ufd4b"); + sb.append("\ufd23"); sb.append("\246"); - sb.append("\ufd4b"); - sb.append("\251"); - sb.append("\ufd4b"); + sb.append("\ufd23"); + sb.append("\252"); + sb.append("\ufd23"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\124"); sb.append("\031"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\033"); - sb.append("\ufd2c"); - sb.append("\071"); - sb.append("\ufd2c"); - sb.append("\072"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\073"); - sb.append("\ufd2c"); + sb.append("\ufd20"); + sb.append("\111"); + sb.append("\ufd20"); sb.append("\112"); - sb.append("\ufd2c"); - sb.append("\113"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\127"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\130"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\131"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\132"); - sb.append("\ufd2c"); - sb.append("\134"); - sb.append("\ufd2c"); - sb.append("\135"); - sb.append("\ufd2c"); - sb.append("\136"); - sb.append("\ufd2c"); - sb.append("\137"); - sb.append("\ufd2c"); - sb.append("\140"); - sb.append("\ufd2c"); - sb.append("\141"); - sb.append("\ufd2c"); - sb.append("\142"); - sb.append("\ufd2c"); - sb.append("\143"); - sb.append("\ufd2c"); - sb.append("\144"); - sb.append("\ufd2c"); - sb.append("\145"); - sb.append("\ufd2c"); - sb.append("\146"); - sb.append("\ufd2c"); - sb.append("\147"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\150"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\151"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\152"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\153"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\154"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\155"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\156"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\157"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\160"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\161"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\162"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\163"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\164"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\165"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\166"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\167"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\170"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\171"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\172"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\173"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\174"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\175"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\176"); - sb.append("\ufd2c"); - sb.append("\201"); - sb.append("\ufd2c"); + sb.append("\ufd20"); + sb.append("\177"); + sb.append("\ufd20"); sb.append("\202"); - sb.append("\ufd2c"); - sb.append("\203"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\215"); - sb.append("\ufd2c"); - sb.append("\230"); - sb.append("\u031a"); - sb.append("\231"); - sb.append("\ufd2c"); + sb.append("\ufd20"); + sb.append("\216"); + sb.append("\ufd20"); sb.append("\232"); - sb.append("\ufd2c"); - sb.append("\242"); - sb.append("\ufd2c"); + sb.append("\ufd20"); + sb.append("\233"); + sb.append("\ufd20"); sb.append("\243"); - sb.append("\ufd2c"); - sb.append("\245"); - sb.append("\ufd2c"); + sb.append("\ufd20"); sb.append("\246"); - sb.append("\ufd2c"); - sb.append("\251"); - sb.append("\ufd2c"); + sb.append("\ufd20"); + sb.append("\252"); + sb.append("\ufd20"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\252"); sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\u01a4"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); + sb.append("\u02ce"); sb.append("\012"); sb.append("\075"); - sb.append("\015"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\106"); + sb.append("\u018c"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); + sb.append("\u0162"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u017e"); + sb.append("\045"); + sb.append("\u018f"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u01a8"); + sb.append("\063"); + sb.append("\u016a"); + sb.append("\065"); + sb.append("\u016b"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\051"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\166"); + sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\144"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); + sb.append("\u015d"); + sb.append("\111"); + sb.append("\u0309"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\046"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\160"); + sb.append("\u02cf"); sb.append("\122"); - sb.append("\013"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\u0183"); sb.append("\124"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\116"); + sb.append("\u019b"); sb.append("\126"); + sb.append("\u018e"); + sb.append("\130"); + sb.append("\u01a6"); sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u01b0"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0171"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01a0"); sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\152"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\u02d0"); sb.append("\255"); - sb.append("\055"); + sb.append("\u02d3"); + sb.append("\256"); + sb.append("\u02d5"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\132"); + sb.append("\014"); + sb.append("\010"); + sb.append("\u0292"); + sb.append("\012"); + sb.append("\075"); + sb.append("\111"); + sb.append("\u0294"); + sb.append("\121"); + sb.append("\u0291"); + sb.append("\234"); + sb.append("\152"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\033"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\071"); - sb.append("\u030a"); + sb.append("\ufd34"); sb.append("\072"); - sb.append("\u0308"); + sb.append("\ufd34"); sb.append("\073"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\111"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\112"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\113"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\127"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\130"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\131"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\132"); - sb.append("\ufcd5"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); + sb.append("\142"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); sb.append("\150"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\151"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\152"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\153"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\154"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\155"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\156"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\157"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\160"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\161"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\162"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\163"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\164"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\165"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\166"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\167"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\170"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\171"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\172"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\173"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\174"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\175"); - sb.append("\ufcd5"); + sb.append("\ufd34"); sb.append("\176"); - sb.append("\ufcd5"); - sb.append("\201"); - sb.append("\ufcd5"); - sb.append("\214"); - sb.append("\ufcd5"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); sb.append("\215"); - sb.append("\ufcd5"); - sb.append("\230"); - sb.append("\u0309"); + sb.append("\ufd34"); + sb.append("\216"); + sb.append("\ufd34"); sb.append("\231"); - sb.append("\ufcd5"); + sb.append("\u029f"); sb.append("\232"); - sb.append("\ufcd5"); - sb.append("\242"); - sb.append("\ufcd5"); - sb.append("\245"); - sb.append("\ufcd5"); - sb.append("\251"); - sb.append("\ufcd5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\127"); - sb.append("\ufcd9"); - sb.append("\214"); - sb.append("\u0270"); - sb.append("\231"); - sb.append("\ufcd9"); + sb.append("\ufd34"); + sb.append("\233"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); + sb.append("\247"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\236"); - sb.append("\004"); - sb.append("\u01a2"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\010"); - sb.append("\u016b"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); + sb.append("\174"); sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u018a"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0160"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u017c"); - sb.append("\045"); - sb.append("\u018d"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u01ab"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u01a6"); - sb.append("\063"); - sb.append("\u0168"); - sb.append("\065"); - sb.append("\u0169"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u01a7"); - sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0164"); - sb.append("\100"); - sb.append("\u0192"); - sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); - sb.append("\u0173"); - sb.append("\103"); - sb.append("\u019c"); - sb.append("\104"); - sb.append("\u015b"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u019a"); - sb.append("\116"); - sb.append("\u016e"); - sb.append("\121"); - sb.append("\u0178"); - sb.append("\122"); - sb.append("\u0167"); - sb.append("\123"); - sb.append("\u0181"); - sb.append("\124"); - sb.append("\u0174"); - sb.append("\125"); - sb.append("\u0199"); - sb.append("\126"); - sb.append("\u018c"); + sb.append("\ufd2d"); + sb.append("\071"); + sb.append("\ufd2d"); + sb.append("\072"); + sb.append("\ufd2d"); + sb.append("\073"); + sb.append("\ufd2d"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd2d"); + sb.append("\113"); + sb.append("\ufd2d"); + sb.append("\127"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u017d"); + sb.append("\ufd2d"); + sb.append("\134"); + sb.append("\ufd2d"); + sb.append("\135"); + sb.append("\ufd2d"); + sb.append("\136"); + sb.append("\ufd2d"); + sb.append("\137"); + sb.append("\ufd2d"); + sb.append("\140"); + sb.append("\ufd2d"); + sb.append("\141"); + sb.append("\ufd2d"); + sb.append("\142"); + sb.append("\ufd2d"); + sb.append("\143"); + sb.append("\ufd2d"); + sb.append("\144"); + sb.append("\ufd2d"); + sb.append("\145"); + sb.append("\ufd2d"); + sb.append("\146"); + sb.append("\ufd2d"); + sb.append("\147"); + sb.append("\ufd2d"); + sb.append("\150"); + sb.append("\ufd2d"); + sb.append("\151"); + sb.append("\ufd2d"); + sb.append("\152"); + sb.append("\ufd2d"); + sb.append("\153"); + sb.append("\ufd2d"); + sb.append("\154"); + sb.append("\ufd2d"); + sb.append("\155"); + sb.append("\ufd2d"); + sb.append("\156"); + sb.append("\ufd2d"); + sb.append("\157"); + sb.append("\ufd2d"); + sb.append("\160"); + sb.append("\ufd2d"); + sb.append("\161"); + sb.append("\ufd2d"); + sb.append("\162"); + sb.append("\ufd2d"); + sb.append("\163"); + sb.append("\ufd2d"); + sb.append("\164"); + sb.append("\ufd2d"); + sb.append("\165"); + sb.append("\ufd2d"); + sb.append("\166"); + sb.append("\ufd2d"); + sb.append("\167"); + sb.append("\ufd2d"); + sb.append("\170"); + sb.append("\ufd2d"); + sb.append("\171"); + sb.append("\ufd2d"); + sb.append("\172"); + sb.append("\ufd2d"); + sb.append("\173"); + sb.append("\ufd2d"); + sb.append("\174"); + sb.append("\ufd2d"); + sb.append("\175"); + sb.append("\ufd2d"); + sb.append("\176"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); + sb.append("\202"); + sb.append("\ufd2d"); + sb.append("\203"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); + sb.append("\215"); + sb.append("\u0274"); sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u016f"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); + sb.append("\ufd2d"); + sb.append("\231"); + sb.append("\ufd2d"); + sb.append("\232"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); + sb.append("\243"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); + sb.append("\246"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd39"); + sb.append("\033"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); + sb.append("\073"); + sb.append("\ufd39"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); + sb.append("\127"); + sb.append("\ufd39"); + sb.append("\130"); + sb.append("\ufd39"); + sb.append("\131"); + sb.append("\ufd39"); + sb.append("\132"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); + sb.append("\150"); + sb.append("\ufd39"); + sb.append("\151"); + sb.append("\ufd39"); + sb.append("\152"); + sb.append("\ufd39"); + sb.append("\153"); + sb.append("\ufd39"); + sb.append("\154"); + sb.append("\ufd39"); + sb.append("\155"); + sb.append("\ufd39"); + sb.append("\156"); + sb.append("\ufd39"); + sb.append("\157"); + sb.append("\ufd39"); + sb.append("\160"); + sb.append("\ufd39"); + sb.append("\161"); + sb.append("\ufd39"); + sb.append("\162"); + sb.append("\ufd39"); + sb.append("\163"); + sb.append("\ufd39"); + sb.append("\164"); + sb.append("\ufd39"); + sb.append("\165"); + sb.append("\ufd39"); + sb.append("\166"); + sb.append("\ufd39"); + sb.append("\167"); + sb.append("\ufd39"); + sb.append("\170"); + sb.append("\ufd39"); + sb.append("\171"); + sb.append("\ufd39"); + sb.append("\172"); + sb.append("\ufd39"); + sb.append("\173"); + sb.append("\ufd39"); + sb.append("\174"); + sb.append("\ufd39"); + sb.append("\175"); + sb.append("\ufd39"); + sb.append("\176"); + sb.append("\ufd39"); + sb.append("\177"); + sb.append("\ufd39"); + sb.append("\202"); + sb.append("\ufd39"); + sb.append("\203"); + sb.append("\ufd39"); + sb.append("\204"); + sb.append("\ufd39"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd39"); + sb.append("\231"); + sb.append("\ufd39"); + sb.append("\232"); + sb.append("\ufd39"); + sb.append("\233"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); + sb.append("\247"); + sb.append("\ufd39"); + sb.append("\252"); + sb.append("\ufd39"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\031"); + sb.append("\ufd49"); + sb.append("\033"); + sb.append("\ufd49"); + sb.append("\071"); + sb.append("\u02a9"); + sb.append("\072"); + sb.append("\u02a6"); + sb.append("\073"); + sb.append("\ufd49"); + sb.append("\112"); + sb.append("\ufd49"); + sb.append("\113"); + sb.append("\u02a7"); + sb.append("\127"); + sb.append("\ufd49"); + sb.append("\130"); + sb.append("\ufd49"); + sb.append("\131"); + sb.append("\ufd49"); + sb.append("\132"); + sb.append("\ufd49"); + sb.append("\134"); + sb.append("\ufd49"); + sb.append("\135"); + sb.append("\ufd49"); + sb.append("\136"); + sb.append("\ufd49"); + sb.append("\137"); + sb.append("\ufd49"); + sb.append("\140"); + sb.append("\ufd49"); + sb.append("\141"); + sb.append("\ufd49"); + sb.append("\142"); + sb.append("\ufd49"); + sb.append("\143"); + sb.append("\ufd49"); + sb.append("\144"); + sb.append("\ufd49"); + sb.append("\145"); + sb.append("\ufd49"); + sb.append("\146"); + sb.append("\ufd49"); + sb.append("\147"); + sb.append("\ufd49"); + sb.append("\150"); + sb.append("\ufd49"); + sb.append("\151"); + sb.append("\ufd49"); + sb.append("\152"); + sb.append("\ufd49"); + sb.append("\153"); + sb.append("\ufd49"); + sb.append("\154"); + sb.append("\ufd49"); + sb.append("\155"); + sb.append("\ufd49"); + sb.append("\156"); + sb.append("\ufd49"); + sb.append("\157"); + sb.append("\ufd49"); + sb.append("\160"); + sb.append("\ufd49"); + sb.append("\161"); + sb.append("\ufd49"); + sb.append("\162"); + sb.append("\ufd49"); + sb.append("\163"); + sb.append("\ufd49"); + sb.append("\164"); + sb.append("\ufd49"); + sb.append("\165"); + sb.append("\ufd49"); + sb.append("\166"); + sb.append("\ufd49"); + sb.append("\167"); + sb.append("\ufd49"); + sb.append("\170"); + sb.append("\ufd49"); + sb.append("\171"); + sb.append("\ufd49"); + sb.append("\172"); + sb.append("\ufd49"); + sb.append("\173"); + sb.append("\ufd49"); + sb.append("\174"); + sb.append("\ufd49"); + sb.append("\175"); + sb.append("\ufd49"); + sb.append("\176"); + sb.append("\ufd49"); + sb.append("\177"); + sb.append("\ufd49"); + sb.append("\202"); + sb.append("\ufd49"); + sb.append("\203"); + sb.append("\ufd49"); + sb.append("\204"); + sb.append("\ufd49"); + sb.append("\216"); + sb.append("\ufd49"); + sb.append("\231"); + sb.append("\ufd49"); + sb.append("\232"); + sb.append("\ufd49"); + sb.append("\233"); + sb.append("\ufd49"); + sb.append("\243"); + sb.append("\ufd49"); + sb.append("\244"); + sb.append("\ufd49"); + sb.append("\246"); + sb.append("\ufd49"); + sb.append("\247"); + sb.append("\ufd49"); + sb.append("\252"); + sb.append("\ufd49"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\031"); + sb.append("\ufd2a"); + sb.append("\033"); + sb.append("\ufd2a"); + sb.append("\071"); + sb.append("\ufd2a"); + sb.append("\072"); + sb.append("\ufd2a"); + sb.append("\073"); + sb.append("\ufd2a"); + sb.append("\112"); + sb.append("\ufd2a"); + sb.append("\113"); + sb.append("\ufd2a"); + sb.append("\127"); + sb.append("\ufd2a"); + sb.append("\130"); + sb.append("\ufd2a"); + sb.append("\131"); + sb.append("\ufd2a"); + sb.append("\132"); + sb.append("\ufd2a"); + sb.append("\134"); + sb.append("\ufd2a"); + sb.append("\135"); + sb.append("\ufd2a"); + sb.append("\136"); + sb.append("\ufd2a"); + sb.append("\137"); + sb.append("\ufd2a"); + sb.append("\140"); + sb.append("\ufd2a"); + sb.append("\141"); + sb.append("\ufd2a"); + sb.append("\142"); + sb.append("\ufd2a"); + sb.append("\143"); + sb.append("\ufd2a"); + sb.append("\144"); + sb.append("\ufd2a"); + sb.append("\145"); + sb.append("\ufd2a"); + sb.append("\146"); + sb.append("\ufd2a"); + sb.append("\147"); + sb.append("\ufd2a"); + sb.append("\150"); + sb.append("\ufd2a"); + sb.append("\151"); + sb.append("\ufd2a"); + sb.append("\152"); + sb.append("\ufd2a"); + sb.append("\153"); + sb.append("\ufd2a"); + sb.append("\154"); + sb.append("\ufd2a"); + sb.append("\155"); + sb.append("\ufd2a"); + sb.append("\156"); + sb.append("\ufd2a"); + sb.append("\157"); + sb.append("\ufd2a"); + sb.append("\160"); + sb.append("\ufd2a"); + sb.append("\161"); + sb.append("\ufd2a"); + sb.append("\162"); + sb.append("\ufd2a"); + sb.append("\163"); + sb.append("\ufd2a"); + sb.append("\164"); + sb.append("\ufd2a"); + sb.append("\165"); + sb.append("\ufd2a"); + sb.append("\166"); + sb.append("\ufd2a"); + sb.append("\167"); + sb.append("\ufd2a"); + sb.append("\170"); + sb.append("\ufd2a"); + sb.append("\171"); + sb.append("\ufd2a"); + sb.append("\172"); + sb.append("\ufd2a"); + sb.append("\173"); + sb.append("\ufd2a"); + sb.append("\174"); + sb.append("\ufd2a"); + sb.append("\175"); + sb.append("\ufd2a"); + sb.append("\176"); + sb.append("\ufd2a"); + sb.append("\177"); + sb.append("\ufd2a"); + sb.append("\202"); + sb.append("\ufd2a"); + sb.append("\203"); + sb.append("\ufd2a"); + sb.append("\204"); + sb.append("\ufd2a"); + sb.append("\216"); + sb.append("\ufd2a"); + sb.append("\231"); + sb.append("\u031e"); + sb.append("\232"); + sb.append("\ufd2a"); + sb.append("\233"); + sb.append("\ufd2a"); + sb.append("\243"); + sb.append("\ufd2a"); + sb.append("\244"); + sb.append("\ufd2a"); + sb.append("\246"); + sb.append("\ufd2a"); + sb.append("\247"); + sb.append("\ufd2a"); + sb.append("\252"); + sb.append("\ufd2a"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2992,502 +3713,390 @@ protected EncodedActionTable7() { sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); + sb.append("\106"); sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\125"); sb.append("\044"); - sb.append("\u0223"); - sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\210"); sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\010"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\051"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\166"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\123"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\012"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\206"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\041"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\144"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\136"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\046"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\160"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\013"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\u0214"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\116"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\020"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); + sb.append("\101"); sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\134"); + sb.append("\031"); + sb.append("\ufcd3"); + sb.append("\033"); + sb.append("\ufcd3"); + sb.append("\071"); + sb.append("\u030e"); + sb.append("\072"); + sb.append("\u030c"); + sb.append("\073"); + sb.append("\ufcd3"); + sb.append("\111"); + sb.append("\ufcd3"); + sb.append("\112"); + sb.append("\ufcd3"); + sb.append("\113"); + sb.append("\ufcd3"); + sb.append("\127"); + sb.append("\ufcd3"); + sb.append("\130"); + sb.append("\ufcd3"); + sb.append("\131"); + sb.append("\ufcd3"); + sb.append("\132"); + sb.append("\ufcd3"); + sb.append("\150"); + sb.append("\ufcd3"); + sb.append("\151"); + sb.append("\ufcd3"); + sb.append("\152"); + sb.append("\ufcd3"); + sb.append("\153"); + sb.append("\ufcd3"); + sb.append("\154"); + sb.append("\ufcd3"); + sb.append("\155"); + sb.append("\ufcd3"); + sb.append("\156"); + sb.append("\ufcd3"); + sb.append("\157"); + sb.append("\ufcd3"); + sb.append("\160"); + sb.append("\ufcd3"); + sb.append("\161"); + sb.append("\ufcd3"); + sb.append("\162"); + sb.append("\ufcd3"); + sb.append("\163"); + sb.append("\ufcd3"); + sb.append("\164"); + sb.append("\ufcd3"); + sb.append("\165"); + sb.append("\ufcd3"); + sb.append("\166"); + sb.append("\ufcd3"); + sb.append("\167"); + sb.append("\ufcd3"); + sb.append("\170"); + sb.append("\ufcd3"); + sb.append("\171"); + sb.append("\ufcd3"); + sb.append("\172"); + sb.append("\ufcd3"); + sb.append("\173"); + sb.append("\ufcd3"); + sb.append("\174"); + sb.append("\ufcd3"); + sb.append("\175"); + sb.append("\ufcd3"); + sb.append("\176"); + sb.append("\ufcd3"); + sb.append("\177"); + sb.append("\ufcd3"); + sb.append("\202"); + sb.append("\ufcd3"); + sb.append("\215"); + sb.append("\ufcd3"); + sb.append("\216"); + sb.append("\ufcd3"); + sb.append("\231"); + sb.append("\u030d"); + sb.append("\232"); + sb.append("\ufcd3"); + sb.append("\233"); + sb.append("\ufcd3"); + sb.append("\243"); + sb.append("\ufcd3"); + sb.append("\246"); + sb.append("\ufcd3"); + sb.append("\252"); + sb.append("\ufcd3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\127"); + sb.append("\ufcd7"); + sb.append("\215"); + sb.append("\u0274"); + sb.append("\232"); + sb.append("\ufcd7"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\236"); sb.append("\004"); - sb.append("\u01a2"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u016b"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u018a"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0160"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u017c"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u018d"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u01a6"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\u0168"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\u0169"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u01a7"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\u0161"); - sb.append("\076"); sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0164"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\u0192"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\u0171"); - sb.append("\102"); sb.append("\u0173"); + sb.append("\102"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\u019c"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\u015b"); + sb.append("\u015d"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u019a"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\u016e"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\u0178"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\u0167"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\u0181"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\u0174"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\u0199"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\u018c"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u017d"); - sb.append("\216"); - sb.append("\u0183"); - sb.append("\217"); sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u016f"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\160"); - sb.append("\031"); - sb.append("\ufd44"); - sb.append("\033"); - sb.append("\ufd44"); - sb.append("\073"); - sb.append("\ufd44"); - sb.append("\112"); - sb.append("\ufd44"); - sb.append("\127"); - sb.append("\ufd44"); - sb.append("\130"); - sb.append("\ufd44"); - sb.append("\131"); - sb.append("\ufd44"); - sb.append("\132"); - sb.append("\ufd44"); - sb.append("\134"); - sb.append("\ufd44"); - sb.append("\135"); - sb.append("\ufd44"); - sb.append("\136"); - sb.append("\ufd44"); - sb.append("\137"); - sb.append("\ufd44"); - sb.append("\140"); - sb.append("\ufd44"); - sb.append("\141"); - sb.append("\ufd44"); - sb.append("\142"); - sb.append("\ufd44"); - sb.append("\143"); - sb.append("\ufd44"); - sb.append("\144"); - sb.append("\ufd44"); - sb.append("\145"); - sb.append("\ufd44"); - sb.append("\146"); - sb.append("\ufd44"); - sb.append("\147"); - sb.append("\ufd44"); - sb.append("\150"); - sb.append("\ufd44"); - sb.append("\151"); - sb.append("\ufd44"); - sb.append("\152"); - sb.append("\ufd44"); - sb.append("\153"); - sb.append("\ufd44"); - sb.append("\154"); - sb.append("\ufd44"); - sb.append("\155"); - sb.append("\ufd44"); - sb.append("\156"); - sb.append("\ufd44"); - sb.append("\157"); - sb.append("\ufd44"); - sb.append("\160"); - sb.append("\ufd44"); - sb.append("\161"); - sb.append("\ufd44"); - sb.append("\162"); - sb.append("\ufd44"); - sb.append("\163"); - sb.append("\ufd44"); - sb.append("\164"); - sb.append("\ufd44"); - sb.append("\165"); - sb.append("\ufd44"); - sb.append("\166"); - sb.append("\ufd44"); - sb.append("\167"); - sb.append("\ufd44"); - sb.append("\170"); - sb.append("\ufd44"); - sb.append("\171"); - sb.append("\ufd44"); - sb.append("\172"); - sb.append("\ufd44"); - sb.append("\173"); - sb.append("\ufd44"); - sb.append("\174"); - sb.append("\ufd44"); - sb.append("\175"); - sb.append("\ufd44"); - sb.append("\176"); - sb.append("\ufd44"); - sb.append("\201"); - sb.append("\ufd44"); - sb.append("\202"); - sb.append("\ufd44"); - sb.append("\203"); - sb.append("\ufd44"); - sb.append("\215"); - sb.append("\ufd44"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u030c"); - sb.append("\231"); - sb.append("\ufd44"); - sb.append("\232"); - sb.append("\ufd44"); + sb.append("\u01a0"); + sb.append("\241"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\ufd44"); - sb.append("\243"); - sb.append("\ufd44"); - sb.append("\245"); - sb.append("\ufd44"); - sb.append("\246"); - sb.append("\ufd44"); + sb.append("\u0190"); sb.append("\251"); - sb.append("\ufd44"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\344"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3497,1036 +4106,428 @@ protected EncodedActionTable7() { sb.append("\016"); sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u021d"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u030e"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufdf8"); - sb.append("\033"); - sb.append("\ufdf8"); - sb.append("\071"); - sb.append("\ufdf8"); - sb.append("\072"); - sb.append("\ufdf8"); - sb.append("\073"); - sb.append("\ufdf8"); - sb.append("\111"); - sb.append("\ufdf8"); - sb.append("\112"); - sb.append("\ufdf8"); - sb.append("\113"); - sb.append("\ufdf8"); - sb.append("\127"); - sb.append("\ufdf8"); - sb.append("\130"); - sb.append("\ufdf8"); - sb.append("\131"); - sb.append("\ufdf8"); - sb.append("\132"); - sb.append("\ufdf8"); - sb.append("\134"); - sb.append("\ufdf8"); - sb.append("\135"); - sb.append("\ufdf8"); - sb.append("\136"); - sb.append("\ufdf8"); - sb.append("\137"); - sb.append("\ufdf8"); - sb.append("\140"); - sb.append("\ufdf8"); - sb.append("\141"); - sb.append("\ufdf8"); - sb.append("\142"); - sb.append("\ufdf8"); - sb.append("\143"); - sb.append("\ufdf8"); - sb.append("\144"); - sb.append("\ufdf8"); - sb.append("\145"); - sb.append("\ufdf8"); - sb.append("\146"); - sb.append("\ufdf8"); - sb.append("\147"); - sb.append("\ufdf8"); - sb.append("\150"); - sb.append("\ufdf8"); - sb.append("\151"); - sb.append("\ufdf8"); - sb.append("\152"); - sb.append("\ufdf8"); - sb.append("\153"); - sb.append("\ufdf8"); - sb.append("\154"); - sb.append("\ufdf8"); - sb.append("\155"); - sb.append("\ufdf8"); - sb.append("\156"); - sb.append("\ufdf8"); - sb.append("\157"); - sb.append("\ufdf8"); - sb.append("\160"); - sb.append("\ufdf8"); - sb.append("\161"); - sb.append("\ufdf8"); - sb.append("\162"); - sb.append("\ufdf8"); - sb.append("\163"); - sb.append("\ufdf8"); - sb.append("\164"); - sb.append("\ufdf8"); - sb.append("\165"); - sb.append("\ufdf8"); - sb.append("\166"); - sb.append("\ufdf8"); - sb.append("\167"); - sb.append("\ufdf8"); - sb.append("\170"); - sb.append("\ufdf8"); - sb.append("\171"); - sb.append("\ufdf8"); - sb.append("\172"); - sb.append("\ufdf8"); - sb.append("\173"); - sb.append("\ufdf8"); - sb.append("\174"); - sb.append("\ufdf8"); - sb.append("\175"); - sb.append("\ufdf8"); - sb.append("\176"); - sb.append("\ufdf8"); - sb.append("\201"); - sb.append("\ufdf8"); - sb.append("\202"); - sb.append("\ufdf8"); - sb.append("\203"); - sb.append("\ufdf8"); - sb.append("\214"); - sb.append("\ufdf8"); - sb.append("\215"); - sb.append("\ufdf8"); - sb.append("\230"); - sb.append("\ufdf8"); - sb.append("\231"); - sb.append("\ufdf8"); - sb.append("\232"); - sb.append("\ufdf8"); - sb.append("\242"); - sb.append("\ufdf8"); - sb.append("\243"); - sb.append("\ufdf8"); - sb.append("\245"); - sb.append("\ufdf8"); - sb.append("\246"); - sb.append("\ufdf8"); - sb.append("\251"); - sb.append("\ufdf8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u0310"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\172"); - sb.append("\031"); - sb.append("\ufdfb"); - sb.append("\033"); - sb.append("\ufdfb"); - sb.append("\071"); - sb.append("\ufdfb"); - sb.append("\072"); - sb.append("\ufdfb"); - sb.append("\073"); - sb.append("\ufdfb"); - sb.append("\111"); - sb.append("\ufdfb"); - sb.append("\112"); - sb.append("\ufdfb"); - sb.append("\113"); - sb.append("\ufdfb"); - sb.append("\127"); - sb.append("\ufdfb"); - sb.append("\130"); - sb.append("\ufdfb"); - sb.append("\131"); - sb.append("\ufdfb"); - sb.append("\132"); - sb.append("\ufdfb"); - sb.append("\134"); - sb.append("\ufdfb"); - sb.append("\135"); - sb.append("\ufdfb"); - sb.append("\136"); - sb.append("\ufdfb"); - sb.append("\137"); - sb.append("\ufdfb"); - sb.append("\140"); - sb.append("\ufdfb"); - sb.append("\141"); - sb.append("\ufdfb"); - sb.append("\142"); - sb.append("\ufdfb"); - sb.append("\143"); - sb.append("\ufdfb"); - sb.append("\144"); - sb.append("\ufdfb"); - sb.append("\145"); - sb.append("\ufdfb"); - sb.append("\146"); - sb.append("\ufdfb"); - sb.append("\147"); - sb.append("\ufdfb"); - sb.append("\150"); - sb.append("\ufdfb"); - sb.append("\151"); - sb.append("\ufdfb"); - sb.append("\152"); - sb.append("\ufdfb"); - sb.append("\153"); - sb.append("\ufdfb"); - sb.append("\154"); - sb.append("\ufdfb"); - sb.append("\155"); - sb.append("\ufdfb"); - sb.append("\156"); - sb.append("\ufdfb"); - sb.append("\157"); - sb.append("\ufdfb"); - sb.append("\160"); - sb.append("\ufdfb"); - sb.append("\161"); - sb.append("\ufdfb"); - sb.append("\162"); - sb.append("\ufdfb"); - sb.append("\163"); - sb.append("\ufdfb"); - sb.append("\164"); - sb.append("\ufdfb"); - sb.append("\165"); - sb.append("\ufdfb"); - sb.append("\166"); - sb.append("\ufdfb"); - sb.append("\167"); - sb.append("\ufdfb"); - sb.append("\170"); - sb.append("\ufdfb"); - sb.append("\171"); - sb.append("\ufdfb"); - sb.append("\172"); - sb.append("\ufdfb"); - sb.append("\173"); - sb.append("\ufdfb"); - sb.append("\174"); - sb.append("\ufdfb"); - sb.append("\175"); - sb.append("\ufdfb"); - sb.append("\176"); - sb.append("\ufdfb"); - sb.append("\201"); - sb.append("\ufdfb"); - sb.append("\202"); - sb.append("\ufdfb"); - sb.append("\203"); - sb.append("\ufdfb"); - sb.append("\214"); - sb.append("\ufdfb"); - sb.append("\215"); - sb.append("\ufdfb"); - sb.append("\230"); - sb.append("\ufdfb"); - sb.append("\231"); - sb.append("\ufdfb"); - sb.append("\232"); - sb.append("\ufdfb"); - sb.append("\242"); - sb.append("\ufdfb"); - sb.append("\243"); - sb.append("\ufdfb"); - sb.append("\245"); - sb.append("\ufdfb"); - sb.append("\246"); - sb.append("\ufdfb"); - sb.append("\251"); - sb.append("\ufdfb"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\160"); - sb.append("\031"); - sb.append("\ufd42"); - sb.append("\033"); - sb.append("\ufd42"); - sb.append("\073"); - sb.append("\ufd42"); - sb.append("\112"); - sb.append("\ufd42"); - sb.append("\127"); - sb.append("\ufd42"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\ufd42"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\ufd42"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\ufd42"); - sb.append("\134"); - sb.append("\ufd42"); - sb.append("\135"); - sb.append("\ufd42"); - sb.append("\136"); - sb.append("\ufd42"); - sb.append("\137"); - sb.append("\ufd42"); - sb.append("\140"); - sb.append("\ufd42"); - sb.append("\141"); - sb.append("\ufd42"); - sb.append("\142"); - sb.append("\ufd42"); - sb.append("\143"); - sb.append("\ufd42"); - sb.append("\144"); - sb.append("\ufd42"); - sb.append("\145"); - sb.append("\ufd42"); - sb.append("\146"); - sb.append("\ufd42"); - sb.append("\147"); - sb.append("\ufd42"); - sb.append("\150"); - sb.append("\ufd42"); - sb.append("\151"); - sb.append("\ufd42"); - sb.append("\152"); - sb.append("\ufd42"); - sb.append("\153"); - sb.append("\ufd42"); - sb.append("\154"); - sb.append("\ufd42"); - sb.append("\155"); - sb.append("\ufd42"); - sb.append("\156"); - sb.append("\ufd42"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u0203"); sb.append("\157"); - sb.append("\ufd42"); - sb.append("\160"); - sb.append("\ufd42"); - sb.append("\161"); - sb.append("\ufd42"); - sb.append("\162"); - sb.append("\ufd42"); - sb.append("\163"); - sb.append("\ufd42"); - sb.append("\164"); - sb.append("\ufd42"); - sb.append("\165"); - sb.append("\ufd42"); - sb.append("\166"); - sb.append("\ufd42"); - sb.append("\167"); - sb.append("\ufd42"); - sb.append("\170"); - sb.append("\ufd42"); - sb.append("\171"); - sb.append("\ufd42"); - sb.append("\172"); - sb.append("\ufd42"); + sb.append("\u020c"); sb.append("\173"); - sb.append("\ufd42"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd42"); - sb.append("\175"); - sb.append("\ufd42"); sb.append("\176"); - sb.append("\ufd42"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd42"); - sb.append("\202"); - sb.append("\ufd42"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd42"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd42"); + sb.append("\114"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u0312"); + sb.append("\u01a0"); sb.append("\231"); - sb.append("\ufd42"); + sb.append("\u01b5"); sb.append("\232"); - sb.append("\ufd42"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\ufd42"); - sb.append("\243"); - sb.append("\ufd42"); + sb.append("\u0190"); sb.append("\245"); - sb.append("\ufd42"); - sb.append("\246"); - sb.append("\ufd42"); + sb.append("\u0212"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufd42"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\236"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u01a4"); sb.append("\005"); - sb.append("\u01ac"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); + sb.append("\u01ae"); sb.append("\010"); - sb.append("\u0222"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u016d"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u018c"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0162"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u017e"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u018f"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u01ad"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u01a8"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u016a"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u016b"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u01a9"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); sb.append("\u0163"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0166"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0194"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0173"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0175"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u019e"); sb.append("\104"); - sb.append("\u0212"); - sb.append("\105"); - sb.append("\141"); + sb.append("\u015d"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u019c"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u0170"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u017a"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0169"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0183"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0176"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u019b"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u018e"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); sb.append("\u017f"); + sb.append("\217"); + sb.append("\u0185"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0171"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); + sb.append("\u01a0"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u0314"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\162"); sb.append("\031"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\033"); - sb.append("\ufdf7"); - sb.append("\071"); - sb.append("\ufdf7"); - sb.append("\072"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\073"); - sb.append("\ufdf7"); - sb.append("\111"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\112"); - sb.append("\ufdf7"); - sb.append("\113"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\127"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\130"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\131"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\132"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\134"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\135"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\136"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\137"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\140"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\141"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\142"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\143"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\144"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\145"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\146"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\147"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\150"); - sb.append("\ufdf7"); + sb.append("\ufd42"); sb.append("\151"); - sb.append("\ufdf7"); - sb.append("\152"); - sb.append("\ufdf7"); - sb.append("\153"); - sb.append("\ufdf7"); - sb.append("\154"); - sb.append("\ufdf7"); - sb.append("\155"); - sb.append("\ufdf7"); - sb.append("\156"); - sb.append("\ufdf7"); - sb.append("\157"); - sb.append("\ufdf7"); - sb.append("\160"); - sb.append("\ufdf7"); - sb.append("\161"); - sb.append("\ufdf7"); - sb.append("\162"); - sb.append("\ufdf7"); - sb.append("\163"); - sb.append("\ufdf7"); - sb.append("\164"); - sb.append("\ufdf7"); - sb.append("\165"); - sb.append("\ufdf7"); - sb.append("\166"); - sb.append("\ufdf7"); - sb.append("\167"); - sb.append("\ufdf7"); - sb.append("\170"); - sb.append("\ufdf7"); - sb.append("\171"); - sb.append("\ufdf7"); - sb.append("\172"); - sb.append("\ufdf7"); - sb.append("\173"); - sb.append("\ufdf7"); - sb.append("\174"); - sb.append("\ufdf7"); - sb.append("\175"); - sb.append("\ufdf7"); - sb.append("\176"); - sb.append("\ufdf7"); - sb.append("\201"); - sb.append("\ufdf7"); - sb.append("\202"); - sb.append("\ufdf7"); - sb.append("\203"); - sb.append("\ufdf7"); - sb.append("\214"); - sb.append("\ufdf7"); - sb.append("\215"); - sb.append("\ufdf7"); - sb.append("\230"); - sb.append("\ufdf7"); - sb.append("\231"); - sb.append("\ufdf7"); - sb.append("\232"); - sb.append("\ufdf7"); - sb.append("\242"); - sb.append("\ufdf7"); - sb.append("\243"); - sb.append("\ufdf7"); - sb.append("\245"); - sb.append("\ufdf7"); - sb.append("\246"); - sb.append("\ufdf7"); - sb.append("\251"); - sb.append("\ufdf7"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\112"); - sb.append("\u0316"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd42"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd42"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd42"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd42"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd42"); sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\126"); - sb.append("\031"); - sb.append("\ufcd3"); - sb.append("\033"); - sb.append("\ufcd3"); - sb.append("\073"); - sb.append("\ufcd3"); - sb.append("\111"); - sb.append("\ufcd3"); - sb.append("\112"); - sb.append("\ufcd3"); - sb.append("\113"); - sb.append("\ufcd3"); - sb.append("\127"); - sb.append("\ufcd3"); - sb.append("\130"); - sb.append("\ufcd3"); - sb.append("\131"); - sb.append("\ufcd3"); - sb.append("\132"); - sb.append("\ufcd3"); - sb.append("\150"); - sb.append("\ufcd3"); + sb.append("\ufd42"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java index 2dd8f6b46831..f4e4033bfcf6 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,84 +29,80 @@ public String getTableData() { } protected EncodedActionTable8() { sb = new StringBuilder(); - sb.append("\151"); - sb.append("\ufcd3"); - sb.append("\152"); - sb.append("\ufcd3"); - sb.append("\153"); - sb.append("\ufcd3"); - sb.append("\154"); - sb.append("\ufcd3"); - sb.append("\155"); - sb.append("\ufcd3"); - sb.append("\156"); - sb.append("\ufcd3"); sb.append("\157"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\160"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\161"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\162"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\163"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\164"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\165"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\166"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\167"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\170"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\171"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\172"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\173"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\174"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\175"); - sb.append("\ufcd3"); + sb.append("\ufd42"); sb.append("\176"); - sb.append("\ufcd3"); - sb.append("\201"); - sb.append("\ufcd3"); - sb.append("\214"); - sb.append("\ufcd3"); - sb.append("\215"); - sb.append("\ufcd3"); - sb.append("\230"); - sb.append("\u0317"); + sb.append("\ufd42"); + sb.append("\177"); + sb.append("\ufd42"); + sb.append("\202"); + sb.append("\ufd42"); + sb.append("\203"); + sb.append("\ufd42"); + sb.append("\204"); + sb.append("\ufd42"); + sb.append("\216"); + sb.append("\ufd42"); sb.append("\231"); - sb.append("\ufcd3"); + sb.append("\u0310"); sb.append("\232"); - sb.append("\ufcd3"); - sb.append("\242"); - sb.append("\ufcd3"); - sb.append("\245"); - sb.append("\ufcd3"); - sb.append("\251"); - sb.append("\ufcd3"); + sb.append("\ufd42"); + sb.append("\233"); + sb.append("\ufd42"); + sb.append("\243"); + sb.append("\ufd42"); + sb.append("\244"); + sb.append("\ufd42"); + sb.append("\246"); + sb.append("\ufd42"); + sb.append("\247"); + sb.append("\ufd42"); + sb.append("\252"); + sb.append("\ufd42"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\344"); sb.append("\003"); - sb.append("\u0221"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\u021e"); + sb.append("\u0222"); sb.append("\005"); - sb.append("\u01ac"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -115,581 +112,353 @@ protected EncodedActionTable8() { sb.append("\016"); sb.append("\071"); sb.append("\017"); - sb.append("\u0198"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\u0195"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\u0170"); + sb.append("\u0172"); sb.append("\022"); - sb.append("\u0176"); + sb.append("\u0178"); sb.append("\023"); - sb.append("\u016a"); + sb.append("\u016c"); sb.append("\024"); - sb.append("\u018b"); + sb.append("\u018d"); sb.append("\025"); - sb.append("\u0188"); + sb.append("\u018a"); sb.append("\026"); - sb.append("\u0172"); + sb.append("\u0174"); sb.append("\027"); - sb.append("\u01ad"); + sb.append("\u01af"); sb.append("\030"); - sb.append("\u0191"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\u0175"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\u0210"); + sb.append("\u0214"); sb.append("\033"); - sb.append("\u016c"); + sb.append("\u016e"); sb.append("\034"); - sb.append("\u019b"); + sb.append("\u019d"); sb.append("\035"); - sb.append("\u0187"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\u0215"); + sb.append("\u0219"); sb.append("\037"); - sb.append("\u015d"); + sb.append("\u015f"); sb.append("\040"); - sb.append("\u017a"); + sb.append("\u017c"); sb.append("\041"); - sb.append("\u0177"); + sb.append("\u0179"); sb.append("\042"); - sb.append("\u0196"); + sb.append("\u0198"); sb.append("\043"); - sb.append("\u0182"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u0200"); + sb.append("\u0204"); sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); sb.append("\050"); - sb.append("\u015f"); + sb.append("\u0161"); sb.append("\052"); - sb.append("\u016d"); + sb.append("\u016f"); sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\u0202"); + sb.append("\u0206"); sb.append("\055"); - sb.append("\u0179"); + sb.append("\u017b"); sb.append("\056"); - sb.append("\u0166"); + sb.append("\u0168"); sb.append("\057"); - sb.append("\u015e"); + sb.append("\u0160"); sb.append("\060"); - sb.append("\u01aa"); + sb.append("\u01ac"); sb.append("\061"); - sb.append("\u0184"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\u01fc"); + sb.append("\u0200"); sb.append("\065"); - sb.append("\u0203"); + sb.append("\u0207"); sb.append("\066"); - sb.append("\u01a1"); + sb.append("\u01a3"); sb.append("\067"); - sb.append("\u0165"); + sb.append("\u0167"); sb.append("\070"); - sb.append("\u0189"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\u021d"); + sb.append("\u0221"); sb.append("\076"); - sb.append("\u0163"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); sb.append("\114"); - sb.append("\u0185"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\u0210"); sb.append("\124"); - sb.append("\u0214"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\u0215"); sb.append("\126"); - sb.append("\u0216"); + sb.append("\u021a"); sb.append("\130"); - sb.append("\u01a4"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\u01a5"); + sb.append("\u01a7"); sb.append("\132"); - sb.append("\u01a0"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); + sb.append("\u0213"); sb.append("\220"); - sb.append("\u0180"); + sb.append("\u0181"); sb.append("\221"); - sb.append("\u0193"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u0201"); + sb.append("\u0195"); sb.append("\223"); - sb.append("\u017b"); + sb.append("\u0205"); sb.append("\224"); - sb.append("\u0162"); + sb.append("\u017d"); sb.append("\225"); - sb.append("\u0190"); + sb.append("\u0164"); sb.append("\226"); - sb.append("\u018f"); + sb.append("\u0192"); sb.append("\227"); - sb.append("\u019e"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u0319"); + sb.append("\232"); + sb.append("\u0312"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\033"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\071"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\072"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\073"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\111"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\112"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\113"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\127"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\130"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\131"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\132"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\134"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\135"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\136"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\137"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\140"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\141"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\142"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\143"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\144"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\145"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\146"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\147"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\150"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\151"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\152"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\153"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\154"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\155"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\156"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\157"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\160"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\161"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\162"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\163"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\164"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\165"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\166"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\167"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\170"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\171"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\172"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\173"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\174"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\175"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\176"); - sb.append("\ufdf9"); - sb.append("\201"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); + sb.append("\177"); + sb.append("\ufdf7"); sb.append("\202"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\203"); - sb.append("\ufdf9"); - sb.append("\214"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); + sb.append("\204"); + sb.append("\ufdf7"); sb.append("\215"); - sb.append("\ufdf9"); - sb.append("\230"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); + sb.append("\216"); + sb.append("\ufdf7"); sb.append("\231"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); sb.append("\232"); - sb.append("\ufdf9"); - sb.append("\242"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); + sb.append("\233"); + sb.append("\ufdf7"); sb.append("\243"); - sb.append("\ufdf9"); - sb.append("\245"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); + sb.append("\244"); + sb.append("\ufdf7"); sb.append("\246"); - sb.append("\ufdf9"); - sb.append("\251"); - sb.append("\ufdf9"); + sb.append("\ufdf7"); + sb.append("\247"); + sb.append("\ufdf7"); + sb.append("\252"); + sb.append("\ufdf7"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u0222"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); - sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); - sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); - sb.append("\044"); - sb.append("\u0223"); - sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); - sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); - sb.append("\062"); - sb.append("\u0220"); - sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); - sb.append("\074"); - sb.append("\u020a"); - sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); - sb.append("\077"); - sb.append("\u0213"); - sb.append("\100"); - sb.append("\u01fd"); - sb.append("\101"); - sb.append("\u021f"); - sb.append("\102"); - sb.append("\u0204"); - sb.append("\103"); - sb.append("\u0218"); - sb.append("\104"); - sb.append("\u0212"); - sb.append("\105"); - sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); - sb.append("\115"); - sb.append("\u0217"); - sb.append("\116"); - sb.append("\u0207"); - sb.append("\121"); - sb.append("\u021c"); - sb.append("\122"); - sb.append("\u01fe"); - sb.append("\123"); - sb.append("\u020c"); - sb.append("\124"); - sb.append("\u0214"); - sb.append("\125"); - sb.append("\u0211"); - sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); - sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); - sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); - sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); - sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufec3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u020e"); - sb.append("\247"); - sb.append("\021"); - sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u031c"); + sb.append("\232"); + sb.append("\u0314"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\174"); sb.append("\031"); sb.append("\ufdfa"); sb.append("\033"); @@ -784,536 +553,686 @@ protected EncodedActionTable8() { sb.append("\ufdfa"); sb.append("\176"); sb.append("\ufdfa"); - sb.append("\201"); + sb.append("\177"); sb.append("\ufdfa"); sb.append("\202"); sb.append("\ufdfa"); sb.append("\203"); sb.append("\ufdfa"); - sb.append("\214"); + sb.append("\204"); sb.append("\ufdfa"); sb.append("\215"); sb.append("\ufdfa"); - sb.append("\230"); + sb.append("\216"); sb.append("\ufdfa"); sb.append("\231"); sb.append("\ufdfa"); sb.append("\232"); sb.append("\ufdfa"); - sb.append("\242"); + sb.append("\233"); sb.append("\ufdfa"); sb.append("\243"); sb.append("\ufdfa"); - sb.append("\245"); + sb.append("\244"); sb.append("\ufdfa"); sb.append("\246"); sb.append("\ufdfa"); - sb.append("\251"); + sb.append("\247"); + sb.append("\ufdfa"); + sb.append("\252"); sb.append("\ufdfa"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\162"); sb.append("\031"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\033"); - sb.append("\ufd36"); - sb.append("\071"); - sb.append("\ufd36"); - sb.append("\072"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\073"); - sb.append("\ufd36"); - sb.append("\111"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\112"); - sb.append("\ufd36"); - sb.append("\113"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\127"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\130"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\131"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\132"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\134"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\135"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\136"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\137"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\140"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\141"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\142"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\143"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\144"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\145"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\146"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\147"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\150"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\151"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\152"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\153"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\154"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\155"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\156"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\157"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\160"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\161"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\162"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\163"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\164"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\165"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\166"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\167"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\170"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\171"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\172"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\173"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\174"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\175"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\176"); - sb.append("\ufd36"); - sb.append("\201"); - sb.append("\ufd36"); + sb.append("\ufd40"); + sb.append("\177"); + sb.append("\ufd40"); sb.append("\202"); - sb.append("\ufd36"); + sb.append("\ufd40"); sb.append("\203"); - sb.append("\ufd36"); - sb.append("\214"); - sb.append("\ufd36"); - sb.append("\215"); - sb.append("\ufd36"); - sb.append("\230"); - sb.append("\u029b"); + sb.append("\ufd40"); + sb.append("\204"); + sb.append("\ufd40"); + sb.append("\216"); + sb.append("\ufd40"); sb.append("\231"); - sb.append("\ufd36"); + sb.append("\u0316"); sb.append("\232"); - sb.append("\ufd36"); - sb.append("\242"); - sb.append("\ufd36"); + sb.append("\ufd40"); + sb.append("\233"); + sb.append("\ufd40"); sb.append("\243"); - sb.append("\ufd36"); - sb.append("\245"); - sb.append("\ufd36"); + sb.append("\ufd40"); + sb.append("\244"); + sb.append("\ufd40"); sb.append("\246"); - sb.append("\ufd36"); - sb.append("\251"); - sb.append("\ufd36"); + sb.append("\ufd40"); + sb.append("\247"); + sb.append("\ufd40"); + sb.append("\252"); + sb.append("\ufd40"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); + sb.append("\004"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); sb.append("\031"); - sb.append("\ufd2f"); - sb.append("\033"); - sb.append("\ufd2f"); + sb.append("\016"); sb.append("\071"); - sb.append("\ufd2f"); - sb.append("\072"); - sb.append("\ufd2f"); - sb.append("\073"); - sb.append("\ufd2f"); - sb.append("\111"); - sb.append("\u026f"); - sb.append("\112"); - sb.append("\ufd2f"); - sb.append("\113"); - sb.append("\ufd2f"); - sb.append("\127"); - sb.append("\ufd2f"); - sb.append("\130"); - sb.append("\ufd2f"); - sb.append("\131"); - sb.append("\ufd2f"); - sb.append("\132"); - sb.append("\ufd2f"); - sb.append("\134"); - sb.append("\ufd2f"); - sb.append("\135"); - sb.append("\ufd2f"); - sb.append("\136"); - sb.append("\ufd2f"); - sb.append("\137"); - sb.append("\ufd2f"); - sb.append("\140"); - sb.append("\ufd2f"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u0227"); + sb.append("\045"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u0224"); + sb.append("\063"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u020e"); + sb.append("\075"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0217"); + sb.append("\100"); + sb.append("\u0201"); + sb.append("\101"); + sb.append("\u0223"); + sb.append("\102"); + sb.append("\u0208"); + sb.append("\103"); + sb.append("\u021c"); + sb.append("\104"); + sb.append("\u0216"); + sb.append("\105"); sb.append("\141"); - sb.append("\ufd2f"); - sb.append("\142"); - sb.append("\ufd2f"); - sb.append("\143"); - sb.append("\ufd2f"); - sb.append("\144"); - sb.append("\ufd2f"); - sb.append("\145"); - sb.append("\ufd2f"); - sb.append("\146"); - sb.append("\ufd2f"); - sb.append("\147"); - sb.append("\ufd2f"); - sb.append("\150"); - sb.append("\ufd2f"); - sb.append("\151"); - sb.append("\ufd2f"); - sb.append("\152"); - sb.append("\ufd2f"); - sb.append("\153"); - sb.append("\ufd2f"); - sb.append("\154"); - sb.append("\ufd2f"); - sb.append("\155"); - sb.append("\ufd2f"); - sb.append("\156"); - sb.append("\ufd2f"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u021b"); + sb.append("\116"); + sb.append("\u020b"); + sb.append("\121"); + sb.append("\u0220"); + sb.append("\122"); + sb.append("\u0202"); + sb.append("\123"); + sb.append("\u0210"); + sb.append("\124"); + sb.append("\u0218"); + sb.append("\125"); + sb.append("\u0215"); + sb.append("\126"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u0203"); sb.append("\157"); - sb.append("\ufd2f"); - sb.append("\160"); - sb.append("\ufd2f"); - sb.append("\161"); - sb.append("\ufd2f"); - sb.append("\162"); - sb.append("\ufd2f"); - sb.append("\163"); - sb.append("\ufd2f"); - sb.append("\164"); - sb.append("\ufd2f"); - sb.append("\165"); - sb.append("\ufd2f"); - sb.append("\166"); - sb.append("\ufd2f"); - sb.append("\167"); - sb.append("\ufd2f"); - sb.append("\170"); - sb.append("\ufd2f"); - sb.append("\171"); - sb.append("\ufd2f"); - sb.append("\172"); - sb.append("\ufd2f"); + sb.append("\u020c"); sb.append("\173"); - sb.append("\ufd2f"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufd2f"); - sb.append("\175"); - sb.append("\ufd2f"); sb.append("\176"); - sb.append("\ufd2f"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufd2f"); - sb.append("\202"); - sb.append("\ufd2f"); + sb.append("\067"); sb.append("\203"); - sb.append("\ufd2f"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); sb.append("\214"); - sb.append("\u0270"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufd2f"); + sb.append("\114"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\ufd2f"); + sb.append("\u01a0"); sb.append("\231"); - sb.append("\ufd2f"); + sb.append("\u01b5"); sb.append("\232"); - sb.append("\ufd2f"); + sb.append("\ufec3"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\ufd2f"); - sb.append("\243"); - sb.append("\ufd2f"); + sb.append("\u0190"); sb.append("\245"); - sb.append("\ufd2f"); - sb.append("\246"); - sb.append("\ufd2f"); + sb.append("\u0212"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufd2f"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u0318"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\033"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\071"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\072"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\073"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\111"); - sb.append("\u026f"); + sb.append("\ufdf6"); sb.append("\112"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\113"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\127"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\130"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\131"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\132"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\134"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\135"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\136"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\137"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\140"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\141"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\142"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\143"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\144"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\145"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\146"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\147"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\150"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\151"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\152"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\153"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\154"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\155"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\156"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\157"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\160"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\161"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\162"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\163"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\164"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\165"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\166"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\167"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\170"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\171"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\172"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\173"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\174"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\175"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\176"); - sb.append("\ufd3b"); - sb.append("\201"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); + sb.append("\177"); + sb.append("\ufdf6"); sb.append("\202"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\203"); - sb.append("\ufd3b"); - sb.append("\214"); - sb.append("\u0270"); + sb.append("\ufdf6"); + sb.append("\204"); + sb.append("\ufdf6"); sb.append("\215"); - sb.append("\ufd3b"); - sb.append("\230"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); + sb.append("\216"); + sb.append("\ufdf6"); sb.append("\231"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); sb.append("\232"); - sb.append("\ufd3b"); - sb.append("\242"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); + sb.append("\233"); + sb.append("\ufdf6"); sb.append("\243"); - sb.append("\ufd3b"); - sb.append("\245"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); + sb.append("\244"); + sb.append("\ufdf6"); sb.append("\246"); - sb.append("\ufd3b"); - sb.append("\251"); - sb.append("\ufd3b"); + sb.append("\ufdf6"); + sb.append("\247"); + sb.append("\ufdf6"); + sb.append("\252"); + sb.append("\ufdf6"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\166"); + sb.append("\102"); sb.append("\031"); - sb.append("\ufd4a"); - sb.append("\033"); - sb.append("\ufd4a"); - sb.append("\071"); - sb.append("\u02a5"); - sb.append("\072"); - sb.append("\u02a2"); - sb.append("\073"); - sb.append("\ufd4a"); + sb.append("\u01d4"); sb.append("\112"); - sb.append("\ufd4a"); - sb.append("\113"); - sb.append("\u02a3"); - sb.append("\127"); - sb.append("\ufd4a"); + sb.append("\u031a"); sb.append("\130"); - sb.append("\ufd4a"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufd4a"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufd4a"); - sb.append("\134"); - sb.append("\ufd4a"); - sb.append("\135"); - sb.append("\ufd4a"); - sb.append("\136"); - sb.append("\ufd4a"); - sb.append("\137"); - sb.append("\ufd4a"); - sb.append("\140"); - sb.append("\ufd4a"); - sb.append("\141"); - sb.append("\ufd4a"); - sb.append("\142"); - sb.append("\ufd4a"); - sb.append("\143"); - sb.append("\ufd4a"); - sb.append("\144"); - sb.append("\ufd4a"); - sb.append("\145"); - sb.append("\ufd4a"); - sb.append("\146"); - sb.append("\ufd4a"); - sb.append("\147"); - sb.append("\ufd4a"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufd4a"); - sb.append("\151"); - sb.append("\ufd4a"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\ufd4a"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufd4a"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufd4a"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufd4a"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufd4a"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufd4a"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufd4a"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufd4a"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufd4a"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufd4a"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufd4a"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufd4a"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufd4a"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufd4a"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufd4a"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufd4a"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufd4a"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufd4a"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufd4a"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufd4a"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufd4a"); - sb.append("\201"); - sb.append("\ufd4a"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\ufd4a"); - sb.append("\203"); - sb.append("\ufd4a"); - sb.append("\215"); - sb.append("\ufd4a"); - sb.append("\230"); - sb.append("\ufd4a"); + sb.append("\u01c5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\130"); + sb.append("\031"); + sb.append("\ufcd1"); + sb.append("\033"); + sb.append("\ufcd1"); + sb.append("\073"); + sb.append("\ufcd1"); + sb.append("\111"); + sb.append("\ufcd1"); + sb.append("\112"); + sb.append("\ufcd1"); + sb.append("\113"); + sb.append("\ufcd1"); + sb.append("\127"); + sb.append("\ufcd1"); + sb.append("\130"); + sb.append("\ufcd1"); + sb.append("\131"); + sb.append("\ufcd1"); + sb.append("\132"); + sb.append("\ufcd1"); + sb.append("\150"); + sb.append("\ufcd1"); + sb.append("\151"); + sb.append("\ufcd1"); + sb.append("\152"); + sb.append("\ufcd1"); + sb.append("\153"); + sb.append("\ufcd1"); + sb.append("\154"); + sb.append("\ufcd1"); + sb.append("\155"); + sb.append("\ufcd1"); + sb.append("\156"); + sb.append("\ufcd1"); + sb.append("\157"); + sb.append("\ufcd1"); + sb.append("\160"); + sb.append("\ufcd1"); + sb.append("\161"); + sb.append("\ufcd1"); + sb.append("\162"); + sb.append("\ufcd1"); + sb.append("\163"); + sb.append("\ufcd1"); + sb.append("\164"); + sb.append("\ufcd1"); + sb.append("\165"); + sb.append("\ufcd1"); + sb.append("\166"); + sb.append("\ufcd1"); + sb.append("\167"); + sb.append("\ufcd1"); + sb.append("\170"); + sb.append("\ufcd1"); + sb.append("\171"); + sb.append("\ufcd1"); + sb.append("\172"); + sb.append("\ufcd1"); + sb.append("\173"); + sb.append("\ufcd1"); + sb.append("\174"); + sb.append("\ufcd1"); + sb.append("\175"); + sb.append("\ufcd1"); + sb.append("\176"); + sb.append("\ufcd1"); + sb.append("\177"); + sb.append("\ufcd1"); + sb.append("\202"); + sb.append("\ufcd1"); + sb.append("\215"); + sb.append("\ufcd1"); + sb.append("\216"); + sb.append("\ufcd1"); sb.append("\231"); - sb.append("\ufd4a"); + sb.append("\u031b"); sb.append("\232"); - sb.append("\ufd4a"); - sb.append("\242"); - sb.append("\ufd4a"); + sb.append("\ufcd1"); + sb.append("\233"); + sb.append("\ufcd1"); sb.append("\243"); - sb.append("\ufd4a"); - sb.append("\245"); - sb.append("\ufd4a"); + sb.append("\ufcd1"); sb.append("\246"); - sb.append("\ufd4a"); - sb.append("\251"); - sb.append("\ufd4a"); + sb.append("\ufcd1"); + sb.append("\252"); + sb.append("\ufcd1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\201"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1322,698 +1241,360 @@ protected EncodedActionTable8() { sb.append("\031"); sb.append("\016"); sb.append("\071"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\106"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\125"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\222"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\026"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\210"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\010"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\051"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\166"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\144"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\117"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\046"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\160"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\013"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\u0210"); sb.append("\124"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\116"); + sb.append("\u0215"); sb.append("\126"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u01b0"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); - sb.append("\u0324"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\251"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u031d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); sb.append("\031"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\033"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); + sb.append("\071"); + sb.append("\ufdf8"); + sb.append("\072"); + sb.append("\ufdf8"); sb.append("\073"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); + sb.append("\111"); + sb.append("\ufdf8"); sb.append("\112"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); + sb.append("\113"); + sb.append("\ufdf8"); sb.append("\127"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\130"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\131"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\132"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); + sb.append("\134"); + sb.append("\ufdf8"); + sb.append("\135"); + sb.append("\ufdf8"); + sb.append("\136"); + sb.append("\ufdf8"); + sb.append("\137"); + sb.append("\ufdf8"); + sb.append("\140"); + sb.append("\ufdf8"); + sb.append("\141"); + sb.append("\ufdf8"); + sb.append("\142"); + sb.append("\ufdf8"); + sb.append("\143"); + sb.append("\ufdf8"); + sb.append("\144"); + sb.append("\ufdf8"); + sb.append("\145"); + sb.append("\ufdf8"); + sb.append("\146"); + sb.append("\ufdf8"); + sb.append("\147"); + sb.append("\ufdf8"); sb.append("\150"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\151"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\152"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\153"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\154"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\155"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\156"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\157"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\160"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\161"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\162"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\163"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\164"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\165"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\166"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\167"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\170"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\171"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\172"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\173"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\174"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\175"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); sb.append("\176"); - sb.append("\ufe1a"); - sb.append("\201"); - sb.append("\ufe1a"); + sb.append("\ufdf8"); + sb.append("\177"); + sb.append("\ufdf8"); + sb.append("\202"); + sb.append("\ufdf8"); + sb.append("\203"); + sb.append("\ufdf8"); + sb.append("\204"); + sb.append("\ufdf8"); sb.append("\215"); - sb.append("\ufe1a"); - sb.append("\231"); - sb.append("\ufe1a"); - sb.append("\232"); - sb.append("\ufe1a"); - sb.append("\242"); - sb.append("\ufe1a"); - sb.append("\245"); - sb.append("\ufe1a"); - sb.append("\251"); - sb.append("\ufe1a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\100"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\231"); - sb.append("\u0325"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufdd0"); - sb.append("\033"); - sb.append("\ufdd0"); - sb.append("\073"); - sb.append("\ufdd0"); - sb.append("\112"); - sb.append("\ufdd0"); - sb.append("\127"); - sb.append("\ufdd0"); - sb.append("\130"); - sb.append("\ufdd0"); - sb.append("\131"); - sb.append("\ufdd0"); - sb.append("\132"); - sb.append("\ufdd0"); - sb.append("\150"); - sb.append("\ufdd0"); - sb.append("\151"); - sb.append("\ufdd0"); - sb.append("\152"); - sb.append("\ufdd0"); - sb.append("\153"); - sb.append("\ufdd0"); - sb.append("\154"); - sb.append("\ufdd0"); - sb.append("\155"); - sb.append("\ufdd0"); - sb.append("\156"); - sb.append("\ufdd0"); - sb.append("\157"); - sb.append("\ufdd0"); - sb.append("\160"); - sb.append("\ufdd0"); - sb.append("\161"); - sb.append("\ufdd0"); - sb.append("\162"); - sb.append("\ufdd0"); - sb.append("\163"); - sb.append("\ufdd0"); - sb.append("\164"); - sb.append("\ufdd0"); - sb.append("\165"); - sb.append("\ufdd0"); - sb.append("\166"); - sb.append("\ufdd0"); - sb.append("\167"); - sb.append("\ufdd0"); - sb.append("\170"); - sb.append("\ufdd0"); - sb.append("\171"); - sb.append("\ufdd0"); - sb.append("\172"); - sb.append("\ufdd0"); - sb.append("\173"); - sb.append("\ufdd0"); - sb.append("\174"); - sb.append("\ufdd0"); - sb.append("\175"); - sb.append("\ufdd0"); - sb.append("\176"); - sb.append("\ufdd0"); - sb.append("\201"); - sb.append("\ufdd0"); - sb.append("\215"); - sb.append("\ufdd0"); - sb.append("\231"); - sb.append("\ufdd0"); - sb.append("\232"); - sb.append("\ufdd0"); - sb.append("\242"); - sb.append("\ufdd0"); - sb.append("\245"); - sb.append("\ufdd0"); - sb.append("\251"); - sb.append("\ufdd0"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufdcf"); - sb.append("\033"); - sb.append("\ufdcf"); - sb.append("\073"); - sb.append("\ufdcf"); - sb.append("\112"); - sb.append("\ufdcf"); - sb.append("\127"); - sb.append("\ufdcf"); - sb.append("\130"); - sb.append("\ufdcf"); - sb.append("\131"); - sb.append("\ufdcf"); - sb.append("\132"); - sb.append("\ufdcf"); - sb.append("\150"); - sb.append("\ufdcf"); - sb.append("\151"); - sb.append("\ufdcf"); - sb.append("\152"); - sb.append("\ufdcf"); - sb.append("\153"); - sb.append("\ufdcf"); - sb.append("\154"); - sb.append("\ufdcf"); - sb.append("\155"); - sb.append("\ufdcf"); - sb.append("\156"); - sb.append("\ufdcf"); - sb.append("\157"); - sb.append("\ufdcf"); - sb.append("\160"); - sb.append("\ufdcf"); - sb.append("\161"); - sb.append("\ufdcf"); - sb.append("\162"); - sb.append("\ufdcf"); - sb.append("\163"); - sb.append("\ufdcf"); - sb.append("\164"); - sb.append("\ufdcf"); - sb.append("\165"); - sb.append("\ufdcf"); - sb.append("\166"); - sb.append("\ufdcf"); - sb.append("\167"); - sb.append("\ufdcf"); - sb.append("\170"); - sb.append("\ufdcf"); - sb.append("\171"); - sb.append("\ufdcf"); - sb.append("\172"); - sb.append("\ufdcf"); - sb.append("\173"); - sb.append("\ufdcf"); - sb.append("\174"); - sb.append("\ufdcf"); - sb.append("\175"); - sb.append("\ufdcf"); - sb.append("\176"); - sb.append("\ufdcf"); - sb.append("\201"); - sb.append("\ufdcf"); - sb.append("\215"); - sb.append("\ufdcf"); - sb.append("\231"); - sb.append("\ufdcf"); - sb.append("\232"); - sb.append("\ufdcf"); - sb.append("\242"); - sb.append("\ufdcf"); - sb.append("\245"); - sb.append("\ufdcf"); - sb.append("\251"); - sb.append("\ufdcf"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\202"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\u032e"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\127"); - sb.append("\ufcfb"); - sb.append("\133"); - sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\231"); - sb.append("\ufcfb"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\244"); - sb.append("\u032d"); - sb.append("\247"); - sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\106"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\073"); - sb.append("\u033b"); - sb.append("\127"); - sb.append("\ufcf8"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufcf8"); - sb.append("\231"); - sb.append("\ufcf8"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\016"); - sb.append("\u0338"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); + sb.append("\ufdf8"); sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufcfc"); - sb.append("\215"); - sb.append("\ufcfc"); - sb.append("\231"); - sb.append("\ufcfc"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\u0336"); - sb.append("\215"); - sb.append("\ufcfe"); - sb.append("\231"); - sb.append("\ufcfe"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufcfa"); - sb.append("\215"); - sb.append("\ufcfa"); - sb.append("\231"); - sb.append("\ufcfa"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); + sb.append("\ufdf8"); sb.append("\231"); - sb.append("\u0335"); + sb.append("\ufdf8"); + sb.append("\232"); + sb.append("\ufdf8"); + sb.append("\233"); + sb.append("\ufdf8"); + sb.append("\243"); + sb.append("\ufdf8"); + sb.append("\244"); + sb.append("\ufdf8"); + sb.append("\246"); + sb.append("\ufdf8"); + sb.append("\247"); + sb.append("\ufdf8"); + sb.append("\252"); + sb.append("\ufdf8"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); sb.append("\004"); - sb.append("\201"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u0226"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2022,634 +1603,856 @@ protected EncodedActionTable8() { sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); + sb.append("\017"); + sb.append("\u019a"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); + sb.append("\u0197"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u032f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\202"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\030"); + sb.append("\u0193"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); + sb.append("\u0177"); sb.append("\032"); - sb.append("\106"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); sb.append("\036"); - sb.append("\125"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); sb.append("\044"); - sb.append("\222"); + sb.append("\u0227"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); + sb.append("\053"); + sb.append("\u01ab"); sb.append("\054"); - sb.append("\026"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); sb.append("\062"); - sb.append("\210"); + sb.append("\u0224"); sb.append("\063"); - sb.append("\010"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); sb.append("\074"); - sb.append("\u032e"); + sb.append("\u020e"); sb.append("\075"); - sb.append("\166"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); sb.append("\077"); - sb.append("\123"); + sb.append("\u0217"); sb.append("\100"); - sb.append("\012"); + sb.append("\u0201"); sb.append("\101"); - sb.append("\206"); + sb.append("\u0223"); sb.append("\102"); - sb.append("\041"); + sb.append("\u0208"); sb.append("\103"); - sb.append("\144"); + sb.append("\u021c"); sb.append("\104"); - sb.append("\117"); + sb.append("\u0216"); sb.append("\105"); sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); sb.append("\115"); - sb.append("\136"); + sb.append("\u021b"); sb.append("\116"); - sb.append("\046"); + sb.append("\u020b"); sb.append("\121"); - sb.append("\160"); + sb.append("\u0220"); sb.append("\122"); - sb.append("\013"); + sb.append("\u0202"); sb.append("\123"); - sb.append("\065"); - sb.append("\124"); + sb.append("\u0210"); sb.append("\124"); + sb.append("\u0218"); sb.append("\125"); - sb.append("\116"); + sb.append("\u0215"); sb.append("\126"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); sb.append("\131"); - sb.append("\127"); - sb.append("\ufcfb"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); sb.append("\133"); - sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\101"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); sb.append("\222"); - sb.append("\u01b0"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01a0"); sb.append("\231"); - sb.append("\ufcfb"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufec3"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\244"); - sb.append("\u032d"); - sb.append("\247"); + sb.append("\241"); + sb.append("\u0196"); + sb.append("\242"); + sb.append("\u0190"); + sb.append("\245"); + sb.append("\u0212"); + sb.append("\250"); sb.append("\021"); sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); + sb.append("\u015e"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\231"); - sb.append("\u0331"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\127"); - sb.append("\ufcf3"); - sb.append("\134"); - sb.append("\u0332"); - sb.append("\215"); - sb.append("\ufcf3"); - sb.append("\231"); - sb.append("\ufcf3"); + sb.append("\232"); + sb.append("\u0320"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\174"); sb.append("\031"); - sb.append("\016"); + sb.append("\ufdf9"); + sb.append("\033"); + sb.append("\ufdf9"); sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); + sb.append("\ufdf9"); + sb.append("\072"); + sb.append("\ufdf9"); + sb.append("\073"); + sb.append("\ufdf9"); + sb.append("\111"); + sb.append("\ufdf9"); + sb.append("\112"); + sb.append("\ufdf9"); + sb.append("\113"); + sb.append("\ufdf9"); + sb.append("\127"); + sb.append("\ufdf9"); + sb.append("\130"); + sb.append("\ufdf9"); + sb.append("\131"); + sb.append("\ufdf9"); + sb.append("\132"); + sb.append("\ufdf9"); + sb.append("\134"); + sb.append("\ufdf9"); + sb.append("\135"); + sb.append("\ufdf9"); sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); + sb.append("\ufdf9"); + sb.append("\137"); + sb.append("\ufdf9"); + sb.append("\140"); + sb.append("\ufdf9"); + sb.append("\141"); + sb.append("\ufdf9"); + sb.append("\142"); + sb.append("\ufdf9"); + sb.append("\143"); + sb.append("\ufdf9"); + sb.append("\144"); + sb.append("\ufdf9"); + sb.append("\145"); + sb.append("\ufdf9"); + sb.append("\146"); + sb.append("\ufdf9"); + sb.append("\147"); + sb.append("\ufdf9"); + sb.append("\150"); + sb.append("\ufdf9"); + sb.append("\151"); + sb.append("\ufdf9"); + sb.append("\152"); + sb.append("\ufdf9"); + sb.append("\153"); + sb.append("\ufdf9"); + sb.append("\154"); + sb.append("\ufdf9"); + sb.append("\155"); + sb.append("\ufdf9"); + sb.append("\156"); + sb.append("\ufdf9"); + sb.append("\157"); + sb.append("\ufdf9"); sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufdf9"); + sb.append("\161"); + sb.append("\ufdf9"); + sb.append("\162"); + sb.append("\ufdf9"); + sb.append("\163"); + sb.append("\ufdf9"); + sb.append("\164"); + sb.append("\ufdf9"); + sb.append("\165"); + sb.append("\ufdf9"); + sb.append("\166"); + sb.append("\ufdf9"); + sb.append("\167"); + sb.append("\ufdf9"); + sb.append("\170"); + sb.append("\ufdf9"); + sb.append("\171"); + sb.append("\ufdf9"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufdf9"); sb.append("\173"); + sb.append("\ufdf9"); + sb.append("\174"); + sb.append("\ufdf9"); + sb.append("\175"); + sb.append("\ufdf9"); sb.append("\176"); + sb.append("\ufdf9"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufdf9"); sb.append("\202"); - sb.append("\054"); + sb.append("\ufdf9"); sb.append("\203"); - sb.append("\120"); + sb.append("\ufdf9"); sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); + sb.append("\ufdf9"); + sb.append("\215"); + sb.append("\ufdf9"); sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); + sb.append("\ufdf9"); + sb.append("\231"); + sb.append("\ufdf9"); + sb.append("\232"); + sb.append("\ufdf9"); + sb.append("\233"); + sb.append("\ufdf9"); + sb.append("\243"); + sb.append("\ufdf9"); + sb.append("\244"); + sb.append("\ufdf9"); + sb.append("\246"); + sb.append("\ufdf9"); + sb.append("\247"); + sb.append("\ufdf9"); + sb.append("\252"); + sb.append("\ufdf9"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\174"); + sb.append("\031"); + sb.append("\ufd34"); + sb.append("\033"); + sb.append("\ufd34"); + sb.append("\071"); + sb.append("\ufd34"); + sb.append("\072"); + sb.append("\ufd34"); + sb.append("\073"); + sb.append("\ufd34"); + sb.append("\111"); + sb.append("\ufd34"); + sb.append("\112"); + sb.append("\ufd34"); + sb.append("\113"); + sb.append("\ufd34"); + sb.append("\127"); + sb.append("\ufd34"); + sb.append("\130"); + sb.append("\ufd34"); + sb.append("\131"); + sb.append("\ufd34"); + sb.append("\132"); + sb.append("\ufd34"); + sb.append("\134"); + sb.append("\ufd34"); + sb.append("\135"); + sb.append("\ufd34"); + sb.append("\136"); + sb.append("\ufd34"); + sb.append("\137"); + sb.append("\ufd34"); + sb.append("\140"); + sb.append("\ufd34"); + sb.append("\141"); + sb.append("\ufd34"); sb.append("\142"); - sb.append("\211"); + sb.append("\ufd34"); + sb.append("\143"); + sb.append("\ufd34"); + sb.append("\144"); + sb.append("\ufd34"); + sb.append("\145"); + sb.append("\ufd34"); + sb.append("\146"); + sb.append("\ufd34"); + sb.append("\147"); + sb.append("\ufd34"); + sb.append("\150"); + sb.append("\ufd34"); + sb.append("\151"); + sb.append("\ufd34"); + sb.append("\152"); + sb.append("\ufd34"); + sb.append("\153"); + sb.append("\ufd34"); + sb.append("\154"); + sb.append("\ufd34"); sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufd34"); + sb.append("\156"); + sb.append("\ufd34"); + sb.append("\157"); + sb.append("\ufd34"); + sb.append("\160"); + sb.append("\ufd34"); + sb.append("\161"); + sb.append("\ufd34"); + sb.append("\162"); + sb.append("\ufd34"); + sb.append("\163"); + sb.append("\ufd34"); + sb.append("\164"); + sb.append("\ufd34"); + sb.append("\165"); + sb.append("\ufd34"); + sb.append("\166"); + sb.append("\ufd34"); + sb.append("\167"); + sb.append("\ufd34"); + sb.append("\170"); + sb.append("\ufd34"); + sb.append("\171"); + sb.append("\ufd34"); + sb.append("\172"); + sb.append("\ufd34"); + sb.append("\173"); + sb.append("\ufd34"); + sb.append("\174"); + sb.append("\ufd34"); + sb.append("\175"); + sb.append("\ufd34"); + sb.append("\176"); + sb.append("\ufd34"); + sb.append("\177"); + sb.append("\ufd34"); + sb.append("\202"); + sb.append("\ufd34"); + sb.append("\203"); + sb.append("\ufd34"); + sb.append("\204"); + sb.append("\ufd34"); + sb.append("\215"); + sb.append("\ufd34"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufd34"); + sb.append("\231"); + sb.append("\u029f"); + sb.append("\232"); + sb.append("\ufd34"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); + sb.append("\ufd34"); + sb.append("\243"); + sb.append("\ufd34"); + sb.append("\244"); + sb.append("\ufd34"); + sb.append("\246"); + sb.append("\ufd34"); sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufd34"); + sb.append("\252"); + sb.append("\ufd34"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\174"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd2d"); sb.append("\033"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); + sb.append("\071"); + sb.append("\ufd2d"); + sb.append("\072"); + sb.append("\ufd2d"); sb.append("\073"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); + sb.append("\111"); + sb.append("\u0273"); sb.append("\112"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); + sb.append("\113"); + sb.append("\ufd2d"); sb.append("\127"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); sb.append("\130"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); sb.append("\131"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); sb.append("\132"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); + sb.append("\134"); + sb.append("\ufd2d"); + sb.append("\135"); + sb.append("\ufd2d"); + sb.append("\136"); + sb.append("\ufd2d"); + sb.append("\137"); + sb.append("\ufd2d"); + sb.append("\140"); + sb.append("\ufd2d"); + sb.append("\141"); + sb.append("\ufd2d"); + sb.append("\142"); + sb.append("\ufd2d"); + sb.append("\143"); + sb.append("\ufd2d"); + sb.append("\144"); + sb.append("\ufd2d"); + sb.append("\145"); + sb.append("\ufd2d"); + sb.append("\146"); + sb.append("\ufd2d"); + sb.append("\147"); + sb.append("\ufd2d"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd2d"); sb.append("\151"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd2d"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd2d"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd2d"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd2d"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd2d"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd2d"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd2d"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd2d"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd2d"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd2d"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd2d"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd2d"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd2d"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd2d"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd2d"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd2d"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd2d"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd2d"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd2d"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd2d"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd2d"); + sb.append("\177"); + sb.append("\ufd2d"); + sb.append("\202"); + sb.append("\ufd2d"); + sb.append("\203"); + sb.append("\ufd2d"); + sb.append("\204"); + sb.append("\ufd2d"); sb.append("\215"); - sb.append("\ufe5c"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd2d"); sb.append("\231"); - sb.append("\ufe5c"); + sb.append("\ufd2d"); sb.append("\232"); - sb.append("\ufe5c"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufd2d"); + sb.append("\233"); + sb.append("\ufd2d"); + sb.append("\243"); + sb.append("\ufd2d"); + sb.append("\244"); + sb.append("\ufd2d"); + sb.append("\246"); + sb.append("\ufd2d"); + sb.append("\247"); + sb.append("\ufd2d"); + sb.append("\252"); + sb.append("\ufd2d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\174"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufd39"); + sb.append("\033"); + sb.append("\ufd39"); + sb.append("\071"); + sb.append("\ufd39"); + sb.append("\072"); + sb.append("\ufd39"); + sb.append("\073"); + sb.append("\ufd39"); + sb.append("\111"); + sb.append("\u0273"); + sb.append("\112"); + sb.append("\ufd39"); + sb.append("\113"); + sb.append("\ufd39"); sb.append("\127"); - sb.append("\ufcf7"); + sb.append("\ufd39"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufd39"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufd39"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufd39"); + sb.append("\134"); + sb.append("\ufd39"); + sb.append("\135"); + sb.append("\ufd39"); + sb.append("\136"); + sb.append("\ufd39"); + sb.append("\137"); + sb.append("\ufd39"); + sb.append("\140"); + sb.append("\ufd39"); + sb.append("\141"); + sb.append("\ufd39"); + sb.append("\142"); + sb.append("\ufd39"); + sb.append("\143"); + sb.append("\ufd39"); + sb.append("\144"); + sb.append("\ufd39"); + sb.append("\145"); + sb.append("\ufd39"); + sb.append("\146"); + sb.append("\ufd39"); + sb.append("\147"); + sb.append("\ufd39"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufd39"); + sb.append("\151"); + sb.append("\ufd39"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufd39"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufd39"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufd39"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufd39"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufd39"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufd39"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufd39"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufd39"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufd39"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufd39"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufd39"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufd39"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufd39"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufd39"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufd39"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufd39"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufd39"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufd39"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufd39"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufd39"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\ufd39"); + sb.append("\177"); + sb.append("\ufd39"); + sb.append("\202"); + sb.append("\ufd39"); + sb.append("\203"); + sb.append("\ufd39"); + sb.append("\204"); + sb.append("\ufd39"); sb.append("\215"); - sb.append("\ufcf7"); - sb.append("\231"); - sb.append("\ufcf7"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u0274"); + sb.append("\216"); + sb.append("\ufd39"); + sb.append("\231"); + sb.append("\ufd39"); + sb.append("\232"); + sb.append("\ufd39"); + sb.append("\233"); + sb.append("\ufd39"); + sb.append("\243"); + sb.append("\ufd39"); + sb.append("\244"); + sb.append("\ufd39"); + sb.append("\246"); + sb.append("\ufd39"); + sb.append("\247"); + sb.append("\ufd39"); + sb.append("\252"); + sb.append("\ufd39"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\124"); + sb.append("\170"); sb.append("\031"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\033"); - sb.append("\ufd1f"); + sb.append("\ufd48"); + sb.append("\071"); + sb.append("\u02a9"); + sb.append("\072"); + sb.append("\u02a6"); sb.append("\073"); - sb.append("\ufd1f"); - sb.append("\111"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\112"); - sb.append("\ufd1f"); + sb.append("\ufd48"); + sb.append("\113"); + sb.append("\u02a7"); sb.append("\127"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\130"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\131"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\132"); - sb.append("\ufd1f"); + sb.append("\ufd48"); + sb.append("\134"); + sb.append("\ufd48"); + sb.append("\135"); + sb.append("\ufd48"); + sb.append("\136"); + sb.append("\ufd48"); + sb.append("\137"); + sb.append("\ufd48"); + sb.append("\140"); + sb.append("\ufd48"); + sb.append("\141"); + sb.append("\ufd48"); + sb.append("\142"); + sb.append("\ufd48"); + sb.append("\143"); + sb.append("\ufd48"); + sb.append("\144"); + sb.append("\ufd48"); + sb.append("\145"); + sb.append("\ufd48"); + sb.append("\146"); + sb.append("\ufd48"); + sb.append("\147"); + sb.append("\ufd48"); sb.append("\150"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\151"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\152"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\153"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\154"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\155"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\156"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\157"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\160"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\161"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\162"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\163"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\164"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\165"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\166"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\167"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\170"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\171"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\172"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\173"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\174"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\175"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\176"); - sb.append("\ufd1f"); - sb.append("\201"); - sb.append("\ufd1f"); - sb.append("\214"); - sb.append("\ufd1f"); - sb.append("\215"); - sb.append("\ufd1f"); - sb.append("\230"); - sb.append("\ufd1f"); + sb.append("\ufd48"); + sb.append("\177"); + sb.append("\ufd48"); + sb.append("\202"); + sb.append("\ufd48"); + sb.append("\203"); + sb.append("\ufd48"); + sb.append("\204"); + sb.append("\ufd48"); + sb.append("\216"); + sb.append("\ufd48"); sb.append("\231"); - sb.append("\ufd1f"); + sb.append("\ufd48"); sb.append("\232"); - sb.append("\ufd1f"); - sb.append("\242"); - sb.append("\ufd1f"); - sb.append("\245"); - sb.append("\ufd1f"); - sb.append("\251"); - sb.append("\ufd1f"); + sb.append("\ufd48"); + sb.append("\233"); + sb.append("\ufd48"); + sb.append("\243"); + sb.append("\ufd48"); + sb.append("\244"); + sb.append("\ufd48"); + sb.append("\246"); + sb.append("\ufd48"); + sb.append("\247"); + sb.append("\ufd48"); + sb.append("\252"); + sb.append("\ufd48"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\204"); + sb.append("\172"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2665,7 +2468,7 @@ protected EncodedActionTable8() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2673,7 +2476,7 @@ protected EncodedActionTable8() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\u032e"); + sb.append("\051"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -2706,352 +2509,388 @@ protected EncodedActionTable8() { sb.append("\116"); sb.append("\126"); sb.append("\131"); - sb.append("\127"); - sb.append("\ufcfb"); sb.append("\133"); sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); - sb.append("\114"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufcfb"); - sb.append("\216"); + sb.append("\114"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufcfb"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\u0328"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\244"); - sb.append("\u032d"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufcfd"); - sb.append("\215"); - sb.append("\ufcfd"); - sb.append("\231"); - sb.append("\ufcfd"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\ufde4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufd4f"); - sb.append("\215"); - sb.append("\ufd4f"); - sb.append("\231"); - sb.append("\ufd4f"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe19"); + sb.append("\033"); + sb.append("\ufe19"); + sb.append("\073"); + sb.append("\ufe19"); + sb.append("\112"); + sb.append("\ufe19"); sb.append("\127"); - sb.append("\ufcf5"); - sb.append("\215"); - sb.append("\ufcf5"); - sb.append("\231"); - sb.append("\ufcf5"); + sb.append("\ufe19"); + sb.append("\130"); + sb.append("\ufe19"); + sb.append("\131"); + sb.append("\ufe19"); + sb.append("\132"); + sb.append("\ufe19"); + sb.append("\150"); + sb.append("\ufe19"); + sb.append("\151"); + sb.append("\ufe19"); + sb.append("\152"); + sb.append("\ufe19"); + sb.append("\153"); + sb.append("\ufe19"); + sb.append("\154"); + sb.append("\ufe19"); + sb.append("\155"); + sb.append("\ufe19"); + sb.append("\156"); + sb.append("\ufe19"); + sb.append("\157"); + sb.append("\ufe19"); + sb.append("\160"); + sb.append("\ufe19"); + sb.append("\161"); + sb.append("\ufe19"); + sb.append("\162"); + sb.append("\ufe19"); + sb.append("\163"); + sb.append("\ufe19"); + sb.append("\164"); + sb.append("\ufe19"); + sb.append("\165"); + sb.append("\ufe19"); + sb.append("\166"); + sb.append("\ufe19"); + sb.append("\167"); + sb.append("\ufe19"); + sb.append("\170"); + sb.append("\ufe19"); + sb.append("\171"); + sb.append("\ufe19"); + sb.append("\172"); + sb.append("\ufe19"); + sb.append("\173"); + sb.append("\ufe19"); + sb.append("\174"); + sb.append("\ufe19"); + sb.append("\175"); + sb.append("\ufe19"); + sb.append("\176"); + sb.append("\ufe19"); + sb.append("\177"); + sb.append("\ufe19"); + sb.append("\202"); + sb.append("\ufe19"); + sb.append("\216"); + sb.append("\ufe19"); + sb.append("\232"); + sb.append("\ufe19"); + sb.append("\233"); + sb.append("\ufe19"); + sb.append("\243"); + sb.append("\ufe19"); + sb.append("\246"); + sb.append("\ufe19"); + sb.append("\252"); + sb.append("\ufe19"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\174"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); - sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\u033e"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u0224"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\104"); + sb.append("\u01ce"); sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); sb.append("\176"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\u0329"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); + sb.append("\031"); + sb.append("\ufdcf"); + sb.append("\033"); + sb.append("\ufdcf"); + sb.append("\073"); + sb.append("\ufdcf"); + sb.append("\112"); + sb.append("\ufdcf"); + sb.append("\127"); + sb.append("\ufdcf"); + sb.append("\130"); + sb.append("\ufdcf"); + sb.append("\131"); + sb.append("\ufdcf"); + sb.append("\132"); + sb.append("\ufdcf"); + sb.append("\150"); + sb.append("\ufdcf"); sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); + sb.append("\ufdcf"); + sb.append("\152"); + sb.append("\ufdcf"); + sb.append("\153"); + sb.append("\ufdcf"); + sb.append("\154"); + sb.append("\ufdcf"); sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufdcf"); + sb.append("\156"); + sb.append("\ufdcf"); + sb.append("\157"); + sb.append("\ufdcf"); + sb.append("\160"); + sb.append("\ufdcf"); + sb.append("\161"); + sb.append("\ufdcf"); + sb.append("\162"); + sb.append("\ufdcf"); + sb.append("\163"); + sb.append("\ufdcf"); + sb.append("\164"); + sb.append("\ufdcf"); + sb.append("\165"); + sb.append("\ufdcf"); + sb.append("\166"); + sb.append("\ufdcf"); + sb.append("\167"); + sb.append("\ufdcf"); + sb.append("\170"); + sb.append("\ufdcf"); + sb.append("\171"); + sb.append("\ufdcf"); + sb.append("\172"); + sb.append("\ufdcf"); + sb.append("\173"); + sb.append("\ufdcf"); + sb.append("\174"); + sb.append("\ufdcf"); + sb.append("\175"); + sb.append("\ufdcf"); + sb.append("\176"); + sb.append("\ufdcf"); + sb.append("\177"); + sb.append("\ufdcf"); + sb.append("\202"); + sb.append("\ufdcf"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufdcf"); + sb.append("\232"); + sb.append("\ufdcf"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufdcf"); + sb.append("\243"); + sb.append("\ufdcf"); + sb.append("\246"); + sb.append("\ufdcf"); + sb.append("\252"); + sb.append("\ufdcf"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\ufdce"); + sb.append("\033"); + sb.append("\ufdce"); + sb.append("\073"); + sb.append("\ufdce"); + sb.append("\112"); + sb.append("\ufdce"); sb.append("\127"); - sb.append("\ufcf9"); + sb.append("\ufdce"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufdce"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufdce"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufdce"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\ufdce"); + sb.append("\151"); + sb.append("\ufdce"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\ufdce"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\ufdce"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\ufdce"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\ufdce"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\ufdce"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\ufdce"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\ufdce"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\ufdce"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\ufdce"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\ufdce"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\ufdce"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\ufdce"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\ufdce"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\ufdce"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\ufdce"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\ufdce"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\ufdce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\ufdce"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\ufdce"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\ufdce"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufcf9"); - sb.append("\231"); - sb.append("\ufcf9"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\034"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\016"); - sb.append("\u0338"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); + sb.append("\ufdce"); + sb.append("\177"); + sb.append("\ufdce"); + sb.append("\202"); + sb.append("\ufdce"); sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufdce"); + sb.append("\232"); + sb.append("\ufdce"); sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\230"); - sb.append("\u033f"); + sb.append("\ufdce"); + sb.append("\243"); + sb.append("\ufdce"); + sb.append("\246"); + sb.append("\ufdce"); + sb.append("\252"); + sb.append("\ufdce"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\202"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3067,7 +2906,7 @@ protected EncodedActionTable8() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3075,7 +2914,7 @@ protected EncodedActionTable8() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\u032e"); + sb.append("\u0332"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -3109,205 +2948,221 @@ protected EncodedActionTable8() { sb.append("\126"); sb.append("\131"); sb.append("\127"); - sb.append("\ufcfb"); + sb.append("\ufcf9"); sb.append("\133"); sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufcfb"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufcf9"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\244"); - sb.append("\u032d"); - sb.append("\247"); + sb.append("\245"); + sb.append("\u0331"); + sb.append("\250"); sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u0341"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\127"); - sb.append("\ufcf4"); - sb.append("\134"); - sb.append("\u0332"); - sb.append("\215"); - sb.append("\ufcf4"); - sb.append("\231"); - sb.append("\ufcf4"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\010"); - sb.append("\127"); - sb.append("\ufcf6"); - sb.append("\215"); - sb.append("\ufcf6"); - sb.append("\231"); - sb.append("\ufcf6"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\132"); + sb.append("\110"); sb.append("\031"); - sb.append("\ufdcd"); - sb.append("\033"); - sb.append("\ufdcd"); - sb.append("\071"); - sb.append("\ufcc8"); - sb.append("\072"); - sb.append("\ufcc8"); + sb.append("\u01d4"); sb.append("\073"); - sb.append("\ufdcd"); - sb.append("\111"); - sb.append("\ufcc8"); - sb.append("\112"); - sb.append("\ufdcd"); - sb.append("\113"); - sb.append("\ufcc8"); + sb.append("\u033f"); sb.append("\127"); - sb.append("\ufdcd"); + sb.append("\ufcf6"); sb.append("\130"); - sb.append("\ufdcd"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\ufdcd"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\ufdcd"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\ufdcd"); - sb.append("\151"); - sb.append("\ufdcd"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\ufdcd"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufdcd"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufdcd"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufdcd"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufdcd"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufdcd"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufdcd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufdcd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufdcd"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufdcd"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufdcd"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufdcd"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufdcd"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufdcd"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufdcd"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufdcd"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufdcd"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufdcd"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufdcd"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufdcd"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufdcd"); - sb.append("\201"); - sb.append("\ufdcd"); - sb.append("\214"); - sb.append("\ufcc8"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufcf6"); + sb.append("\232"); + sb.append("\ufcf6"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\034"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\016"); + sb.append("\u033c"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); sb.append("\215"); - sb.append("\ufdcd"); - sb.append("\230"); - sb.append("\ufcc8"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); sb.append("\231"); - sb.append("\ufdcd"); - sb.append("\232"); - sb.append("\ufdcd"); - sb.append("\242"); - sb.append("\ufdcd"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); sb.append("\245"); - sb.append("\ufdcd"); - sb.append("\251"); - sb.append("\ufdcd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\344"); - sb.append("\003"); - sb.append("\u0221"); + sb.append("\010"); + sb.append("\127"); + sb.append("\ufcfa"); + sb.append("\216"); + sb.append("\ufcfa"); + sb.append("\232"); + sb.append("\ufcfa"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\127"); + sb.append("\u033a"); + sb.append("\216"); + sb.append("\ufcfc"); + sb.append("\232"); + sb.append("\ufcfc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\010"); + sb.append("\127"); + sb.append("\ufcf8"); + sb.append("\216"); + sb.append("\ufcf8"); + sb.append("\232"); + sb.append("\ufcf8"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\004"); - sb.append("\u021e"); - sb.append("\005"); - sb.append("\u01ac"); + sb.append("\232"); + sb.append("\u0339"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u0222"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3316,238 +3171,126 @@ protected EncodedActionTable8() { sb.append("\031"); sb.append("\016"); sb.append("\071"); - sb.append("\017"); - sb.append("\u0198"); - sb.append("\020"); - sb.append("\u0195"); - sb.append("\021"); - sb.append("\u0170"); - sb.append("\022"); - sb.append("\u0176"); - sb.append("\023"); - sb.append("\u016a"); - sb.append("\024"); - sb.append("\u018b"); - sb.append("\025"); - sb.append("\u0188"); - sb.append("\026"); - sb.append("\u0172"); - sb.append("\027"); - sb.append("\u01ad"); - sb.append("\030"); - sb.append("\u0191"); - sb.append("\031"); - sb.append("\u0175"); sb.append("\032"); - sb.append("\u0210"); - sb.append("\033"); - sb.append("\u016c"); - sb.append("\034"); - sb.append("\u019b"); - sb.append("\035"); - sb.append("\u0187"); + sb.append("\106"); sb.append("\036"); - sb.append("\u0215"); - sb.append("\037"); - sb.append("\u015d"); - sb.append("\040"); - sb.append("\u017a"); - sb.append("\041"); - sb.append("\u0177"); - sb.append("\042"); - sb.append("\u0196"); - sb.append("\043"); - sb.append("\u0182"); + sb.append("\125"); sb.append("\044"); - sb.append("\u0223"); + sb.append("\222"); sb.append("\045"); - sb.append("\u0200"); - sb.append("\046"); - sb.append("\u019d"); - sb.append("\047"); - sb.append("\u019f"); - sb.append("\050"); - sb.append("\u015f"); - sb.append("\052"); - sb.append("\u016d"); - sb.append("\053"); - sb.append("\u01a9"); + sb.append("\u01b3"); sb.append("\054"); - sb.append("\u0202"); - sb.append("\055"); - sb.append("\u0179"); - sb.append("\056"); - sb.append("\u0166"); - sb.append("\057"); - sb.append("\u015e"); - sb.append("\060"); - sb.append("\u01aa"); - sb.append("\061"); - sb.append("\u0184"); + sb.append("\026"); sb.append("\062"); - sb.append("\u0220"); + sb.append("\210"); sb.append("\063"); - sb.append("\u01fc"); - sb.append("\065"); - sb.append("\u0203"); - sb.append("\066"); - sb.append("\u01a1"); - sb.append("\067"); - sb.append("\u0165"); - sb.append("\070"); - sb.append("\u0189"); + sb.append("\010"); sb.append("\074"); - sb.append("\u020a"); + sb.append("\051"); sb.append("\075"); - sb.append("\u021d"); - sb.append("\076"); - sb.append("\u0163"); + sb.append("\166"); sb.append("\077"); - sb.append("\u0213"); + sb.append("\123"); sb.append("\100"); - sb.append("\u01fd"); + sb.append("\012"); sb.append("\101"); - sb.append("\u021f"); + sb.append("\206"); sb.append("\102"); - sb.append("\u0204"); + sb.append("\041"); sb.append("\103"); - sb.append("\u0218"); + sb.append("\144"); sb.append("\104"); - sb.append("\u0212"); + sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\114"); - sb.append("\u0185"); sb.append("\115"); - sb.append("\u0217"); + sb.append("\136"); sb.append("\116"); - sb.append("\u0207"); + sb.append("\046"); sb.append("\121"); - sb.append("\u021c"); + sb.append("\160"); sb.append("\122"); - sb.append("\u01fe"); + sb.append("\013"); sb.append("\123"); - sb.append("\u020c"); + sb.append("\065"); + sb.append("\124"); sb.append("\124"); - sb.append("\u0214"); sb.append("\125"); - sb.append("\u0211"); + sb.append("\116"); sb.append("\126"); - sb.append("\u0216"); - sb.append("\130"); - sb.append("\u01a4"); sb.append("\131"); - sb.append("\u01a5"); - sb.append("\132"); - sb.append("\u01a0"); sb.append("\133"); - sb.append("\u01ff"); - sb.append("\156"); - sb.append("\u0208"); - sb.append("\172"); - sb.append("\104"); + sb.append("\020"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); - sb.append("\u020f"); sb.append("\217"); - sb.append("\u017f"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0193"); - sb.append("\222"); - sb.append("\u0201"); + sb.append("\101"); sb.append("\223"); - sb.append("\u017b"); - sb.append("\224"); - sb.append("\u0162"); - sb.append("\225"); - sb.append("\u0190"); - sb.append("\226"); - sb.append("\u018f"); - sb.append("\227"); - sb.append("\u019e"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufd6d"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\240"); - sb.append("\u0194"); - sb.append("\241"); - sb.append("\u018e"); - sb.append("\244"); - sb.append("\u0347"); - sb.append("\247"); - sb.append("\021"); sb.append("\250"); - sb.append("\u015c"); - sb.append("\253"); - sb.append("\147"); + sb.append("\021"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); sb.append("\231"); - sb.append("\ufec5"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufec1"); - sb.append("\231"); - sb.append("\ufec1"); + sb.append("\u0333"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\202"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3563,7 +3306,7 @@ protected EncodedActionTable8() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3571,7 +3314,7 @@ protected EncodedActionTable8() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\051"); + sb.append("\u0332"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -3604,160 +3347,100 @@ protected EncodedActionTable8() { sb.append("\116"); sb.append("\126"); sb.append("\131"); + sb.append("\127"); + sb.append("\ufcf9"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufcf9"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\245"); + sb.append("\u0331"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufebf"); - sb.append("\231"); - sb.append("\ufebf"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u0335"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufcde"); - sb.append("\073"); - sb.append("\ufcde"); - sb.append("\112"); - sb.append("\ufcde"); + sb.append("\012"); sb.append("\127"); - sb.append("\ufcde"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufcde"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufcde"); - sb.append("\231"); - sb.append("\ufcde"); + sb.append("\ufcf1"); + sb.append("\134"); + sb.append("\u0336"); + sb.append("\216"); + sb.append("\ufcf1"); sb.append("\232"); - sb.append("\ufcde"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufcf1"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3773,7 +3456,7 @@ protected EncodedActionTable8() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3816,144 +3499,312 @@ protected EncodedActionTable8() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe5c"); + sb.append("\073"); + sb.append("\ufe5c"); + sb.append("\112"); + sb.append("\ufe5c"); + sb.append("\127"); + sb.append("\ufe5c"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\ufe5c"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\ufe5c"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\ufe5c"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufe5c"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\231"); - sb.append("\u034c"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); + sb.append("\216"); + sb.append("\ufe5c"); + sb.append("\232"); + sb.append("\ufe5c"); + sb.append("\233"); + sb.append("\ufe5c"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\106"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\127"); + sb.append("\ufcf5"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); sb.append("\u01bf"); - sb.append("\251"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufcf5"); + sb.append("\232"); + sb.append("\ufcf5"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); + sb.append("\126"); + sb.append("\031"); + sb.append("\ufd1d"); + sb.append("\033"); + sb.append("\ufd1d"); + sb.append("\073"); + sb.append("\ufd1d"); sb.append("\111"); - sb.append("\u034d"); + sb.append("\ufd1d"); + sb.append("\112"); + sb.append("\ufd1d"); + sb.append("\127"); + sb.append("\ufd1d"); + sb.append("\130"); + sb.append("\ufd1d"); + sb.append("\131"); + sb.append("\ufd1d"); + sb.append("\132"); + sb.append("\ufd1d"); + sb.append("\150"); + sb.append("\ufd1d"); + sb.append("\151"); + sb.append("\ufd1d"); + sb.append("\152"); + sb.append("\ufd1d"); + sb.append("\153"); + sb.append("\ufd1d"); + sb.append("\154"); + sb.append("\ufd1d"); + sb.append("\155"); + sb.append("\ufd1d"); + sb.append("\156"); + sb.append("\ufd1d"); + sb.append("\157"); + sb.append("\ufd1d"); + sb.append("\160"); + sb.append("\ufd1d"); + sb.append("\161"); + sb.append("\ufd1d"); + sb.append("\162"); + sb.append("\ufd1d"); + sb.append("\163"); + sb.append("\ufd1d"); + sb.append("\164"); + sb.append("\ufd1d"); + sb.append("\165"); + sb.append("\ufd1d"); + sb.append("\166"); + sb.append("\ufd1d"); + sb.append("\167"); + sb.append("\ufd1d"); + sb.append("\170"); + sb.append("\ufd1d"); + sb.append("\171"); + sb.append("\ufd1d"); + sb.append("\172"); + sb.append("\ufd1d"); + sb.append("\173"); + sb.append("\ufd1d"); + sb.append("\174"); + sb.append("\ufd1d"); + sb.append("\175"); + sb.append("\ufd1d"); + sb.append("\176"); + sb.append("\ufd1d"); + sb.append("\177"); + sb.append("\ufd1d"); + sb.append("\202"); + sb.append("\ufd1d"); + sb.append("\215"); + sb.append("\ufd1d"); + sb.append("\216"); + sb.append("\ufd1d"); + sb.append("\231"); + sb.append("\ufd1d"); + sb.append("\232"); + sb.append("\ufd1d"); + sb.append("\233"); + sb.append("\ufd1d"); + sb.append("\243"); + sb.append("\ufd1d"); + sb.append("\246"); + sb.append("\ufd1d"); + sb.append("\252"); + sb.append("\ufd1d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\176"); - sb.append("\003"); - sb.append("\u0353"); + sb.append("\204"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -3966,12 +3817,10 @@ protected EncodedActionTable8() { sb.append("\106"); sb.append("\036"); sb.append("\125"); - sb.append("\040"); - sb.append("\u0351"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -3979,7 +3828,7 @@ protected EncodedActionTable8() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\051"); + sb.append("\u0332"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -3996,8 +3845,6 @@ protected EncodedActionTable8() { sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\112"); - sb.append("\ufe0a"); sb.append("\115"); sb.append("\136"); sb.append("\116"); @@ -4014,200 +3861,120 @@ protected EncodedActionTable8() { sb.append("\116"); sb.append("\126"); sb.append("\131"); + sb.append("\127"); + sb.append("\ufcf9"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); sb.append("\216"); + sb.append("\ufcf9"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufcf9"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\245"); + sb.append("\u0331"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\104"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\073"); - sb.append("\ufd57"); - sb.append("\112"); - sb.append("\ufd57"); - sb.append("\127"); - sb.append("\ufd57"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\073"); - sb.append("\ufd6e"); + sb.append("\010"); sb.append("\127"); - sb.append("\u035e"); + sb.append("\ufcfb"); + sb.append("\216"); + sb.append("\ufcfb"); + sb.append("\232"); + sb.append("\ufcfb"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\112"); - sb.append("\u035d"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\073"); - sb.append("\ufd6e"); - sb.append("\127"); - sb.append("\u0359"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\ufd6e"); - sb.append("\127"); - sb.append("\u0356"); + sb.append("\231"); + sb.append("\ufde3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\010"); - sb.append("\073"); - sb.append("\ufd56"); - sb.append("\112"); - sb.append("\ufd56"); - sb.append("\127"); - sb.append("\ufd56"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\073"); - sb.append("\ufe04"); sb.append("\127"); - sb.append("\ufe04"); + sb.append("\ufd4d"); + sb.append("\216"); + sb.append("\ufd4d"); + sb.append("\232"); + sb.append("\ufd4d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\ufe08"); + sb.append("\010"); sb.append("\127"); - sb.append("\ufe08"); + sb.append("\ufcf3"); + sb.append("\216"); + sb.append("\ufcf3"); + sb.append("\232"); + sb.append("\ufcf3"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\176"); - sb.append("\003"); - sb.append("\u0353"); + sb.append("\174"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -4220,12 +3987,10 @@ protected EncodedActionTable8() { sb.append("\106"); sb.append("\036"); sb.append("\125"); - sb.append("\040"); - sb.append("\u0351"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -4233,7 +3998,7 @@ protected EncodedActionTable8() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\051"); + sb.append("\u0342"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -4250,8 +4015,6 @@ protected EncodedActionTable8() { sb.append("\117"); sb.append("\105"); sb.append("\141"); - sb.append("\112"); - sb.append("\ufd6d"); sb.append("\115"); sb.append("\136"); sb.append("\116"); @@ -4270,98 +4033,182 @@ protected EncodedActionTable8() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\252"); + sb.append("\u022b"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\106"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\127"); + sb.append("\ufcf7"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\112"); - sb.append("\ufe09"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\ufe07"); - sb.append("\127"); - sb.append("\ufe07"); + sb.append("\ufcf7"); + sb.append("\232"); + sb.append("\ufcf7"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\073"); - sb.append("\ufd6d"); + sb.append("\034"); + sb.append("\010"); + sb.append("\244"); + sb.append("\012"); + sb.append("\075"); + sb.append("\016"); + sb.append("\u033c"); + sb.append("\075"); + sb.append("\166"); + sb.append("\121"); + sb.append("\240"); + sb.append("\215"); + sb.append("\u01ef"); + sb.append("\217"); + sb.append("\u01f3"); + sb.append("\223"); + sb.append("\341"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\254"); + sb.append("\241"); + sb.append("\255"); + sb.append("\237"); + sb.append("\256"); + sb.append("\245"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\004"); - sb.append("\073"); - sb.append("\u035b"); + sb.append("\231"); + sb.append("\u0343"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\172"); - sb.append("\003"); - sb.append("\u0353"); + sb.append("\202"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -4377,7 +4224,7 @@ protected EncodedActionTable8() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -4385,7 +4232,7 @@ protected EncodedActionTable8() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\051"); + sb.append("\u0332"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -4418,115 +4265,269 @@ protected EncodedActionTable8() { sb.append("\116"); sb.append("\126"); sb.append("\131"); + sb.append("\127"); + sb.append("\ufcf9"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufcf9"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\245"); + sb.append("\u0331"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\ufe05"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u0345"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); sb.append("\127"); - sb.append("\ufe05"); + sb.append("\ufcf2"); + sb.append("\134"); + sb.append("\u0336"); + sb.append("\216"); + sb.append("\ufcf2"); + sb.append("\232"); + sb.append("\ufcf2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\010"); + sb.append("\127"); + sb.append("\ufcf4"); + sb.append("\216"); + sb.append("\ufcf4"); + sb.append("\232"); + sb.append("\ufcf4"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\134"); sb.append("\031"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\033"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); + sb.append("\071"); + sb.append("\ufcc6"); + sb.append("\072"); + sb.append("\ufcc6"); sb.append("\073"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); + sb.append("\111"); + sb.append("\ufcc6"); sb.append("\112"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); + sb.append("\113"); + sb.append("\ufcc6"); sb.append("\127"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\130"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\131"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\132"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\150"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\151"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\152"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\153"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\154"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\155"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\156"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\157"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\160"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\161"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\162"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\163"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\164"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); sb.append("\165"); - sb.append("\ufe0b"); + sb.append("\ufdcc"); + sb.append("\166"); + sb.append("\ufdcc"); + sb.append("\167"); + sb.append("\ufdcc"); + sb.append("\170"); + sb.append("\ufdcc"); + sb.append("\171"); + sb.append("\ufdcc"); + sb.append("\172"); + sb.append("\ufdcc"); + sb.append("\173"); + sb.append("\ufdcc"); + sb.append("\174"); + sb.append("\ufdcc"); + sb.append("\175"); + sb.append("\ufdcc"); + sb.append("\176"); + sb.append("\ufdcc"); + sb.append("\177"); + sb.append("\ufdcc"); + sb.append("\202"); + sb.append("\ufdcc"); + sb.append("\215"); + sb.append("\ufcc6"); + sb.append("\216"); + sb.append("\ufdcc"); + sb.append("\231"); + sb.append("\ufcc6"); + sb.append("\232"); + sb.append("\ufdcc"); + sb.append("\233"); + sb.append("\ufdcc"); + sb.append("\243"); + sb.append("\ufdcc"); + sb.append("\246"); + sb.append("\ufdcc"); + sb.append("\252"); + sb.append("\ufdcc"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u0225"); + sb.append("\004"); + sb.append("\u0222"); + sb.append("\005"); + sb.append("\u01ae"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u0226"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\u019a"); + sb.append("\020"); + sb.append("\u0197"); + sb.append("\021"); + sb.append("\u0172"); + sb.append("\022"); + sb.append("\u0178"); + sb.append("\023"); + sb.append("\u016c"); + sb.append("\024"); + sb.append("\u018d"); + sb.append("\025"); + sb.append("\u018a"); + sb.append("\026"); + sb.append("\u0174"); + sb.append("\027"); + sb.append("\u01af"); + sb.append("\030"); + sb.append("\u0193"); + sb.append("\031"); + sb.append("\u0177"); + sb.append("\032"); + sb.append("\u0214"); + sb.append("\033"); + sb.append("\u016e"); + sb.append("\034"); + sb.append("\u019d"); + sb.append("\035"); + sb.append("\u0189"); + sb.append("\036"); + sb.append("\u0219"); + sb.append("\037"); + sb.append("\u015f"); + sb.append("\040"); + sb.append("\u017c"); + sb.append("\041"); + sb.append("\u0179"); + sb.append("\042"); + sb.append("\u0198"); + sb.append("\043"); + sb.append("\u0184"); + sb.append("\044"); + sb.append("\u0227"); + sb.append("\045"); + sb.append("\u0204"); + sb.append("\046"); + sb.append("\u019f"); + sb.append("\047"); + sb.append("\u01a1"); + sb.append("\050"); + sb.append("\u0161"); + sb.append("\052"); + sb.append("\u016f"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java index 873b162e3ecd..f9d27d9f4793 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.php.editor.parser; /** @@ -28,52 +29,184 @@ public String getTableData() { } protected EncodedActionTable9() { sb = new StringBuilder(); - sb.append("\166"); - sb.append("\ufe0b"); - sb.append("\167"); - sb.append("\ufe0b"); - sb.append("\170"); - sb.append("\ufe0b"); - sb.append("\171"); - sb.append("\ufe0b"); - sb.append("\172"); - sb.append("\ufe0b"); + sb.append("\053"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\u0206"); + sb.append("\055"); + sb.append("\u017b"); + sb.append("\056"); + sb.append("\u0168"); + sb.append("\057"); + sb.append("\u0160"); + sb.append("\060"); + sb.append("\u01ac"); + sb.append("\061"); + sb.append("\u0186"); + sb.append("\062"); + sb.append("\u0224"); + sb.append("\063"); + sb.append("\u0200"); + sb.append("\065"); + sb.append("\u0207"); + sb.append("\066"); + sb.append("\u01a3"); + sb.append("\067"); + sb.append("\u0167"); + sb.append("\070"); + sb.append("\u018b"); + sb.append("\074"); + sb.append("\u020e"); + sb.append("\075"); + sb.append("\u0221"); + sb.append("\076"); + sb.append("\u0165"); + sb.append("\077"); + sb.append("\u0217"); + sb.append("\100"); + sb.append("\u0201"); + sb.append("\101"); + sb.append("\u0223"); + sb.append("\102"); + sb.append("\u0208"); + sb.append("\103"); + sb.append("\u021c"); + sb.append("\104"); + sb.append("\u0216"); + sb.append("\105"); + sb.append("\141"); + sb.append("\114"); + sb.append("\u0187"); + sb.append("\115"); + sb.append("\u021b"); + sb.append("\116"); + sb.append("\u020b"); + sb.append("\121"); + sb.append("\u0220"); + sb.append("\122"); + sb.append("\u0202"); + sb.append("\123"); + sb.append("\u0210"); + sb.append("\124"); + sb.append("\u0218"); + sb.append("\125"); + sb.append("\u0215"); + sb.append("\126"); + sb.append("\u021a"); + sb.append("\130"); + sb.append("\u01a6"); + sb.append("\131"); + sb.append("\u01a7"); + sb.append("\132"); + sb.append("\u01a2"); + sb.append("\133"); + sb.append("\u0203"); + sb.append("\157"); + sb.append("\u020c"); sb.append("\173"); - sb.append("\ufe0b"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufe0b"); - sb.append("\175"); - sb.append("\ufe0b"); sb.append("\176"); - sb.append("\ufe0b"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufe0b"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe0b"); + sb.append("\114"); + sb.append("\217"); + sb.append("\u0213"); + sb.append("\220"); + sb.append("\u0181"); + sb.append("\221"); + sb.append("\u0182"); + sb.append("\222"); + sb.append("\u0195"); + sb.append("\223"); + sb.append("\u0205"); + sb.append("\224"); + sb.append("\u017d"); + sb.append("\225"); + sb.append("\u0164"); + sb.append("\226"); + sb.append("\u0192"); + sb.append("\227"); + sb.append("\u0191"); + sb.append("\230"); + sb.append("\u01a0"); sb.append("\231"); - sb.append("\ufe0b"); + sb.append("\u01b5"); sb.append("\232"); - sb.append("\ufe0b"); + sb.append("\ufd6b"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\241"); + sb.append("\u0196"); sb.append("\242"); - sb.append("\ufe0b"); + sb.append("\u0190"); sb.append("\245"); - sb.append("\ufe0b"); + sb.append("\u034b"); + sb.append("\250"); + sb.append("\021"); sb.append("\251"); - sb.append("\ufe0b"); + sb.append("\u015e"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\174"); - sb.append("\003"); - sb.append("\u0353"); sb.append("\004"); - sb.append("\201"); + sb.append("\232"); + sb.append("\ufec5"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufec1"); + sb.append("\232"); + sb.append("\ufec1"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -89,15 +222,13 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); sb.append("\210"); sb.append("\063"); sb.append("\010"); - sb.append("\073"); - sb.append("\ufd6d"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -134,78 +265,160 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\073"); - sb.append("\u0360"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufebf"); + sb.append("\232"); + sb.append("\ufebf"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufcdc"); + sb.append("\073"); + sb.append("\ufcdc"); + sb.append("\112"); + sb.append("\ufcdc"); + sb.append("\127"); + sb.append("\ufcdc"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufcdc"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\003"); - sb.append("\u0353"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufcdc"); + sb.append("\232"); + sb.append("\ufcdc"); + sb.append("\233"); + sb.append("\ufcdc"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -221,7 +434,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -264,86 +477,146 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\112"); - sb.append("\ufe06"); - sb.append("\127"); - sb.append("\ufe06"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\u0350"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); - sb.append("\073"); - sb.append("\ufe03"); - sb.append("\127"); - sb.append("\ufe03"); + sb.append("\004"); + sb.append("\111"); + sb.append("\u0351"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\176"); + sb.append("\003"); + sb.append("\u0357"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -356,10 +629,12 @@ protected EncodedActionTable9() { sb.append("\106"); sb.append("\036"); sb.append("\125"); + sb.append("\040"); + sb.append("\u0355"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -384,6 +659,8 @@ protected EncodedActionTable9() { sb.append("\117"); sb.append("\105"); sb.append("\141"); + sb.append("\112"); + sb.append("\ufe09"); sb.append("\115"); sb.append("\136"); sb.append("\116"); @@ -402,618 +679,200 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\100"); + sb.append("\106"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); + sb.append("\073"); + sb.append("\ufd55"); + sb.append("\112"); + sb.append("\ufd55"); + sb.append("\127"); + sb.append("\ufd55"); sb.append("\130"); - sb.append("\u01c9"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\u01da"); + sb.append("\u01dd"); sb.append("\132"); - sb.append("\u01c1"); + sb.append("\u01c3"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\231"); - sb.append("\u0365"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufce0"); - sb.append("\033"); - sb.append("\ufce0"); + sb.append("\006"); sb.append("\073"); - sb.append("\ufce0"); - sb.append("\112"); - sb.append("\ufce0"); + sb.append("\ufd6c"); sb.append("\127"); - sb.append("\ufce0"); - sb.append("\130"); - sb.append("\ufce0"); - sb.append("\131"); - sb.append("\ufce0"); - sb.append("\132"); - sb.append("\ufce0"); - sb.append("\150"); - sb.append("\ufce0"); - sb.append("\151"); - sb.append("\ufce0"); - sb.append("\152"); - sb.append("\ufce0"); - sb.append("\153"); - sb.append("\ufce0"); - sb.append("\154"); - sb.append("\ufce0"); - sb.append("\155"); - sb.append("\ufce0"); - sb.append("\156"); - sb.append("\ufce0"); - sb.append("\157"); - sb.append("\ufce0"); - sb.append("\160"); - sb.append("\ufce0"); - sb.append("\161"); - sb.append("\ufce0"); - sb.append("\162"); - sb.append("\ufce0"); - sb.append("\163"); - sb.append("\ufce0"); - sb.append("\164"); - sb.append("\ufce0"); - sb.append("\165"); - sb.append("\ufce0"); - sb.append("\166"); - sb.append("\ufce0"); - sb.append("\167"); - sb.append("\ufce0"); - sb.append("\170"); - sb.append("\ufce0"); - sb.append("\171"); - sb.append("\ufce0"); - sb.append("\172"); - sb.append("\ufce0"); - sb.append("\173"); - sb.append("\ufce0"); - sb.append("\174"); - sb.append("\ufce0"); - sb.append("\175"); - sb.append("\ufce0"); - sb.append("\176"); - sb.append("\ufce0"); - sb.append("\201"); - sb.append("\ufce0"); - sb.append("\215"); - sb.append("\ufce0"); - sb.append("\231"); - sb.append("\ufce0"); - sb.append("\232"); - sb.append("\ufce0"); - sb.append("\242"); - sb.append("\ufce0"); - sb.append("\245"); - sb.append("\ufce0"); - sb.append("\251"); - sb.append("\ufce0"); + sb.append("\u0362"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufcdf"); - sb.append("\073"); - sb.append("\ufcdf"); + sb.append("\004"); sb.append("\112"); - sb.append("\ufcdf"); - sb.append("\127"); - sb.append("\ufcdf"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufcdf"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufcdf"); - sb.append("\231"); - sb.append("\ufcdf"); - sb.append("\232"); - sb.append("\ufcdf"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u0361"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe5d"); - sb.append("\033"); - sb.append("\ufe5d"); + sb.append("\006"); sb.append("\073"); - sb.append("\ufe5d"); - sb.append("\112"); - sb.append("\ufe5d"); + sb.append("\ufd6c"); sb.append("\127"); - sb.append("\ufe5d"); - sb.append("\130"); - sb.append("\ufe5d"); - sb.append("\131"); - sb.append("\ufe5d"); - sb.append("\132"); - sb.append("\ufe5d"); - sb.append("\150"); - sb.append("\ufe5d"); - sb.append("\151"); - sb.append("\ufe5d"); - sb.append("\152"); - sb.append("\ufe5d"); - sb.append("\153"); - sb.append("\ufe5d"); - sb.append("\154"); - sb.append("\ufe5d"); - sb.append("\155"); - sb.append("\ufe5d"); - sb.append("\156"); - sb.append("\ufe5d"); - sb.append("\157"); - sb.append("\ufe5d"); - sb.append("\160"); - sb.append("\ufe5d"); - sb.append("\161"); - sb.append("\ufe5d"); - sb.append("\162"); - sb.append("\ufe5d"); - sb.append("\163"); - sb.append("\ufe5d"); - sb.append("\164"); - sb.append("\ufe5d"); - sb.append("\165"); - sb.append("\ufe5d"); - sb.append("\166"); - sb.append("\ufe5d"); - sb.append("\167"); - sb.append("\ufe5d"); - sb.append("\170"); - sb.append("\ufe5d"); - sb.append("\171"); - sb.append("\ufe5d"); - sb.append("\172"); - sb.append("\ufe5d"); - sb.append("\173"); - sb.append("\ufe5d"); - sb.append("\174"); - sb.append("\ufe5d"); - sb.append("\175"); - sb.append("\ufe5d"); - sb.append("\176"); - sb.append("\ufe5d"); - sb.append("\201"); - sb.append("\ufe5d"); - sb.append("\215"); - sb.append("\ufe5d"); - sb.append("\231"); - sb.append("\ufe5d"); - sb.append("\232"); - sb.append("\ufe5d"); - sb.append("\242"); - sb.append("\ufe5d"); - sb.append("\245"); - sb.append("\ufe5d"); - sb.append("\251"); - sb.append("\ufe5d"); + sb.append("\u035d"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\120"); - sb.append("\031"); - sb.append("\ufdce"); - sb.append("\033"); - sb.append("\ufdce"); - sb.append("\073"); - sb.append("\ufdce"); + sb.append("\006"); sb.append("\112"); - sb.append("\ufdce"); + sb.append("\ufd6c"); sb.append("\127"); - sb.append("\ufdce"); - sb.append("\130"); - sb.append("\ufdce"); - sb.append("\131"); - sb.append("\ufdce"); - sb.append("\132"); - sb.append("\ufdce"); - sb.append("\150"); - sb.append("\ufdce"); - sb.append("\151"); - sb.append("\ufdce"); - sb.append("\152"); - sb.append("\ufdce"); - sb.append("\153"); - sb.append("\ufdce"); - sb.append("\154"); - sb.append("\ufdce"); - sb.append("\155"); - sb.append("\ufdce"); - sb.append("\156"); - sb.append("\ufdce"); - sb.append("\157"); - sb.append("\ufdce"); - sb.append("\160"); - sb.append("\ufdce"); - sb.append("\161"); - sb.append("\ufdce"); - sb.append("\162"); - sb.append("\ufdce"); - sb.append("\163"); - sb.append("\ufdce"); - sb.append("\164"); - sb.append("\ufdce"); - sb.append("\165"); - sb.append("\ufdce"); - sb.append("\166"); - sb.append("\ufdce"); - sb.append("\167"); - sb.append("\ufdce"); - sb.append("\170"); - sb.append("\ufdce"); - sb.append("\171"); - sb.append("\ufdce"); - sb.append("\172"); - sb.append("\ufdce"); - sb.append("\173"); - sb.append("\ufdce"); - sb.append("\174"); - sb.append("\ufdce"); - sb.append("\175"); - sb.append("\ufdce"); - sb.append("\176"); - sb.append("\ufdce"); - sb.append("\201"); - sb.append("\ufdce"); - sb.append("\215"); - sb.append("\ufdce"); - sb.append("\230"); - sb.append("\u01fb"); - sb.append("\231"); - sb.append("\ufdce"); - sb.append("\232"); - sb.append("\ufdce"); - sb.append("\242"); - sb.append("\ufdce"); - sb.append("\245"); - sb.append("\ufdce"); - sb.append("\251"); - sb.append("\ufdce"); + sb.append("\u035a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\ufe5e"); - sb.append("\033"); - sb.append("\ufe5e"); + sb.append("\010"); sb.append("\073"); - sb.append("\ufe5e"); + sb.append("\ufd54"); sb.append("\112"); - sb.append("\ufe5e"); + sb.append("\ufd54"); sb.append("\127"); - sb.append("\ufe5e"); - sb.append("\130"); - sb.append("\ufe5e"); - sb.append("\131"); - sb.append("\ufe5e"); - sb.append("\132"); - sb.append("\ufe5e"); - sb.append("\150"); - sb.append("\ufe5e"); - sb.append("\151"); - sb.append("\ufe5e"); - sb.append("\152"); - sb.append("\ufe5e"); - sb.append("\153"); - sb.append("\ufe5e"); - sb.append("\154"); - sb.append("\ufe5e"); - sb.append("\155"); - sb.append("\ufe5e"); - sb.append("\156"); - sb.append("\ufe5e"); - sb.append("\157"); - sb.append("\ufe5e"); - sb.append("\160"); - sb.append("\ufe5e"); - sb.append("\161"); - sb.append("\ufe5e"); - sb.append("\162"); - sb.append("\ufe5e"); - sb.append("\163"); - sb.append("\ufe5e"); - sb.append("\164"); - sb.append("\ufe5e"); - sb.append("\165"); - sb.append("\ufe5e"); - sb.append("\166"); - sb.append("\ufe5e"); - sb.append("\167"); - sb.append("\ufe5e"); - sb.append("\170"); - sb.append("\ufe5e"); - sb.append("\171"); - sb.append("\ufe5e"); - sb.append("\172"); - sb.append("\ufe5e"); - sb.append("\173"); - sb.append("\ufe5e"); - sb.append("\174"); - sb.append("\ufe5e"); - sb.append("\175"); - sb.append("\ufe5e"); - sb.append("\176"); - sb.append("\ufe5e"); - sb.append("\201"); - sb.append("\ufe5e"); - sb.append("\215"); - sb.append("\ufe5e"); - sb.append("\231"); - sb.append("\ufe5e"); - sb.append("\232"); - sb.append("\ufe5e"); - sb.append("\242"); - sb.append("\ufe5e"); - sb.append("\245"); - sb.append("\ufe5e"); - sb.append("\251"); - sb.append("\ufe5e"); + sb.append("\ufd54"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufce1"); + sb.append("\006"); sb.append("\073"); - sb.append("\ufce1"); + sb.append("\ufe03"); + sb.append("\127"); + sb.append("\ufe03"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); sb.append("\112"); - sb.append("\ufce1"); + sb.append("\ufe07"); sb.append("\127"); - sb.append("\ufce1"); - sb.append("\130"); - sb.append("\u01c9"); - sb.append("\131"); - sb.append("\u01da"); - sb.append("\132"); - sb.append("\u01c1"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufce1"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufce1"); - sb.append("\231"); - sb.append("\ufce1"); - sb.append("\232"); - sb.append("\ufce1"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\ufe07"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\176"); + sb.append("\003"); + sb.append("\u0357"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1026,10 +885,12 @@ protected EncodedActionTable9() { sb.append("\106"); sb.append("\036"); sb.append("\125"); + sb.append("\040"); + sb.append("\u0355"); sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1054,6 +915,8 @@ protected EncodedActionTable9() { sb.append("\117"); sb.append("\105"); sb.append("\141"); + sb.append("\112"); + sb.append("\ufd6b"); sb.append("\115"); sb.append("\136"); sb.append("\116"); @@ -1072,78 +935,98 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\004"); + sb.append("\112"); + sb.append("\ufe08"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\006"); + sb.append("\112"); + sb.append("\ufe06"); sb.append("\127"); - sb.append("\ufebe"); - sb.append("\231"); - sb.append("\ufebe"); + sb.append("\ufe06"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\202"); sb.append("\004"); - sb.append("\201"); + sb.append("\073"); + sb.append("\ufd6b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\073"); + sb.append("\u035f"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\172"); + sb.append("\003"); + sb.append("\u0357"); + sb.append("\004"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1159,7 +1042,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1167,7 +1050,7 @@ protected EncodedActionTable9() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\u032e"); + sb.append("\051"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -1200,94 +1083,164 @@ protected EncodedActionTable9() { sb.append("\116"); sb.append("\126"); sb.append("\131"); - sb.append("\127"); - sb.append("\ufcfb"); sb.append("\133"); sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufcfb"); - sb.append("\233"); - sb.append("\152"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\244"); - sb.append("\u032d"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\231"); - sb.append("\u036f"); + sb.append("\006"); + sb.append("\112"); + sb.append("\ufe04"); + sb.append("\127"); + sb.append("\ufe04"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\004"); - sb.append("\134"); - sb.append("\u0332"); + sb.append("\120"); + sb.append("\031"); + sb.append("\ufe0a"); + sb.append("\033"); + sb.append("\ufe0a"); + sb.append("\073"); + sb.append("\ufe0a"); + sb.append("\112"); + sb.append("\ufe0a"); + sb.append("\127"); + sb.append("\ufe0a"); + sb.append("\130"); + sb.append("\ufe0a"); + sb.append("\131"); + sb.append("\ufe0a"); + sb.append("\132"); + sb.append("\ufe0a"); + sb.append("\150"); + sb.append("\ufe0a"); + sb.append("\151"); + sb.append("\ufe0a"); + sb.append("\152"); + sb.append("\ufe0a"); + sb.append("\153"); + sb.append("\ufe0a"); + sb.append("\154"); + sb.append("\ufe0a"); + sb.append("\155"); + sb.append("\ufe0a"); + sb.append("\156"); + sb.append("\ufe0a"); + sb.append("\157"); + sb.append("\ufe0a"); + sb.append("\160"); + sb.append("\ufe0a"); + sb.append("\161"); + sb.append("\ufe0a"); + sb.append("\162"); + sb.append("\ufe0a"); + sb.append("\163"); + sb.append("\ufe0a"); + sb.append("\164"); + sb.append("\ufe0a"); + sb.append("\165"); + sb.append("\ufe0a"); + sb.append("\166"); + sb.append("\ufe0a"); + sb.append("\167"); + sb.append("\ufe0a"); + sb.append("\170"); + sb.append("\ufe0a"); + sb.append("\171"); + sb.append("\ufe0a"); + sb.append("\172"); + sb.append("\ufe0a"); + sb.append("\173"); + sb.append("\ufe0a"); + sb.append("\174"); + sb.append("\ufe0a"); + sb.append("\175"); + sb.append("\ufe0a"); + sb.append("\176"); + sb.append("\ufe0a"); + sb.append("\177"); + sb.append("\ufe0a"); + sb.append("\202"); + sb.append("\ufe0a"); + sb.append("\216"); + sb.append("\ufe0a"); + sb.append("\232"); + sb.append("\ufe0a"); + sb.append("\233"); + sb.append("\ufe0a"); + sb.append("\243"); + sb.append("\ufe0a"); + sb.append("\246"); + sb.append("\ufe0a"); + sb.append("\252"); + sb.append("\ufe0a"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\174"); + sb.append("\003"); + sb.append("\u0357"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1303,13 +1256,15 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); sb.append("\210"); sb.append("\063"); sb.append("\010"); + sb.append("\073"); + sb.append("\ufd6b"); sb.append("\074"); sb.append("\051"); sb.append("\075"); @@ -1346,70 +1301,78 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\200"); sb.append("\004"); - sb.append("\201"); + sb.append("\073"); + sb.append("\u0364"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\172"); + sb.append("\003"); + sb.append("\u0357"); + sb.append("\004"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1425,11 +1388,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); - sb.append("\050"); - sb.append("\173"); - sb.append("\051"); - sb.append("\214"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1472,74 +1431,86 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\156"); - sb.append("\u0224"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\047"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\251"); - sb.append("\u0227"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\006"); + sb.append("\112"); + sb.append("\ufe05"); + sb.append("\127"); + sb.append("\ufe05"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\073"); + sb.append("\ufe02"); + sb.append("\127"); + sb.append("\ufe02"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -1555,7 +1526,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -1598,459 +1569,655 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\007"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\232"); + sb.append("\u0369"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\ufcde"); + sb.append("\033"); + sb.append("\ufcde"); + sb.append("\073"); + sb.append("\ufcde"); + sb.append("\112"); + sb.append("\ufcde"); + sb.append("\127"); + sb.append("\ufcde"); + sb.append("\130"); + sb.append("\ufcde"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufcde"); + sb.append("\132"); + sb.append("\ufcde"); + sb.append("\150"); + sb.append("\ufcde"); + sb.append("\151"); + sb.append("\ufcde"); + sb.append("\152"); + sb.append("\ufcde"); + sb.append("\153"); + sb.append("\ufcde"); + sb.append("\154"); + sb.append("\ufcde"); + sb.append("\155"); + sb.append("\ufcde"); + sb.append("\156"); + sb.append("\ufcde"); + sb.append("\157"); + sb.append("\ufcde"); + sb.append("\160"); + sb.append("\ufcde"); + sb.append("\161"); + sb.append("\ufcde"); + sb.append("\162"); + sb.append("\ufcde"); + sb.append("\163"); + sb.append("\ufcde"); + sb.append("\164"); + sb.append("\ufcde"); + sb.append("\165"); + sb.append("\ufcde"); + sb.append("\166"); + sb.append("\ufcde"); + sb.append("\167"); + sb.append("\ufcde"); + sb.append("\170"); + sb.append("\ufcde"); + sb.append("\171"); + sb.append("\ufcde"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufcde"); sb.append("\173"); + sb.append("\ufcde"); + sb.append("\174"); + sb.append("\ufcde"); + sb.append("\175"); + sb.append("\ufcde"); sb.append("\176"); + sb.append("\ufcde"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufcde"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufcde"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufcde"); + sb.append("\232"); + sb.append("\ufcde"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufcde"); + sb.append("\243"); + sb.append("\ufcde"); + sb.append("\246"); + sb.append("\ufcde"); + sb.append("\252"); + sb.append("\ufcde"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\120"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufcdd"); + sb.append("\073"); + sb.append("\ufcdd"); + sb.append("\112"); + sb.append("\ufcdd"); + sb.append("\127"); + sb.append("\ufcdd"); + sb.append("\130"); + sb.append("\u01cb"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufcdd"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\104"); + sb.append("\u01ce"); sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); sb.append("\176"); + sb.append("\u01d0"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\u01c1"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); - sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\u01c5"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufcdd"); + sb.append("\232"); + sb.append("\ufcdd"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufcdd"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\120"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); + sb.append("\ufe5d"); + sb.append("\033"); + sb.append("\ufe5d"); + sb.append("\073"); + sb.append("\ufe5d"); + sb.append("\112"); + sb.append("\ufe5d"); + sb.append("\127"); + sb.append("\ufe5d"); + sb.append("\130"); + sb.append("\ufe5d"); sb.append("\131"); - sb.append("\133"); - sb.append("\020"); + sb.append("\ufe5d"); + sb.append("\132"); + sb.append("\ufe5d"); + sb.append("\150"); + sb.append("\ufe5d"); + sb.append("\151"); + sb.append("\ufe5d"); + sb.append("\152"); + sb.append("\ufe5d"); + sb.append("\153"); + sb.append("\ufe5d"); + sb.append("\154"); + sb.append("\ufe5d"); + sb.append("\155"); + sb.append("\ufe5d"); + sb.append("\156"); + sb.append("\ufe5d"); + sb.append("\157"); + sb.append("\ufe5d"); + sb.append("\160"); + sb.append("\ufe5d"); + sb.append("\161"); + sb.append("\ufe5d"); + sb.append("\162"); + sb.append("\ufe5d"); + sb.append("\163"); + sb.append("\ufe5d"); + sb.append("\164"); + sb.append("\ufe5d"); + sb.append("\165"); + sb.append("\ufe5d"); + sb.append("\166"); + sb.append("\ufe5d"); + sb.append("\167"); + sb.append("\ufe5d"); + sb.append("\170"); + sb.append("\ufe5d"); + sb.append("\171"); + sb.append("\ufe5d"); sb.append("\172"); - sb.append("\104"); + sb.append("\ufe5d"); sb.append("\173"); + sb.append("\ufe5d"); + sb.append("\174"); + sb.append("\ufe5d"); + sb.append("\175"); + sb.append("\ufe5d"); sb.append("\176"); + sb.append("\ufe5d"); sb.append("\177"); - sb.append("\130"); - sb.append("\200"); - sb.append("\067"); + sb.append("\ufe5d"); sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); + sb.append("\ufe5d"); sb.append("\216"); - sb.append("\207"); + sb.append("\ufe5d"); + sb.append("\232"); + sb.append("\ufe5d"); + sb.append("\233"); + sb.append("\ufe5d"); + sb.append("\243"); + sb.append("\ufe5d"); + sb.append("\246"); + sb.append("\ufe5d"); + sb.append("\252"); + sb.append("\ufe5d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\122"); + sb.append("\031"); + sb.append("\ufdcd"); + sb.append("\033"); + sb.append("\ufdcd"); + sb.append("\073"); + sb.append("\ufdcd"); + sb.append("\112"); + sb.append("\ufdcd"); + sb.append("\127"); + sb.append("\ufdcd"); + sb.append("\130"); + sb.append("\ufdcd"); + sb.append("\131"); + sb.append("\ufdcd"); + sb.append("\132"); + sb.append("\ufdcd"); + sb.append("\150"); + sb.append("\ufdcd"); sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); + sb.append("\ufdcd"); + sb.append("\152"); + sb.append("\ufdcd"); + sb.append("\153"); + sb.append("\ufdcd"); + sb.append("\154"); + sb.append("\ufdcd"); sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); + sb.append("\ufdcd"); + sb.append("\156"); + sb.append("\ufdcd"); + sb.append("\157"); + sb.append("\ufdcd"); + sb.append("\160"); + sb.append("\ufdcd"); + sb.append("\161"); + sb.append("\ufdcd"); + sb.append("\162"); + sb.append("\ufdcd"); + sb.append("\163"); + sb.append("\ufdcd"); + sb.append("\164"); + sb.append("\ufdcd"); + sb.append("\165"); + sb.append("\ufdcd"); + sb.append("\166"); + sb.append("\ufdcd"); + sb.append("\167"); + sb.append("\ufdcd"); + sb.append("\170"); + sb.append("\ufdcd"); + sb.append("\171"); + sb.append("\ufdcd"); + sb.append("\172"); + sb.append("\ufdcd"); + sb.append("\173"); + sb.append("\ufdcd"); + sb.append("\174"); + sb.append("\ufdcd"); + sb.append("\175"); + sb.append("\ufdcd"); + sb.append("\176"); + sb.append("\ufdcd"); + sb.append("\177"); + sb.append("\ufdcd"); + sb.append("\202"); + sb.append("\ufdcd"); sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); + sb.append("\ufdcd"); + sb.append("\231"); + sb.append("\u01ff"); + sb.append("\232"); + sb.append("\ufdcd"); sb.append("\233"); - sb.append("\152"); - sb.append("\234"); - sb.append("\015"); - sb.append("\235"); - sb.append("\073"); - sb.append("\236"); - sb.append("\060"); - sb.append("\247"); - sb.append("\021"); - sb.append("\253"); - sb.append("\147"); - sb.append("\254"); - sb.append("\064"); - sb.append("\255"); - sb.append("\055"); + sb.append("\ufdcd"); + sb.append("\243"); + sb.append("\ufdcd"); + sb.append("\246"); + sb.append("\ufdcd"); + sb.append("\252"); + sb.append("\ufdcd"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\120"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); + sb.append("\ufe5e"); + sb.append("\033"); + sb.append("\ufe5e"); + sb.append("\073"); + sb.append("\ufe5e"); + sb.append("\112"); + sb.append("\ufe5e"); + sb.append("\127"); + sb.append("\ufe5e"); + sb.append("\130"); + sb.append("\ufe5e"); + sb.append("\131"); + sb.append("\ufe5e"); + sb.append("\132"); + sb.append("\ufe5e"); + sb.append("\150"); + sb.append("\ufe5e"); + sb.append("\151"); + sb.append("\ufe5e"); + sb.append("\152"); + sb.append("\ufe5e"); + sb.append("\153"); + sb.append("\ufe5e"); + sb.append("\154"); + sb.append("\ufe5e"); + sb.append("\155"); + sb.append("\ufe5e"); + sb.append("\156"); + sb.append("\ufe5e"); + sb.append("\157"); + sb.append("\ufe5e"); + sb.append("\160"); + sb.append("\ufe5e"); + sb.append("\161"); + sb.append("\ufe5e"); + sb.append("\162"); + sb.append("\ufe5e"); + sb.append("\163"); + sb.append("\ufe5e"); + sb.append("\164"); + sb.append("\ufe5e"); + sb.append("\165"); + sb.append("\ufe5e"); + sb.append("\166"); + sb.append("\ufe5e"); + sb.append("\167"); + sb.append("\ufe5e"); + sb.append("\170"); + sb.append("\ufe5e"); + sb.append("\171"); + sb.append("\ufe5e"); + sb.append("\172"); + sb.append("\ufe5e"); + sb.append("\173"); + sb.append("\ufe5e"); + sb.append("\174"); + sb.append("\ufe5e"); + sb.append("\175"); + sb.append("\ufe5e"); + sb.append("\176"); + sb.append("\ufe5e"); + sb.append("\177"); + sb.append("\ufe5e"); + sb.append("\202"); + sb.append("\ufe5e"); + sb.append("\216"); + sb.append("\ufe5e"); + sb.append("\232"); + sb.append("\ufe5e"); + sb.append("\233"); + sb.append("\ufe5e"); + sb.append("\243"); + sb.append("\ufe5e"); + sb.append("\246"); + sb.append("\ufe5e"); + sb.append("\252"); + sb.append("\ufe5e"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\120"); + sb.append("\031"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufcdf"); + sb.append("\073"); + sb.append("\ufcdf"); + sb.append("\112"); + sb.append("\ufcdf"); + sb.append("\127"); + sb.append("\ufcdf"); + sb.append("\130"); + sb.append("\u01cb"); + sb.append("\131"); + sb.append("\u01dd"); + sb.append("\132"); + sb.append("\u01c3"); + sb.append("\150"); + sb.append("\u01c6"); + sb.append("\151"); + sb.append("\ufcdf"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); + sb.append("\154"); + sb.append("\u01d9"); + sb.append("\155"); + sb.append("\u01c4"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d6"); + sb.append("\160"); + sb.append("\u01dc"); + sb.append("\161"); + sb.append("\u01cf"); + sb.append("\162"); + sb.append("\u01bf"); + sb.append("\163"); + sb.append("\u01cc"); + sb.append("\164"); + sb.append("\u01da"); + sb.append("\165"); + sb.append("\u01d8"); + sb.append("\166"); + sb.append("\u01ca"); + sb.append("\167"); + sb.append("\u01c8"); + sb.append("\170"); + sb.append("\u01d7"); + sb.append("\171"); + sb.append("\u01d3"); + sb.append("\172"); + sb.append("\u01ce"); + sb.append("\173"); + sb.append("\u01de"); + sb.append("\174"); + sb.append("\u01c9"); + sb.append("\175"); + sb.append("\u01d2"); + sb.append("\176"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufcdf"); + sb.append("\232"); + sb.append("\ufcdf"); + sb.append("\233"); + sb.append("\ufcdf"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); sb.append("\051"); sb.append("\075"); sb.append("\166"); @@ -2086,70 +2253,78 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufebe"); + sb.append("\232"); + sb.append("\ufebe"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\202"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2165,7 +2340,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2173,7 +2348,7 @@ protected EncodedActionTable9() { sb.append("\063"); sb.append("\010"); sb.append("\074"); - sb.append("\051"); + sb.append("\u0332"); sb.append("\075"); sb.append("\166"); sb.append("\077"); @@ -2206,72 +2381,94 @@ protected EncodedActionTable9() { sb.append("\116"); sb.append("\126"); sb.append("\131"); + sb.append("\127"); + sb.append("\ufcf9"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); + sb.append("\232"); + sb.append("\ufcf9"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\245"); + sb.append("\u0331"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\004"); + sb.append("\232"); + sb.append("\u0373"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\134"); + sb.append("\u0336"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2287,7 +2484,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2330,70 +2527,70 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); + sb.append("\200"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2409,7 +2606,11 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); + sb.append("\050"); + sb.append("\173"); + sb.append("\051"); + sb.append("\214"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2452,70 +2653,74 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); + sb.append("\157"); + sb.append("\u0228"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\047"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); + sb.append("\252"); + sb.append("\u022b"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2531,7 +2736,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2574,70 +2779,70 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2653,7 +2858,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2696,70 +2901,70 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2775,7 +2980,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2818,70 +3023,70 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\170"); sb.append("\004"); - sb.append("\201"); + sb.append("\202"); sb.append("\006"); sb.append("\156"); sb.append("\007"); sb.append("\175"); sb.append("\010"); - sb.append("\u01af"); + sb.append("\u01b1"); sb.append("\011"); sb.append("\204"); sb.append("\012"); @@ -2897,7 +3102,7 @@ protected EncodedActionTable9() { sb.append("\044"); sb.append("\222"); sb.append("\045"); - sb.append("\u01b1"); + sb.append("\u01b3"); sb.append("\054"); sb.append("\026"); sb.append("\062"); @@ -2940,1593 +3145,1389 @@ protected EncodedActionTable9() { sb.append("\131"); sb.append("\133"); sb.append("\020"); - sb.append("\172"); - sb.append("\104"); sb.append("\173"); + sb.append("\104"); + sb.append("\174"); sb.append("\176"); - sb.append("\177"); - sb.append("\130"); sb.append("\200"); + sb.append("\130"); + sb.append("\201"); sb.append("\067"); - sb.append("\202"); - sb.append("\054"); sb.append("\203"); - sb.append("\120"); + sb.append("\054"); sb.append("\204"); - sb.append("\207"); + sb.append("\120"); sb.append("\205"); - sb.append("\154"); + sb.append("\207"); sb.append("\206"); - sb.append("\216"); + sb.append("\154"); sb.append("\207"); - sb.append("\151"); + sb.append("\216"); sb.append("\210"); - sb.append("\142"); + sb.append("\151"); sb.append("\211"); - sb.append("\155"); + sb.append("\142"); sb.append("\212"); - sb.append("\063"); + sb.append("\155"); sb.append("\213"); - sb.append("\074"); + sb.append("\063"); sb.append("\214"); + sb.append("\074"); + sb.append("\215"); sb.append("\114"); - sb.append("\216"); + sb.append("\217"); sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); + sb.append("\223"); + sb.append("\u01b2"); + sb.append("\231"); + sb.append("\u01b5"); sb.append("\234"); - sb.append("\015"); + sb.append("\152"); sb.append("\235"); - sb.append("\073"); + sb.append("\015"); sb.append("\236"); + sb.append("\073"); + sb.append("\237"); sb.append("\060"); - sb.append("\247"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\147"); sb.append("\254"); - sb.append("\064"); + sb.append("\147"); sb.append("\255"); + sb.append("\064"); + sb.append("\256"); sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe4b"); - sb.append("\073"); - sb.append("\ufe4b"); - sb.append("\112"); - sb.append("\ufe4b"); - sb.append("\127"); - sb.append("\ufe4b"); - sb.append("\130"); - sb.append("\ufe4b"); - sb.append("\131"); - sb.append("\ufe4b"); - sb.append("\132"); - sb.append("\ufe4b"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe4b"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe4b"); - sb.append("\231"); - sb.append("\ufe4b"); - sb.append("\232"); - sb.append("\ufe4b"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe54"); - sb.append("\073"); - sb.append("\ufe54"); - sb.append("\112"); - sb.append("\ufe54"); - sb.append("\127"); - sb.append("\ufe54"); - sb.append("\130"); - sb.append("\ufe54"); - sb.append("\131"); - sb.append("\ufe54"); - sb.append("\132"); - sb.append("\ufe54"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe54"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe54"); - sb.append("\231"); - sb.append("\ufe54"); - sb.append("\232"); - sb.append("\ufe54"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe52"); - sb.append("\073"); - sb.append("\ufe52"); - sb.append("\112"); - sb.append("\ufe52"); - sb.append("\127"); - sb.append("\ufe52"); - sb.append("\130"); - sb.append("\ufe52"); - sb.append("\131"); - sb.append("\ufe52"); - sb.append("\132"); - sb.append("\ufe52"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe52"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe52"); - sb.append("\231"); - sb.append("\ufe52"); - sb.append("\232"); - sb.append("\ufe52"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe50"); - sb.append("\073"); - sb.append("\ufe50"); - sb.append("\112"); - sb.append("\ufe50"); - sb.append("\127"); - sb.append("\ufe50"); - sb.append("\130"); - sb.append("\ufe50"); - sb.append("\131"); - sb.append("\ufe50"); - sb.append("\132"); - sb.append("\ufe50"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe50"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe50"); - sb.append("\231"); - sb.append("\ufe50"); - sb.append("\232"); - sb.append("\ufe50"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe4c"); - sb.append("\073"); - sb.append("\ufe4c"); - sb.append("\112"); - sb.append("\ufe4c"); - sb.append("\127"); - sb.append("\ufe4c"); - sb.append("\130"); - sb.append("\ufe4c"); - sb.append("\131"); - sb.append("\ufe4c"); - sb.append("\132"); - sb.append("\ufe4c"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe4c"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe4c"); - sb.append("\231"); - sb.append("\ufe4c"); - sb.append("\232"); - sb.append("\ufe4c"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe51"); - sb.append("\073"); - sb.append("\ufe51"); - sb.append("\112"); - sb.append("\ufe51"); - sb.append("\127"); - sb.append("\ufe51"); - sb.append("\130"); - sb.append("\ufe51"); - sb.append("\131"); - sb.append("\ufe51"); - sb.append("\132"); - sb.append("\ufe51"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe51"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); - sb.append("\173"); - sb.append("\u01c7"); - sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); - sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe51"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe51"); - sb.append("\232"); - sb.append("\ufe51"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe4d"); - sb.append("\073"); - sb.append("\ufe4d"); - sb.append("\112"); - sb.append("\ufe4d"); - sb.append("\127"); - sb.append("\ufe4d"); - sb.append("\130"); - sb.append("\ufe4d"); - sb.append("\131"); - sb.append("\ufe4d"); - sb.append("\132"); - sb.append("\ufe4d"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe4d"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe4d"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe4d"); - sb.append("\232"); - sb.append("\ufe4d"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe56"); - sb.append("\073"); - sb.append("\ufe56"); - sb.append("\112"); - sb.append("\ufe56"); - sb.append("\127"); - sb.append("\ufe56"); - sb.append("\130"); - sb.append("\ufe56"); - sb.append("\131"); - sb.append("\ufe56"); - sb.append("\132"); - sb.append("\ufe56"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe56"); + sb.append("\u01b5"); + sb.append("\234"); sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe56"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe56"); - sb.append("\232"); - sb.append("\ufe56"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe53"); - sb.append("\073"); - sb.append("\ufe53"); - sb.append("\112"); - sb.append("\ufe53"); - sb.append("\127"); - sb.append("\ufe53"); - sb.append("\130"); - sb.append("\ufe53"); - sb.append("\131"); - sb.append("\ufe53"); - sb.append("\132"); - sb.append("\ufe53"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe53"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe53"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe53"); - sb.append("\232"); - sb.append("\ufe53"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe4f"); - sb.append("\073"); - sb.append("\ufe4f"); - sb.append("\112"); - sb.append("\ufe4f"); - sb.append("\127"); - sb.append("\ufe4f"); - sb.append("\130"); - sb.append("\ufe4f"); - sb.append("\131"); - sb.append("\ufe4f"); - sb.append("\132"); - sb.append("\ufe4f"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe4f"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe4f"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe4f"); - sb.append("\232"); - sb.append("\ufe4f"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); + sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe57"); - sb.append("\073"); - sb.append("\ufe57"); - sb.append("\112"); - sb.append("\ufe57"); - sb.append("\127"); - sb.append("\ufe57"); - sb.append("\130"); - sb.append("\ufe57"); - sb.append("\131"); - sb.append("\ufe57"); - sb.append("\132"); - sb.append("\ufe57"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe57"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); - sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); + sb.append("\046"); + sb.append("\121"); sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); - sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe57"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe57"); - sb.append("\232"); - sb.append("\ufe57"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); - sb.append("\031"); - sb.append("\u01d2"); - sb.append("\033"); - sb.append("\ufe55"); - sb.append("\073"); - sb.append("\ufe55"); - sb.append("\112"); - sb.append("\ufe55"); - sb.append("\127"); - sb.append("\ufe55"); - sb.append("\130"); - sb.append("\ufe55"); - sb.append("\131"); - sb.append("\ufe55"); - sb.append("\132"); - sb.append("\ufe55"); - sb.append("\150"); - sb.append("\u01c4"); - sb.append("\151"); - sb.append("\ufe55"); - sb.append("\152"); - sb.append("\u01c0"); - sb.append("\153"); - sb.append("\u01d3"); - sb.append("\154"); - sb.append("\u01c2"); - sb.append("\155"); - sb.append("\u01cb"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); sb.append("\156"); - sb.append("\u01d4"); - sb.append("\157"); - sb.append("\u01d9"); - sb.append("\160"); - sb.append("\u01cd"); - sb.append("\161"); - sb.append("\u01bd"); - sb.append("\162"); - sb.append("\u01ca"); - sb.append("\163"); - sb.append("\u01d7"); - sb.append("\164"); - sb.append("\u01d5"); - sb.append("\165"); - sb.append("\u01c8"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); + sb.append("\075"); sb.append("\166"); - sb.append("\u01c6"); - sb.append("\167"); - sb.append("\u01d6"); - sb.append("\170"); - sb.append("\u01d1"); - sb.append("\171"); - sb.append("\u01cc"); - sb.append("\172"); - sb.append("\u01db"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); + sb.append("\121"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\104"); sb.append("\174"); - sb.append("\u01d0"); - sb.append("\175"); - sb.append("\u01ce"); sb.append("\176"); - sb.append("\u01be"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\u01c3"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe55"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe55"); - sb.append("\232"); - sb.append("\ufe55"); - sb.append("\242"); - sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); + sb.append("\u01b5"); + sb.append("\234"); + sb.append("\152"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); + sb.append("\021"); + sb.append("\254"); + sb.append("\147"); + sb.append("\255"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\034"); + sb.append("\170"); + sb.append("\004"); + sb.append("\202"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); sb.append("\010"); - sb.append("\244"); + sb.append("\u01b1"); + sb.append("\011"); + sb.append("\204"); sb.append("\012"); sb.append("\075"); + sb.append("\015"); + sb.append("\031"); sb.append("\016"); - sb.append("\u0338"); + sb.append("\071"); + sb.append("\032"); + sb.append("\106"); + sb.append("\036"); + sb.append("\125"); + sb.append("\044"); + sb.append("\222"); + sb.append("\045"); + sb.append("\u01b3"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\210"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\051"); sb.append("\075"); sb.append("\166"); + sb.append("\077"); + sb.append("\123"); + sb.append("\100"); + sb.append("\012"); + sb.append("\101"); + sb.append("\206"); + sb.append("\102"); + sb.append("\041"); + sb.append("\103"); + sb.append("\144"); + sb.append("\104"); + sb.append("\117"); + sb.append("\105"); + sb.append("\141"); + sb.append("\115"); + sb.append("\136"); + sb.append("\116"); + sb.append("\046"); sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u038c"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01b3"); - sb.append("\233"); - sb.append("\152"); - sb.append("\253"); - sb.append("\241"); - sb.append("\254"); - sb.append("\240"); - sb.append("\255"); - sb.append("\245"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); + sb.append("\160"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); sb.append("\116"); - sb.append("\031"); - sb.append("\ufe5a"); - sb.append("\033"); - sb.append("\ufe5a"); - sb.append("\073"); - sb.append("\ufe5a"); - sb.append("\112"); - sb.append("\ufe5a"); - sb.append("\127"); - sb.append("\ufe5a"); - sb.append("\130"); - sb.append("\ufe5a"); + sb.append("\126"); sb.append("\131"); - sb.append("\ufe5a"); - sb.append("\132"); - sb.append("\ufe5a"); - sb.append("\150"); - sb.append("\ufe5a"); - sb.append("\151"); - sb.append("\ufe5a"); - sb.append("\152"); - sb.append("\ufe5a"); - sb.append("\153"); - sb.append("\ufe5a"); - sb.append("\154"); - sb.append("\ufe5a"); - sb.append("\155"); - sb.append("\ufe5a"); - sb.append("\156"); - sb.append("\ufe5a"); - sb.append("\157"); - sb.append("\ufe5a"); - sb.append("\160"); - sb.append("\ufe5a"); - sb.append("\161"); - sb.append("\ufe5a"); - sb.append("\162"); - sb.append("\ufe5a"); - sb.append("\163"); - sb.append("\ufe5a"); - sb.append("\164"); - sb.append("\ufe5a"); - sb.append("\165"); - sb.append("\ufe5a"); - sb.append("\166"); - sb.append("\ufe5a"); - sb.append("\167"); - sb.append("\ufe5a"); - sb.append("\170"); - sb.append("\ufe5a"); - sb.append("\171"); - sb.append("\ufe5a"); - sb.append("\172"); - sb.append("\ufe5a"); + sb.append("\133"); + sb.append("\020"); sb.append("\173"); - sb.append("\ufe5a"); + sb.append("\104"); sb.append("\174"); - sb.append("\ufe5a"); - sb.append("\175"); - sb.append("\ufe5a"); sb.append("\176"); - sb.append("\ufe5a"); + sb.append("\200"); + sb.append("\130"); sb.append("\201"); - sb.append("\ufe5a"); + sb.append("\067"); + sb.append("\203"); + sb.append("\054"); + sb.append("\204"); + sb.append("\120"); + sb.append("\205"); + sb.append("\207"); + sb.append("\206"); + sb.append("\154"); + sb.append("\207"); + sb.append("\216"); + sb.append("\210"); + sb.append("\151"); + sb.append("\211"); + sb.append("\142"); + sb.append("\212"); + sb.append("\155"); + sb.append("\213"); + sb.append("\063"); + sb.append("\214"); + sb.append("\074"); sb.append("\215"); - sb.append("\ufe5a"); + sb.append("\114"); + sb.append("\217"); + sb.append("\101"); + sb.append("\223"); + sb.append("\u01b2"); sb.append("\231"); - sb.append("\ufe5a"); - sb.append("\232"); - sb.append("\ufe5a"); - sb.append("\242"); - sb.append("\ufe5a"); - sb.append("\245"); - sb.append("\ufe5a"); - sb.append("\251"); - sb.append("\ufe5a"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\036"); - sb.append("\010"); - sb.append("\244"); - sb.append("\012"); - sb.append("\075"); - sb.append("\065"); - sb.append("\u01f8"); - sb.append("\075"); - sb.append("\166"); - sb.append("\121"); - sb.append("\237"); - sb.append("\214"); - sb.append("\u01ec"); - sb.append("\216"); - sb.append("\u01ef"); - sb.append("\222"); - sb.append("\341"); - sb.append("\230"); - sb.append("\u01f4"); - sb.append("\233"); + sb.append("\u01b5"); + sb.append("\234"); sb.append("\152"); - sb.append("\247"); + sb.append("\235"); + sb.append("\015"); + sb.append("\236"); + sb.append("\073"); + sb.append("\237"); + sb.append("\060"); + sb.append("\250"); sb.append("\021"); - sb.append("\253"); - sb.append("\241"); sb.append("\254"); - sb.append("\240"); + sb.append("\147"); sb.append("\255"); - sb.append("\245"); + sb.append("\064"); + sb.append("\256"); + sb.append("\055"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufe59"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe59"); + sb.append("\ufe4b"); sb.append("\073"); - sb.append("\ufe59"); + sb.append("\ufe4b"); sb.append("\112"); - sb.append("\ufe59"); + sb.append("\ufe4b"); sb.append("\127"); - sb.append("\ufe59"); + sb.append("\ufe4b"); sb.append("\130"); - sb.append("\ufe59"); + sb.append("\ufe4b"); sb.append("\131"); - sb.append("\ufe59"); + sb.append("\ufe4b"); sb.append("\132"); - sb.append("\ufe59"); + sb.append("\ufe4b"); sb.append("\150"); - sb.append("\ufe59"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe59"); + sb.append("\ufe4b"); sb.append("\152"); - sb.append("\ufe59"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufe59"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufe59"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufe59"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufe59"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufe59"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufe59"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufe59"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufe59"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufe59"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufe59"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufe59"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufe59"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufe59"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufe59"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufe59"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufe59"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufe59"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufe59"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufe59"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufe59"); - sb.append("\201"); - sb.append("\ufe59"); - sb.append("\215"); - sb.append("\ufe59"); - sb.append("\231"); - sb.append("\ufe59"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe4b"); sb.append("\232"); - sb.append("\ufe59"); - sb.append("\242"); - sb.append("\ufe59"); - sb.append("\245"); - sb.append("\ufe59"); - sb.append("\251"); - sb.append("\ufe59"); + sb.append("\ufe4b"); + sb.append("\233"); + sb.append("\ufe4b"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); sb.append("\120"); sb.append("\031"); - sb.append("\ufdce"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufdce"); + sb.append("\ufe54"); sb.append("\073"); - sb.append("\ufdce"); + sb.append("\ufe54"); sb.append("\112"); - sb.append("\ufdce"); + sb.append("\ufe54"); sb.append("\127"); - sb.append("\ufdce"); + sb.append("\ufe54"); sb.append("\130"); - sb.append("\ufdce"); + sb.append("\ufe54"); sb.append("\131"); - sb.append("\ufdce"); + sb.append("\ufe54"); sb.append("\132"); - sb.append("\ufdce"); + sb.append("\ufe54"); sb.append("\150"); - sb.append("\ufdce"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufdce"); + sb.append("\ufe54"); sb.append("\152"); - sb.append("\ufdce"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufdce"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufdce"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufdce"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufdce"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufdce"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufdce"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufdce"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufdce"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufdce"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufdce"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufdce"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufdce"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufdce"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufdce"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufdce"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufdce"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufdce"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufdce"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufdce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufdce"); - sb.append("\201"); - sb.append("\ufdce"); - sb.append("\215"); - sb.append("\ufdce"); - sb.append("\230"); - sb.append("\u01fb"); - sb.append("\231"); - sb.append("\ufdce"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe54"); sb.append("\232"); - sb.append("\ufdce"); - sb.append("\242"); - sb.append("\ufdce"); - sb.append("\245"); - sb.append("\ufdce"); - sb.append("\251"); - sb.append("\ufdce"); + sb.append("\ufe54"); + sb.append("\233"); + sb.append("\ufe54"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\ufe58"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe58"); + sb.append("\ufe52"); sb.append("\073"); - sb.append("\ufe58"); + sb.append("\ufe52"); sb.append("\112"); - sb.append("\ufe58"); + sb.append("\ufe52"); sb.append("\127"); - sb.append("\ufe58"); + sb.append("\ufe52"); sb.append("\130"); - sb.append("\ufe58"); + sb.append("\ufe52"); sb.append("\131"); - sb.append("\ufe58"); + sb.append("\ufe52"); sb.append("\132"); - sb.append("\ufe58"); + sb.append("\ufe52"); sb.append("\150"); - sb.append("\ufe58"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe58"); + sb.append("\ufe52"); sb.append("\152"); - sb.append("\ufe58"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\ufe58"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\ufe58"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\ufe58"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\ufe58"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\ufe58"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\ufe58"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\ufe58"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\ufe58"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\ufe58"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\ufe58"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\ufe58"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\ufe58"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\ufe58"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\ufe58"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\ufe58"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\ufe58"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\ufe58"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\ufe58"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\ufe58"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\ufe58"); - sb.append("\201"); - sb.append("\ufe58"); - sb.append("\215"); - sb.append("\ufe58"); - sb.append("\231"); - sb.append("\ufe58"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); + sb.append("\u01c5"); + sb.append("\216"); + sb.append("\ufe52"); sb.append("\232"); - sb.append("\ufe58"); - sb.append("\242"); - sb.append("\ufe58"); - sb.append("\245"); - sb.append("\ufe58"); - sb.append("\251"); - sb.append("\ufe58"); + sb.append("\ufe52"); + sb.append("\233"); + sb.append("\ufe52"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\116"); + sb.append("\120"); sb.append("\031"); - sb.append("\u01d2"); + sb.append("\u01d4"); sb.append("\033"); - sb.append("\ufe4e"); + sb.append("\ufe50"); sb.append("\073"); - sb.append("\ufe4e"); + sb.append("\ufe50"); sb.append("\112"); - sb.append("\ufe4e"); + sb.append("\ufe50"); sb.append("\127"); - sb.append("\ufe4e"); + sb.append("\ufe50"); sb.append("\130"); - sb.append("\ufe4e"); + sb.append("\ufe50"); sb.append("\131"); - sb.append("\ufe4e"); + sb.append("\ufe50"); sb.append("\132"); - sb.append("\ufe4e"); + sb.append("\ufe50"); sb.append("\150"); - sb.append("\u01c4"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\ufe4e"); + sb.append("\ufe50"); sb.append("\152"); - sb.append("\u01c0"); + sb.append("\u01c2"); sb.append("\153"); - sb.append("\u01d3"); + sb.append("\u01d5"); sb.append("\154"); - sb.append("\u01c2"); + sb.append("\u01d9"); sb.append("\155"); - sb.append("\u01cb"); + sb.append("\u01c4"); sb.append("\156"); - sb.append("\u01d4"); + sb.append("\u01cd"); sb.append("\157"); - sb.append("\u01d9"); + sb.append("\u01d6"); sb.append("\160"); - sb.append("\u01cd"); + sb.append("\u01dc"); sb.append("\161"); - sb.append("\u01bd"); + sb.append("\u01cf"); sb.append("\162"); - sb.append("\u01ca"); + sb.append("\u01bf"); sb.append("\163"); - sb.append("\u01d7"); + sb.append("\u01cc"); sb.append("\164"); - sb.append("\u01d5"); + sb.append("\u01da"); sb.append("\165"); - sb.append("\u01c8"); + sb.append("\u01d8"); sb.append("\166"); - sb.append("\u01c6"); + sb.append("\u01ca"); sb.append("\167"); - sb.append("\u01d6"); + sb.append("\u01c8"); sb.append("\170"); - sb.append("\u01d1"); + sb.append("\u01d7"); sb.append("\171"); - sb.append("\u01cc"); + sb.append("\u01d3"); sb.append("\172"); - sb.append("\u01db"); + sb.append("\u01ce"); sb.append("\173"); - sb.append("\u01c7"); + sb.append("\u01de"); sb.append("\174"); - sb.append("\u01d0"); + sb.append("\u01c9"); sb.append("\175"); - sb.append("\u01ce"); + sb.append("\u01d2"); sb.append("\176"); - sb.append("\u01be"); - sb.append("\201"); - sb.append("\u01c3"); - sb.append("\215"); - sb.append("\ufe4e"); - sb.append("\231"); - sb.append("\ufe4e"); - sb.append("\232"); - sb.append("\ufe4e"); - sb.append("\242"); + sb.append("\u01d0"); + sb.append("\177"); + sb.append("\u01c1"); + sb.append("\202"); sb.append("\u01c5"); - sb.append("\245"); - sb.append("\u01bf"); - sb.append("\251"); - sb.append("\u01d8"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\006"); - sb.append("\127"); - sb.append("\ufebb"); - sb.append("\231"); - sb.append("\ufebb"); + sb.append("\216"); + sb.append("\ufe50"); + sb.append("\232"); + sb.append("\ufe50"); + sb.append("\233"); + sb.append("\ufe50"); + sb.append("\243"); + sb.append("\u01c7"); + sb.append("\246"); + sb.append("\u01c0"); + sb.append("\252"); + sb.append("\u01db"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\170"); - sb.append("\004"); - sb.append("\201"); - sb.append("\006"); - sb.append("\156"); - sb.append("\007"); - sb.append("\175"); - sb.append("\010"); - sb.append("\u01af"); - sb.append("\011"); - sb.append("\204"); - sb.append("\012"); - sb.append("\075"); - sb.append("\015"); + sb.append("\120"); sb.append("\031"); - sb.append("\016"); - sb.append("\071"); - sb.append("\032"); - sb.append("\106"); - sb.append("\036"); - sb.append("\125"); - sb.append("\044"); - sb.append("\222"); - sb.append("\045"); - sb.append("\u01b1"); - sb.append("\054"); - sb.append("\026"); - sb.append("\062"); - sb.append("\210"); - sb.append("\063"); - sb.append("\010"); - sb.append("\074"); - sb.append("\051"); - sb.append("\075"); - sb.append("\166"); - sb.append("\077"); - sb.append("\123"); - sb.append("\100"); - sb.append("\012"); - sb.append("\101"); - sb.append("\206"); - sb.append("\102"); - sb.append("\041"); - sb.append("\103"); - sb.append("\144"); - sb.append("\104"); - sb.append("\117"); - sb.append("\105"); - sb.append("\141"); - sb.append("\115"); - sb.append("\136"); - sb.append("\116"); - sb.append("\046"); - sb.append("\121"); - sb.append("\160"); - sb.append("\122"); - sb.append("\013"); - sb.append("\123"); - sb.append("\065"); - sb.append("\124"); - sb.append("\124"); - sb.append("\125"); - sb.append("\116"); - sb.append("\126"); - sb.append("\131"); - sb.append("\133"); - sb.append("\020"); - sb.append("\172"); - sb.append("\104"); - sb.append("\173"); - sb.append("\176"); - sb.append("\177"); + sb.append("\u01d4"); + sb.append("\033"); + sb.append("\ufe4c"); + sb.append("\073"); + sb.append("\ufe4c"); + sb.append("\112"); + sb.append("\ufe4c"); + sb.append("\127"); + sb.append("\ufe4c"); sb.append("\130"); - sb.append("\200"); - sb.append("\067"); - sb.append("\202"); - sb.append("\054"); - sb.append("\203"); - sb.append("\120"); - sb.append("\204"); - sb.append("\207"); - sb.append("\205"); - sb.append("\154"); - sb.append("\206"); - sb.append("\216"); - sb.append("\207"); + sb.append("\ufe4c"); + sb.append("\131"); + sb.append("\ufe4c"); + sb.append("\132"); + sb.append("\ufe4c"); + sb.append("\150"); + sb.append("\u01c6"); sb.append("\151"); - sb.append("\210"); - sb.append("\142"); - sb.append("\211"); - sb.append("\155"); - sb.append("\212"); - sb.append("\063"); - sb.append("\213"); - sb.append("\074"); - sb.append("\214"); - sb.append("\114"); - sb.append("\216"); - sb.append("\101"); - sb.append("\222"); - sb.append("\u01b0"); + sb.append("\ufe4c"); + sb.append("\152"); + sb.append("\u01c2"); + sb.append("\153"); + sb.append("\u01d5"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/PHP5ErrorHandlerImpl.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/PHP5ErrorHandlerImpl.java index 529ec34ae5f0..f13856ed3794 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/PHP5ErrorHandlerImpl.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/PHP5ErrorHandlerImpl.java @@ -397,6 +397,8 @@ public static String getTokenTextForm(int token) { case ASTPHP5Symbols.T_YIELD : text = "yield"; break; //NOI18N case ASTPHP5Symbols.T_YIELD_FROM : text = "yield from"; break; //NOI18N case ASTPHP5Symbols.T_READONLY : text = "readonly"; break; //NOI18N PHP 8.1 + //skiping T_PIPE = "|>" PHP 8.5 as it doesn't bring much to the expected tokens error message + // and it breaks multiple unit tests which displayes the expected tokens list default: //no-op } diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/Utils.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/Utils.java index c488b01277ae..d27656f7c52e 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/Utils.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/Utils.java @@ -375,6 +375,9 @@ public static String getASTScannerTokenName(int id) { case ASTPHP5Symbols.T_OPEN_RECT: name = "T_OPEN_RECT"; //NOI18N break; + case ASTPHP5Symbols.T_PIPE: + name = "T_PIPE"; //NOI18N + break; case ASTPHP5Symbols.T_OR: name = "T_OR"; //NOI18N break; diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/CompositionExpression.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/CompositionExpression.java new file mode 100644 index 000000000000..6c5d38eb2814 --- /dev/null +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/CompositionExpression.java @@ -0,0 +1,106 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.php.editor.parser.astnodes; + +/** + * Represents a function composition expression + * chaining multiple callables from left to right + * It's marked by the pipe operator "|>" + * @see https://wiki.php.net/rfc/pipe-operator-v3 + *

+ * $a |> strtoupper(...)
+ * $a |> trim(...)
+ * 
+ * + */ +public class CompositionExpression extends Expression { + + /** + * Operator type used for the composition expression + * possible rfc with using "+" for composition + * https://wiki.php.net/rfc/function-composition + */ + public enum OperatorType { + PIPE("|>"); // NOI18N + + private final String operatorSign; + + private OperatorType(final String operatorSign) { + this.operatorSign = operatorSign; + } + + @Override + public String toString() { + return operatorSign; + } + } + + private final Expression left; + private final CompositionExpression.OperatorType operator; + private final Expression right; + + public CompositionExpression(int start, int end, Expression left, CompositionExpression.OperatorType operator, Expression right) { + super(start, end); + + if (right == null || left == null) { + throw new IllegalArgumentException("left or right node must not be null"); + } + + this.left = left; + this.right = right; + this.operator = operator; + } + + /** + * Returns the operator of this composition expression. + * + * @return the composition operator + */ + public CompositionExpression.OperatorType getOperator() { + return this.operator; + } + + /** + * Returns the left expression of this composition expression. + * + * @return the left expression node + */ + public Expression getLeft() { + return this.left; + } + + /** + * Returns the right expression of this composition expression. + * + * @return the right expression node + */ + public Expression getRight() { + return this.right; + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + @Override + public String toString() { + return getLeft() + " " + getOperator() + " " + getRight(); //NOI18N + } +} diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/Visitor.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/Visitor.java index e445cd3ff693..bfec835e1603 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/Visitor.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/Visitor.java @@ -84,6 +84,8 @@ public interface Visitor { public void visit(Comment comment); public void visit(ConstantVariable constantVariable); + + public void visit(CompositionExpression conditionalExpression); //public void endVisit(Comment comment); public void visit(ConditionalExpression conditionalExpression); diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/visitors/DefaultVisitor.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/visitors/DefaultVisitor.java index eba4e0f73269..342d0bde141b 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/visitors/DefaultVisitor.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/visitors/DefaultVisitor.java @@ -42,6 +42,7 @@ import org.netbeans.modules.php.editor.parser.astnodes.ClassName; import org.netbeans.modules.php.editor.parser.astnodes.CloneExpression; import org.netbeans.modules.php.editor.parser.astnodes.Comment; +import org.netbeans.modules.php.editor.parser.astnodes.CompositionExpression; import org.netbeans.modules.php.editor.parser.astnodes.ConditionalExpression; import org.netbeans.modules.php.editor.parser.astnodes.ConstantDeclaration; import org.netbeans.modules.php.editor.parser.astnodes.ConstantVariable; @@ -287,6 +288,12 @@ public void visit(Comment comment) { public void visit(ConstantVariable constantVariable) { scan(constantVariable.getName()); } + + @Override + public void visit(CompositionExpression node) { + scan(node.getLeft()); + scan(node.getRight()); + } @Override public void visit(ConditionalExpression node) { diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/resources/layer.xml b/php/php.editor/src/org/netbeans/modules/php/editor/resources/layer.xml index 54978d485c2e..c199c55f77eb 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/resources/layer.xml +++ b/php/php.editor/src/org/netbeans/modules/php/editor/resources/layer.xml @@ -430,6 +430,7 @@ + @@ -452,6 +453,7 @@ + diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/verification/IncorrectFunctionCompositionHintError.java b/php/php.editor/src/org/netbeans/modules/php/editor/verification/IncorrectFunctionCompositionHintError.java new file mode 100644 index 000000000000..b0c4132bcd1a --- /dev/null +++ b/php/php.editor/src/org/netbeans/modules/php/editor/verification/IncorrectFunctionCompositionHintError.java @@ -0,0 +1,167 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.php.editor.verification; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import org.netbeans.api.annotations.common.NullAllowed; +import org.netbeans.modules.csl.api.Hint; +import org.netbeans.modules.csl.api.OffsetRange; +import org.netbeans.modules.csl.spi.support.CancelSupport; +import org.netbeans.modules.php.api.PhpVersion; +import org.netbeans.modules.php.editor.CodeUtils; +import static org.netbeans.modules.php.editor.model.impl.Type.FALSE; +import static org.netbeans.modules.php.editor.model.impl.Type.NULL; +import static org.netbeans.modules.php.editor.model.impl.Type.TRUE; +import org.netbeans.modules.php.editor.parser.PHPParseResult; +import org.netbeans.modules.php.editor.parser.astnodes.ASTNode; +import org.netbeans.modules.php.editor.parser.astnodes.ArrowFunctionDeclaration; +import org.netbeans.modules.php.editor.parser.astnodes.CompositionExpression; +import org.netbeans.modules.php.editor.parser.astnodes.Expression; +import org.netbeans.modules.php.editor.parser.astnodes.InfixExpression; +import org.netbeans.modules.php.editor.parser.astnodes.ParenthesisExpression; +import org.netbeans.modules.php.editor.parser.astnodes.Scalar; +import static org.netbeans.modules.php.editor.parser.astnodes.Scalar.Type.FLOAT; +import static org.netbeans.modules.php.editor.parser.astnodes.Scalar.Type.INT; +import static org.netbeans.modules.php.editor.parser.astnodes.Scalar.Type.REAL; +import static org.netbeans.modules.php.editor.parser.astnodes.Scalar.Type.STRING; +import org.netbeans.modules.php.editor.parser.astnodes.visitors.DefaultVisitor; +import org.openide.filesystems.FileObject; +import org.openide.util.NbBundle; + +public class IncorrectFunctionCompositionHintError extends HintErrorRule { + @NbBundle.Messages("IncorrectFunctionCompositionHintErrorDisplayName=Pipe operator right-handle requires to be a callable") + @Override + public String getDisplayName() { + return Bundle.IncorrectFunctionCompositionHintErrorDisplayName(); + } + + @Override + public void invoke(PHPRuleContext context, List hints) { + PHPParseResult phpParseResult = (PHPParseResult) context.parserResult; + if (phpParseResult.getProgram() != null) { + FileObject fileObject = phpParseResult.getSnapshot().getSource().getFileObject(); + if (fileObject != null && appliesTo(fileObject)) { + if (CancelSupport.getDefault().isCancelled()) { + return; + } + CheckVisitor checkVisitor = new CheckVisitor(fileObject, this); + phpParseResult.getProgram().accept(checkVisitor); + if (CancelSupport.getDefault().isCancelled()) { + return; + } + hints.addAll(checkVisitor.getHintErrors()); + } + } + } + + protected PhpVersion getPhpVersion(@NullAllowed FileObject file) { + if (file == null) { + return PhpVersion.getDefault(); + } + return CodeUtils.getPhpVersion(file); + } + + protected boolean appliesTo(FileObject file) { + return getPhpVersion(file).compareTo(PhpVersion.PHP_85) >= 0; + } + + //~ Inner classes + private static final class CheckVisitor extends DefaultVisitor { + + private final List hintErrors = new ArrayList<>(); + private final FileObject fileObject; + private final HintErrorRule rule ; + + public CheckVisitor(FileObject fileObject, HintErrorRule rule) { + this.fileObject = fileObject; + this.rule = rule; + } + + public Collection getHintErrors() { + return Collections.unmodifiableCollection(hintErrors); + } + + @Override + public void visit(CompositionExpression node) { + if (CancelSupport.getDefault().isCancelled()) { + return; + } + + Expression right = node.getRight(); + + if (right instanceof Scalar rightValue){ + switch (rightValue.getScalarType()) { + case INT, REAL, FLOAT -> { + createHintError(right); + } + case STRING -> { + switch (rightValue.getStringValue().toLowerCase()) { + case NULL, TRUE, FALSE -> { + createHintError(right); + } + } + } + } + } else if (right instanceof ArrowFunctionDeclaration) { + createArrowFunctionMustBeParenthesizedError(right); + } else if (right instanceof ParenthesisExpression rightValue) { + if (rightValue.getExpression() instanceof InfixExpression) { + //infix result in a boolean type + createHintError(right); + } + } + + super.visit(node); + } + + private void createHintError(ASTNode node) { + hintErrors.add(new Hint( + rule, + getErrorDisplayName(), + fileObject, + new OffsetRange(node.getStartOffset(), node.getEndOffset()), + new ArrayList<>(), + 500)); + } + + private void createArrowFunctionMustBeParenthesizedError(ASTNode node) { + hintErrors.add(new Hint( + rule, + getArrowFunctionMustBeParenthesizedMessage(), + fileObject, + new OffsetRange(node.getStartOffset(), node.getEndOffset()), + new ArrayList<>(), + 500)); + } + + @NbBundle.Messages("CheckVisitor.displayName=Pipe operator right-handle requires to be a callable") + private String getErrorDisplayName() { + return Bundle.IncorrectFunctionCompositionHintErrorDisplayName(); + } + + @NbBundle.Messages("CheckVisitor.ArrowFunctionMustBeParenthesized=Arrow functions on the right hand side of |> must be parenthesized") + private String getArrowFunctionMustBeParenthesizedMessage() { + return Bundle.CheckVisitor_ArrowFunctionMustBeParenthesized(); + } + } + +} diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP84UnhandledError.java b/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP84UnhandledError.java index d7a741e002ff..f76953ecd52b 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP84UnhandledError.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP84UnhandledError.java @@ -183,7 +183,7 @@ private PHP84VersionError(FileObject fileObject, int startOffset, int endOffset) @NbBundle.Messages("PHP84VersionError.displayName=Language feature not compatible with PHP version indicated in project settings") @Override public String getDisplayName() { - return Bundle.PHP83VersionError_displayName(); + return Bundle.PHP84VersionError_displayName(); } @NbBundle.Messages("PHP84VersionError.description=Detected language features not compatible with PHP version indicated in project settings") diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP85UnhandledError.java b/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP85UnhandledError.java new file mode 100644 index 000000000000..b3e83e097b2b --- /dev/null +++ b/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP85UnhandledError.java @@ -0,0 +1,139 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.php.editor.verification; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import org.netbeans.modules.csl.api.Error; +import org.netbeans.modules.csl.api.OffsetRange; +import org.netbeans.modules.csl.spi.support.CancelSupport; +import org.netbeans.modules.php.api.PhpVersion; +import org.netbeans.modules.php.editor.CodeUtils; +import org.netbeans.modules.php.editor.parser.PHPParseResult; +import org.netbeans.modules.php.editor.parser.astnodes.ASTNode; +import org.netbeans.modules.php.editor.parser.astnodes.CompositionExpression; +import org.netbeans.modules.php.editor.parser.astnodes.visitors.DefaultVisitor; +import org.openide.filesystems.FileObject; +import org.openide.util.NbBundle; + +/** + * Unhandled Error for PHP 8.5 + * + * @see PHP 8.5 RFC + */ +public final class PHP85UnhandledError extends UnhandledErrorRule { + + @NbBundle.Messages("PHP85UnhandledError.displayName=Language feature not compatible with PHP version indicated in project settings") + @Override + public String getDisplayName() { + return Bundle.PHP85UnhandledError_displayName(); + } + + @Override + public void invoke(PHPRuleContext context, List errors) { + PHPParseResult phpParseResult = (PHPParseResult) context.parserResult; + if (phpParseResult.getProgram() == null) { + return; + } + FileObject fileObject = phpParseResult.getSnapshot().getSource().getFileObject(); + if (fileObject != null + && appliesTo(fileObject)) { + if (CancelSupport.getDefault().isCancelled()) { + return; + } + CheckVisitor checkVisitor = new CheckVisitor(fileObject); + phpParseResult.getProgram().accept(checkVisitor); + if (CancelSupport.getDefault().isCancelled()) { + return; + } + errors.addAll(checkVisitor.getErrors()); + } + } + + private static boolean appliesTo(FileObject fileObject) { + return CodeUtils.isPhpVersionLessThan(fileObject, PhpVersion.PHP_85); + } + + //~ Inner classes + private static final class CheckVisitor extends DefaultVisitor { + + private final List errors = new ArrayList<>(); + private final FileObject fileObject; + + public CheckVisitor(FileObject fileObject) { + this.fileObject = fileObject; + } + + public Collection getErrors() { + return Collections.unmodifiableCollection(errors); + } + + @Override + public void visit(CompositionExpression node) { + if (CancelSupport.getDefault().isCancelled()) { + return; + } + + //composition expression are available since PHP 8.5 + createError(node); + } + + + private void createError(ASTNode node) { + createError(node.getStartOffset(), node.getEndOffset()); + } + + private void createError(OffsetRange offsetRange) { + errors.add(new PHP85VersionError(fileObject, offsetRange.getStart(), offsetRange.getEnd())); + } + + private void createError(int startOffset, int endOffset) { + errors.add(new PHP85VersionError(fileObject, startOffset, endOffset)); + } + } + + private static final class PHP85VersionError extends VerificationError { + + private static final String KEY = "Php.Version.85"; // NOI18N + + private PHP85VersionError(FileObject fileObject, int startOffset, int endOffset) { + super(fileObject, startOffset, endOffset); + } + + @NbBundle.Messages("PHP85VersionError.displayName=Language feature not compatible with PHP version indicated in project settings") + @Override + public String getDisplayName() { + return Bundle.PHP85VersionError_displayName(); + } + + @NbBundle.Messages("PHP85VersionError.description=Detected language features not compatible with PHP version indicated in project settings") + @Override + public String getDescription() { + return Bundle.PHP85VersionError_description(); + } + + @Override + public String getKey() { + return KEY; + } + } + +} diff --git a/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_01.pass b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_01.pass new file mode 100644 index 000000000000..1526c58d7097 --- /dev/null +++ b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_01.pass @@ -0,0 +1,94 @@ +token #0 PHP_OPENTAG +token #13 WHITESPACE +token #14 PHP_STRING strlen +token #15 PHP_TOKEN ( +token #16 PHP_OPERATOR ... +token #17 PHP_TOKEN ) +token #18 PHP_SEMICOLON ; +token #19 WHITESPACE \n\n +token #20 PHP_VARIABLE $result +token #21 WHITESPACE +token #22 PHP_OPERATOR = +token #23 WHITESPACE +token #24 PHP_CONSTANT_ENCAPSED_STRING "Example" +token #25 WHITESPACE \n +token #26 PHP_OPERATOR |> +token #27 WHITESPACE +token #28 PHP_STRING htmlentities +token #29 PHP_TOKEN ( +token #30 PHP_OPERATOR ... +token #31 PHP_TOKEN ) +token #32 WHITESPACE \n +token #33 PHP_OPERATOR |> +token #34 WHITESPACE +token #35 PHP_STRING str_split +token #36 PHP_TOKEN ( +token #37 PHP_OPERATOR ... +token #38 PHP_TOKEN ) +token #39 WHITESPACE \n +token #40 PHP_OPERATOR |> +token #41 WHITESPACE +token #42 PHP_TOKEN ( +token #43 PHP_FN fn +token #44 PHP_TOKEN ( +token #45 PHP_VARIABLE $x +token #46 PHP_TOKEN ) +token #47 WHITESPACE +token #48 PHP_OPERATOR => +token #49 WHITESPACE +token #50 PHP_STRING array_map +token #51 PHP_TOKEN ( +token #52 PHP_STRING strtoupper +token #53 PHP_TOKEN ( +token #54 PHP_OPERATOR ... +token #55 PHP_TOKEN ) +token #56 PHP_TOKEN , +token #57 WHITESPACE +token #58 PHP_VARIABLE $x +token #59 PHP_TOKEN ) +token #60 PHP_TOKEN ) +token #61 WHITESPACE \n +token #62 PHP_OPERATOR |> +token #63 WHITESPACE +token #64 PHP_TOKEN ( +token #65 PHP_FN fn +token #66 PHP_TOKEN ( +token #67 PHP_VARIABLE $x +token #68 PHP_TOKEN ) +token #69 WHITESPACE +token #70 PHP_OPERATOR => +token #71 WHITESPACE +token #72 PHP_STRING array_filter +token #73 PHP_TOKEN ( +token #74 PHP_VARIABLE $x +token #75 PHP_TOKEN , +token #76 WHITESPACE +token #77 PHP_FN fn +token #78 PHP_TOKEN ( +token #79 PHP_VARIABLE $v +token #80 PHP_TOKEN ) +token #81 WHITESPACE +token #82 PHP_OPERATOR => +token #83 WHITESPACE +token #84 PHP_VARIABLE $v +token #85 WHITESPACE +token #86 PHP_OPERATOR != +token #87 WHITESPACE +token #88 PHP_CONSTANT_ENCAPSED_STRING 'O' +token #89 PHP_TOKEN ) +token #90 PHP_TOKEN ) +token #91 WHITESPACE \n +token #92 PHP_SEMICOLON ; +token #93 WHITESPACE \n diff --git a/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_02.pass b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_02.pass new file mode 100644 index 000000000000..7716354a09d1 --- /dev/null +++ b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_02.pass @@ -0,0 +1,235 @@ +token #0 PHP_OPENTAG +token #15 WHITESPACE +token #16 PHP_CONSTANT_ENCAPSED_STRING 'strtoupper' +token #17 WHITESPACE \n +token #18 PHP_OPERATOR |> +token #19 WHITESPACE +token #20 PHP_STRING str_shuffle +token #21 PHP_TOKEN ( +token #22 PHP_OPERATOR ... +token #23 PHP_TOKEN ) +token #24 WHITESPACE \n +token #25 PHP_OPERATOR |> +token #26 WHITESPACE +token #27 PHP_TOKEN ( +token #28 PHP_FN fn +token #29 PHP_TOKEN ( +token #30 PHP_VARIABLE $x +token #31 PHP_TOKEN ) +token #32 WHITESPACE +token #33 PHP_OPERATOR => +token #34 WHITESPACE +token #35 PHP_STRING trim +token #36 PHP_TOKEN ( +token #37 PHP_VARIABLE $x +token #38 PHP_TOKEN ) +token #39 PHP_TOKEN ) +token #40 WHITESPACE \n +token #41 PHP_OPERATOR |> +token #42 WHITESPACE +token #43 PHP_FUNCTION function +token #44 PHP_TOKEN ( +token #45 PHP_TYPE_STRING string +token #46 WHITESPACE +token #47 PHP_VARIABLE $x +token #48 PHP_TOKEN ) +token #49 PHP_TOKEN : +token #50 WHITESPACE +token #51 PHP_TYPE_STRING string +token #52 WHITESPACE +token #53 PHP_CURLY_OPEN { +token #54 PHP_RETURN return +token #55 WHITESPACE +token #56 PHP_STRING strtolower +token #57 PHP_TOKEN ( +token #58 PHP_VARIABLE $x +token #59 PHP_TOKEN ) +token #60 PHP_SEMICOLON ; +token #61 PHP_CURLY_CLOSE } +token #62 WHITESPACE \n +token #63 PHP_OPERATOR |> +token #64 WHITESPACE +token #65 PHP_NEW new +token #66 WHITESPACE +token #67 PHP_STRING ExampleClass +token #68 PHP_TOKEN ( +token #69 PHP_TOKEN ) +token #70 WHITESPACE \n +token #71 PHP_OPERATOR |> +token #72 WHITESPACE +token #73 PHP_TOKEN [ +token #74 PHP_STRING ExampleClass +token #75 PHP_PAAMAYIM_NEKUDOTAYIM :: +token #76 PHP_STRING class +token #77 PHP_TOKEN , +token #78 WHITESPACE +token #79 PHP_CONSTANT_ENCAPSED_STRING 'staticMethod' +token #80 PHP_TOKEN ] +token #81 WHITESPACE \n +token #82 PHP_OPERATOR |> +token #83 WHITESPACE +token #84 PHP_NEW new +token #85 WHITESPACE +token #86 PHP_STRING ExampleClass +token #87 PHP_TOKEN ( +token #88 PHP_TOKEN ) +token #89 PHP_OBJECT_OPERATOR -> +token #90 PHP_STRING hash +token #91 PHP_TOKEN ( +token #92 PHP_OPERATOR ... +token #93 PHP_TOKEN ) +token #94 WHITESPACE \n +token #95 PHP_OPERATOR |> +token #96 WHITESPACE +token #97 PHP_STRING my_function +token #98 PHP_TOKEN ( +token #99 PHP_OPERATOR ... +token #100 PHP_TOKEN ) +token #101 PHP_SEMICOLON ; +token #102 WHITESPACE \n\n +token #103 PHP_ECHO echo +token #104 WHITESPACE +token #105 PHP_VARIABLE $result +token #106 PHP_SEMICOLON ; +token #107 WHITESPACE \n\n +token #108 PHP_FUNCTION function +token #109 WHITESPACE +token #110 PHP_STRING my_function +token #111 PHP_TOKEN ( +token #112 PHP_TYPE_STRING string +token #113 WHITESPACE +token #114 PHP_VARIABLE $x +token #115 PHP_TOKEN ) +token #116 PHP_TOKEN : +token #117 WHITESPACE +token #118 PHP_TYPE_STRING string +token #119 WHITESPACE +token #120 PHP_CURLY_OPEN { +token #121 WHITESPACE \n +token #122 PHP_RETURN return +token #123 WHITESPACE +token #124 PHP_STRING str_replace +token #125 PHP_TOKEN ( +token #126 PHP_CONSTANT_ENCAPSED_STRING "le" +token #127 PHP_TOKEN , +token #128 WHITESPACE +token #129 PHP_CONSTANT_ENCAPSED_STRING "les" +token #130 PHP_TOKEN , +token #131 WHITESPACE +token #132 PHP_VARIABLE $x +token #133 PHP_TOKEN ) +token #134 PHP_SEMICOLON ; +token #135 WHITESPACE \n +token #136 PHP_CURLY_CLOSE } +token #137 WHITESPACE \n\n +token #138 PHP_CLASS class +token #139 WHITESPACE +token #140 PHP_STRING ExampleClass +token #141 WHITESPACE +token #142 PHP_CURLY_OPEN { +token #143 WHITESPACE \n +token #144 PHP_PUBLIC public +token #145 WHITESPACE +token #146 PHP_FUNCTION function +token #147 WHITESPACE +token #148 PHP_STRING __invoke +token #149 PHP_TOKEN ( +token #150 PHP_TYPE_STRING string +token #151 WHITESPACE +token #152 PHP_VARIABLE $x +token #153 PHP_TOKEN ) +token #154 PHP_TOKEN : +token #155 WHITESPACE +token #156 PHP_TYPE_STRING string +token #157 WHITESPACE +token #158 PHP_CURLY_OPEN { +token #159 WHITESPACE \n +token #160 PHP_RETURN return +token #161 WHITESPACE +token #162 PHP_STRING strtoupper +token #163 PHP_TOKEN ( +token #164 PHP_VARIABLE $x +token #165 PHP_TOKEN ) +token #166 PHP_SEMICOLON ; +token #167 WHITESPACE \n +token #168 PHP_CURLY_CLOSE } +token #169 WHITESPACE \n\n +token #170 PHP_PUBLIC public +token #171 WHITESPACE +token #172 PHP_FUNCTION function +token #173 WHITESPACE +token #174 PHP_STRING hash +token #175 PHP_TOKEN ( +token #176 PHP_TYPE_STRING string +token #177 WHITESPACE +token #178 PHP_VARIABLE $x +token #179 PHP_TOKEN ) +token #180 PHP_TOKEN : +token #181 WHITESPACE +token #182 PHP_TYPE_STRING string +token #183 WHITESPACE +token #184 PHP_CURLY_OPEN { +token #185 WHITESPACE \n +token #186 PHP_RETURN return +token #187 WHITESPACE +token #188 PHP_STRING hash +token #189 PHP_TOKEN ( +token #190 PHP_CONSTANT_ENCAPSED_STRING 'sha256' +token #191 PHP_TOKEN , +token #192 WHITESPACE +token #193 PHP_VARIABLE $x +token #194 PHP_TOKEN ) +token #195 PHP_SEMICOLON ; +token #196 WHITESPACE \n +token #197 PHP_CURLY_CLOSE } +token #198 WHITESPACE \n\n +token #199 PHP_PUBLIC public +token #200 WHITESPACE +token #201 PHP_STATIC static +token #202 WHITESPACE +token #203 PHP_FUNCTION function +token #204 WHITESPACE +token #205 PHP_STRING staticMethod +token #206 PHP_TOKEN ( +token #207 PHP_TYPE_STRING string +token #208 WHITESPACE +token #209 PHP_VARIABLE $x +token #210 PHP_TOKEN ) +token #211 PHP_TOKEN : +token #212 WHITESPACE +token #213 PHP_TYPE_STRING string +token #214 WHITESPACE +token #215 PHP_CURLY_OPEN { +token #216 WHITESPACE \n +token #217 PHP_RETURN return +token #218 WHITESPACE +token #219 PHP_STRING str_replace +token #220 PHP_TOKEN ( +token #221 PHP_CONSTANT_ENCAPSED_STRING 'E' +token #222 PHP_TOKEN , +token #223 WHITESPACE +token #224 PHP_CONSTANT_ENCAPSED_STRING 'O' +token #225 PHP_TOKEN , +token #226 WHITESPACE +token #227 PHP_VARIABLE $x +token #228 PHP_TOKEN ) +token #229 PHP_SEMICOLON ; +token #230 WHITESPACE \n +token #231 PHP_CURLY_CLOSE } +token #232 WHITESPACE \n +token #233 PHP_CURLY_CLOSE } +token #234 WHITESPACE \n diff --git a/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_03.pass b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_03.pass new file mode 100644 index 000000000000..ee09e8e9040a --- /dev/null +++ b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest/lexer/php85/pipeOperator_03.pass @@ -0,0 +1,91 @@ +token #0 PHP_OPENTAG +token #17 WHITESPACE +token #18 PHP_STRING dechex +token #19 PHP_TOKEN ( +token #20 PHP_OPERATOR ... +token #21 PHP_TOKEN ) +token #22 WHITESPACE +token #23 PHP_OPERATOR |> +token #24 WHITESPACE +token #25 PHP_STRING hexdec +token #26 PHP_TOKEN ( +token #27 PHP_OPERATOR ... +token #28 PHP_TOKEN ) +token #29 PHP_SEMICOLON ; +token #30 WHITESPACE \n\n +token #31 PHP_ECHO echo +token #32 WHITESPACE +token #33 PHP_NUMBER 8 +token #34 WHITESPACE +token #35 PHP_OPERATOR + +token #36 WHITESPACE +token #37 PHP_TOKEN ( +token #38 PHP_NUMBER 5 +token #39 WHITESPACE +token #40 PHP_OPERATOR |> +token #41 WHITESPACE +token #42 PHP_STRING dechex +token #43 PHP_TOKEN ( +token #44 PHP_OPERATOR ... +token #45 PHP_TOKEN ) +token #46 PHP_TOKEN ) +token #47 WHITESPACE +token #48 PHP_OPERATOR |> +token #49 WHITESPACE +token #50 PHP_STRING hexdec +token #51 PHP_TOKEN ( +token #52 PHP_OPERATOR ... +token #53 PHP_TOKEN ) +token #54 PHP_SEMICOLON ; +token #55 WHITESPACE \n\n +token #56 PHP_ECHO echo +token #57 WHITESPACE +token #58 PHP_NUMBER 8 +token #59 WHITESPACE +token #60 PHP_OPERATOR + +token #61 WHITESPACE +token #62 PHP_NUMBER 5 +token #63 WHITESPACE +token #64 PHP_OPERATOR |> +token #65 WHITESPACE +token #66 PHP_STRING dechex +token #67 PHP_TOKEN ( +token #68 PHP_OPERATOR ... +token #69 PHP_TOKEN ) +token #70 WHITESPACE +token #71 PHP_OPERATOR |> +token #72 WHITESPACE +token #73 PHP_STRING hexdec +token #74 PHP_TOKEN ( +token #75 PHP_OPERATOR ... +token #76 PHP_TOKEN ) +token #77 WHITESPACE +token #78 PHP_OPERATOR === +token #79 WHITESPACE +token #80 PHP_NUMBER 14 +token #81 WHITESPACE \n +token #82 PHP_TOKEN ? +token #83 WHITESPACE +token #84 PHP_CONSTANT_ENCAPSED_STRING 'is 14' +token #85 WHITESPACE \n +token #86 PHP_TOKEN : +token #87 WHITESPACE +token #88 PHP_CONSTANT_ENCAPSED_STRING 'not 14' +token #89 PHP_SEMICOLON ; +token #90 WHITESPACE \n diff --git a/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_01.pass b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_01.pass new file mode 100644 index 000000000000..efa726466927 --- /dev/null +++ b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_01.pass @@ -0,0 +1,337 @@ + + + + $result + + + = + + + "Example" + + + |> + + + strlen + + + ( + + + ... + + + ) + + + ; + + + $result + + + = + + + "Example" + + + |> + + + htmlentities + + + ( + + + ... + + + ) + + + |> + + + str_split + + + ( + + + ... + + + ) + + + |> + + + ( + + + fn + + + ( + + + $x + + + ) + + + => + + + array_map + + + ( + + + strtoupper + + + ( + + + ... + + + ) + + + , + + + $x + + + ) + + + ) + + + |> + + + ( + + + fn + + + ( + + + $x + + + ) + + + => + + + array_filter + + + ( + + + $x + + + , + + + fn + + + ( + + + $v + + + ) + + + => + + + $v + + + != + + + 'O' + + + ) + + + ) + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_02.pass b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_02.pass new file mode 100644 index 000000000000..5a73919bd302 --- /dev/null +++ b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_02.pass @@ -0,0 +1,819 @@ + + + + $result + + + = + + + "Example" + + + |> + + + 'strtoupper' + + + |> + + + str_shuffle + + + ( + + + ... + + + ) + + + |> + + + ( + + + fn + + + ( + + + $x + + + ) + + + => + + + trim + + + ( + + + $x + + + ) + + + ) + + + |> + + + function + + + ( + + + string + + + $x + + + ) + + + : + + + string + + + { + + + return + + + strtolower + + + ( + + + $x + + + ) + + + ; + + + } + + + |> + + + new + + + ExampleClass + + + ( + + + ) + + + |> + + + [ + + + ExampleClass + + + :: + + + class + + + , + + + 'staticMethod' + + + ] + + + |> + + + new + + + ExampleClass + + + ( + + + ) + + + -> + + + hash + + + ( + + + ... + + + ) + + + |> + + + my_function + + + ( + + + ... + + + ) + + + ; + + + echo + + + $result + + + ; + + + function + + + my_function + + + ( + + + string + + + $x + + + ) + + + : + + + string + + + { + + + return + + + str_replace + + + ( + + + "le" + + + , + + + "les" + + + , + + + $x + + + ) + + + ; + + + } + + + class + + + ExampleClass + + + { + + + public + + + function + + + __invoke + + + ( + + + string + + + $x + + + ) + + + : + + + string + + + { + + + return + + + strtoupper + + + ( + + + $x + + + ) + + + ; + + + } + + + public + + + function + + + hash + + + ( + + + string + + + $x + + + ) + + + : + + + string + + + { + + + return + + + hash + + + ( + + + 'sha256' + + + , + + + $x + + + ) + + + ; + + + } + + + public + + + static + + + function + + + staticMethod + + + ( + + + string + + + $x + + + ) + + + : + + + string + + + { + + + return + + + str_replace + + + ( + + + 'E' + + + , + + + 'O' + + + , + + + $x + + + ) + + + ; + + + } + + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_03.pass b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_03.pass new file mode 100644 index 000000000000..e5516d9cee13 --- /dev/null +++ b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php85/pipeOperator_03.pass @@ -0,0 +1,281 @@ + + + + echo + + + 8 + + + + + + + 5 + + + |> + + + dechex + + + ( + + + ... + + + ) + + + |> + + + hexdec + + + ( + + + ... + + + ) + + + ; + + + echo + + + 8 + + + + + + + ( + + + 5 + + + |> + + + dechex + + + ( + + + ... + + + ) + + + ) + + + |> + + + hexdec + + + ( + + + ... + + + ) + + + ; + + + echo + + + 8 + + + + + + + 5 + + + |> + + + dechex + + + ( + + + ... + + + ) + + + |> + + + hexdec + + + ( + + + ... + + + ) + + + === + + + 14 + + + ? + + + 'is 14' + + + : + + + 'not 14' + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorInlineExpression_01.php b/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorInlineExpression_01.php new file mode 100644 index 000000000000..35074fa5109a --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorInlineExpression_01.php @@ -0,0 +1,24 @@ + strtoupper(...) |> trim(...); + + +$var2 = "Example2 " |> strtoupper(...) |> str_shuffle(...) |>trim(...); \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorInlineExpression_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorInlineExpression_01.php.formatted new file mode 100644 index 000000000000..f06f5cd27ec0 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorInlineExpression_01.php.formatted @@ -0,0 +1,24 @@ + strtoupper(...) |> trim(...); + +$var2 = "Example2 " |> strtoupper(...) |> str_shuffle(...) |>trim(...); diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php b/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php new file mode 100644 index 000000000000..7369576f75ca --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php @@ -0,0 +1,24 @@ + strtoupper(...) + |> str_shuffle(...) + |>trim(...); \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php.formatted new file mode 100644 index 000000000000..2c35e0c7e0f7 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php.formatted @@ -0,0 +1,25 @@ + strtoupper(...) + |> str_shuffle(...) + |>trim(...); diff --git a/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_01.php b/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_01.php new file mode 100644 index 000000000000..76578aa1554e --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_01.php @@ -0,0 +1,28 @@ + strlen(...); + +$result = "Example" + |> htmlentities(...) + |> str_split(...) + |> (fn($x) => array_map(strtoupper(...), $x)) + |> (fn($x) => array_filter($x, fn($v) => $v != 'O')) +; \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_02.php b/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_02.php new file mode 100644 index 000000000000..f3865dafb8d1 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_02.php @@ -0,0 +1,50 @@ + 'strtoupper' + |> str_shuffle(...) + |> (fn($x) => trim($x)) + |> function(string $x): string {return strtolower($x);} + |> new ExampleClass() + |> [ExampleClass::class, 'staticMethod'] + |> new ExampleClass()->hash(...) + |> my_function(...); + +echo $result; + +function my_function(string $x): string { + return str_replace("le", "les", $x); +} + +class ExampleClass { + public function __invoke(string $x): string { + return strtoupper($x); + } + + public function hash(string $x): string { + return hash('sha256', $x); + } + + public static function staticMethod(string $x): string { + return str_replace('E', 'O', $x); + } +} \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_03.php b/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_03.php new file mode 100644 index 000000000000..79eac98b8dc9 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/lexer/php85/pipeOperator_03.php @@ -0,0 +1,28 @@ + dechex(...) |> hexdec(...); + +echo 8 + (5 |> dechex(...)) |> hexdec(...); + +echo 8 + 5 |> dechex(...) |> hexdec(...) === 14 + ? 'is 14' + : 'not 14'; \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_01.php b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_01.php new file mode 100644 index 000000000000..76578aa1554e --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_01.php @@ -0,0 +1,28 @@ + strlen(...); + +$result = "Example" + |> htmlentities(...) + |> str_split(...) + |> (fn($x) => array_map(strtoupper(...), $x)) + |> (fn($x) => array_filter($x, fn($v) => $v != 'O')) +; \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_01.php.errors b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_01.php.errors new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_02.php b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_02.php new file mode 100644 index 000000000000..f3865dafb8d1 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_02.php @@ -0,0 +1,50 @@ + 'strtoupper' + |> str_shuffle(...) + |> (fn($x) => trim($x)) + |> function(string $x): string {return strtolower($x);} + |> new ExampleClass() + |> [ExampleClass::class, 'staticMethod'] + |> new ExampleClass()->hash(...) + |> my_function(...); + +echo $result; + +function my_function(string $x): string { + return str_replace("le", "les", $x); +} + +class ExampleClass { + public function __invoke(string $x): string { + return strtoupper($x); + } + + public function hash(string $x): string { + return hash('sha256', $x); + } + + public static function staticMethod(string $x): string { + return str_replace('E', 'O', $x); + } +} \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_02.php.errors b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_02.php.errors new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_03.php b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_03.php new file mode 100644 index 000000000000..79eac98b8dc9 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_03.php @@ -0,0 +1,28 @@ + dechex(...) |> hexdec(...); + +echo 8 + (5 |> dechex(...)) |> hexdec(...); + +echo 8 + 5 |> dechex(...) |> hexdec(...) === 14 + ? 'is 14' + : 'not 14'; \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_03.php.errors b/php/php.editor/test/unit/data/testfiles/parser/php85/pipeOperator_03.php.errors new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testArrowFunctionMustBeParenthesized.php b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testArrowFunctionMustBeParenthesized.php new file mode 100644 index 000000000000..611629d0ce55 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testArrowFunctionMustBeParenthesized.php @@ -0,0 +1,24 @@ + (fn($x) => trim($x)) //good expression + |> fn($x) => trim($x) //error +; \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testArrowFunctionMustBeParenthesized.php.testArrowFunctionMustBeParenthesizedRightHandle.hints b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testArrowFunctionMustBeParenthesized.php.testArrowFunctionMustBeParenthesizedRightHandle.hints new file mode 100644 index 000000000000..ab16c1ac42df --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testArrowFunctionMustBeParenthesized.php.testArrowFunctionMustBeParenthesizedRightHandle.hints @@ -0,0 +1,3 @@ + |> fn($x) => trim($x) //error + ------------------ +HINT:Arrow functions on the right hand side of |> must be parenthesized diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testInfixExpressionRightHandle.php b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testInfixExpressionRightHandle.php new file mode 100644 index 000000000000..53449b47f9a1 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testInfixExpressionRightHandle.php @@ -0,0 +1,31 @@ + 2; + +'Example' + |>'strtoupper' + |> null; + +'ExampleBool' + |> 'strtoupper' + |> true + |> 'strtolower' +; \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testInfixExpressionRightHandle.php.testInfixExpressionRightHandle.hints b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testInfixExpressionRightHandle.php.testInfixExpressionRightHandle.hints new file mode 100644 index 000000000000..8156a7029758 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testInfixExpressionRightHandle.php.testInfixExpressionRightHandle.hints @@ -0,0 +1,9 @@ +$y['Example'] |> 2; + - +HINT:Pipe operator right-handle requires to be a callable + |> null; + ---- +HINT:Pipe operator right-handle requires to be a callable + |> true + ---- +HINT:Pipe operator right-handle requires to be a callable diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testNonCallableRightHandle.php b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testNonCallableRightHandle.php new file mode 100644 index 000000000000..43834183f368 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testNonCallableRightHandle.php @@ -0,0 +1,21 @@ + (strtoupper(...) | strtolower(...)); \ No newline at end of file diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testNonCallableRightHandle.php.testNonCallableRightHandle.hints b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testNonCallableRightHandle.php.testNonCallableRightHandle.hints new file mode 100644 index 000000000000..da89b11df60d --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectFunctionCompositionHintError/testNonCallableRightHandle.php.testNonCallableRightHandle.hints @@ -0,0 +1,2 @@ +'ExampleInfix' |> (strtoupper(...) | strtolower(...)); ----------------------------------- +HINT:Pipe operator right-handle requires to be a callable diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTest.java index 50295c6089c8..ac6ea28c604e 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTest.java @@ -1298,4 +1298,15 @@ public void testFinalFieldsAnonClass_02() throws Exception { HashMap options = new HashMap<>(FmtOptions.getDefaults()); reformatFileContents("testfiles/formatting/php84/finalFieldsAnonClass_02.php", options); } + + //PHP 8.5 pipe operator + public void testPipeOperatorInlineExpression_01() throws Exception { + HashMap options = new HashMap<>(FmtOptions.getDefaults()); + reformatFileContents("testfiles/formatting/php85/pipeOperatorInlineExpression_01.php", options); + } + + public void testPipeOperatorMultilineExpression_01() throws Exception { + HashMap options = new HashMap<>(FmtOptions.getDefaults()); + reformatFileContents("testfiles/formatting/php85/pipeOperatorMultilineExpression_01.php", options); + } } diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest.java new file mode 100644 index 000000000000..01fda3624a1d --- /dev/null +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/lexer/PHP85FeaturesTest.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.php.editor.lexer; + +public class PHP85FeaturesTest extends PHPLexerTestBase { + + public PHP85FeaturesTest(String testName) { + super(testName); + } + + public void testPipeOperator_01() throws Exception { + performTest("lexer/php85/pipeOperator_01"); + } + + public void testPipeOperator_02() throws Exception { + performTest("lexer/php85/pipeOperator_02"); + } + + public void testPipeOperator_03() throws Exception { + performTest("lexer/php85/pipeOperator_03"); + } +} diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java index 6cf34329683e..72bdc9247d5a 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java @@ -1620,6 +1620,19 @@ public void testFinalFieldsAnonClass() throws Exception { performTest("parser/php84/finalFieldsAnonClass"); } + // PHP 8.5 + public void testPipeOperator_01() throws Exception { + performTest("parser/php85/pipeOperator_01"); + } + + public void testPipeOperator_02() throws Exception { + performTest("parser/php85/pipeOperator_02"); + } + + public void testPipeOperator_03() throws Exception { + performTest("parser/php85/pipeOperator_03"); + } + @Override protected String getTestResult(String filename) throws Exception { // the same is shown twice becase the scanner is used twice diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java index 433512f0f239..80d286080aed 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java @@ -1556,4 +1556,17 @@ public void testFinalFieldsTrait() throws Exception { public void testFinalFieldsAnonClass() throws Exception { checkErrors("testfiles/parser/php84/finalFieldsAnonClass.php"); } + + // PHP 8.5 + public void testPipeOperator_01() throws Exception { + checkErrors("testfiles/parser/php85/pipeOperator_01.php"); + } + + public void testPipeOperator_02() throws Exception { + checkErrors("testfiles/parser/php85/pipeOperator_02.php"); + } + + public void testPipeOperator_03() throws Exception { + checkErrors("testfiles/parser/php85/pipeOperator_03.php"); + } } diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PrintASTVisitor.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PrintASTVisitor.java index 55ca33ba0567..7d0ed3ff5cf3 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PrintASTVisitor.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PrintASTVisitor.java @@ -390,6 +390,15 @@ public void visit(Comment comment) { buffer.append(" commentType='").append(comment.getCommentType()).append("'/>").append(NEW_LINE); } + @Override + public void visit(CompositionExpression node) { + XMLPrintNode printNode = new XMLPrintNode(node, "CompositionExpression", + new String[]{"operator", node.getOperator().name()}); + printNode.addChild(node.getLeft()); + printNode.addChild(node.getRight()); + printNode.print(this); + } + @Override public void visit(ConditionalExpression node) { XMLPrintNode printNode = new XMLPrintNode(node, "ConditionalExpression"); diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/verification/IncorrectFunctionCompositionHintErrorTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/verification/IncorrectFunctionCompositionHintErrorTest.java new file mode 100644 index 000000000000..a5bc5ea8ed8d --- /dev/null +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/verification/IncorrectFunctionCompositionHintErrorTest.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.php.editor.verification; + +public class IncorrectFunctionCompositionHintErrorTest extends PHPHintsTestBase { + + public IncorrectFunctionCompositionHintErrorTest(String testName) { + super(testName); + } + + @Override + protected String getTestDirectory() { + return TEST_DIRECTORY + "IncorrectFunctionCompositionHintError/"; + } + + public void testNonCallableRightHandle() throws Exception { + checkHints(new IncorrectFunctionCompositionHintError(), "testNonCallableRightHandle.php"); + } + + public void testInfixExpressionRightHandle() throws Exception { + checkHints(new IncorrectFunctionCompositionHintError(), "testInfixExpressionRightHandle.php"); + } + + public void testArrowFunctionMustBeParenthesizedRightHandle() throws Exception { + checkHints(new IncorrectFunctionCompositionHintError(), "testArrowFunctionMustBeParenthesized.php"); + } +} diff --git a/php/php.editor/tools/ASTPHP5Parser.cup b/php/php.editor/tools/ASTPHP5Parser.cup index f65c62dcd33e..8c45c95a6cb4 100644 --- a/php/php.editor/tools/ASTPHP5Parser.cup +++ b/php/php.editor/tools/ASTPHP5Parser.cup @@ -400,6 +400,7 @@ terminal T_PLUS_EQUAL,T_MINUS_EQUAL,T_MUL_EQUAL,T_DIV_EQUAL,T_CONCAT_EQUAL,T_MOD terminal T_QUESTION_MARK; terminal T_SEMICOLON; terminal T_BOOLEAN_OR, T_BOOLEAN_AND; +terminal T_PIPE; terminal T_OR; terminal T_KOVA; terminal T_REFERENCE; @@ -697,6 +698,7 @@ precedence right T_POW; precedence left T_QUESTION_MARK,T_SEMICOLON; precedence left T_BOOLEAN_OR; precedence left T_BOOLEAN_AND; +precedence left T_PIPE; precedence left T_OR; precedence left T_KOVA; precedence left T_REFERENCE; @@ -3708,7 +3710,6 @@ T_LIST:start T_OPEN_PARENTHESE array_pair_list:varList T_CLOSE_PARENTHESE:close {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.STRING_XOR, expr2); :} - | expr:expr1 T_OR expr:expr2 {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.OR, expr2); @@ -3813,12 +3814,15 @@ T_LIST:start T_OPEN_PARENTHESE array_pair_list:varList T_CLOSE_PARENTHESE:close {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.IS_NOT_EQUAL, expr2); :} - +// PHP 8.5 Function composition expression using |> "pipe" +| expr:expr1 T_PIPE expr:expr2 +{: + RESULT = new CompositionExpression(expr1left, expr2right, expr1 , CompositionExpression.OperatorType.PIPE, expr2); +:} | expr:expr1 T_RGREATER expr:expr2 {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.RGREATER, expr2); :} - | expr:expr1 T_IS_SMALLER_OR_EQUAL expr:expr2 {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.IS_SMALLER_OR_EQUAL, expr2); @@ -3828,7 +3832,6 @@ T_LIST:start T_OPEN_PARENTHESE array_pair_list:varList T_CLOSE_PARENTHESE:close {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.LGREATER, expr2); :} - | expr:expr1 T_IS_GREATER_OR_EQUAL expr:expr2 {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.IS_GREATER_OR_EQUAL, expr2); @@ -4718,17 +4721,19 @@ static_array_creation:arrayCreation {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.IS_NOT_EQUAL, expr2); :} - +// PHP 8.5 Function composition expression using |> "pipe" +| static_scalar_value:expr1 T_PIPE static_scalar_value:expr2 +{: + RESULT = new CompositionExpression(expr1left, expr2right, expr1 , CompositionExpression.OperatorType.PIPE, expr2); +:} | static_scalar_value:expr1 T_RGREATER static_scalar_value:expr2 {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.RGREATER, expr2); :} - | static_scalar_value:expr1 T_LGREATER static_scalar_value:expr2 {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.LGREATER, expr2); :} - | static_scalar_value:expr1 T_IS_SMALLER_OR_EQUAL static_scalar_value:expr2 {: RESULT = new InfixExpression(expr1left, expr2right, expr1 , InfixExpression.OperatorType.IS_SMALLER_OR_EQUAL, expr2); @@ -4758,7 +4763,6 @@ static_array_creation:arrayCreation {: RESULT = new ConditionalExpression(condleft, ifFalseright, cond, ConditionalExpression.OperatorType.COALESCE, null, ifFalse); :} - | T_PLUS:start static_scalar_value:expr {: UnaryOperation op = new UnaryOperation(startleft, exprright, expr, UnaryOperation.Operator.PLUS); diff --git a/php/php.editor/tools/ASTPHP5Scanner.flex b/php/php.editor/tools/ASTPHP5Scanner.flex index f652e867919b..8e3892e6172e 100644 --- a/php/php.editor/tools/ASTPHP5Scanner.flex +++ b/php/php.editor/tools/ASTPHP5Scanner.flex @@ -940,6 +940,12 @@ NOWDOC_CHARS=({NEWLINE}*(([^a-zA-Z_\x7f-\xff\n\r][^\n\r]*)|({LABEL}[^a-zA-Z0-9_\ return createSymbol(ASTPHP5Symbols.T_COALESCE_EQUAL); } +// NETBEANS-4443 PHP 8.5: Pipe operator +// https://wiki.php.net/rfc/pipe-operator-v3 +"|>" { + return createSymbol(ASTPHP5Symbols.T_PIPE); +} + "&"{TABS_AND_SPACES}("$"|"...") { yypushback(yylength() - 1); return createSymbol(ASTPHP5Symbols.T_REFERENCE); diff --git a/php/php.editor/tools/Php5ColoringScanner.flex b/php/php.editor/tools/Php5ColoringScanner.flex index 9d256121b835..c64aa0fd9cdd 100644 --- a/php/php.editor/tools/Php5ColoringScanner.flex +++ b/php/php.editor/tools/Php5ColoringScanner.flex @@ -347,7 +347,7 @@ BACKQUOTE_CHARS=("{"*([^$`\\{]|("\\"{ANY_CHAR}))|{BACKQUOTE_LITERAL_DOLLAR}) HEREDOC_CHARS=([^$\\{]|("\\"{ANY_CHAR}))({HEREDOC_LABEL_NO_NEWLINE} | {HEREDOC_NON_LABEL} | {LABEL})* NOWDOC_CHARS=({NEWLINE}*(([^a-zA-Z_\x7f-\xff\n\r][^\n\r]*)|({LABEL}[^a-zA-Z0-9_\x7f-\xff;\n\r][^\n\r]*)|({LABEL}[;][^\n\r]+))) -PHP_OPERATOR="=>"|"++"|"--"|"==="|"!=="|"=="|"!="|"<>"|"<="|">="|"+="|"-="|"*="|"/="|".="|"%="|"<<="|">>="|"&="|"|="|"^="|"||"|"&&"|"<<"|">>"|"**"|"**="|"..."|"="|"+"|"-"|"/"|"*"|"%"|"<"|">"|"!"|"@"|"^"|"&"|"|"|"~"|"<=>"|"??"|"??=" +PHP_OPERATOR="=>"|"++"|"--"|"==="|"!=="|"=="|"!="|"<>"|"<="|">="|"+="|"-="|"*="|"/="|".="|"%="|"<<="|">>="|"&="| "|>" |"|="|"^="|"||"|"&&"|"<<"|">>"|"**"|"**="|"..."|"="|"+"|"-"|"/"|"*"|"%"|"<"|">"|"!"|"@"|"^"|"&"|"|"|"~"|"<=>"|"??"|"??=" PHP_TEXTUAL_OPERATOR="OR"|"AND"|"XOR" // XXX how to define case sensitive patterns? PHP_TYPE_INT=[i][n][t] From 7c9e09e5bded400f881225eb77f02a0f53613967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Mon, 9 Mar 2026 08:04:34 +0100 Subject: [PATCH 21/74] PHP editor: reenable ant targets to regenerate lexers/scanner/parsed based on their inputs - delete generated files manually before regeneration (in this case the unreferenced file EncodedActionTable22.java was removed) - unify code generation to a single jflex version (1.4.3) that can be used for all grammars. From comparison between 1.4.1 and 1.4.3 only minimal changes in the state storage were observed. - jflex is downloaded via the normal NetBeans binary download mechanism from maven central - the php parser cutter required so that the parser grammar can be compiled was packed on maven central and is now also automatically downloaded With this in the following ant targets work: - `gen-lexer` generates `PHP5ColoringLexer.java` - `gen-docscanner` generates `DocumentorColoringScanner.java` - `gen-astscanner` generates `ASTPHP5Scanner.java` - `gen-astparser` generates `ASTPHP5Parser.java`, `ASTPHP5Symbols.java` and `EncodedActionTable*.java` - `gen-all-generated-code` runs all previous generators --- .../netbeans/nbbuild/extlibs/ignored-overlaps | 3 + php/php.editor/build.xml | 147 +-- php/php.editor/external/binaries-list | 2 + .../external/jflex-1.4.3-license.txt | 309 +++++++ ...netbeans-php-parser-cutter-1.0-license.txt | 834 ++++++++++++++++++ .../lexer/DocumentorColoringScanner.java | 144 +-- .../php/editor/lexer/PHP5ColoringLexer.java | 66 +- .../php/editor/parser/ASTPHP5Parser.java | 4 +- .../php/editor/parser/ASTPHP5Scanner.java | 59 +- .../php/editor/parser/ASTPHP5Symbols.java | 2 +- .../editor/parser/EncodedActionTable1.java | 1 - .../editor/parser/EncodedActionTable10.java | 1 - .../editor/parser/EncodedActionTable11.java | 1 - .../editor/parser/EncodedActionTable12.java | 1 - .../editor/parser/EncodedActionTable13.java | 1 - .../editor/parser/EncodedActionTable14.java | 1 - .../editor/parser/EncodedActionTable15.java | 1 - .../editor/parser/EncodedActionTable16.java | 1 - .../editor/parser/EncodedActionTable17.java | 1 - .../editor/parser/EncodedActionTable18.java | 1 - .../editor/parser/EncodedActionTable19.java | 1 - .../editor/parser/EncodedActionTable2.java | 1 - .../editor/parser/EncodedActionTable20.java | 1 - .../editor/parser/EncodedActionTable21.java | 1 - .../editor/parser/EncodedActionTable22.java | 266 ------ .../editor/parser/EncodedActionTable3.java | 1 - .../editor/parser/EncodedActionTable4.java | 1 - .../editor/parser/EncodedActionTable5.java | 1 - .../editor/parser/EncodedActionTable6.java | 1 - .../editor/parser/EncodedActionTable7.java | 1 - .../editor/parser/EncodedActionTable8.java | 1 - .../editor/parser/EncodedActionTable9.java | 1 - 32 files changed, 1401 insertions(+), 456 deletions(-) create mode 100644 php/php.editor/external/jflex-1.4.3-license.txt create mode 100644 php/php.editor/external/netbeans-php-parser-cutter-1.0-license.txt delete mode 100644 php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable22.java diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps index 9e46ce973be4..78c3c94d9f7f 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps +++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps @@ -126,3 +126,6 @@ enterprise/web.jspparser/external/jakarta.servlet.jsp.jstl-1.2.6.jar enterprise/ enterprise/web.jspparser/external/jakarta.servlet.jsp.jstl-api-3.0.2.jar enterprise/libs.jstl/external/jakarta.servlet.jsp.jstl-api-3.0.2.jar enterprise/web.jspparser/external/jakarta.servlet.jsp.jstl-3.0.1.jar enterprise/libs.jstl/external/jakarta.servlet.jsp.jstl-3.0.1.jar enterprise/web.jspparser/external/commons-logging-1.3.1.jar platform/o.apache.commons.logging/external/commons-logging-1.3.1.jar + +# JFlex is used as scanner generator only and is not distributed +webcommon/javascript2.jade/external/jflex-1.4.3.jar php/php.editor/external/jflex-1.4.3.jar \ No newline at end of file diff --git a/php/php.editor/build.xml b/php/php.editor/build.xml index 8ef0fa691f7d..a4d1a6b3e649 100644 --- a/php/php.editor/build.xml +++ b/php/php.editor/build.xml @@ -29,21 +29,17 @@ - - - + - + - + - + destdir="src" + skel="tools/skeleton.netbeans"/> + + yychar+= zzMarkedPosL-zzStartRead; + + + + + + + + + + + + - - + + + + + + + + + + diff --git a/php/php.editor/external/binaries-list b/php/php.editor/external/binaries-list index caac711533c4..ee41e07241a2 100644 --- a/php/php.editor/external/binaries-list +++ b/php/php.editor/external/binaries-list @@ -17,3 +17,5 @@ 76DEAA9FFFB9F01C19E65C69F752B09A569E56C9 predefined_vars-1.0.zip 03903CD47A228D5B0D59E44A847B1A5DA3E26C6B TextSearchQuery-1.28.zip EBDDA96783F6EFEFCB555358B2AFE14424B83149 Mpdf-7.1.5.zip +88516325EF6816C047027DD87D00493CF6C31E7E de.jflex:jflex:1.4.3 +7C3A76D70696FD0C9D1130505F355C3AEE911D4C eu.doppel-helix.netbeans.lib:netbeans-php-parser-cutter:1.0 diff --git a/php/php.editor/external/jflex-1.4.3-license.txt b/php/php.editor/external/jflex-1.4.3-license.txt new file mode 100644 index 000000000000..99439f9852d3 --- /dev/null +++ b/php/php.editor/external/jflex-1.4.3-license.txt @@ -0,0 +1,309 @@ +Name: JFlex +Version: 1.4.3 +Description: The Fast Scanner Generator +License: jflex +Origin: http://jflex.de/ +Type: compile-time +Comment: The generator is at compile time only. The resulting code runs stand-alone. + +JFlex - Copying, Warranty & License + + + +JFlex is free software, published under the terms of the GNU General Public License. + +There is absolutely NO WARRANTY for JFlex, its code and its documentation. + +The code generated by JFlex inherits the copyright of the specification it +was produced from. If it was your specification, you may use the generated +code without restriction. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + + +0. + This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + + +1. + You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + +2. + You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + + + a) + You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + + b) + You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + + c) + If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + + +3. + You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + + + a) + Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + + b) + Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + + c) + Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + +4. + You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + + +5. + You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + + +6. + Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + + +7. + If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + + +8. + If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + + +9. + The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + + + +10. + If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + + +NO WARRANTY + + + +11. + BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + + +12. + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + + + +END OF TERMS AND CONDITIONS diff --git a/php/php.editor/external/netbeans-php-parser-cutter-1.0-license.txt b/php/php.editor/external/netbeans-php-parser-cutter-1.0-license.txt new file mode 100644 index 000000000000..66ef2d226769 --- /dev/null +++ b/php/php.editor/external/netbeans-php-parser-cutter-1.0-license.txt @@ -0,0 +1,834 @@ +Name: NetBeans PHP Parser Cutter +Version: 1.0 +License: CDDL-GPL-2-CP +Description: PHP parser cutter is used to split the generated javacup grammar into compilable chunks +Origin: https://github.com/matthiasblaesing/netbeans-php-parser-cutter +Type: compile-time +Comment: The generator is at compile time only. The resulting code runs stand-alone. + +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + +1. Definitions. + +1.1. "Contributor" means each individual or entity that +creates or contributes to the creation of Modifications. + +1.2. "Contributor Version" means the combination of the +Original Software, prior Modifications used by a +Contributor (if any), and the Modifications made by that +particular Contributor. + +1.3. "Covered Software" means (a) the Original Software, or +(b) Modifications, or (c) the combination of files +containing Original Software with files containing +Modifications, in each case including portions thereof. + +1.4. "Executable" means the Covered Software in any form +other than Source Code. + +1.5. "Initial Developer" means the individual or entity +that first makes Original Software available under this +License. + +1.6. "Larger Work" means a work which combines Covered +Software or portions thereof with code not governed by the +terms of this License. + +1.7. "License" means this document. + +1.8. "Licensable" means having the right to grant, to the +maximum extent possible, whether at the time of the initial +grant or subsequently acquired, any and all of the rights +conveyed herein. + +1.9. "Modifications" means the Source Code and Executable +form of any of the following: + +A. Any file that results from an addition to, +deletion from or modification of the contents of a +file containing Original Software or previous +Modifications; + +B. Any new file that contains any part of the +Original Software or previous Modification; or + +C. Any new file that is contributed or otherwise made +available under the terms of this License. + +1.10. "Original Software" means the Source Code and +Executable form of computer software code that is +originally released under this License. + +1.11. "Patent Claims" means any patent claim(s), now owned +or hereafter acquired, including without limitation, +method, process, and apparatus claims, in any patent +Licensable by grantor. + +1.12. "Source Code" means (a) the common form of computer +software code in which modifications are made and (b) +associated documentation included in or with such code. + +1.13. "You" (or "Your") means an individual or a legal +entity exercising rights under, and complying with all of +the terms of, this License. For legal entities, "You" +includes any entity which controls, is controlled by, or is +under common control with You. For purposes of this +definition, "control" means (a) the power, direct or +indirect, to cause the direction or management of such +entity, whether by contract or otherwise, or (b) ownership +of more than fifty percent (50%) of the outstanding shares +or beneficial ownership of such entity. + +2. License Grants. + +2.1. The Initial Developer Grant. + +Conditioned upon Your compliance with Section 3.1 below and +subject to third party intellectual property claims, the +Initial Developer hereby grants You a world-wide, +royalty-free, non-exclusive license: + +(a) under intellectual property rights (other than +patent or trademark) Licensable by Initial Developer, +to use, reproduce, modify, display, perform, +sublicense and distribute the Original Software (or +portions thereof), with or without Modifications, +and/or as part of a Larger Work; and + +(b) under Patent Claims infringed by the making, +using or selling of Original Software, to make, have +made, use, practice, sell, and offer for sale, and/or +otherwise dispose of the Original Software (or +portions thereof). + +(c) The licenses granted in Sections 2.1(a) and (b) +are effective on the date Initial Developer first +distributes or otherwise makes the Original Software +available to a third party under the terms of this +License. + +(d) Notwithstanding Section 2.1(b) above, no patent +license is granted: (1) for code that You delete from +the Original Software, or (2) for infringements +caused by: (i) the modification of the Original +Software, or (ii) the combination of the Original +Software with other software or devices. + +2.2. Contributor Grant. + +Conditioned upon Your compliance with Section 3.1 below and +subject to third party intellectual property claims, each +Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than +patent or trademark) Licensable by Contributor to +use, reproduce, modify, display, perform, sublicense +and distribute the Modifications created by such +Contributor (or portions thereof), either on an +unmodified basis, with other Modifications, as +Covered Software and/or as part of a Larger Work; and + +(b) under Patent Claims infringed by the making, +using, or selling of Modifications made by that +Contributor either alone and/or in combination with +its Contributor Version (or portions of such +combination), to make, use, sell, offer for sale, +have made, and/or otherwise dispose of: (1) +Modifications made by that Contributor (or portions +thereof); and (2) the combination of Modifications +made by that Contributor with its Contributor Version +(or portions of such combination). + +(c) The licenses granted in Sections 2.2(a) and +2.2(b) are effective on the date Contributor first +distributes or otherwise makes the Modifications +available to a third party. + +(d) Notwithstanding Section 2.2(b) above, no patent +license is granted: (1) for any code that Contributor +has deleted from the Contributor Version; (2) for +infringements caused by: (i) third party +modifications of Contributor Version, or (ii) the +combination of Modifications made by that Contributor +with other software (except as part of the +Contributor Version) or other devices; or (3) under +Patent Claims infringed by Covered Software in the +absence of Modifications made by that Contributor. + +3. Distribution Obligations. + +3.1. Availability of Source Code. + +Any Covered Software that You distribute or otherwise make +available in Executable form must also be made available in +Source Code form and that Source Code form must be +distributed only under the terms of this License. You must +include a copy of this License with every copy of the +Source Code form of the Covered Software You distribute or +otherwise make available. You must inform recipients of any +such Covered Software in Executable form as to how they can +obtain such Covered Software in Source Code form in a +reasonable manner on or through a medium customarily used +for software exchange. + +3.2. Modifications. + +The Modifications that You create or to which You +contribute are governed by the terms of this License. You +represent that You believe Your Modifications are Your +original creation(s) and/or You have sufficient rights to +grant the rights conveyed by this License. + +3.3. Required Notices. + +You must include a notice in each of Your Modifications +that identifies You as the Contributor of the Modification. +You may not remove or alter any copyright, patent or +trademark notices contained within the Covered Software, or +any notices of licensing or any descriptive text giving +attribution to any Contributor or the Initial Developer. + +3.4. Application of Additional Terms. + +You may not offer or impose any terms on any Covered +Software in Source Code form that alters or restricts the +applicable version of this License or the recipients' +rights hereunder. You may choose to offer, and to charge a +fee for, warranty, support, indemnity or liability +obligations to one or more recipients of Covered Software. +However, you may do so only on Your own behalf, and not on +behalf of the Initial Developer or any Contributor. You +must make it absolutely clear that any such warranty, +support, indemnity or liability obligation is offered by +You alone, and You hereby agree to indemnify the Initial +Developer and every Contributor for any liability incurred +by the Initial Developer or such Contributor as a result of +warranty, support, indemnity or liability terms You offer. + +3.5. Distribution of Executable Versions. + +You may distribute the Executable form of the Covered +Software under the terms of this License or under the terms +of a license of Your choice, which may contain terms +different from this License, provided that You are in +compliance with the terms of this License and that the +license for the Executable form does not attempt to limit +or alter the recipient's rights in the Source Code form +from the rights set forth in this License. If You +distribute the Covered Software in Executable form under a +different license, You must make it absolutely clear that +any terms which differ from this License are offered by You +alone, not by the Initial Developer or Contributor. You +hereby agree to indemnify the Initial Developer and every +Contributor for any liability incurred by the Initial +Developer or such Contributor as a result of any such terms +You offer. + +3.6. Larger Works. + +You may create a Larger Work by combining Covered Software +with other code not governed by the terms of this License +and distribute the Larger Work as a single product. In such +a case, You must make sure the requirements of this License +are fulfilled for the Covered Software. + +4. Versions of the License. + +4.1. New Versions. + +Sun Microsystems, Inc. is the initial license steward and +may publish revised and/or new versions of this License +from time to time. Each version will be given a +distinguishing version number. Except as provided in +Section 4.3, no one other than the license steward has the +right to modify this License. + +4.2. Effect of New Versions. + +You may always continue to use, distribute or otherwise +make the Covered Software available under the terms of the +version of the License under which You originally received +the Covered Software. If the Initial Developer includes a +notice in the Original Software prohibiting it from being +distributed or otherwise made available under any +subsequent version of the License, You must distribute and +make the Covered Software available under the terms of the +version of the License under which You originally received +the Covered Software. Otherwise, You may also choose to +use, distribute or otherwise make the Covered Software +available under the terms of any subsequent version of the +License published by the license steward. + +4.3. Modified Versions. + +When You are an Initial Developer and You want to create a +new license for Your Original Software, You may create and +use a modified version of this License if You: (a) rename +the license and remove any references to the name of the +license steward (except to note that the license differs +from this License); and (b) otherwise make it clear that +the license contains terms which differ from this License. + +5. DISCLAIMER OF WARRANTY. + +COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" +BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED +SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR +PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY +COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE +INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF +ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF +WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF +ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS +DISCLAIMER. + +6. TERMINATION. + +6.1. This License and the rights granted hereunder will +terminate automatically if You fail to comply with terms +herein and fail to cure such breach within 30 days of +becoming aware of the breach. Provisions which, by their +nature, must remain in effect beyond the termination of +this License shall survive. + +6.2. If You assert a patent infringement claim (excluding +declaratory judgment actions) against Initial Developer or +a Contributor (the Initial Developer or Contributor against +whom You assert such claim is referred to as "Participant") +alleging that the Participant Software (meaning the +Contributor Version where the Participant is a Contributor +or the Original Software where the Participant is the +Initial Developer) directly or indirectly infringes any +patent, then any and all rights granted directly or +indirectly to You by such Participant, the Initial +Developer (if the Initial Developer is not the Participant) +and all Contributors under Sections 2.1 and/or 2.2 of this +License shall, upon 60 days notice from Participant +terminate prospectively and automatically at the expiration +of such 60 day notice period, unless if within such 60 day +period You withdraw Your claim with respect to the +Participant Software against such Participant either +unilaterally or pursuant to a written agreement with +Participant. + +6.3. If You assert a patent infringement claim against +Participant alleging that the Participant Software directly +or indirectly infringes any patent where such claim is +resolved (such as by license or settlement) prior to the +initiation of patent infringement litigation, then the +reasonable value of the licenses granted by such Participant +under Sections 2.1 or 2.2 shall be taken into account in +determining the amount or value of any payment or license. + +6.4. In the event of termination under Sections 6.1 or 6.2 +above, all end user licenses that have been validly granted +by You or any distributor hereunder prior to termination +(excluding licenses granted to You by any distributor) +shall survive termination. + +7. LIMITATION OF LIABILITY. + +UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT +(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE +INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF +COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE +LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR +CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT +LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK +STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER +COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN +INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF +LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL +INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT +APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO +NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR +CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT +APPLY TO YOU. + +8. U.S. GOVERNMENT END USERS. + +The Covered Software is a "commercial item," as that term is +defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial +computer software" (as that term is defined at 48 C.F.R. +§ 252.227-7014(a)(1)) and "commercial computer software +documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. +1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 +through 227.7202-4 (June 1995), all U.S. Government End Users +acquire Covered Software with only those rights set forth herein. +This U.S. Government Rights clause is in lieu of, and supersedes, +any other FAR, DFAR, or other clause or provision that addresses +Government rights in computer software under this License. + +9. MISCELLANEOUS. + +This License represents the complete agreement concerning subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the +extent necessary to make it enforceable. This License shall be +governed by the law of the jurisdiction specified in a notice +contained within the Original Software (except to the extent +applicable law, if any, provides otherwise), excluding such +jurisdiction's conflict-of-law provisions. Any litigation +relating to this License shall be subject to the jurisdiction of +the courts located in the jurisdiction and venue specified in a +notice contained within the Original Software, with the losing +party responsible for costs, including, without limitation, court +costs and reasonable attorneys' fees and expenses. The +application of the United Nations Convention on Contracts for the +International Sale of Goods is expressly excluded. Any law or +regulation which provides that the language of a contract shall +be construed against the drafter shall not apply to this License. +You agree that You alone are responsible for compliance with the +United States export administration regulations (and the export +control laws and regulation of any other countries) when You use, +distribute or otherwise make available any Covered Software. + +10. RESPONSIBILITY FOR CLAIMS. + +As between Initial Developer and the Contributors, each party is +responsible for claims and damages arising, directly or +indirectly, out of its utilization of rights under this License +and You agree to work with Initial Developer and Contributors to +distribute such responsibility on an equitable basis. Nothing +herein is intended or shall be deemed to constitute any admission +of liability. + +NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND +DISTRIBUTION LICENSE (CDDL) + +The code released under the CDDL shall be governed by the laws +of the State of California (excluding conflict-of-law provisions). +Any litigation relating to this License shall be subject to the +jurisdiction of the Federal Courts of the Northern District of +California and the state courts of the State of California, with +venue lying in Santa Clara County, California. + + +The GNU General Public License (GPL) +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim + copies of this license document, but changing it is not + allowed. + + Preamble + +The licenses for most software are designed to take away +your freedom to share and change it. By contrast, the GNU +General Public License is intended to guarantee your freedom +to share and change free software--to make sure the software +is free for all its users. This General Public License +applies to most of the Free Software Foundation's software +and to any other program whose authors commit to using it. +(Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can +apply it to your programs, too. + +When we speak of free software, we are referring to freedom, +not price. Our General Public Licenses are designed to make +sure that you have the freedom to distribute copies of free +software (and charge for this service if you wish), that you +receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free +programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that +forbid anyone to deny you these rights or to ask you to +surrender the rights. These restrictions translate to +certain responsibilities for you if you distribute copies of +the software, or if you modify it. + +For example, if you distribute copies of such a program, +whether gratis or for a fee, you must give the recipients +all the rights that you have. You must make sure that they, +too, receive or can get the source code. And you must show +them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the +software, and (2) offer you this license which gives you +legal permission to copy, distribute and/or modify the +software. + +Also, for each author's protection and ours, we want to make +certain that everyone understands that there is no warranty +for this free software. If the software is modified by +someone else and passed on, we want its recipients to know +that what they have is not the original, so that any +problems introduced by others will not reflect on the +original authors' reputations. + +Finally, any free program is threatened constantly by +software patents. We wish to avoid the danger that +redistributors of a free program will individually obtain +patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must +be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution +and modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND +MODIFICATION + +0. This License applies to any program or other work which +contains a notice placed by the copyright holder saying it +may be distributed under the terms of this General Public +License. The "Program", below, refers to any such program or +work, and a "work based on the Program" means either the +Program or any derivative work under copyright law: that is +to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into +another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each +licensee is addressed as "you". + +Activities other than copying, distribution and modification +are not covered by this License; they are outside its scope. +The act of running the Program is not restricted, and the +output from the Program is covered only if its contents +constitute a work based on the Program (independent of +having been made by running the Program). Whether that is +true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the +Program's source code as you receive it, in any medium, +provided that you conspicuously and appropriately publish on +each copy an appropriate copyright notice and disclaimer of +warranty; keep intact all the notices that refer to this +License and to the absence of any warranty; and give any +other recipients of the Program a copy of this License along +with the Program. + +You may charge a fee for the physical act of transferring a +copy, and you may at your option offer warranty protection +in exchange for a fee. + +2. You may modify your copy or copies of the Program or any +portion of it, thus forming a work based on the Program, and +copy and distribute such modifications or work under the +terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent + notices stating that you changed the files and the date + of any change. + + b) You must cause any work that you distribute or + publish, that in whole or in part contains or is derived + from the Program or any part thereof, to be licensed as + a whole at no charge to all third parties under the + terms of this License. + + c) If the modified program normally reads commands + interactively when run, you must cause it, when started + running for such interactive use in the most ordinary + way, to print or display an announcement including an + appropriate copyright notice and a notice that there is + no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program + under these conditions, and telling the user how to view + a copy of this License. (Exception: if the Program + itself is interactive but does not normally print such + an announcement, your work based on the Program is not + required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the +Program, and can be reasonably considered independent and +separate works in themselves, then this License, and its +terms, do not apply to those sections when you distribute +them as separate works. But when you distribute the same +sections as part of a whole which is a work based on the +Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees +extend to the entire whole, and thus to each and every part +regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights +or contest your rights to work written entirely by you; +rather, the intent is to exercise the right to control the +distribution of derivative or collective works based on the +Program. + +In addition, mere aggregation of another work not based on +the Program with the Program (or with a work based on the +Program) on a volume of a storage or distribution medium +does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based +on it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you +also do one of the following: + + a) Accompany it with the complete corresponding + machine-readable source code, which must be distributed + under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least + three years, to give any third party, for a charge no + more than your cost of physically performing source + distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the + terms of Sections 1 and 2 above on a medium customarily + used for software interchange; or, + + c) Accompany it with the information you received as to + the offer to distribute corresponding source code. (This + alternative is allowed only for noncommercial + distribution and only if you received the program in + object code or executable form with such an offer, in + accord with Subsection b above.) + +The source code for a work means the preferred form of the +work for making modifications to it. For an executable work, +complete source code means all the source code for all +modules it contains, plus any associated interface +definition files, plus the scripts used to control +compilation and installation of the executable. However, as +a special exception, the source code distributed need not +include anything that is normally distributed (in either +source or binary form) with the major components (compiler, +kernel, and so on) of the operating system on which the +executable runs, unless that component itself accompanies +the executable. + +If distribution of executable or object code is made by +offering access to copy from a designated place, then +offering equivalent access to copy the source code from the +same place counts as distribution of the source code, even +though third parties are not compelled to copy the source +along with the object code. + +4. You may not copy, modify, sublicense, or distribute the +Program except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense or distribute +the Program is void, and will automatically terminate your +rights under this License. However, parties who have +received copies, or rights, from you under this License will +not have their licenses terminated so long as such parties +remain in full compliance. + +5. You are not required to accept this License, since you +have not signed it. However, nothing else grants you +permission to modify or distribute the Program or its +derivative works. These actions are prohibited by law if you +do not accept this License. Therefore, by modifying or +distributing the Program (or any work based on the Program), +you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or +modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based +on the Program), the recipient automatically receives a +license from the original licensor to copy, distribute or +modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the +recipients' exercise of the rights granted herein. You are +not responsible for enforcing compliance by third parties to +this License. + +7. If, as a consequence of a court judgment or allegation of +patent infringement or for any other reason (not limited to +patent issues), conditions are imposed on you (whether by +court order, agreement or otherwise) that contradict the +conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as +to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a +consequence you may not distribute the Program at all. For +example, if a patent license would not permit royalty-free +redistribution of the Program by all those who receive +copies directly or indirectly through you, then the only way +you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or +unenforceable under any particular circumstance, the balance +of the section is intended to apply and the section as a +whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to +infringe any patents or other property right claims or to +contest validity of any such claims; this section has the +sole purpose of protecting the integrity of the free +software distribution system, which is implemented by public +license practices. Many people have made generous +contributions to the wide range of software distributed +through that system in reliance on consistent application of +that system; it is up to the author/donor to decide if he or +she is willing to distribute software through any other +system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is +believed to be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is +restricted in certain countries either by patents or by +copyrighted interfaces, the original copyright holder who +places the Program under this License may add an explicit +geographical distribution limitation excluding those +countries, so that distribution is permitted only in or +among countries not thus excluded. In such case, this +License incorporates the limitation as if written in the +body of this License. + +9. The Free Software Foundation may publish revised and/or +new versions of the General Public License from time to +time. Such new versions will be similar in spirit to the +present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If +the Program specifies a version number of this License which +applies to it and "any later version", you have the option +of following the terms and conditions either of that version +or of any later version published by the Free Software +Foundation. If the Program does not specify a version number +of this License, you may choose any version ever published +by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into +other free programs whose distribution conditions are +different, write to the author to ask for permission. For +software which is copyrighted by the Free Software +Foundation, write to the Free Software Foundation; we +sometimes make exceptions for this. Our decision will be +guided by the two goals of preserving the free status of all +derivatives of our free software and of promoting the +sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS +NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE +COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR +IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED +TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY +WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED +ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, +SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF +THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT +LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR +LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE +PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the +greatest possible use to the public, the best way to achieve +this is to make it free software which everyone can +redistribute and change under these terms. + +To do so, attach the following notices to the program. It is +safest to attach them to the start of each source file to +most effectively convey the exclusion of warranty; and each +file should have at least the "copyright" line and a pointer +to where the full notice is found. + + One line to give the program's name and a brief idea of + what it does. Copyright (C) + + This program is free software; you can redistribute it + and/or modify it under the terms of the GNU General + Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General + Public License along with this program; if not, write to + the Free Software Foundation, Inc., 59 Temple Place, + Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and +paper mail. + +If the program is interactive, make it output a short notice +like this when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of + author Gnomovision comes with ABSOLUTELY NO WARRANTY; + for details type `show w'. This is free software, and + you are welcome to redistribute it under certain + conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show +the appropriate parts of the General Public License. Of +course, the commands you use may be called something other +than `show w' and `show c'; they could even be mouse-clicks +or menu items--whatever suits your program. + +You should also get your employer (if you work as a +programmer) or your school, if any, to sign a "copyright +disclaimer" for the program, if necessary. Here is a sample; +alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in + the program `Gnomovision' (which makes passes at + compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating +your program into proprietary programs. If your program is a +subroutine library, you may consider it more useful to +permit linking proprietary applications with the library. If +this is what you want to do, use the GNU Library General +Public License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL VERSION 2 + + +Certain source files distributed by Sun Microsystems, Inc. +are subject to the following clarification and special +exception to the GPL Version 2, but only where Sun has expressly +included in the particular source file's header the words +"Sun designates this particular file as subject to the +"Classpath" exception as provided by Sun in the License file +that accompanied this code." + +Linking this library statically or dynamically with other +modules is making a combined work based on this library. +Thus, the terms and conditions of the GNU General Public +License Version 2 cover the whole combination. + +As a special exception, the copyright holders of this +library give you permission to link this library with +independent modules to produce an executable, regardless of +the license terms of these independent modules, and to copy +and distribute the resulting executable under terms of your +choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license +of that module. An independent module is a module which is +not derived from or based on this library. If you modify +this library, you may extend this exception to your version +of the library, but you are not obligated to do so. If you +do not wish to do so, delete this exception statement from +your version. diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/lexer/DocumentorColoringScanner.java b/php/php.editor/src/org/netbeans/modules/php/editor/lexer/DocumentorColoringScanner.java index 35c5a85dc2de..48d521804630 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/lexer/DocumentorColoringScanner.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/lexer/DocumentorColoringScanner.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 13.2.12 13:43 */ +/* The following code was generated by JFlex 1.4.3 on 12.03.26, 19:25 */ /* * Licensed to the Apache Software Foundation (ASF) under one @@ -25,11 +25,12 @@ import org.netbeans.spi.lexer.LexerRestartInfo; @org.netbeans.api.annotations.common.SuppressWarnings({"SF_SWITCH_FALLTHROUGH", "URF_UNREAD_FIELD", "DLS_DEAD_LOCAL_STORE", "DM_DEFAULT_ENCODING"}) + /** * This class is a scanner generated by * JFlex 1.4.3 - * on 13.2.12 13:43 from the specification file - * /home/warden/NetBeansProjects/web-main/php.editor/tools/DocumentorColoringScanner.flex + * on 12.03.26, 19:25 from the specification file + * /home/matthias/src/netbeans/php/php.editor/tools/DocumentorColoringScanner.flex */ public class DocumentorColoringScanner { @@ -62,64 +63,85 @@ public class DocumentorColoringScanner { "\12\0\1\1\2\0\1\1\37\0\1\2\2\0\12\2\2\0\1\3"+ "\1\0\1\4\1\0\1\5\32\2\1\0\1\2\2\0\1\2\1\0"+ "\32\2\57\0\1\2\12\0\1\2\4\0\1\2\5\0\27\2\1\0"+ - "\37\2\1\0\u013f\2\31\0\162\2\4\0\14\2\16\0\5\2\11\0"+ - "\1\2\213\0\1\2\13\0\1\2\1\0\3\2\1\0\1\2\1\0"+ - "\24\2\1\0\54\2\1\0\46\2\1\0\5\2\4\0\202\2\10\0"+ - "\105\2\1\0\46\2\2\0\2\2\6\0\20\2\41\0\46\2\2\0"+ - "\1\2\7\0\47\2\110\0\33\2\5\0\3\2\56\0\32\2\5\0"+ - "\13\2\25\0\12\2\4\0\2\2\1\0\143\2\1\0\1\2\17\0"+ - "\2\2\7\0\17\2\2\0\1\2\20\0\1\2\1\0\36\2\35\0"+ - "\3\2\60\0\46\2\13\0\1\2\u0152\0\66\2\3\0\1\2\22\0"+ - "\1\2\7\0\12\2\4\0\12\2\25\0\10\2\2\0\2\2\2\0"+ - "\26\2\1\0\7\2\1\0\1\2\3\0\4\2\3\0\1\2\36\0"+ - "\2\2\1\0\3\2\4\0\14\2\23\0\6\2\4\0\2\2\2\0"+ - "\26\2\1\0\7\2\1\0\2\2\1\0\2\2\1\0\2\2\37\0"+ - "\4\2\1\0\1\2\7\0\12\2\2\0\3\2\20\0\11\2\1\0"+ - "\3\2\1\0\26\2\1\0\7\2\1\0\2\2\1\0\5\2\3\0"+ - "\1\2\22\0\1\2\17\0\2\2\4\0\12\2\25\0\10\2\2\0"+ - "\2\2\2\0\26\2\1\0\7\2\1\0\2\2\1\0\5\2\3\0"+ - "\1\2\36\0\2\2\1\0\3\2\4\0\12\2\1\0\1\2\21\0"+ - "\1\2\1\0\6\2\3\0\3\2\1\0\4\2\3\0\2\2\1\0"+ - "\1\2\1\0\2\2\3\0\2\2\3\0\3\2\3\0\10\2\1\0"+ - "\3\2\55\0\11\2\25\0\10\2\1\0\3\2\1\0\27\2\1\0"+ - "\12\2\1\0\5\2\46\0\2\2\4\0\12\2\25\0\10\2\1\0"+ - "\3\2\1\0\27\2\1\0\12\2\1\0\5\2\3\0\1\2\40\0"+ - "\1\2\1\0\2\2\4\0\12\2\25\0\10\2\1\0\3\2\1\0"+ - "\27\2\1\0\20\2\46\0\2\2\4\0\12\2\25\0\22\2\3\0"+ - "\30\2\1\0\11\2\1\0\1\2\2\0\7\2\72\0\60\2\1\0"+ - "\2\2\14\0\7\2\11\0\12\2\47\0\2\2\1\0\1\2\2\0"+ - "\2\2\1\0\1\2\2\0\1\2\6\0\4\2\1\0\7\2\1\0"+ - "\3\2\1\0\1\2\1\0\1\2\2\0\2\2\1\0\4\2\1\0"+ - "\2\2\11\0\1\2\2\0\5\2\1\0\1\2\11\0\12\2\2\0"+ - "\2\2\42\0\1\2\37\0\12\2\26\0\10\2\1\0\42\2\35\0"+ - "\4\2\164\0\42\2\1\0\5\2\1\0\2\2\25\0\12\2\6\0"+ - "\6\2\112\0\46\2\12\0\51\2\7\0\132\2\5\0\104\2\5\0"+ - "\122\2\6\0\7\2\1\0\77\2\1\0\1\2\1\0\4\2\2\0"+ - "\7\2\1\0\1\2\1\0\4\2\2\0\47\2\1\0\1\2\1\0"+ - "\4\2\2\0\37\2\1\0\1\2\1\0\4\2\2\0\7\2\1\0"+ - "\1\2\1\0\4\2\2\0\7\2\1\0\7\2\1\0\27\2\1\0"+ - "\37\2\1\0\1\2\1\0\4\2\2\0\7\2\1\0\47\2\1\0"+ - "\23\2\16\0\11\2\56\0\125\2\14\0\u026c\2\2\0\10\2\12\0"+ - "\32\2\5\0\113\2\25\0\15\2\1\0\4\2\16\0\22\2\16\0"+ + "\37\2\1\0\u01ca\2\4\0\14\2\16\0\5\2\7\0\1\2\1\0"+ + "\1\2\201\0\5\2\1\0\2\2\2\0\4\2\1\0\1\2\6\0"+ + "\1\2\1\0\3\2\1\0\1\2\1\0\24\2\1\0\123\2\1\0"+ + "\213\2\10\0\246\2\1\0\46\2\2\0\1\2\6\0\51\2\107\0"+ + "\33\2\4\0\4\2\55\0\53\2\25\0\12\2\4\0\2\2\1\0"+ + "\143\2\1\0\1\2\17\0\2\2\7\0\17\2\2\0\1\2\20\0"+ + "\1\2\1\0\36\2\35\0\131\2\13\0\1\2\16\0\53\2\11\0"+ + "\2\2\4\0\1\2\5\0\26\2\4\0\1\2\11\0\1\2\3\0"+ + "\1\2\27\0\31\2\7\0\13\2\5\0\30\2\1\0\6\2\21\0"+ + "\52\2\72\0\66\2\3\0\1\2\22\0\1\2\7\0\12\2\4\0"+ + "\12\2\1\0\20\2\4\0\10\2\2\0\2\2\2\0\26\2\1\0"+ + "\7\2\1\0\1\2\3\0\4\2\3\0\1\2\20\0\1\2\15\0"+ + "\2\2\1\0\3\2\4\0\14\2\12\0\1\2\10\0\6\2\4\0"+ + "\2\2\2\0\26\2\1\0\7\2\1\0\2\2\1\0\2\2\1\0"+ + "\2\2\37\0\4\2\1\0\1\2\7\0\12\2\2\0\3\2\20\0"+ + "\11\2\1\0\3\2\1\0\26\2\1\0\7\2\1\0\2\2\1\0"+ + "\5\2\3\0\1\2\22\0\1\2\17\0\2\2\4\0\12\2\11\0"+ + "\1\2\13\0\10\2\2\0\2\2\2\0\26\2\1\0\7\2\1\0"+ + "\2\2\1\0\5\2\3\0\1\2\36\0\2\2\1\0\3\2\4\0"+ + "\12\2\1\0\1\2\21\0\1\2\1\0\6\2\3\0\3\2\1\0"+ + "\4\2\3\0\2\2\1\0\1\2\1\0\2\2\3\0\2\2\3\0"+ + "\3\2\3\0\14\2\26\0\1\2\25\0\12\2\25\0\10\2\1\0"+ + "\3\2\1\0\27\2\1\0\20\2\3\0\1\2\32\0\3\2\2\0"+ + "\1\2\2\0\2\2\4\0\12\2\20\0\1\2\4\0\10\2\1\0"+ + "\3\2\1\0\27\2\1\0\12\2\1\0\5\2\3\0\1\2\37\0"+ + "\2\2\1\0\2\2\4\0\12\2\1\0\2\2\21\0\11\2\1\0"+ + "\3\2\1\0\51\2\2\0\1\2\20\0\1\2\5\0\3\2\10\0"+ + "\3\2\4\0\12\2\12\0\6\2\5\0\22\2\3\0\30\2\1\0"+ + "\11\2\1\0\1\2\2\0\7\2\37\0\12\2\21\0\60\2\1\0"+ + "\2\2\14\0\7\2\11\0\12\2\47\0\2\2\1\0\1\2\1\0"+ + "\5\2\1\0\30\2\1\0\1\2\1\0\12\2\1\0\2\2\11\0"+ + "\1\2\2\0\5\2\1\0\1\2\11\0\12\2\2\0\4\2\40\0"+ + "\1\2\37\0\12\2\26\0\10\2\1\0\44\2\33\0\5\2\163\0"+ + "\53\2\24\0\13\2\6\0\6\2\4\0\4\2\3\0\1\2\3\0"+ + "\2\2\7\0\3\2\4\0\15\2\14\0\1\2\1\0\12\2\6\0"+ + "\46\2\1\0\1\2\5\0\1\2\2\0\53\2\1\0\u014d\2\1\0"+ + "\4\2\2\0\7\2\1\0\1\2\1\0\4\2\2\0\51\2\1\0"+ + "\4\2\2\0\41\2\1\0\4\2\2\0\7\2\1\0\1\2\1\0"+ + "\4\2\2\0\17\2\1\0\71\2\1\0\4\2\2\0\103\2\45\0"+ + "\20\2\20\0\126\2\2\0\6\2\3\0\u026c\2\2\0\21\2\1\0"+ + "\32\2\5\0\113\2\6\0\10\2\7\0\22\2\15\0\23\2\16\0"+ "\22\2\16\0\15\2\1\0\3\2\17\0\64\2\43\0\1\2\4\0"+ - "\1\2\3\0\12\2\46\0\12\2\6\0\130\2\10\0\51\2\127\0"+ - "\35\2\51\0\50\2\2\0\5\2\u038b\0\154\2\224\0\234\2\4\0"+ - "\132\2\6\0\26\2\2\0\6\2\2\0\46\2\2\0\6\2\2\0"+ - "\10\2\1\0\1\2\1\0\1\2\1\0\1\2\1\0\37\2\2\0"+ - "\65\2\1\0\7\2\1\0\1\2\3\0\3\2\1\0\7\2\3\0"+ - "\4\2\2\0\6\2\4\0\15\2\5\0\3\2\1\0\7\2\164\0"+ - "\1\2\15\0\1\2\202\0\1\2\4\0\1\2\2\0\12\2\1\0"+ + "\1\2\3\0\12\2\46\0\12\2\6\0\131\2\7\0\5\2\2\0"+ + "\42\2\1\0\1\2\5\0\106\2\12\0\37\2\47\0\50\2\2\0"+ + "\5\2\13\0\54\2\4\0\32\2\6\0\12\2\46\0\27\2\11\0"+ + "\65\2\53\0\12\2\6\0\12\2\15\0\1\2\135\0\57\2\21\0"+ + "\10\2\3\0\12\2\51\0\36\2\15\0\70\2\32\0\44\2\34\0"+ + "\12\2\3\0\61\2\2\0\11\2\7\0\53\2\2\0\3\2\51\0"+ + "\4\2\1\0\6\2\1\0\2\2\3\0\1\2\5\0\300\2\100\0"+ + "\u0116\2\2\0\6\2\2\0\46\2\2\0\6\2\2\0\10\2\1\0"+ + "\1\2\1\0\1\2\1\0\1\2\1\0\37\2\2\0\65\2\1\0"+ + "\7\2\1\0\1\2\3\0\3\2\1\0\7\2\3\0\4\2\2\0"+ + "\6\2\4\0\15\2\5\0\3\2\1\0\7\2\164\0\1\2\15\0"+ + "\1\2\20\0\15\2\145\0\1\2\4\0\1\2\2\0\12\2\1\0"+ "\1\2\3\0\5\2\6\0\1\2\1\0\1\2\1\0\1\2\1\0"+ - "\4\2\1\0\3\2\1\0\7\2\3\0\3\2\5\0\5\2\u0ebb\0"+ - "\2\2\52\0\5\2\5\0\2\2\4\0\126\2\6\0\3\2\1\0"+ - "\132\2\1\0\4\2\5\0\50\2\4\0\136\2\21\0\30\2\70\0"+ - "\20\2\u0200\0\u19b6\2\112\0\u51a6\2\132\0\u048d\2\u0773\0\u2ba4\2\u215c\0"+ - "\u012e\2\2\0\73\2\225\0\7\2\14\0\5\2\5\0\1\2\1\0"+ - "\12\2\1\0\15\2\1\0\5\2\1\0\1\2\1\0\2\2\1\0"+ - "\2\2\1\0\154\2\41\0\u016b\2\22\0\100\2\2\0\66\2\50\0"+ - "\14\2\164\0\5\2\1\0\207\2\23\0\12\2\7\0\32\2\6\0"+ - "\32\2\13\0\131\2\3\0\6\2\2\0\6\2\2\0\6\2\2\0"+ - "\3\2\43\0"; + "\4\2\1\0\13\2\2\0\4\2\5\0\5\2\4\0\1\2\64\0"+ + "\2\2\u0a7b\0\345\2\6\0\4\2\3\0\2\2\14\0\46\2\1\0"+ + "\1\2\5\0\1\2\2\0\70\2\7\0\1\2\20\0\27\2\11\0"+ + "\7\2\1\0\7\2\1\0\7\2\1\0\7\2\1\0\7\2\1\0"+ + "\7\2\1\0\7\2\1\0\7\2\120\0\1\2\u01d5\0\2\2\52\0"+ + "\5\2\5\0\2\2\4\0\126\2\6\0\3\2\1\0\132\2\1\0"+ + "\4\2\5\0\53\2\1\0\136\2\21\0\40\2\60\0\20\2\u0200\0"+ + "\u19c0\2\100\0\u568d\2\103\0\56\2\2\0\u010d\2\3\0\34\2\24\0"+ + "\57\2\20\0\37\2\2\0\106\2\61\0\11\2\2\0\147\2\2\0"+ + "\100\2\5\0\2\2\1\0\1\2\1\0\5\2\30\0\20\2\1\0"+ + "\3\2\1\0\4\2\1\0\27\2\35\0\64\2\16\0\62\2\34\0"+ + "\12\2\30\0\6\2\3\0\1\2\1\0\2\2\1\0\46\2\12\0"+ + "\27\2\31\0\35\2\7\0\57\2\34\0\13\2\6\0\5\2\1\0"+ + "\31\2\1\0\51\2\27\0\3\2\1\0\10\2\4\0\12\2\6\0"+ + "\27\2\3\0\1\2\3\0\62\2\1\0\1\2\3\0\2\2\2\0"+ + "\5\2\2\0\1\2\1\0\1\2\30\0\3\2\2\0\13\2\7\0"+ + "\3\2\14\0\6\2\2\0\6\2\2\0\6\2\11\0\7\2\1\0"+ + "\7\2\1\0\53\2\1\0\16\2\6\0\163\2\15\0\12\2\6\0"+ + "\u2ba4\2\14\0\27\2\4\0\61\2\u2104\0\u016e\2\2\0\152\2\46\0"+ + "\7\2\14\0\5\2\5\0\1\2\1\0\12\2\1\0\15\2\1\0"+ + "\5\2\1\0\1\2\1\0\2\2\1\0\2\2\1\0\154\2\41\0"+ + "\u016b\2\22\0\100\2\2\0\66\2\50\0\14\2\164\0\5\2\1\0"+ + "\207\2\23\0\12\2\7\0\32\2\6\0\32\2\13\0\131\2\3\0"+ + "\6\2\2\0\6\2\2\0\6\2\2\0\3\2\43\0"; /** * Translates characters to character classes @@ -379,7 +401,7 @@ public DocumentorColoringScanner(java.io.InputStream in) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ - while (i < 1204) { + while (i < 1636) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); @@ -541,8 +563,6 @@ public PHPDocCommentTokenId nextToken() throws java.io.IOException { while (true) { //zzMarkedPosL = zzMarkedPos; - //yychar+= zzMarkedPosL-zzStartRead; - zzAction = -1; //zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/lexer/PHP5ColoringLexer.java b/php/php.editor/src/org/netbeans/modules/php/editor/lexer/PHP5ColoringLexer.java index dd702ec29e88..42ecdcb0490b 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/lexer/PHP5ColoringLexer.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/lexer/PHP5ColoringLexer.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.1 on 12/23/25, 9:11 AM */ +/* The following code was generated by JFlex 1.4.3 on 12.03.26, 19:25 */ /* * Licensed to the Apache Software Foundation (ASF) under one @@ -32,9 +32,9 @@ /** * This class is a scanner generated by - * JFlex 1.4.1 - * on 12/23/25, 9:11 AM from the specification file - * /home/bhaidu/BHA/Netbeans/Projects/netbeans/php/php.editor/tools/Php5ColoringScanner.flex + * JFlex 1.4.3 + * on 12.03.26, 19:25 from the specification file + * /home/matthias/src/netbeans/php/php.editor/tools/Php5ColoringScanner.flex */ public class PHP5ColoringLexer { @@ -45,29 +45,41 @@ public class PHP5ColoringLexer { private static final int ZZ_BUFFERSIZE = 16384; /** lexical states */ - public static final int ST_PHP_END_NOWDOC = 11; - public static final int ST_PHP_NOWDOC = 9; - public static final int ST_PHP_END_HEREDOC = 8; - public static final int ST_PHP_COMMENT = 16; - public static final int ST_PHP_START_HEREDOC = 7; - public static final int ST_PHP_QUOTES_AFTER_VARIABLE = 4; - public static final int ST_PHP_IN_SCRIPTING = 1; - public static final int ST_PHP_LOOKING_FOR_CONSTANT_NAME = 14; - public static final int ST_PHP_LOOKING_FOR_STATIC_PROPERTY = 5; - public static final int ST_PHP_DOC_COMMENT = 17; - public static final int ST_PHP_LINE_COMMENT = 18; - public static final int ST_PHP_LOOKING_FOR_FUNCTION_NAME = 13; - public static final int ST_PHP_BACKQUOTE = 3; - public static final int ST_PHP_START_NOWDOC = 10; - public static final int ST_PHP_HEREDOC = 6; - public static final int ST_HALTED_COMPILER = 20; - public static final int ST_PHP_HIGHLIGHTING_ERROR = 19; - public static final int ST_PHP_LOOKING_FOR_PARAMETER_NAME = 22; - public static final int ST_PHP_LOOKING_FOR_TRUE_FALSE_NULL = 21; - public static final int ST_PHP_VAR_OFFSET = 15; + public static final int ST_PHP_END_NOWDOC = 22; + public static final int ST_PHP_NOWDOC = 18; + public static final int ST_PHP_END_HEREDOC = 16; + public static final int ST_PHP_COMMENT = 32; + public static final int ST_PHP_START_HEREDOC = 14; + public static final int ST_PHP_QUOTES_AFTER_VARIABLE = 8; + public static final int ST_PHP_IN_SCRIPTING = 2; + public static final int ST_PHP_LOOKING_FOR_CONSTANT_NAME = 28; + public static final int ST_PHP_LOOKING_FOR_STATIC_PROPERTY = 10; + public static final int ST_PHP_DOC_COMMENT = 34; + public static final int ST_PHP_LINE_COMMENT = 36; + public static final int ST_PHP_LOOKING_FOR_FUNCTION_NAME = 26; + public static final int ST_PHP_BACKQUOTE = 6; + public static final int ST_PHP_START_NOWDOC = 20; + public static final int ST_PHP_HEREDOC = 12; + public static final int ST_HALTED_COMPILER = 40; + public static final int ST_PHP_HIGHLIGHTING_ERROR = 38; + public static final int ST_PHP_LOOKING_FOR_PARAMETER_NAME = 44; + public static final int ST_PHP_LOOKING_FOR_TRUE_FALSE_NULL = 42; + public static final int ST_PHP_VAR_OFFSET = 30; public static final int YYINITIAL = 0; - public static final int ST_PHP_DOUBLE_QUOTES = 2; - public static final int ST_PHP_LOOKING_FOR_PROPERTY = 12; + public static final int ST_PHP_DOUBLE_QUOTES = 4; + public static final int ST_PHP_LOOKING_FOR_PROPERTY = 24; + + /** + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l + * at the beginning of a line + * l is of the form l = 2*k, k a non negative integer + */ + private static final int ZZ_LEXSTATE[] = { + 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, + 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, + 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22 + }; /** * Translates characters to character classes @@ -2101,7 +2113,7 @@ public PHPTokenId nextToken() throws java.io.IOException { //zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; int tokenLength = 0; - zzState = zzLexicalState; + zzState = ZZ_LEXSTATE[zzLexicalState]; zzForAction: { diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java index 4b1737e19994..9a83d9654fca 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java @@ -19,7 +19,7 @@ //---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 -// Tue Dec 23 09:12:17 EET 2025 +// Thu Mar 12 19:25:27 CET 2026 //---------------------------------------------------- package org.netbeans.modules.php.editor.parser; @@ -30,7 +30,7 @@ import org.openide.util.Pair; /** CUP v0.11a beta 20060608 generated parser. - * @version Tue Dec 23 09:12:17 EET 2025 + * @version Thu Mar 12 19:25:27 CET 2026 */ @org.netbeans.api.annotations.common.SuppressWarnings({"EI_EXPOSE_REP", "MS_PKGPROTECT", "BC_BAD_CAST_TO_CONCRETE_COLLECTION"}) public class ASTPHP5Parser extends java_cup.runtime.lr_parser { diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java index f6156232a013..322a3682f3a1 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.1 on 12/23/25, 9:12 AM */ +/* The following code was generated by JFlex 1.4.3 on 12.03.26, 19:25 */ /* * Licensed to the Apache Software Foundation (ASF) under one @@ -34,9 +34,9 @@ /** * This class is a scanner generated by - * JFlex 1.4.1 - * on 12/23/25, 9:12 AM from the specification file - * /home/bhaidu/BHA/Netbeans/Projects/netbeans/php/php.editor/tools/ASTPHP5Scanner.flex + * JFlex 1.4.3 + * on 12.03.26, 19:25 from the specification file + * /home/matthias/src/netbeans/php/php.editor/tools/ASTPHP5Scanner.flex */ public class ASTPHP5Scanner implements Scanner { @@ -47,24 +47,36 @@ public class ASTPHP5Scanner implements Scanner { private static final int ZZ_BUFFERSIZE = 16384; /** lexical states */ - public static final int ST_DOCBLOCK = 14; - public static final int ST_END_HEREDOC = 6; - public static final int ST_DOUBLE_QUOTES = 2; - public static final int ST_LOOKING_FOR_VARNAME = 11; - public static final int ST_LOOKING_FOR_PROPERTY = 10; - public static final int ST_IN_SHORT_ECHO = 16; - public static final int ST_END_NOWDOC = 9; - public static final int ST_COMMENT = 13; - public static final int ST_ONE_LINE_COMMENT = 15; - public static final int ST_HALTED_COMPILER = 17; - public static final int ST_START_NOWDOC = 8; - public static final int ST_VAR_OFFSET = 12; - public static final int ST_IN_SCRIPTING = 1; - public static final int ST_HEREDOC = 4; + public static final int ST_DOCBLOCK = 28; + public static final int ST_END_HEREDOC = 12; + public static final int ST_DOUBLE_QUOTES = 4; + public static final int ST_LOOKING_FOR_VARNAME = 22; + public static final int ST_LOOKING_FOR_PROPERTY = 20; + public static final int ST_IN_SHORT_ECHO = 32; + public static final int ST_END_NOWDOC = 18; + public static final int ST_COMMENT = 26; + public static final int ST_ONE_LINE_COMMENT = 30; + public static final int ST_HALTED_COMPILER = 34; + public static final int ST_START_NOWDOC = 16; + public static final int ST_VAR_OFFSET = 24; + public static final int ST_IN_SCRIPTING = 2; + public static final int ST_HEREDOC = 8; public static final int YYINITIAL = 0; - public static final int ST_NOWDOC = 7; - public static final int ST_START_HEREDOC = 5; - public static final int ST_BACKQUOTE = 3; + public static final int ST_NOWDOC = 14; + public static final int ST_START_HEREDOC = 10; + public static final int ST_BACKQUOTE = 6; + + /** + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l + * at the beginning of a line + * l is of the form l = 2*k, k a non negative integer + */ + private static final int ZZ_LEXSTATE[] = { + 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, + 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, + 16, 16, 17, 17 + }; /** * Translates characters to character classes @@ -1638,9 +1650,6 @@ the source of the yytext() string */ /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; - /** denotes if the user-EOF-code has already been executed */ - private boolean zzEOFDone; - /* user code: */ private final List commentList = new ArrayList(); private final Deque heredocStack = new ArrayDeque<>(); @@ -2253,7 +2262,7 @@ else if (zzAtEOF) zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; - zzState = zzLexicalState; + zzState = ZZ_LEXSTATE[zzLexicalState]; zzForAction: { diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java index e0fb320f3acd..84dad8a4a597 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java @@ -19,7 +19,7 @@ //---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 -// Tue Dec 23 09:12:17 EET 2025 +// Thu Mar 12 19:25:27 CET 2026 //---------------------------------------------------- package org.netbeans.modules.php.editor.parser; diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java index 9a3de5cf1fb9..e51385b5e607 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java index 2af1cdbe4844..19b29035e93c 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java index f7615d551ad6..a3730564ef8e 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java index 29e26380ef2a..187f997ff18b 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java index 938fff751adf..2f77fa3215b0 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java index e1282226d4dd..543532f92b72 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java index 7a41466fa2c3..ff90f69f39f0 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java index 6412a9009fff..72636f046c29 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java index 45838b353e51..33d3043fd703 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java index 8ecc691a177f..6dd5c401be96 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java index 82aef23a52fe..c8b781e65ba9 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable2.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable2.java index d126e6476570..00de657c61f3 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable2.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable2.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java index 74421ec6255e..0afa1932945e 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java index 2525b06cebd0..37b13d256ea9 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable22.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable22.java deleted file mode 100644 index a4be0f3e993a..000000000000 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable22.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.php.editor.parser; - -/** - * Class generated by Parser Cutter - */ -public class EncodedActionTable22 { - protected final StringBuilder sb; - public String getTableData() { - return sb.toString(); - } - protected EncodedActionTable22() { - sb = new StringBuilder(); - sb.append("\200"); - sb.append("\130"); - sb.append("\201"); - sb.append("\067"); - sb.append("\203"); - sb.append("\054"); - sb.append("\204"); - sb.append("\120"); - sb.append("\205"); - sb.append("\210"); - sb.append("\206"); - sb.append("\154"); - sb.append("\207"); - sb.append("\217"); - sb.append("\210"); - sb.append("\151"); - sb.append("\211"); - sb.append("\142"); - sb.append("\212"); - sb.append("\155"); - sb.append("\213"); - sb.append("\063"); - sb.append("\214"); - sb.append("\074"); - sb.append("\215"); - sb.append("\114"); - sb.append("\217"); - sb.append("\u0211"); - sb.append("\220"); - sb.append("\u0180"); - sb.append("\221"); - sb.append("\u0181"); - sb.append("\222"); - sb.append("\u0194"); - sb.append("\223"); - sb.append("\u0203"); - sb.append("\224"); - sb.append("\u017c"); - sb.append("\225"); - sb.append("\u0163"); - sb.append("\226"); - sb.append("\u0191"); - sb.append("\227"); - sb.append("\u0190"); - sb.append("\230"); - sb.append("\u019f"); - sb.append("\231"); - sb.append("\u01b4"); - sb.append("\232"); - sb.append("\ufec3"); - sb.append("\234"); - sb.append("\152"); - sb.append("\235"); - sb.append("\015"); - sb.append("\236"); - sb.append("\073"); - sb.append("\237"); - sb.append("\060"); - sb.append("\241"); - sb.append("\u0195"); - sb.append("\242"); - sb.append("\u018f"); - sb.append("\245"); - sb.append("\u0210"); - sb.append("\250"); - sb.append("\021"); - sb.append("\251"); - sb.append("\u015d"); - sb.append("\254"); - sb.append("\147"); - sb.append("\255"); - sb.append("\064"); - sb.append("\256"); - sb.append("\055"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\232"); - sb.append("\u0663"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\174"); - sb.append("\031"); - sb.append("\ufdeb"); - sb.append("\033"); - sb.append("\ufdeb"); - sb.append("\071"); - sb.append("\ufdeb"); - sb.append("\072"); - sb.append("\ufdeb"); - sb.append("\073"); - sb.append("\ufdeb"); - sb.append("\111"); - sb.append("\ufdeb"); - sb.append("\112"); - sb.append("\ufdeb"); - sb.append("\113"); - sb.append("\ufdeb"); - sb.append("\127"); - sb.append("\ufdeb"); - sb.append("\130"); - sb.append("\ufdeb"); - sb.append("\131"); - sb.append("\ufdeb"); - sb.append("\132"); - sb.append("\ufdeb"); - sb.append("\134"); - sb.append("\ufdeb"); - sb.append("\135"); - sb.append("\ufdeb"); - sb.append("\136"); - sb.append("\ufdeb"); - sb.append("\137"); - sb.append("\ufdeb"); - sb.append("\140"); - sb.append("\ufdeb"); - sb.append("\141"); - sb.append("\ufdeb"); - sb.append("\142"); - sb.append("\ufdeb"); - sb.append("\143"); - sb.append("\ufdeb"); - sb.append("\144"); - sb.append("\ufdeb"); - sb.append("\145"); - sb.append("\ufdeb"); - sb.append("\146"); - sb.append("\ufdeb"); - sb.append("\147"); - sb.append("\ufdeb"); - sb.append("\150"); - sb.append("\ufdeb"); - sb.append("\151"); - sb.append("\ufdeb"); - sb.append("\152"); - sb.append("\ufdeb"); - sb.append("\153"); - sb.append("\ufdeb"); - sb.append("\154"); - sb.append("\ufdeb"); - sb.append("\155"); - sb.append("\ufdeb"); - sb.append("\156"); - sb.append("\ufdeb"); - sb.append("\157"); - sb.append("\ufdeb"); - sb.append("\160"); - sb.append("\ufdeb"); - sb.append("\161"); - sb.append("\ufdeb"); - sb.append("\162"); - sb.append("\ufdeb"); - sb.append("\163"); - sb.append("\ufdeb"); - sb.append("\164"); - sb.append("\ufdeb"); - sb.append("\165"); - sb.append("\ufdeb"); - sb.append("\166"); - sb.append("\ufdeb"); - sb.append("\167"); - sb.append("\ufdeb"); - sb.append("\170"); - sb.append("\ufdeb"); - sb.append("\171"); - sb.append("\ufdeb"); - sb.append("\172"); - sb.append("\ufdeb"); - sb.append("\173"); - sb.append("\ufdeb"); - sb.append("\174"); - sb.append("\ufdeb"); - sb.append("\175"); - sb.append("\ufdeb"); - sb.append("\176"); - sb.append("\ufdeb"); - sb.append("\177"); - sb.append("\ufdeb"); - sb.append("\202"); - sb.append("\ufdeb"); - sb.append("\203"); - sb.append("\ufdeb"); - sb.append("\204"); - sb.append("\ufdeb"); - sb.append("\215"); - sb.append("\ufdeb"); - sb.append("\216"); - sb.append("\ufdeb"); - sb.append("\231"); - sb.append("\ufdeb"); - sb.append("\232"); - sb.append("\ufdeb"); - sb.append("\233"); - sb.append("\ufdeb"); - sb.append("\243"); - sb.append("\ufdeb"); - sb.append("\244"); - sb.append("\ufdeb"); - sb.append("\246"); - sb.append("\ufdeb"); - sb.append("\247"); - sb.append("\ufdeb"); - sb.append("\252"); - sb.append("\ufdeb"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\012"); - sb.append("\065"); - sb.append("\uff2b"); - sb.append("\224"); - sb.append("\uff2b"); - sb.append("\225"); - sb.append("\uff2b"); - sb.append("\251"); - sb.append("\uff2b"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\010"); - sb.append("\uff26"); - sb.append("\001"); - sb.append("\002"); - sb.append("\000"); - sb.append("\004"); - sb.append("\002"); - sb.append("\000"); - sb.append("\001"); - sb.append("\002"); - sb.append(""); - } -} \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java index d0e731156763..d66678c47cc5 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java index 7cc443445e5b..5a81d1be085d 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java index 67060d7f9e61..39e89cc60753 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java index 74314baf4bf3..cc4cb711f593 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java index bd43b10ab052..104a172124f9 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java index f4e4033bfcf6..c07aad65c3ec 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java index f9d27d9f4793..86f50c994c23 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.php.editor.parser; /** From 2771bcf9e0290e0e937e7a4f2afdde7d6a45c435 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Thu, 12 Mar 2026 20:48:03 +0100 Subject: [PATCH 22/74] Small option window fixes (Rust, CCPLite and Env) - ccplite icon had the wrong height which caused text alignment issues (now 32px like the other icons) - moved rust panel next to other languages - fixed Env file hints registration (symptom: layer ordering warning) --- .../cpplite/editor/lsp/options/cnd_32.png | Bin 2219 -> 2164 bytes .../env/hints/HintsControllerFactory.java | 2 +- .../modules/rust/options/package-info.java | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cpplite/cpplite.editor/src/org/netbeans/modules/cpplite/editor/lsp/options/cnd_32.png b/cpplite/cpplite.editor/src/org/netbeans/modules/cpplite/editor/lsp/options/cnd_32.png index f848c172395c29550d10e78f42a61522363a3ee5..bd5869e58924942b4e6e5bda9ebe70b4adbb903c 100644 GIT binary patch literal 2164 zcmV-)2#fcLP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy24YJ`L;x@VG5|DQImWU8000SaNLh0L01FcU01FcV0GgZ_00007 zbV*G`2kHY15flhZ?7<8G00+29L_t(o!{wK4a8y?r$N%TP?cKdgb~l?%0>KSQGYKTn zTGFO75K0HAt)|eIX~jWBY^@`V;#jOh3stMoj@CNbH>Ok^rYJL792Dz7B~@Y+B@_lo zfFwYY-6Xr4-Rx_2_rB~s_xK@DUd-4H(+|#gKizxIbDrmSpXZ!={}1s0ev#=e*wG%S z?C$QbTJxDZo~MRdJ45Ch0C0o=8O;hP4rTcKNb)er4DbKK1FhX38$j1UrVhaK0M?Yq z93&o43xF&DlmQ|Kh&+M70}@Y=Gc24P$#;iR>USQ$r~1%M19bMMB>>w1d{dD)>Bf1U z0|f4>8$|;02H><25CW(M#cgG-60xx;jDiKq7zB=>!aD<=G9OA^4rDX|ij9Y26Cepd&R{s&GXen3 zH^!P0K-abJ%63PaK^cI_G}eozA z2gXAI{AAK^FrFhZ3rt z0Py=1#3xkjdF7{2TowDCTo`O#+(2vWP6@|PhLFgpSl(I-%cMw-1aLk#C%9(QuIlN0 z*sjZfR$y&8o!V1*6N-%o14HL~?J)A$?7CG8H~E7511CEePK}uuOex4x2L^&Cz^noq zy#$5wS^lH{=;RkIUP5mQfDm$TCT~n`JW0SxXMvEv!V|G zl%_9jcY2)5awEOX?o1Xo8^Cx6991QV=LyP1_p0CTdHLx|fAy&{uW#=yO?UsC5JHOv zD45iB<=&(eM!|%|7-XB20Dzjh#`MrY?;;|f-Xdf|kLo6EG@01PXM+uMsyMi-{EerF z6g1T-&CJX+UpTpM6=Q7qe}lN81S~D`lS8UbAz9DUwnGK;tq2P@%ba%c3J@hZ|dJv_;$kKCv|HV^9XMiz8M4tF1iHBiXC{PO% z@loV+H4OkFQ#q)1YwHmkNAPqEml70*PBN5;9gszWd6fc~yLLT*mx?R_J16p7i@d&k@()rKQsT`Egt{(Ny^1$P>VM&t{%lxBQ+3Lh?uSOodLI#hsSP!sX7$Nf~%?) za%t7xX-Tr59UOd{5c0)HQp0#gMZvU?3tvJs7({)&f9qRYKfC=}`$!_=nQWdC@=|q+JfM|X;P)uvg|U<-g%dew#^edgMFtQX3Bj#! zJ04$o+cT@~yE}blO&}1IhDXC&O1ZvA8Pyt1YV{sGmP`C~sAN%jbuC=_C|-MREh$

MP^}Ut9Zd*Ohfo{cy)8Pxfb483p=v zLreJ+hbC6j#}wb82B}B&8viQK9J+97izIV~0m( zNQVbNnE+yDk`q5^TBZhl^z8?2SeZ4UgQ!H?0Vs=q$o|eqdnmB zI&DYeS-mcl&=5s(pcgDek}ATZ^g2plAVzbZZ@ z5wgI6kV#2y6FFQ_>`9$VNSyT8wEKcL|9HyotEhO@pm<_9t|67xp_$foHWJT4xGc>j zfq)PKS(=2)YbNrUc(*kXd1Tv$2QS`qXY}^L4_f8Y+1s+3xipn4Krc|3bP~iS^58GO zsx0v!0Q7=|L^>Nug@=AnA?J5)-LRT|EWP26e)B;Mad=i+7Q2@tSRe|#kGmXPGfbK{ q*r`-De^`wS9@@G2p^pFg?)cvi%w@02(3FM%0000v@ny8A@s8Xv&X^C2>617s)NG(!OQKF`bidqE; zHBC}lOd|xM4HSxNj4!b9+TLC7dhcU)W@mQ#&KevpWAdl`=_kEAJKucsJ@5H^?=Xg8 z;9(659^!bY;M_tFUh55kXBjYs7+iHrkjSfO@Ja}$nzZNZZdO=UTn7wB40D;St6n&8h9`0+)-&x~g81uBrdMDjgJun2cPWC@hB zF!T2ktthI1!%AMGX<5}VnNt5w;NK$f(1LD{rAv42?IU^D=dx~4wF*oKMbpWJ99elI zX&C0V7Ygd!HK!Obb+XaI);e)(G^6~RrfU~WIGwz3i?~Qm@|L{r_LZIOds|zBE{CWi;1Y28S_JXPBwl>#31-2BJJegvhjyF54v-hB$z>z$gLNX_ zJ9!SnLszlAH9Y&dt=)CtYaka(2n4*C9{dnPVfGZ~>D)G(tLS6Xv)<{P_26S0R_w{? zcFcw+@XB*vV(v>aETt~VzGPkzN|dD<1KtXvjGn{T zr4JxzQBqDu7k75E-&T6zvm3kdL8IrA}8amU%v{;Re$uEb)of-b?B`&hk)}J!$@XjZ0l)5g(@I5HG#oGOKAC~r<(&y zf+$;fv^Mx2oZ(7kV>>07EnU>A2}5~`(|_%STFmG7?p*f+U+CDx#Zv|@&1e`;OURQ; z$3hoiRLWRY%b@IU2$stlC99z?27DJd!!VC$i*to)CfH0`L3n%!TYI|SXl-r`2{CKj z#j3t9blWj9C8OdG;!~@-pv4A}O=K{|AR3J)^rodPAOB#X5O?VGqgN`R`bH#{hDHPz z4AdTLUfO{APi%Qpa!V)`wJNQ;Dlrs7myw}*XCyZmj(@Y9k0Y6w`S=G5QDLJ(Or}t> znKfL9O;N1<2rQ`|cDX#Lbba$>hsUwCFg3K^oz25)B?q&1*c+Wl6dCw=_fFZ!{;-t2 ze(Bmk;mESC&-}{dt_K1yYr5;^e@!FUjjATC{%Mx&>IxOxnBnWCH?({hPDux=&Y=JF+fc&)1gnJL<)$`YIrIAW zAINetGD^o{P@wZtrMQ>%3UY~Q6br2#x~@mfHBN^E&A}G96>1~?e*wr7E-Us=@hvSwT{E$1v2vRs2<^FVa^F*F|iimod2>zoc7 zF%; zR)-7cMzVV+rovv6RBjzDEzR&ZHBZ+zcqklJZ0d4gYj7GndK_5ePoc&mz`_aB4+LI| z)H|ZUs#gA^>4ue$AQHOf>OFnomrC*OPA5@NkJNTN0;jhIZU+mGO@$#V)Kpa9YHWk( zZ9K9NIJ*ADXC8~Q1bu3FfHh4q>naCJ*F&r2zk4#=cN@l1N(jb>A5U6hpbaYqO z2Rssdb_2r$LntJpc>U#Pn0wZ_MVu!%RaVNoeNO9Hsyee}CJ)F}wu_`l5js-+jh!$n zLn4w_h>D{$A4wI784a4_tBs{VRYP7tLF3WAdL@(@i@qSq)Sz(dZCuS4HZ5_w|3sT? zsK(v2OqpvYuTw9_(dGij&c7fE{9J>{%(cyC)!gi=Q;H=?o%ikq!3(l_XHG;5a%_vQ zzW$)J)cNhnL Date: Fri, 13 Mar 2026 13:55:56 +0100 Subject: [PATCH 23/74] PHP: javacup 11a library can be downloaded from maven central net.sf.squirrel-sql.thirdparty-non-maven:java-cup:0.11a is bit identical with the current custom hosted version. --- php/libs.javacup/external/binaries-list | 2 +- .../{java-cup-11a-license.txt => java-cup-0.11a-license.txt} | 2 +- php/libs.javacup/nbproject/project.properties | 2 +- php/libs.javacup/nbproject/project.xml | 2 +- php/php.editor/build.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) rename php/libs.javacup/external/{java-cup-11a-license.txt => java-cup-0.11a-license.txt} (98%) diff --git a/php/libs.javacup/external/binaries-list b/php/libs.javacup/external/binaries-list index 9a229aa2f608..f053bfa66447 100644 --- a/php/libs.javacup/external/binaries-list +++ b/php/libs.javacup/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -1DE46CC85D147D9F91AF59D4A0107091C8B112D6 java-cup-11a.jar +1DE46CC85D147D9F91AF59D4A0107091C8B112D6 net.sf.squirrel-sql.thirdparty-non-maven:java-cup:0.11a diff --git a/php/libs.javacup/external/java-cup-11a-license.txt b/php/libs.javacup/external/java-cup-0.11a-license.txt similarity index 98% rename from php/libs.javacup/external/java-cup-11a-license.txt rename to php/libs.javacup/external/java-cup-0.11a-license.txt index 27a1bfcd0971..db6e7830b50b 100644 --- a/php/libs.javacup/external/java-cup-11a-license.txt +++ b/php/libs.javacup/external/java-cup-0.11a-license.txt @@ -3,7 +3,7 @@ Version: 11 Description: LALR Parser Generator in Java License: JavaCUP Origin: http://www2.cs.tum.edu/projects/cup/ -Files: java-cup-11a.jar +Files: java-cup-0.11a.jar Source: http://www2.cs.tum.edu/projects/cup/ OSR: 11673 diff --git a/php/libs.javacup/nbproject/project.properties b/php/libs.javacup/nbproject/project.properties index 3dc833f157aa..7e6abb6e61df 100644 --- a/php/libs.javacup/nbproject/project.properties +++ b/php/libs.javacup/nbproject/project.properties @@ -16,5 +16,5 @@ # under the License. is.autoload=true -release.external/java-cup-11a.jar=modules/ext/java-cup-11a.jar +release.external/java-cup-0.11a.jar=modules/ext/java-cup-11a.jar spec.version.base=1.56.0 diff --git a/php/libs.javacup/nbproject/project.xml b/php/libs.javacup/nbproject/project.xml index 405e8f4afc38..b6c8fc1da1ac 100644 --- a/php/libs.javacup/nbproject/project.xml +++ b/php/libs.javacup/nbproject/project.xml @@ -32,7 +32,7 @@ ext/java-cup-11a.jar - external/java-cup-11a.jar + external/java-cup-0.11a.jar diff --git a/php/php.editor/build.xml b/php/php.editor/build.xml index a4d1a6b3e649..90ee31a19690 100644 --- a/php/php.editor/build.xml +++ b/php/php.editor/build.xml @@ -149,7 +149,7 @@ + classpath="${nb_all}/php/libs.javacup/external/java-cup-0.11a.jar" /> Date: Wed, 4 Mar 2026 15:52:09 +0000 Subject: [PATCH 24/74] Update applemenu module to use only JDK APIs. Merge adapters to only use JDK APIs. Remove use of external binaries. Update to release 17. --- platform/applemenu/build.xml | 10 - ...u-external-desktop-classes-8.2-license.txt | 389 ------------------ platform/applemenu/external/binaries-list | 18 - .../orange-extensions-1.3.1-license.txt | 39 -- .../applemenu/nbproject/project.properties | 5 +- .../netbeans/modules/applemenu/Install.java | 29 +- .../applemenu/NbApplicationAdapter.java | 107 +++-- .../applemenu/NbApplicationAdapterJDK8.java | 85 ---- .../applemenu/NbApplicationAdapterJDK9.java | 88 ---- 9 files changed, 86 insertions(+), 684 deletions(-) delete mode 100644 platform/applemenu/external/applemenu-external-desktop-classes-8.2-license.txt delete mode 100644 platform/applemenu/external/binaries-list delete mode 100644 platform/applemenu/external/orange-extensions-1.3.1-license.txt delete mode 100644 platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapterJDK8.java delete mode 100644 platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapterJDK9.java diff --git a/platform/applemenu/build.xml b/platform/applemenu/build.xml index a72a0ab74e5e..29710f0f1d0b 100644 --- a/platform/applemenu/build.xml +++ b/platform/applemenu/build.xml @@ -23,14 +23,4 @@ - - - - - - - - - diff --git a/platform/applemenu/external/applemenu-external-desktop-classes-8.2-license.txt b/platform/applemenu/external/applemenu-external-desktop-classes-8.2-license.txt deleted file mode 100644 index f7a0f76927c7..000000000000 --- a/platform/applemenu/external/applemenu-external-desktop-classes-8.2-license.txt +++ /dev/null @@ -1,389 +0,0 @@ -Name: External Desktop Classes -Description: Provides java.awt.desktop classes to support compilation on JDK 8. -Version: 8.2 -License: CDDL-1.0 -Source: file://applemenu-external-desktop-classes-8.2.zip -Origin: NetBeans -Type: compile-time -Comment: Allows to build code leveraging JDK 9's java.awt.desktop classes on JDK 8. - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - -1. Definitions. - -1.1. "Contributor" means each individual or entity that -creates or contributes to the creation of Modifications. - -1.2. "Contributor Version" means the combination of the -Original Software, prior Modifications used by a -Contributor (if any), and the Modifications made by that -particular Contributor. - -1.3. "Covered Software" means (a) the Original Software, or -(b) Modifications, or (c) the combination of files -containing Original Software with files containing -Modifications, in each case including portions thereof. - -1.4. "Executable" means the Covered Software in any form -other than Source Code. - -1.5. "Initial Developer" means the individual or entity -that first makes Original Software available under this -License. - -1.6. "Larger Work" means a work which combines Covered -Software or portions thereof with code not governed by the -terms of this License. - -1.7. "License" means this document. - -1.8. "Licensable" means having the right to grant, to the -maximum extent possible, whether at the time of the initial -grant or subsequently acquired, any and all of the rights -conveyed herein. - -1.9. "Modifications" means the Source Code and Executable -form of any of the following: - -A. Any file that results from an addition to, -deletion from or modification of the contents of a -file containing Original Software or previous -Modifications; - -B. Any new file that contains any part of the -Original Software or previous Modification; or - -C. Any new file that is contributed or otherwise made -available under the terms of this License. - -1.10. "Original Software" means the Source Code and -Executable form of computer software code that is -originally released under this License. - -1.11. "Patent Claims" means any patent claim(s), now owned -or hereafter acquired, including without limitation, -method, process, and apparatus claims, in any patent -Licensable by grantor. - -1.12. "Source Code" means (a) the common form of computer -software code in which modifications are made and (b) -associated documentation included in or with such code. - -1.13. "You" (or "Your") means an individual or a legal -entity exercising rights under, and complying with all of -the terms of, this License. For legal entities, "You" -includes any entity which controls, is controlled by, or is -under common control with You. For purposes of this -definition, "control" means (a) the power, direct or -indirect, to cause the direction or management of such -entity, whether by contract or otherwise, or (b) ownership -of more than fifty percent (50%) of the outstanding shares -or beneficial ownership of such entity. - -2. License Grants. - -2.1. The Initial Developer Grant. - -Conditioned upon Your compliance with Section 3.1 below and -subject to third party intellectual property claims, the -Initial Developer hereby grants You a world-wide, -royalty-free, non-exclusive license: - -(a) under intellectual property rights (other than -patent or trademark) Licensable by Initial Developer, -to use, reproduce, modify, display, perform, -sublicense and distribute the Original Software (or -portions thereof), with or without Modifications, -and/or as part of a Larger Work; and - -(b) under Patent Claims infringed by the making, -using or selling of Original Software, to make, have -made, use, practice, sell, and offer for sale, and/or -otherwise dispose of the Original Software (or -portions thereof). - -(c) The licenses granted in Sections 2.1(a) and (b) -are effective on the date Initial Developer first -distributes or otherwise makes the Original Software -available to a third party under the terms of this -License. - -(d) Notwithstanding Section 2.1(b) above, no patent -license is granted: (1) for code that You delete from -the Original Software, or (2) for infringements -caused by: (i) the modification of the Original -Software, or (ii) the combination of the Original -Software with other software or devices. - -2.2. Contributor Grant. - -Conditioned upon Your compliance with Section 3.1 below and -subject to third party intellectual property claims, each -Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than -patent or trademark) Licensable by Contributor to -use, reproduce, modify, display, perform, sublicense -and distribute the Modifications created by such -Contributor (or portions thereof), either on an -unmodified basis, with other Modifications, as -Covered Software and/or as part of a Larger Work; and - -(b) under Patent Claims infringed by the making, -using, or selling of Modifications made by that -Contributor either alone and/or in combination with -its Contributor Version (or portions of such -combination), to make, use, sell, offer for sale, -have made, and/or otherwise dispose of: (1) -Modifications made by that Contributor (or portions -thereof); and (2) the combination of Modifications -made by that Contributor with its Contributor Version -(or portions of such combination). - -(c) The licenses granted in Sections 2.2(a) and -2.2(b) are effective on the date Contributor first -distributes or otherwise makes the Modifications -available to a third party. - -(d) Notwithstanding Section 2.2(b) above, no patent -license is granted: (1) for any code that Contributor -has deleted from the Contributor Version; (2) for -infringements caused by: (i) third party -modifications of Contributor Version, or (ii) the -combination of Modifications made by that Contributor -with other software (except as part of the -Contributor Version) or other devices; or (3) under -Patent Claims infringed by Covered Software in the -absence of Modifications made by that Contributor. - -3. Distribution Obligations. - -3.1. Availability of Source Code. - -Any Covered Software that You distribute or otherwise make -available in Executable form must also be made available in -Source Code form and that Source Code form must be -distributed only under the terms of this License. You must -include a copy of this License with every copy of the -Source Code form of the Covered Software You distribute or -otherwise make available. You must inform recipients of any -such Covered Software in Executable form as to how they can -obtain such Covered Software in Source Code form in a -reasonable manner on or through a medium customarily used -for software exchange. - -3.2. Modifications. - -The Modifications that You create or to which You -contribute are governed by the terms of this License. You -represent that You believe Your Modifications are Your -original creation(s) and/or You have sufficient rights to -grant the rights conveyed by this License. - -3.3. Required Notices. - -You must include a notice in each of Your Modifications -that identifies You as the Contributor of the Modification. -You may not remove or alter any copyright, patent or -trademark notices contained within the Covered Software, or -any notices of licensing or any descriptive text giving -attribution to any Contributor or the Initial Developer. - -3.4. Application of Additional Terms. - -You may not offer or impose any terms on any Covered -Software in Source Code form that alters or restricts the -applicable version of this License or the recipients' -rights hereunder. You may choose to offer, and to charge a -fee for, warranty, support, indemnity or liability -obligations to one or more recipients of Covered Software. -However, you may do so only on Your own behalf, and not on -behalf of the Initial Developer or any Contributor. You -must make it absolutely clear that any such warranty, -support, indemnity or liability obligation is offered by -You alone, and You hereby agree to indemnify the Initial -Developer and every Contributor for any liability incurred -by the Initial Developer or such Contributor as a result of -warranty, support, indemnity or liability terms You offer. - -3.5. Distribution of Executable Versions. - -You may distribute the Executable form of the Covered -Software under the terms of this License or under the terms -of a license of Your choice, which may contain terms -different from this License, provided that You are in -compliance with the terms of this License and that the -license for the Executable form does not attempt to limit -or alter the recipient's rights in the Source Code form -from the rights set forth in this License. If You -distribute the Covered Software in Executable form under a -different license, You must make it absolutely clear that -any terms which differ from this License are offered by You -alone, not by the Initial Developer or Contributor. You -hereby agree to indemnify the Initial Developer and every -Contributor for any liability incurred by the Initial -Developer or such Contributor as a result of any such terms -You offer. - -3.6. Larger Works. - -You may create a Larger Work by combining Covered Software -with other code not governed by the terms of this License -and distribute the Larger Work as a single product. In such -a case, You must make sure the requirements of this License -are fulfilled for the Covered Software. - -4. Versions of the License. - -4.1. New Versions. - -Sun Microsystems, Inc. is the initial license steward and -may publish revised and/or new versions of this License -from time to time. Each version will be given a -distinguishing version number. Except as provided in -Section 4.3, no one other than the license steward has the -right to modify this License. - -4.2. Effect of New Versions. - -You may always continue to use, distribute or otherwise -make the Covered Software available under the terms of the -version of the License under which You originally received -the Covered Software. If the Initial Developer includes a -notice in the Original Software prohibiting it from being -distributed or otherwise made available under any -subsequent version of the License, You must distribute and -make the Covered Software available under the terms of the -version of the License under which You originally received -the Covered Software. Otherwise, You may also choose to -use, distribute or otherwise make the Covered Software -available under the terms of any subsequent version of the -License published by the license steward. - -4.3. Modified Versions. - -When You are an Initial Developer and You want to create a -new license for Your Original Software, You may create and -use a modified version of this License if You: (a) rename -the license and remove any references to the name of the -license steward (except to note that the license differs -from this License); and (b) otherwise make it clear that -the license contains terms which differ from this License. - -5. DISCLAIMER OF WARRANTY. - -COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" -BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, -INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED -SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR -PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY -COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE -INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF -ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF -WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF -ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS -DISCLAIMER. - -6. TERMINATION. - -6.1. This License and the rights granted hereunder will -terminate automatically if You fail to comply with terms -herein and fail to cure such breach within 30 days of -becoming aware of the breach. Provisions which, by their -nature, must remain in effect beyond the termination of -this License shall survive. - -6.2. If You assert a patent infringement claim (excluding -declaratory judgment actions) against Initial Developer or -a Contributor (the Initial Developer or Contributor against -whom You assert such claim is referred to as "Participant") -alleging that the Participant Software (meaning the -Contributor Version where the Participant is a Contributor -or the Original Software where the Participant is the -Initial Developer) directly or indirectly infringes any -patent, then any and all rights granted directly or -indirectly to You by such Participant, the Initial -Developer (if the Initial Developer is not the Participant) -and all Contributors under Sections 2.1 and/or 2.2 of this -License shall, upon 60 days notice from Participant -terminate prospectively and automatically at the expiration -of such 60 day notice period, unless if within such 60 day -period You withdraw Your claim with respect to the -Participant Software against such Participant either -unilaterally or pursuant to a written agreement with -Participant. - -6.3. In the event of termination under Sections 6.1 or 6.2 -above, all end user licenses that have been validly granted -by You or any distributor hereunder prior to termination -(excluding licenses granted to You by any distributor) -shall survive termination. - -7. LIMITATION OF LIABILITY. - -UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT -(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE -INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF -COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE -LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR -CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT -LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK -STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER -COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN -INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF -LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL -INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT -APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO -NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR -CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT -APPLY TO YOU. - -8. U.S. GOVERNMENT END USERS. - -The Covered Software is a "commercial item," as that term is -defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial -computer software" (as that term is defined at 48 C.F.R. -252.227-7014(a)(1)) and "commercial computer software -documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. -1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 -through 227.7202-4 (June 1995), all U.S. Government End Users -acquire Covered Software with only those rights set forth herein. -This U.S. Government Rights clause is in lieu of, and supersedes, -any other FAR, DFAR, or other clause or provision that addresses -Government rights in computer software under this License. - -9. MISCELLANEOUS. - -This License represents the complete agreement concerning subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the -extent necessary to make it enforceable. This License shall be -governed by the law of the jurisdiction specified in a notice -contained within the Original Software (except to the extent -applicable law, if any, provides otherwise), excluding such -jurisdiction's conflict-of-law provisions. Any litigation -relating to this License shall be subject to the jurisdiction of -the courts located in the jurisdiction and venue specified in a -notice contained within the Original Software, with the losing -party responsible for costs, including, without limitation, court -costs and reasonable attorneys' fees and expenses. The -application of the United Nations Convention on Contracts for the -International Sale of Goods is expressly excluded. Any law or -regulation which provides that the language of a contract shall -be construed against the drafter shall not apply to this License. -You agree that You alone are responsible for compliance with the -United States export administration regulations (and the export -control laws and regulation of any other countries) when You use, -distribute or otherwise make available any Covered Software. - -10. RESPONSIBILITY FOR CLAIMS. - -As between Initial Developer and the Contributors, each party is -responsible for claims and damages arising, directly or -indirectly, out of its utilization of rights under this License -and You agree to work with Initial Developer and Contributors to -distribute such responsibility on an equitable basis. Nothing -herein is intended or shall be deemed to constitute any admission -of liability. diff --git a/platform/applemenu/external/binaries-list b/platform/applemenu/external/binaries-list deleted file mode 100644 index 50c1713a7e31..000000000000 --- a/platform/applemenu/external/binaries-list +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -1D14F4B56AD34841339698565B17BBAE755B0E61 applemenu-external-desktop-classes-8.2.zip -9A7C8D43E0ECC6ACED43970512FF42EF0717DC7C com.massisframework:orange-extensions:1.3.1 diff --git a/platform/applemenu/external/orange-extensions-1.3.1-license.txt b/platform/applemenu/external/orange-extensions-1.3.1-license.txt deleted file mode 100644 index 97dbf7e86f73..000000000000 --- a/platform/applemenu/external/orange-extensions-1.3.1-license.txt +++ /dev/null @@ -1,39 +0,0 @@ -Name: Orange Extensions -Version: 1.3.1 -License: BSD-Masory -Description: com.apple classes for cross-compilation. -Origin: Yuvi Masory -Type: compile-time -Comment: Allows to build code leveraging Apple-specficic classes on other platforms. - -This jar was created by decompiling AppleJavaExtensions.jar (completely consistent -with its BSD-like license), and adding the new Java 5 methods. - -Apple's license does not specify that their copyright notice should be included -in modified versions (only complete, unmodified ones), so I'm putting it under 3-clause -BSD just to protect myself from liability. - -Copyright (c) 2010, Yuvi Masory -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name Yuvi Masory nor the - names of other contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL Yuvi Masory BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/platform/applemenu/nbproject/project.properties b/platform/applemenu/nbproject/project.properties index 7880f3c243ad..ee492f29736a 100644 --- a/platform/applemenu/nbproject/project.properties +++ b/platform/applemenu/nbproject/project.properties @@ -16,9 +16,6 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 nbm.needs.restart=true is.eager=true -cp.extra=external/orange-extensions-1.3.1.jar -bootclasspath.prepend=${build.dir}/desktop-classes-classes - diff --git a/platform/applemenu/src/org/netbeans/modules/applemenu/Install.java b/platform/applemenu/src/org/netbeans/modules/applemenu/Install.java index e848b2e4e048..fe695270e996 100644 --- a/platform/applemenu/src/org/netbeans/modules/applemenu/Install.java +++ b/platform/applemenu/src/org/netbeans/modules/applemenu/Install.java @@ -21,7 +21,6 @@ import java.awt.AWTEvent; import java.awt.Toolkit; -import java.lang.reflect.*; import org.openide.modules.ModuleInstall; import org.openide.util.Utilities; @@ -32,7 +31,6 @@ */ public class Install extends ModuleInstall { private CtrlClickHack listener; - private Class adapter; @Override public void restored () { @@ -43,39 +41,18 @@ public void restored () { if (System.getProperty(pn) == null) { System.setProperty(pn, "true"); // NOI18N } - if (!installAdapter("org.netbeans.modules.applemenu.NbApplicationAdapterJDK8")) { // NOI18N - // JDK 8 failed, try JDK 9 - installAdapter("org.netbeans.modules.applemenu.NbApplicationAdapterJDK9"); // NOI18N - } + NbApplicationAdapter.install(); } } - private boolean installAdapter(String className) { - try { - adapter = Class.forName(className); - Method m = adapter.getDeclaredMethod("install", new Class[0] ); // NOI18N - m.invoke(adapter, new Object[0]); - return true; - }catch (NoClassDefFoundError e) { - }catch (ClassNotFoundException e) { - }catch (Exception e) { - } - return false; - } - @Override public void uninstalled () { if (listener != null) { Toolkit.getDefaultToolkit().removeAWTEventListener(listener); listener = null; } - if (Utilities.isMac() && adapter != null) { - try { - Method m = adapter.getDeclaredMethod("uninstall", new Class[0] ); // NOI18N - m.invoke(adapter, new Object[0]); - } catch (NoClassDefFoundError e) { - } catch (Exception e) { - } + if (Utilities.isMac()) { + NbApplicationAdapter.uninstall(); } } } diff --git a/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapter.java b/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapter.java index 31c83f74923c..e4f9a5b9dca7 100644 --- a/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapter.java +++ b/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapter.java @@ -16,12 +16,21 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.modules.applemenu; +import java.awt.Desktop; import java.awt.Dialog; import java.awt.Frame; import java.awt.Window; +import java.awt.desktop.AboutEvent; +import java.awt.desktop.AboutHandler; +import java.awt.desktop.OpenFilesEvent; +import java.awt.desktop.OpenFilesHandler; +import java.awt.desktop.PreferencesEvent; +import java.awt.desktop.PreferencesHandler; +import java.awt.desktop.QuitEvent; +import java.awt.desktop.QuitHandler; +import java.awt.desktop.QuitResponse; import java.awt.event.ActionEvent; import java.io.File; @@ -44,18 +53,30 @@ import org.openide.windows.WindowSystemEvent; import org.openide.windows.WindowSystemListener; -/** Adapter class which intercepts action events and passes them to the - * correct action instance as defined in the system filesystem. +/** + * Adapter class which intercepts action events and passes them to the correct + * action instance as defined in the system filesystem. * - * @author Tim Boudreau + * @author Tim Boudreau */ +final class NbApplicationAdapter implements AboutHandler, OpenFilesHandler, PreferencesHandler, QuitHandler { -abstract class NbApplicationAdapter { - - NbApplicationAdapter() { + private NbApplicationAdapter() { } static void install() { + try { + Desktop app = Desktop.getDesktop(); + NbApplicationAdapter al = new NbApplicationAdapter(); + + app.setAboutHandler(al); + app.setOpenFileHandler(al); + app.setPreferencesHandler(al); + app.setQuitHandler(al); + } catch (Throwable ex) { + ErrorManager.getDefault().notify(ErrorManager.WARNING, ex); + } + WindowManager.getDefault().addWindowSystemListener(new WindowSystemListener() { @Override @@ -63,10 +84,10 @@ public void beforeLoad(WindowSystemEvent event) { WindowManager.getDefault().removeWindowSystemListener(this); try { Frame main = WindowManager.getDefault().getMainWindow(); - ((RootPaneContainer)main).getRootPane().putClientProperty("apple.awt.fullscreenable", true); // NOI18N - } catch( Throwable e ) { - Logger.getLogger(NbApplicationAdapter.class.getName()).log(Level.FINE, - "Error while setting up full screen support.", e );//NOI18N + ((RootPaneContainer) main).getRootPane().putClientProperty("apple.awt.fullscreenable", true); // NOI18N + } catch (Throwable e) { + Logger.getLogger(NbApplicationAdapter.class.getName()).log(Level.FINE, + "Error while setting up full screen support.", e);//NOI18N } } @@ -84,15 +105,50 @@ public void afterSave(WindowSystemEvent event) { }); } - void handleAbout() { + static void uninstall() { + try { + Desktop app = Desktop.getDesktop(); + + app.setAboutHandler(null); + app.setOpenFileHandler(null); + app.setPreferencesHandler(null); + app.setQuitHandler(null); + } catch (Throwable ex) { + ErrorManager.getDefault().notify(ErrorManager.WARNING, ex); + } + } + + @Override + public void handleAbout(AboutEvent e) { + handleAbout(); + } + + @Override + public void openFiles(OpenFilesEvent e) { + openFiles(e.getFiles()); + } + + @Override + public void handlePreferences(PreferencesEvent e) { + handlePreferences(); + } + + @Override + public void handleQuitRequestWith(QuitEvent e, QuitResponse response) { + handleQuit(); + //need to do this otherwise the user will never be able to quit again + response.cancelQuit(); + } + + private void handleAbout() { //#221571 - check if About window is showing already Window[] windows = Dialog.getWindows(); - if( null != windows ) { - for( Window w : windows ) { - if( w instanceof JDialog ) { + if (null != windows) { + for (Window w : windows) { + if (w instanceof JDialog) { JDialog dlg = (JDialog) w; - if( Boolean.TRUE.equals(dlg.getRootPane().getClientProperty("nb.about.dialog") ) ) { //NOI18N - if( dlg.isVisible() ) { + if (Boolean.TRUE.equals(dlg.getRootPane().getClientProperty("nb.about.dialog"))) { //NOI18N + if (dlg.isVisible()) { dlg.toFront(); return; } @@ -102,15 +158,15 @@ void handleAbout() { } performAction("Help", "org.netbeans.core.actions.AboutAction"); // NOI18N } - - void openFiles(List files) { + + private void openFiles(List files) { for (File f : files) { if (f.exists() && !f.isDirectory()) { FileObject obj = FileUtil.toFileObject(f); if (obj != null) { try { DataObject dob = DataObject.find(obj); - OpenCookie oc = dob.getLookup().lookup (OpenCookie.class); + OpenCookie oc = dob.getLookup().lookup(OpenCookie.class); if (oc != null) { oc.open(); } else { @@ -131,14 +187,15 @@ void openFiles(List files) { } } } - - public void handlePreferences() { + + private void handlePreferences() { performAction("Window", "org.netbeans.modules.options.OptionsWindowAction"); // NOI18N } - public void handleQuit() { + + private void handleQuit() { performAction("System", "org.netbeans.core.actions.SystemExit"); // NOI18N } - + private boolean performAction(String category, String id) { Action a = Actions.forID(category, id); if (a == null) { @@ -153,5 +210,5 @@ private boolean performAction(String category, String id) { return false; } } - + } diff --git a/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapterJDK8.java b/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapterJDK8.java deleted file mode 100644 index 8810bcc7a368..000000000000 --- a/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapterJDK8.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.applemenu; - -import com.apple.eawt.AboutHandler; -import com.apple.eawt.AppEvent; -import com.apple.eawt.Application; -import com.apple.eawt.OpenFilesHandler; -import com.apple.eawt.PreferencesHandler; -import com.apple.eawt.QuitHandler; -import com.apple.eawt.QuitResponse; -import org.openide.ErrorManager; - -/** - * - * @author Tomas Hurka - * - * Uses old com.apple.eawt.* API. - * This class can be deleted once NetBeans is built by JDK 9. - */ -public class NbApplicationAdapterJDK8 extends NbApplicationAdapter implements AboutHandler, OpenFilesHandler, PreferencesHandler, QuitHandler { - - static void install() { - try { - Application app = Application.getApplication(); - NbApplicationAdapterJDK8 al = new NbApplicationAdapterJDK8(); - - app.setAboutHandler(al); - app.setOpenFileHandler(al); - app.setPreferencesHandler(al); - app.setQuitHandler(al); - } catch (Throwable ex) { - ErrorManager.getDefault().notify(ErrorManager.WARNING, ex); - } finally { - } - NbApplicationAdapter.install(); - } - - static void uninstall() { - Application app = Application.getApplication(); - - app.setAboutHandler(null); - app.setOpenFileHandler(null); - app.setPreferencesHandler(null); - app.setQuitHandler(null); - } - - @Override - public void handleAbout(AppEvent.AboutEvent e) { - handleAbout(); - } - - @Override - public void openFiles(AppEvent.OpenFilesEvent e) { - openFiles(e.getFiles()); - } - - @Override - public void handlePreferences(AppEvent.PreferencesEvent e) { - handlePreferences(); - } - - @Override - public void handleQuitRequestWith(AppEvent.QuitEvent e, QuitResponse response) { - handleQuit(); - //need to do this otherwise the user will never be able to quit again - response.cancelQuit(); - } -} diff --git a/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapterJDK9.java b/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapterJDK9.java deleted file mode 100644 index 65523bb0c307..000000000000 --- a/platform/applemenu/src/org/netbeans/modules/applemenu/NbApplicationAdapterJDK9.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.applemenu; - -import java.awt.Desktop; -import java.awt.desktop.AboutEvent; -import java.awt.desktop.AboutHandler; -import java.awt.desktop.OpenFilesEvent; -import java.awt.desktop.OpenFilesHandler; -import java.awt.desktop.PreferencesEvent; -import java.awt.desktop.PreferencesHandler; -import java.awt.desktop.QuitEvent; -import java.awt.desktop.QuitHandler; -import java.awt.desktop.QuitResponse; -import org.openide.ErrorManager; - -/** - * - * @author Tomas Hurka - * - * Uses new 'JEP 272: Platform-Specific Desktop Features' API. - * This class can be merged with superclass, once NetBeans is built by JDK 9. - */ -public class NbApplicationAdapterJDK9 extends NbApplicationAdapter implements AboutHandler, OpenFilesHandler, PreferencesHandler, QuitHandler { - - static void install() { - try { - Desktop app = Desktop.getDesktop(); - NbApplicationAdapterJDK9 al = new NbApplicationAdapterJDK9(); - - app.setAboutHandler(al); - app.setOpenFileHandler(al); - app.setPreferencesHandler(al); - app.setQuitHandler(al); - } catch (Throwable ex) { - ErrorManager.getDefault().notify(ErrorManager.WARNING, ex); - } finally { - } - NbApplicationAdapter.install(); - } - - static void uninstall() { - Desktop app = Desktop.getDesktop(); - - app.setAboutHandler(null); - app.setOpenFileHandler(null); - app.setPreferencesHandler(null); - app.setQuitHandler(null); - } - - @Override - public void handleAbout(AboutEvent e) { - handleAbout(); - } - - @Override - public void openFiles(OpenFilesEvent e) { - openFiles(e.getFiles()); - } - - @Override - public void handlePreferences(PreferencesEvent e) { - handlePreferences(); - } - - @Override - public void handleQuitRequestWith(QuitEvent e, QuitResponse response) { - handleQuit(); - //need to do this otherwise the user will never be able to quit again - response.cancelQuit(); - } -} From 10c27f2086448afa580a2c71f5c9671be8e428ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Mon, 29 Dec 2025 20:03:09 +0100 Subject: [PATCH 25/74] lsp.client: Provide a minimal implementation of LanguageClient#refreshDiagnostic Test with rust-analyzer yielded the following exception: java.lang.UnsupportedOperationException at org.eclipse.lsp4j.services.LanguageClient.refreshDiagnostics(LanguageClient.java:251) Caused: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65) Caused: java.lang.RuntimeException at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:67) at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.request(GenericEndpoint.java:120) [catch] at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleRequest(RemoteEndpoint.java:261) at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:190) at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194) at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94) at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) --- .../modules/lsp/client/bindings/LanguageClientImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java index 57df7f5b33ea..b2c2bb84bd2c 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java @@ -305,6 +305,12 @@ public void notify(String method, Object parameter) { LOG.log(Level.WARNING, "Received unhandled notification: {0}: {1}", new Object[] {method, parameter}); } + @Override + public CompletableFuture refreshDiagnostics() { + bindings.getOpenedFiles().forEach(LSPBindings::scheduleBackgroundTasks); + return CompletableFuture.completedFuture(null); + } + private final class DiagnosticFixList implements LazyFixList { private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); From 1702ca0f08797d20ef22f1bc6415567f5ab2f0d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 17 Jan 2026 14:32:59 +0100 Subject: [PATCH 26/74] lsp.client: Extend guarded handling of invalid/null replies from LSP server --- .../lsp/client/bindings/BreadcrumbsImpl.java | 2 +- .../lsp/client/bindings/CodeActions.java | 29 ++- .../lsp/client/bindings/Formatter.java | 5 +- .../client/bindings/NavigatorPanelImpl.java | 2 +- .../client/bindings/SemanticHighlight.java | 7 +- .../bindings/refactoring/Refactoring.java | 230 +++++++++--------- 6 files changed, 148 insertions(+), 127 deletions(-) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/BreadcrumbsImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/BreadcrumbsImpl.java index 58cd0a995c0e..57509cded5f2 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/BreadcrumbsImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/BreadcrumbsImpl.java @@ -90,7 +90,7 @@ public void run(List servers, FileObject file) { capa -> Utils.isEnabled(capa.getDocumentSymbolProvider()), () -> new DocumentSymbolParams(new TextDocumentIdentifier(Utils.toURI(file))), (server, params) -> server.getTextDocumentService().documentSymbol(params), - (server, result) -> allSymbols.add(Pair.of(server, result.stream().map(this::toDocumentSymbol).toList()))); + (server, result) -> allSymbols.add(Pair.of(server, result == null ? List.of() : result.stream().map(this::toDocumentSymbol).toList()))); this.rootElement = new RootBreadcrumbsElementImpl(file, doc, allSymbols); diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CodeActions.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CodeActions.java index 6faf6676a1ba..2f5281fa84c1 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CodeActions.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CodeActions.java @@ -22,10 +22,13 @@ import java.util.Collections; import java.util.List; import javax.swing.text.JTextComponent; +import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionContext; import org.eclipse.lsp4j.CodeActionParams; +import org.eclipse.lsp4j.Command; import org.eclipse.lsp4j.Range; import org.eclipse.lsp4j.TextDocumentIdentifier; +import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.netbeans.api.editor.mimelookup.MimeRegistration; import org.netbeans.modules.editor.NbEditorUtilities; import org.netbeans.modules.lsp.client.LSPBindings; @@ -63,17 +66,23 @@ public List create(Lookup context) { Utils.createPosition(component.getDocument(), component.getSelectionEnd())), new CodeActionContext(Collections.emptyList())), (server, params) -> server.getTextDocumentService().codeAction(params), - (server, result) -> result.forEach(cmd -> output.add(new CodeGenerator() { - @Override - public String getDisplayName() { - return cmd.isLeft() ? cmd.getLeft().getTitle() : cmd.getRight().getTitle(); - } + (server, result) -> { + if (result != null) { + for (Either cmd : result) { + output.add(new CodeGenerator() { + @Override + public String getDisplayName() { + return cmd.isLeft() ? cmd.getLeft().getTitle() : cmd.getRight().getTitle(); + } - @Override - public void invoke() { - Utils.applyCodeAction(server, cmd); - } - }))); + @Override + public void invoke() { + Utils.applyCodeAction(server, cmd); + } + }); + } + } + }); return output; } diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/Formatter.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/Formatter.java index e941b3e8b296..f68adfcc619e 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/Formatter.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/Formatter.java @@ -119,7 +119,10 @@ private void documentFormat(FileObject fo, LSPBindings bindings) throws BadLocat IndentUtils.isExpandTabs(ctx.document()))); List edits = new ArrayList<>(); try { - edits.addAll(bindings.getTextDocumentService().formatting(dfp).get()); + List editInputs = bindings.getTextDocumentService().formatting(dfp).get(); + if (editInputs != null) { + edits.addAll(editInputs); + } } catch (InterruptedException | ExecutionException ex) { LOG.log(Level.INFO, String.format("LSP document format failed for {0}", fo), diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/NavigatorPanelImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/NavigatorPanelImpl.java index 88cd6a65d9d8..ebc6493dc45f 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/NavigatorPanelImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/NavigatorPanelImpl.java @@ -74,7 +74,7 @@ public void run(FileObject file) { String uri = Utils.toURI(file); List> symbols = bindings.getTextDocumentService().documentSymbol(new DocumentSymbolParams(new TextDocumentIdentifier(uri))).get(); - setKeys(symbols); + setKeys(symbols == null ? List.of() : symbols); expandAll(); } catch (ExecutionException ex) { LOG.log(Level.FINE, null, ex); diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SemanticHighlight.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SemanticHighlight.java index 2d2b7022d88b..a461eb1ac159 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SemanticHighlight.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SemanticHighlight.java @@ -81,7 +81,12 @@ private void convertTokenHighlights(LSPBindings server, FileObject file, FontColorSettings[] fcs, OffsetsBag target) { - List data = tokens.getData(); + List data; + if (tokens != null) { + data = tokens.getData(); + } else { + data = List.of(); + } int lastLine = 0; int lastColumn = 0; int offset = 0; diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/refactoring/Refactoring.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/refactoring/Refactoring.java index 6c521df6e630..56c2f2acbafb 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/refactoring/Refactoring.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/refactoring/Refactoring.java @@ -120,32 +120,34 @@ public Problem fastCheckParameters() { @Override public Problem prepare(RefactoringElementsBag refactoringElements) { BiConsumer> handleResult = (server, usages) -> { - for (Location l : usages) { - if (isCanceled()) { - break; - } - FileObject file = Utils.fromURI(l.getUri()); - if (file != null) { - PositionBounds bounds; - try { - CloneableEditorSupport es = file.getLookup().lookup(CloneableEditorSupport.class); - EditorCookie ec = file.getLookup().lookup(EditorCookie.class); - StyledDocument doc = ec.openDocument(); - - bounds = new PositionBounds(es.createPositionRef(Utils.getOffset(doc, l.getRange().getStart()), Position.Bias.Forward), - es.createPositionRef(Utils.getOffset(doc, l.getRange().getEnd()), Position.Bias.Forward)); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - bounds = null; + if (usages != null) { + for (Location l : usages) { + if (isCanceled()) { + break; } - LineCookie lc = file.getLookup().lookup(LineCookie.class); - Line startLine = lc.getLineSet().getCurrent(l.getRange().getStart().getLine()); - String lineText = startLine.getText(); - int highlightEnd = Math.min(lineText.length(), l.getRange().getEnd().getCharacter()); - String annotatedLine = lineText.substring(0, l.getRange().getStart().getCharacter()) + + FileObject file = Utils.fromURI(l.getUri()); + if (file != null) { + PositionBounds bounds; + try { + CloneableEditorSupport es = file.getLookup().lookup(CloneableEditorSupport.class); + EditorCookie ec = file.getLookup().lookup(EditorCookie.class); + StyledDocument doc = ec.openDocument(); + + bounds = new PositionBounds(es.createPositionRef(Utils.getOffset(doc, l.getRange().getStart()), Position.Bias.Forward), + es.createPositionRef(Utils.getOffset(doc, l.getRange().getEnd()), Position.Bias.Forward)); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + bounds = null; + } + LineCookie lc = file.getLookup().lookup(LineCookie.class); + Line startLine = lc.getLineSet().getCurrent(l.getRange().getStart().getLine()); + String lineText = startLine.getText(); + int highlightEnd = Math.min(lineText.length(), l.getRange().getEnd().getCharacter()); + String annotatedLine = lineText.substring(0, l.getRange().getStart().getCharacter()) + "" + lineText.substring(l.getRange().getStart().getCharacter(), highlightEnd) + "" + lineText.substring(highlightEnd); - refactoringElements.add(query, new LSPRefactoringElementImpl(annotatedLine, file, bounds)); + refactoringElements.add(query, new LSPRefactoringElementImpl(annotatedLine, file, bounds)); + } } } }; @@ -191,110 +193,112 @@ public Problem fastCheckParameters() { @Override public Problem prepare(RefactoringElementsBag refactoringElements) { BiConsumer handleResult = (server, edit) -> { - try { - List> documentChanges = edit.getDocumentChanges(); - ModificationResult result = new ModificationResult(); - Map> file2Diffs = new HashMap<>(); - Map newURI2Old = new HashMap<>(); - Map newFileURI2Content = new HashMap<>(); - - if (documentChanges != null) { - for (Either part : documentChanges) { - if (isCanceled()) { - break; - } - if (part.isLeft()) { - String uri = part.getLeft().getTextDocument().getUri(); - uri = newURI2Old.getOrDefault(uri, uri); - FileObject file = Utils.fromURI(uri); - - if (file != null) { - for (TextEdit te : part.getLeft().getEdits()) { - Difference diff = textEdit2Difference(file, te); - file2Diffs.computeIfAbsent(file, f -> new ArrayList<>()) - .add(diff); - } - } else if (newFileURI2Content.containsKey(uri)) { - FileObject temp = FileUtil.createMemoryFileSystem().getRoot().createData("temp.txt"); - try (OutputStream out = temp.getOutputStream()) { - out.write(newFileURI2Content.get(uri).getBytes()); //TODO: encoding - native, OK? - } - List diffs = new ArrayList<>(); - for (TextEdit te : part.getLeft().getEdits()) { - diffs.add(textEdit2Difference(temp, te)); - } - ModificationResult tempResult = new ModificationResult(); - tempResult.addDifferences(temp, diffs); - newFileURI2Content.put(uri, tempResult.getResultingSource(temp)); - } else { - //XXX: problem... + if(edit != null) { + try { + List> documentChanges = edit.getDocumentChanges(); + ModificationResult result = new ModificationResult(); + Map> file2Diffs = new HashMap<>(); + Map newURI2Old = new HashMap<>(); + Map newFileURI2Content = new HashMap<>(); + + if (documentChanges != null) { + for (Either part : documentChanges) { + if (isCanceled()) { + break; } - } else { - switch (part.getRight().getKind()) { - case ResourceOperationKind.Rename: { - RenameFile rename = (RenameFile) part.getRight(); - FileObject file = Utils.fromURI(rename.getOldUri()); - refactoringElements.addFileChange(refactoring, new LSPRenameFile(file, rename.getNewUri())); - newURI2Old.put(rename.getNewUri(), rename.getOldUri()); - break; - } - case ResourceOperationKind.Delete: { - DeleteFile delete = (DeleteFile) part.getRight(); - FileObject file = Utils.fromURI(delete.getUri()); - refactoringElements.addFileChange(refactoring, new LSPDeleteFile(file)); - break; + if (part.isLeft()) { + String uri = part.getLeft().getTextDocument().getUri(); + uri = newURI2Old.getOrDefault(uri, uri); + FileObject file = Utils.fromURI(uri); + + if (file != null) { + for (TextEdit te : part.getLeft().getEdits()) { + Difference diff = textEdit2Difference(file, te); + file2Diffs.computeIfAbsent(file, f -> new ArrayList<>()) + .add(diff); + } + } else if (newFileURI2Content.containsKey(uri)) { + FileObject temp = FileUtil.createMemoryFileSystem().getRoot().createData("temp.txt"); + try (OutputStream out = temp.getOutputStream()) { + out.write(newFileURI2Content.get(uri).getBytes()); //TODO: encoding - native, OK? + } + List diffs = new ArrayList<>(); + for (TextEdit te : part.getLeft().getEdits()) { + diffs.add(textEdit2Difference(temp, te)); + } + ModificationResult tempResult = new ModificationResult(); + tempResult.addDifferences(temp, diffs); + newFileURI2Content.put(uri, tempResult.getResultingSource(temp)); + } else { + //XXX: problem... } - case ResourceOperationKind.Create: { - CreateFile create = (CreateFile) part.getRight(); - String uri = create.getUri(); - newFileURI2Content.put(uri, ""); - break; + } else { + switch (part.getRight().getKind()) { + case ResourceOperationKind.Rename: { + RenameFile rename = (RenameFile) part.getRight(); + FileObject file = Utils.fromURI(rename.getOldUri()); + refactoringElements.addFileChange(refactoring, new LSPRenameFile(file, rename.getNewUri())); + newURI2Old.put(rename.getNewUri(), rename.getOldUri()); + break; + } + case ResourceOperationKind.Delete: { + DeleteFile delete = (DeleteFile) part.getRight(); + FileObject file = Utils.fromURI(delete.getUri()); + refactoringElements.addFileChange(refactoring, new LSPDeleteFile(file)); + break; + } + case ResourceOperationKind.Create: { + CreateFile create = (CreateFile) part.getRight(); + String uri = create.getUri(); + newFileURI2Content.put(uri, ""); + break; + } + default: + addProblem(new Problem(true, "Unknown file operation: " + part.getRight().getKind())); + break; } - default: - addProblem(new Problem(true, "Unknown file operation: " + part.getRight().getKind())); - break; } } - } - } else { - for (Entry> fileAndChanges : edit.getChanges().entrySet()) { - if (isCanceled()) { - break; - } - //TODO: errors: - FileObject file = Utils.fromURI(fileAndChanges.getKey()); + } else { + for (Entry> fileAndChanges : edit.getChanges().entrySet()) { + if (isCanceled()) { + break; + } + //TODO: errors: + FileObject file = Utils.fromURI(fileAndChanges.getKey()); - for (TextEdit te : fileAndChanges.getValue()) { - Difference diff = textEdit2Difference(file, te); - file2Diffs.computeIfAbsent(file, f -> new ArrayList<>()) - .add(diff); + for (TextEdit te : fileAndChanges.getValue()) { + Difference diff = textEdit2Difference(file, te); + file2Diffs.computeIfAbsent(file, f -> new ArrayList<>()) + .add(diff); + } } } - } - if (isCanceled()) { - addProblem(new Problem(false, Bundle.TXT_Canceled())); - } else { + if (isCanceled()) { + addProblem(new Problem(false, Bundle.TXT_Canceled())); + } else { - file2Diffs.entrySet() - .forEach(e -> { - e.getValue() - .forEach(diff -> refactoringElements.add(refactoring, DiffElement.create(diff, e.getKey(), result))); - result.addDifferences(e.getKey(), e.getValue()); - }); + file2Diffs.entrySet() + .forEach(e -> { + e.getValue() + .forEach(diff -> refactoringElements.add(refactoring, DiffElement.create(diff, e.getKey(), result))); + result.addDifferences(e.getKey(), e.getValue()); + }); - newFileURI2Content.entrySet() - .forEach(e -> { - refactoringElements.add(refactoring, new LSPCreateFile(e.getKey(), e.getValue())); - }); - refactoringElements.registerTransaction(new RefactoringCommit(Collections.singletonList(result))); + newFileURI2Content.entrySet() + .forEach(e -> { + refactoringElements.add(refactoring, new LSPCreateFile(e.getKey(), e.getValue())); + }); + refactoringElements.registerTransaction(new RefactoringCommit(Collections.singletonList(result))); - if (isCanceled()) { - addProblem(new Problem(false, Bundle.TXT_Canceled())); + if (isCanceled()) { + addProblem(new Problem(false, Bundle.TXT_Canceled())); + } } + } catch ( IOException ex) { + addProblem(new Problem(true, ex.getLocalizedMessage())); } - } catch ( IOException ex) { - addProblem(new Problem(true, ex.getLocalizedMessage())); } }; From d7efaa1b097b19d62fc07729963b7a13820713a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 17 Jan 2026 14:58:44 +0100 Subject: [PATCH 27/74] lsp.client: Warning icons not present --- ide/lsp.client/licenseinfo.xml | 29 ++++++++++++ .../client/bindings/LanguageClientImpl.java | 10 +++- .../lsp/client/resources/warning_16.png | Bin 0 -> 669 bytes .../lsp/client/resources/warning_16.svg | 43 ++++++++++++++++++ 4 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 ide/lsp.client/licenseinfo.xml create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/resources/warning_16.png create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/resources/warning_16.svg diff --git a/ide/lsp.client/licenseinfo.xml b/ide/lsp.client/licenseinfo.xml new file mode 100644 index 000000000000..24a13ec56ff1 --- /dev/null +++ b/ide/lsp.client/licenseinfo.xml @@ -0,0 +1,29 @@ + + + + + src/org/netbeans/modules/lsp/client/resources/error_16.png + src/org/netbeans/modules/lsp/client/resources/warning_16.png + + + + diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java index b2c2bb84bd2c..4b75cc3b1f59 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java @@ -65,6 +65,7 @@ import org.eclipse.lsp4j.jsonrpc.Endpoint; import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.eclipse.lsp4j.services.LanguageClient; +import org.netbeans.api.annotations.common.StaticResource; import org.netbeans.api.progress.*; import org.netbeans.modules.lsp.client.LSPBindings; import org.netbeans.modules.lsp.client.Utils; @@ -98,6 +99,11 @@ public class LanguageClientImpl implements LanguageClient, Endpoint { private static final Logger LOG = Logger.getLogger(LanguageClientImpl.class.getName()); private static final RequestProcessor WORKER = new RequestProcessor(LanguageClientImpl.class.getName(), 1, false, false); + @StaticResource + private static final String ERROR_ICON = "org/netbeans/modules/lsp/client/resources/error_16.png"; + @StaticResource + private static final String WARNING_ICON = "org/netbeans/modules/lsp/client/resources/warning_16.png"; + private LSPBindings bindings; private boolean allowCodeActions; @@ -211,11 +217,11 @@ public void showMessage(MessageParams params) { StatusDisplayer.getDefault().setStatusText(params.getMessage()); return ; case Warning: - icon = ImageUtilities.loadImageIcon("org/netbeans/modules/lsp/client/resources/warning.png", false); + icon = ImageUtilities.loadImageIcon(WARNING_ICON, false); category = Category.WARNING; break; case Error: - icon = ImageUtilities.loadImageIcon("org/netbeans/modules/lsp/client/resources/error_16.png", false); + icon = ImageUtilities.loadImageIcon(ERROR_ICON, false); category = Category.ERROR; break; } diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/resources/warning_16.png b/ide/lsp.client/src/org/netbeans/modules/lsp/client/resources/warning_16.png new file mode 100644 index 0000000000000000000000000000000000000000..42c67a1901f18fb402f39c39c60e33e830ea8b4a GIT binary patch literal 669 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmUzPnffIy#(?lOI#yL zg7ec#$`gxH85~pclTsBta}(23gHjVyDhp4h+AuIM>3h03hE&{2`t$$4J+t11Y^ldw zY;J7!0+St;)UW9ld`d4dWnetQV8kGO&ur$x2UntY{{O#U_c#9{bN>{LW6Ssy8fFyS z{P$cxxp`x;B=h0*(|Htr{jWb3mGg>$iDNaR^e+i+lP{(}Xa2KEPx$e(h0&$?heBb= zR-lo z_`sPDvQW!BWPSJ@7!LBz2sspykhz+7i)_Z_`|lli_e*}cI#Xhv+*C%et5x`e*n{{l zu?sj9FxN3YzI!1+WW@`1gLD5IkDiPDd-B2be>^_ULU-*q*m%f#*n03NG(&ro?D<2h@sooTFnuw2y85}Sb4q9e0ES=|o&W#< literal 0 HcmV?d00001 diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/resources/warning_16.svg b/ide/lsp.client/src/org/netbeans/modules/lsp/client/resources/warning_16.svg new file mode 100644 index 000000000000..e5932382e489 --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/resources/warning_16.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + From f75b618e0f548041abbde648078e7b831e70ac19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 17 Jan 2026 14:59:37 +0100 Subject: [PATCH 28/74] lsp.client: Don't block LSP server while diagnostics is applied to document It was observed, that with the rust-analyzer language server inserting a completion led to a dead-lock. Checking the stacks of running threads shows, that the LS tries to publish diagostics, while in parallel a documentFormat is called. The assumption is, that the rust side block execution of the `documentFormat` request until the `publishDiagnostics` call from the LS finishes. The latter though needs access to the document lock and that is already taken by the `documentFormat` task. "AWT-EventQueue-0" #35 prio=6 os_prio=0 cpu=8224,39ms elapsed=119,39s tid=0x00007f5384156f60 nid=0x2b0da7 waiting on condition [0x00007f537e7f9000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@17.0.9/Native Method) - parking to wait for <0x00000006448493e8> (a java.util.concurrent.CompletableFuture$Signaller) at java.util.concurrent.locks.LockSupport.park(java.base@17.0.9/LockSupport.java:211) at java.util.concurrent.CompletableFuture$Signaller.block(java.base@17.0.9/CompletableFuture.java:1864) at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.9/ForkJoinPool.java:3465) at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.9/ForkJoinPool.java:3436) at java.util.concurrent.CompletableFuture.waitingGet(java.base@17.0.9/CompletableFuture.java:1898) at java.util.concurrent.CompletableFuture.get(java.base@17.0.9/CompletableFuture.java:2072) at org.netbeans.modules.lsp.client.bindings.Formatter.documentFormat(Formatter.java:122) at org.netbeans.modules.lsp.client.bindings.Formatter.reformat(Formatter.java:87) at org.netbeans.modules.editor.indent.TaskHandler$MimeItem.runTask(TaskHandler.java:550) at org.netbeans.modules.editor.indent.TaskHandler.runTasks(TaskHandler.java:309) at org.netbeans.modules.editor.indent.IndentImpl.reformat(IndentImpl.java:349) at org.netbeans.modules.editor.indent.api.Reformat.reformat(Reformat.java:129) at org.netbeans.lib.editor.codetemplates.CodeTemplateInsertHandler.run(CodeTemplateInsertHandler.java:352) at org.netbeans.editor.GuardedDocument.runAtomicAsUser(GuardedDocument.java:333) at org.netbeans.lib.editor.codetemplates.CodeTemplateInsertHandler.insertTemplate(CodeTemplateInsertHandler.java:258) at org.netbeans.lib.editor.codetemplates.CodeTemplateInsertHandler.processTemplate(CodeTemplateInsertHandler.java:229) at org.netbeans.lib.editor.codetemplates.CodeTemplateManagerOperation.insert(CodeTemplateManagerOperation.java:273) at org.netbeans.lib.editor.codetemplates.api.CodeTemplate.insert(CodeTemplate.java:82) at org.netbeans.modules.lsp.client.bindings.CompletionProviderImpl$3.lambda$commit$0(CompletionProviderImpl.java:307) at org.netbeans.modules.lsp.client.bindings.CompletionProviderImpl$3$$Lambda$825/0x00007f53e4ae8498.run(Unknown Source) at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:296) at org.openide.text.NbDocument.runAtomic(NbDocument.java:411) at org.netbeans.modules.lsp.client.bindings.CompletionProviderImpl$3.commit(CompletionProviderImpl.java:254) at org.netbeans.modules.lsp.client.bindings.CompletionProviderImpl$3.defaultAction(CompletionProviderImpl.java:231) at org.netbeans.modules.editor.completion.CompletionImpl.dispatchKeyEvent(CompletionImpl.java:785) at org.netbeans.modules.editor.completion.CompletionImpl.keyPressed(CompletionImpl.java:386) at java.awt.AWTEventMulticaster.keyPressed(java.desktop@17.0.9/AWTEventMulticaster.java:258) [...] "pool-4-thread-1" #75 prio=5 os_prio=0 cpu=136,37ms elapsed=76,96s tid=0x00007f5380ae1080 nid=0x2b0e84 in Object.wait() [0x00007f52e99fc000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(java.base@17.0.9/Native Method) - waiting on at java.lang.Object.wait(java.base@17.0.9/Object.java:338) at javax.swing.text.AbstractDocument.readLock(java.desktop@17.0.9/AbstractDocument.java:1421) - locked <0x000000063c6af680> (a org.netbeans.modules.csl.core.GsfDocument) at org.netbeans.editor.BaseDocument.render(BaseDocument.java:1405) at org.openide.text.PositionRef$Manager$DocumentRenderer.render(PositionRef.java:927) at org.openide.text.PositionRef$Manager$DocumentRenderer.renderToObject(PositionRef.java:948) at org.openide.text.PositionRef$Manager.addPosition(PositionRef.java:389) at org.openide.text.PositionRef.init(PositionRef.java:105) at org.openide.text.PositionRef.(PositionRef.java:90) at org.openide.text.PositionRef.(PositionRef.java:68) at org.openide.text.CloneableEditorSupport.createPositionRef(CloneableEditorSupport.java:1264) at org.netbeans.modules.editor.hints.HintsControllerImpl.linePart(HintsControllerImpl.java:231) at org.netbeans.spi.editor.hints.ErrorDescriptionFactory.createErrorDescription(ErrorDescriptionFactory.java:245) at org.netbeans.spi.editor.hints.ErrorDescriptionFactory.createErrorDescription(ErrorDescriptionFactory.java:218) at org.netbeans.modules.lsp.client.bindings.LanguageClientImpl.lambda$publishDiagnostics$0(LanguageClientImpl.java:176) at org.netbeans.modules.lsp.client.bindings.LanguageClientImpl$$Lambda$705/0x00007f53e4ac73a8.apply(Unknown Source) at java.util.stream.ReferencePipeline$3$1.accept(java.base@17.0.9/ReferencePipeline.java:197) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(java.base@17.0.9/ArrayList.java:1625) at java.util.stream.AbstractPipeline.copyInto(java.base@17.0.9/AbstractPipeline.java:509) at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@17.0.9/AbstractPipeline.java:499) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(java.base@17.0.9/ReduceOps.java:921) at java.util.stream.AbstractPipeline.evaluate(java.base@17.0.9/AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(java.base@17.0.9/ReferencePipeline.java:682) at org.netbeans.modules.lsp.client.bindings.LanguageClientImpl.publishDiagnostics(LanguageClientImpl.java:177) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.9/Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.9/NativeMethodAccessorImpl.java:77) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.9/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@17.0.9/Method.java:568) at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$recursiveFindRpcMethods$0(GenericEndpoint.java:65) at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint$$Lambda$648/0x00007f53e4a4dd50.apply(Unknown Source) at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:160) at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:231) [...] --- .../client/bindings/LanguageClientImpl.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java index 4b75cc3b1f59..410fe835fcb3 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java @@ -167,24 +167,26 @@ public void notifyProgress(ProgressParams params) { }); } - @Override + @Override public void publishDiagnostics(PublishDiagnosticsParams pdp) { - try { - FileObject file = URLMapper.findFileObject(new URI(pdp.getUri()).toURL()); - EditorCookie ec = file != null ? file.getLookup().lookup(EditorCookie.class) : null; - Document doc = ec != null ? ec.getDocument() : null; - if (doc == null) { - return ; //ignore... + WORKER.execute(() -> { + try { + FileObject file = URLMapper.findFileObject(new URI(pdp.getUri()).toURL()); + EditorCookie ec = file != null ? file.getLookup().lookup(EditorCookie.class) : null; + Document doc = ec != null ? ec.getDocument() : null; + if (doc == null) { + return; //ignore... + } + assert file != null; + List diags = pdp.getDiagnostics().stream().map(d -> { + LazyFixList fixList = allowCodeActions ? new DiagnosticFixList(doc, pdp.getUri(), d) : ErrorDescriptionFactory.lazyListForFixes(Collections.emptyList()); + return ErrorDescriptionFactory.createErrorDescription(severityMap.get(d.getSeverity()), d.getMessage(), fixList, file, Utils.getOffset(doc, d.getRange().getStart()), Utils.getOffset(doc, d.getRange().getEnd())); + }).collect(Collectors.toList()); + HintsController.setErrors(doc, LanguageClientImpl.class.getName(), diags); + } catch (URISyntaxException | MalformedURLException ex) { + LOG.log(Level.FINE, null, ex); } - assert file != null; - List diags = pdp.getDiagnostics().stream().map(d -> { - LazyFixList fixList = allowCodeActions ? new DiagnosticFixList(doc, pdp.getUri(), d) : ErrorDescriptionFactory.lazyListForFixes(Collections.emptyList()); - return ErrorDescriptionFactory.createErrorDescription(severityMap.get(d.getSeverity()), d.getMessage(), fixList, file, Utils.getOffset(doc, d.getRange().getStart()), Utils.getOffset(doc, d.getRange().getEnd())); - }).collect(Collectors.toList()); - HintsController.setErrors(doc, LanguageClientImpl.class.getName(), diags); - } catch (URISyntaxException | MalformedURLException ex) { - LOG.log(Level.FINE, null, ex); - } + }); } private static final Map severityMap = new EnumMap<>(DiagnosticSeverity.class); From 3d9b500a461f92d48e05e5af6b0332842ed788c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Wed, 31 Dec 2025 13:47:30 +0100 Subject: [PATCH 29/74] CSL: Don't run BreadCrumbsTask if no structure scanner is present --- .../netbeans/modules/csl/navigation/BreadCrumbsTask.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ide/csl.api/src/org/netbeans/modules/csl/navigation/BreadCrumbsTask.java b/ide/csl.api/src/org/netbeans/modules/csl/navigation/BreadCrumbsTask.java index 397043d745d9..964840400f94 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/navigation/BreadCrumbsTask.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/navigation/BreadCrumbsTask.java @@ -206,7 +206,14 @@ public TaskFactoryImpl() { @Override protected Collection createTasks(Language language, Snapshot snapshot) { - return Collections.singletonList(new BreadCrumbsTask()); + if (language.getStructure() != null) { + // Language#hasStructureScanner has a broken/unusable + // implementation, so support is deduced from the (non-)presence + // of a structure scanner. + return List.of(new BreadCrumbsTask()); + } else { + return List.of(); + } } } From d2f3b88ab5c6878c1681f0e42e7a8cdfdea109f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Wed, 31 Dec 2025 00:42:44 +0100 Subject: [PATCH 30/74] rust/cargo: Switch from tomlj to updated version of toml-java to support modern TOML --- rust/rust.cargo/nbproject/project.xml | 6 +- .../rust/cargo/impl/CargoTOMLParser.java | 62 +++++++++---------- .../dependencies/RustAddDependencyAction.java | 1 + .../RustAddDependencyWizardPanel1.java | 2 + .../RustRemoveDependencyAction.java | 1 + 5 files changed, 35 insertions(+), 37 deletions(-) diff --git a/rust/rust.cargo/nbproject/project.xml b/rust/rust.cargo/nbproject/project.xml index 693c95386684..045e96136c1f 100644 --- a/rust/rust.cargo/nbproject/project.xml +++ b/rust/rust.cargo/nbproject/project.xml @@ -51,12 +51,12 @@ - org.netbeans.libs.tomlj + org.netbeans.libs.tomljava - 1 - 1.2 + 5 + 4.0 diff --git a/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/CargoTOMLParser.java b/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/CargoTOMLParser.java index aadfaeba4bdd..4241e4ba5882 100644 --- a/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/CargoTOMLParser.java +++ b/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/CargoTOMLParser.java @@ -18,12 +18,9 @@ */ package org.netbeans.modules.rust.cargo.impl; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; +import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -31,16 +28,12 @@ import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; +import net.vieiro.toml.TOML; +import net.vieiro.toml.TOMLParser; import org.netbeans.modules.rust.cargo.api.CargoTOML; import org.netbeans.modules.rust.cargo.api.RustPackage; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; -import org.tomlj.Toml; -import org.tomlj.TomlArray; -import org.tomlj.TomlParseError; -import org.tomlj.TomlParseResult; -import org.tomlj.TomlTable; /** * @@ -63,24 +56,23 @@ public static void parseCargoToml(FileObject cargoTomlFile, CargoTOML cargotoml) } long start = System.currentTimeMillis(); // As per the specification, .toml files are always UTF-8 - try (final BufferedReader fileContent = new BufferedReader(new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8))) { - TomlParseResult parseResult = Toml.parse(fileContent); - List errors = parseResult.errors().stream().collect(Collectors.toList()); - if (!errors.isEmpty()) { + try (InputStream cargoInputStream = cargoTomlFile.getInputStream()) { + TOML parseResult = TOMLParser.parseFromInputStream(cargoInputStream); + if (!parseResult.getErrors().isEmpty()) { final String fileName = file.getAbsolutePath(); - errors.forEach(e -> { - LOG.warning(String.format("Error parsing '%s': '%s'", fileName, e.getMessage())); // NOI18N + parseResult.getErrors().forEach(e -> { + LOG.warning(String.format("Error parsing '%s': '%s'", fileName, e)); // NOI18N }); throw new IOException(String.format("Errors parsing '%s'. See log for details", fileName)); // NOI18N } - String packageName = parseResult.getString("package.name"); // NOI18N - String version = parseResult.getString("package.version"); // NOI18N - String edition = parseResult.getString("package.edition"); // NOI18N + String packageName = parseResult.getString("package/name").orElse(null); // NOI18N + String version = parseResult.getString("package/version").orElse(null); // NOI18N + String edition = parseResult.getString("package/edition").orElse(null); // NOI18N edition = edition == null ? "2015" : edition; - String rustVersion = parseResult.getString("package.rust-version"); // NOI18N - String description = parseResult.getString("package.description"); // NOI18N - String documentation = parseResult.getString("package.documentation"); // NOI18N - String homepage = parseResult.getString("package.homepage"); + String rustVersion = parseResult.getString("package/rust-version").orElse(null); // NOI18N + String description = parseResult.getString("package/description").orElse(null); // NOI18N + String documentation = parseResult.getString("package/documentation").orElse(null); // NOI18N + String homepage = parseResult.getString("package/homepage").orElse(null); // TODO: Read more stuff... // TODO: Fire property change only if required. @@ -111,17 +103,18 @@ public static void parseCargoToml(FileObject cargoTomlFile, CargoTOML cargotoml) } // Workspaces https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html - TomlArray members = parseResult.getArray("workspace.members"); + @SuppressWarnings("unchecked") + List members = parseResult.getArray("workspace/members").orElse(null); if (members != null) { TreeMap workspacesByName = new TreeMap<>(); FileObject root = cargotoml.getFileObject().getParent(); for (int i = 0; i < members.size(); i++) { - String memberName = members.getString(i); + String memberName = members.get(i); FileObject memberCargoFO = root.getFileObject(memberName); if (memberCargoFO != null) { memberCargoFO = memberCargoFO.getFileObject("Cargo.toml"); // NOI18N } - if (memberCargoFO != null) { + if (memberCargoFO != null && ! cargoTomlFile.equals(memberCargoFO)) { CargoTOML memberCargo = new CargoTOML(memberCargoFO); workspacesByName.put(memberName, memberCargo); } @@ -135,8 +128,8 @@ public static void parseCargoToml(FileObject cargoTomlFile, CargoTOML cargotoml) LOG.info(String.format("Parsing '%s' took %5.2g ms.", file.getAbsolutePath(), (end - start) / 1000.0)); //NOI18N } - private static final List getDependencies(CargoTOML cargotoml, TomlParseResult parseResult, String propertyKey) { - TomlTable dependencies = parseResult.getTable(propertyKey); + private static List getDependencies(CargoTOML cargotoml, TOML parseResult, String propertyKey) { + Map dependencies = parseResult.getTable(propertyKey).orElse(null); if (dependencies == null || dependencies.isEmpty()) { return Collections.emptyList(); } @@ -147,16 +140,17 @@ private static final List getDependencies(CargoTOML cargotoml, Toml if (value instanceof String) { String stringValue = (String) value; packages.add(RustPackage.withNameAndVersion(cargotoml, key, stringValue)); - } else if (value instanceof TomlTable) { + } else if (value instanceof Map) { String dependencyName = key.replaceAll("^dependencies\\.", ""); // NOI18N - TomlTable dependencyInfo = (TomlTable) value; - String version = dependencyInfo.getString("version"); // NOI18N - String git = dependencyInfo.getString("git"); // NOI18N + @SuppressWarnings("unchecked") + Map dependencyInfo = (Map) value; + String version = (String) dependencyInfo.get("version"); // NOI18N + String git = (String) dependencyInfo.get("git"); // NOI18N if (version != null) { // Examples: // [dependencies] // some-crate = { version = "1.0", registry = "my-registry" } - Boolean optional = dependencyInfo.getBoolean("optional"); // NOI18N + Boolean optional = (Boolean) dependencyInfo.get("optional"); // NOI18N RustPackage rp = RustPackage.withNameAndVersion(cargotoml, dependencyName, version, optional); packages.add(rp); } else if (git != null) { @@ -164,7 +158,7 @@ private static final List getDependencies(CargoTOML cargotoml, Toml // [dependencies] // regex = { git = "https://github.com/rust-lang/regex" } // regex = { git = "https://github.com/rust-lang/regex", branch = "next" } - String branch = dependencyInfo.getString("branch"); + String branch = (String) dependencyInfo.get("branch"); RustPackage rp = RustPackage.withGit(cargotoml, dependencyName, git, branch); packages.add(rp); } diff --git a/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustAddDependencyAction.java b/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustAddDependencyAction.java index 0e6192424498..c31d85d04f06 100644 --- a/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustAddDependencyAction.java +++ b/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustAddDependencyAction.java @@ -104,6 +104,7 @@ public void actionPerformed(ActionEvent e) { break; } if (DialogDisplayer.getDefault().notify(wiz) == WizardDescriptor.FINISH_OPTION) { + @SuppressWarnings("unchecked") List packages = (List) wiz.getProperty(RustAddDependencyWizardPanel1.PROP_SELECTED_PACKAGES); List names = packages.stream().map((p) -> String.format("%s@%s", p.getName(), p.getVersion())).collect(Collectors.toList()); switch(dependencyType) { diff --git a/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustAddDependencyWizardPanel1.java b/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustAddDependencyWizardPanel1.java index 788f63af0d5d..e5adc7f0e0ca 100644 --- a/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustAddDependencyWizardPanel1.java +++ b/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustAddDependencyWizardPanel1.java @@ -42,6 +42,7 @@ public class RustAddDependencyWizardPanel1 implements WizardDescriptor.Panel packages = (List) wiz.getProperty(PROP_PACKAGES); component.setPackages(packages); } diff --git a/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustRemoveDependencyAction.java b/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustRemoveDependencyAction.java index ecbcd0652d2c..dd8d161838ab 100644 --- a/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustRemoveDependencyAction.java +++ b/rust/rust.cargo/src/org/netbeans/modules/rust/cargo/impl/nodes/actions/dependencies/RustRemoveDependencyAction.java @@ -42,6 +42,7 @@ public class RustRemoveDependencyAction extends AbstractAction { private final RustPackage rustPackage; private final RustProjectDependenciesNode.DependencyType dependencyType; + @SuppressWarnings({"this-escape"}) public RustRemoveDependencyAction(CargoTOML cargotoml, RustPackage rustPackage, RustProjectDependenciesNode.DependencyType dependencyType) { super(CargoCommand.CARGO_REMOVE.getDisplayName()); putValue(Action.SHORT_DESCRIPTION, CargoCommand.CARGO_REMOVE.getDescription()); From 7bfbf950645382c14a0fbb06035717c3aeead346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Thu, 7 Dec 2023 23:33:13 +0100 Subject: [PATCH 31/74] Integrate rust-analyzer - add support for rust LSP implementation rust-analyzer - align rust icons more with existing NB icons - show hint if rust analyser is not configured --- ide/lsp.client/licenseinfo.xml | 27 ++ rust/rust.grammar/licenseinfo.xml | 23 +- .../rust.grammar/nbproject/project.properties | 2 +- rust/rust.grammar/nbproject/project.xml | 61 +++ .../rust/grammar/LayerProviderImpl.java | 67 ++++ .../rust/grammar/RustLanguageConfig.java | 16 +- .../netbeans/modules/rust/grammar/layer.xml | 171 ++++++++ .../modules/rust/grammar/lsp-layer.xml | 34 ++ .../modules/rust/grammar/lsp/RustLSP.java | 55 +++ .../rust/grammar/lsp/UnconfiguredHint.java | 91 +++++ .../modules/rust/grammar/non-lsp-layer.xml | 57 +++ .../grammar/structure/RustStructureItem.java | 15 +- .../rust/grammar/structure/resources/enum.png | Bin 0 -> 830 bytes .../rust/grammar/structure/resources/enum.svg | 71 ++++ .../grammar/structure/resources/function.png | Bin 0 -> 556 bytes .../grammar/structure/resources/function.svg | 39 ++ .../grammar/structure/resources/interface.png | Bin 0 -> 541 bytes .../grammar/structure/resources/interface.svg | 47 +++ .../grammar/structure/resources/module.png | Bin 0 -> 1474 bytes .../grammar/structure/resources/snippet.png | Bin 0 -> 613 bytes .../grammar/structure/resources/snippet.svg | 64 +++ .../grammar/structure/resources/struct.png | Bin 0 -> 785 bytes .../grammar/structure/resources/struct.svg | 61 +++ .../structure/resources/structure-enum.png | Bin 1186 -> 0 bytes .../resources/structure-function.png | Bin 1007 -> 0 bytes .../structure/resources/structure-impl.png | Bin 1096 -> 0 bytes .../structure/resources/structure-macro.png | Bin 1126 -> 0 bytes .../structure/resources/structure-module.png | Bin 1173 -> 0 bytes .../structure/resources/structure-struct.png | Bin 1196 -> 0 bytes .../grammar/structure/resources/trait.png | Bin 0 -> 530 bytes .../rust/options/api/RustAnalyzerOptions.java | 50 +++ .../options/impl/RustAnalyzerOptionsImpl.java | 124 ++++++ .../options/rustanalyzer/Bundle.properties | 27 ++ .../RustAnalyzerOptionsPanelController.java | 111 ++++++ .../rustanalyzer/RustAnalyzerPanel.form | 139 +++++++ .../rustanalyzer/RustAnalyzerPanel.java | 373 ++++++++++++++++++ .../rust/sources/rs/RustFileDataObject.java | 11 + 37 files changed, 1704 insertions(+), 32 deletions(-) create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/LayerProviderImpl.java create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp-layer.xml create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp/RustLSP.java create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp/UnconfiguredHint.java create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/non-lsp-layer.xml create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/enum.png create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/enum.svg create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/function.png create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/function.svg create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/interface.png create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/interface.svg create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/module.png create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/snippet.png create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/snippet.svg create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/struct.png create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/struct.svg delete mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-enum.png delete mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-function.png delete mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-impl.png delete mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-macro.png delete mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-module.png delete mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-struct.png create mode 100644 rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/trait.png create mode 100644 rust/rust.options/src/org/netbeans/modules/rust/options/api/RustAnalyzerOptions.java create mode 100644 rust/rust.options/src/org/netbeans/modules/rust/options/impl/RustAnalyzerOptionsImpl.java create mode 100644 rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/Bundle.properties create mode 100644 rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerOptionsPanelController.java create mode 100644 rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerPanel.form create mode 100644 rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerPanel.java diff --git a/ide/lsp.client/licenseinfo.xml b/ide/lsp.client/licenseinfo.xml index 24a13ec56ff1..63d1496bfb22 100644 --- a/ide/lsp.client/licenseinfo.xml +++ b/ide/lsp.client/licenseinfo.xml @@ -21,6 +21,33 @@ --> + src/org/netbeans/modules/lsp/client/bindings/icons/attribute.png + src/org/netbeans/modules/lsp/client/bindings/icons/class.png + src/org/netbeans/modules/lsp/client/bindings/icons/color.gif + src/org/netbeans/modules/lsp/client/bindings/icons/constant.png + src/org/netbeans/modules/lsp/client/bindings/icons/constructor.png + src/org/netbeans/modules/lsp/client/bindings/icons/empty.png + src/org/netbeans/modules/lsp/client/bindings/icons/enummember.png + src/org/netbeans/modules/lsp/client/bindings/icons/enum.png + src/org/netbeans/modules/lsp/client/bindings/icons/event.png + src/org/netbeans/modules/lsp/client/bindings/icons/field.png + src/org/netbeans/modules/lsp/client/bindings/icons/file.png + src/org/netbeans/modules/lsp/client/bindings/icons/folder.gif + src/org/netbeans/modules/lsp/client/bindings/icons/function.png + src/org/netbeans/modules/lsp/client/bindings/icons/interface.png + src/org/netbeans/modules/lsp/client/bindings/icons/keyword.png + src/org/netbeans/modules/lsp/client/bindings/icons/method.png + src/org/netbeans/modules/lsp/client/bindings/icons/module.png + src/org/netbeans/modules/lsp/client/bindings/icons/operator.png + src/org/netbeans/modules/lsp/client/bindings/icons/property.png + src/org/netbeans/modules/lsp/client/bindings/icons/reference.png + src/org/netbeans/modules/lsp/client/bindings/icons/snippet.png + src/org/netbeans/modules/lsp/client/bindings/icons/struct.png + src/org/netbeans/modules/lsp/client/bindings/icons/text.png + src/org/netbeans/modules/lsp/client/bindings/icons/typeparameter.gif + src/org/netbeans/modules/lsp/client/bindings/icons/unit.png + src/org/netbeans/modules/lsp/client/bindings/icons/value.png + src/org/netbeans/modules/lsp/client/bindings/icons/variable.gif src/org/netbeans/modules/lsp/client/resources/error_16.png src/org/netbeans/modules/lsp/client/resources/warning_16.png diff --git a/rust/rust.grammar/licenseinfo.xml b/rust/rust.grammar/licenseinfo.xml index 4852540b3791..4741b1647e36 100644 --- a/rust/rust.grammar/licenseinfo.xml +++ b/rust/rust.grammar/licenseinfo.xml @@ -20,23 +20,14 @@ --> - - - src/org/netbeans/modules/rust/grammar/structure/resources/structure-macro.png - src/org/netbeans/modules/rust/grammar/structure/resources/structure-enum.png - src/org/netbeans/modules/rust/grammar/structure/resources/structure-struct.png - src/org/netbeans/modules/rust/grammar/structure/resources/structure-impl.png - src/org/netbeans/modules/rust/grammar/structure/resources/structure-function.png - src/org/netbeans/modules/rust/grammar/structure/resources/structure-module.png + src/org/netbeans/modules/rust/grammar/structure/resources/enum.png + src/org/netbeans/modules/rust/grammar/structure/resources/function.png + src/org/netbeans/modules/rust/grammar/structure/resources/interface.png + src/org/netbeans/modules/rust/grammar/structure/resources/module.png + src/org/netbeans/modules/rust/grammar/structure/resources/snippet.png + src/org/netbeans/modules/rust/grammar/structure/resources/struct.png + src/org/netbeans/modules/rust/grammar/structure/resources/trait.png diff --git a/rust/rust.grammar/nbproject/project.properties b/rust/rust.grammar/nbproject/project.properties index 2ad5789cf71f..0c0c4ac904e0 100644 --- a/rust/rust.grammar/nbproject/project.properties +++ b/rust/rust.grammar/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial build.generated.sources.dir=${build.dir}/generated-sources diff --git a/rust/rust.grammar/nbproject/project.xml b/rust/rust.grammar/nbproject/project.xml index 3a8db0587598..a3837bcdf62e 100644 --- a/rust/rust.grammar/nbproject/project.xml +++ b/rust/rust.grammar/nbproject/project.xml @@ -61,6 +61,15 @@ 1.20 + + org.netbeans.modules.editor + + + + 3 + 1.119 + + org.netbeans.modules.editor.fold @@ -70,6 +79,15 @@ 1.65 + + org.netbeans.modules.editor.lib2 + + + + 1 + 2.52 + + org.netbeans.modules.editor.mimelookup @@ -96,6 +114,24 @@ 1.1 + + org.netbeans.modules.lsp.client + + + + 0 + 1.24 + + + + org.netbeans.modules.options.api + + + + 1 + 1.77 + + org.netbeans.modules.parsing.api @@ -105,6 +141,23 @@ 9.27 + + org.netbeans.modules.rust.options + + + + 1.11 + + + + org.netbeans.spi.editor.hints + + + + 0 + 1.74 + + org.openide.filesystems @@ -113,6 +166,14 @@ 9.33 + + org.openide.modules + + + + 7.79 + + org.openide.util diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/LayerProviderImpl.java b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/LayerProviderImpl.java new file mode 100644 index 000000000000..30b4d534b0d8 --- /dev/null +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/LayerProviderImpl.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.rust.grammar; + +import java.net.URL; +import java.util.Collection; +import java.util.logging.Logger; +import org.netbeans.modules.rust.options.api.RustAnalyzerOptions; +import org.openide.filesystems.Repository.LayerProvider; +import org.openide.util.lookup.ServiceProvider; + +/** + * The rust.grammer module can provide services directly or using rust-analyzer + * (the rust lsp). If the user configured rust-analyzer, that should get + * priority as it also can provide code completion and improved structure + * scanning. + * + * For this to work, the normal NetBeans behavior to generate layer entries from + * annotations (MimeRegistration of LSP, LanguageRegistration) has to be + * customized as the two options can't coexist completely. + * + * Therefore the layer entries from org.netbeans.modules.rust.grammar.RustLanguageConfig + * and org.netbeans.modules.rust.grammar.lsp.RustLSP are removed from the + * generated-layer.xml (build/classes/META-INF/generated-layer.xml), the + * annotations are commented out and the entries from the generated layer are + * checked whether they were created by one of the mentioned classes (see XML + * comments for reference) and are distributed into: + * + * - layer.xml holds everything that applies to both LSP and non-LSP mode + * - lsp-layer.xml holds everything specific to the LSP + * - non-lsp-layer.xml hold everything specific to the non-LSP run + * + * `layer.xml` is loaded by the module system unconditionally. The two variants + * `lsp-layer.xml` and `non-lsp-layer.xml` are loaded using this class. + */ +@ServiceProvider(service = LayerProvider.class) +public class LayerProviderImpl extends LayerProvider { + + private static final Logger LOG = Logger.getLogger(LayerProviderImpl.class.getName()); + + @Override + protected void registerLayers(Collection context) { + URL layerUrl; + if (RustAnalyzerOptions.getRustAnalyzerLocation(false, false) != null) { + layerUrl = LayerProviderImpl.class.getResource("lsp-layer.xml"); + } else { + layerUrl = LayerProviderImpl.class.getResource("non-lsp-layer.xml"); + } + context.add(layerUrl); + } +} diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/RustLanguageConfig.java b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/RustLanguageConfig.java index e8b6cf564901..07664647883a 100644 --- a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/RustLanguageConfig.java +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/RustLanguageConfig.java @@ -23,13 +23,13 @@ import org.netbeans.modules.csl.api.DeclarationFinder; import org.netbeans.modules.csl.api.StructureScanner; import org.netbeans.modules.csl.spi.DefaultLanguageConfig; -import org.netbeans.modules.csl.spi.LanguageRegistration; import org.netbeans.modules.parsing.spi.Parser; +import org.netbeans.modules.rust.options.api.RustAnalyzerOptions; -/** - * - */ -@LanguageRegistration(mimeType = "text/x-rust", useMultiview = true) +// See LayerProviderImpl for information about layer handling and when this +// needs to be uncommented +// +//@LanguageRegistration(mimeType = "text/x-rust", useMultiview = true) public class RustLanguageConfig extends DefaultLanguageConfig { private static final Language RUST_LANGUAGE = new RustLanguage().language(); @@ -46,12 +46,12 @@ public String getDisplayName() { @Override public StructureScanner getStructureScanner() { - return new RustStructureScanner(); + return RustAnalyzerOptions.getRustAnalyzerLocation(false, false) == null ? new RustStructureScanner() : null; } @Override public boolean hasStructureScanner() { - return true; + return RustAnalyzerOptions.getRustAnalyzerLocation(false, false) == null; } @Override @@ -66,7 +66,7 @@ public String getLineCommentPrefix() { @Override public DeclarationFinder getDeclarationFinder() { - return new RustDeclarationFinder(); + return RustAnalyzerOptions.getRustAnalyzerLocation(false, false) == null ? new RustDeclarationFinder() : null; } } diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/layer.xml b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/layer.xml index 0fb1e98858ca..353bc8cc918a 100644 --- a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/layer.xml +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/layer.xml @@ -50,6 +50,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp-layer.xml b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp-layer.xml new file mode 100644 index 000000000000..c23e12d00189 --- /dev/null +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp-layer.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp/RustLSP.java b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp/RustLSP.java new file mode 100644 index 000000000000..0a8bdda40cb2 --- /dev/null +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp/RustLSP.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.rust.grammar.lsp; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.netbeans.modules.lsp.client.spi.LanguageServerProvider; +import org.netbeans.modules.rust.options.api.RustAnalyzerOptions; +import org.openide.util.Lookup; + +// See LayerProviderImpl for information about layer handling and when this +// needs to be uncommented +// +//@MimeRegistration(mimeType = "text/x-rust", service = LanguageServerProvider.class) +public class RustLSP implements LanguageServerProvider { + + private static final Logger LOG = Logger.getLogger(RustLSP.class.getName()); + + @Override + public LanguageServerDescription startServer(Lookup lookup) { + Path rustAnalyzerPath = RustAnalyzerOptions.getRustAnalyzerLocation(true, true); + if(rustAnalyzerPath == null || ! Files.isExecutable(rustAnalyzerPath)) { + return null; + } + try { + Process p = new ProcessBuilder(new String[]{rustAnalyzerPath.toAbsolutePath().toString()}) + .directory(rustAnalyzerPath.getParent().toFile()) + .redirectError(ProcessBuilder.Redirect.INHERIT) + .start(); + return LanguageServerDescription.create(p.getInputStream(), p.getOutputStream(), p); + } catch (IOException ex) { + LOG.log(Level.FINE, null, ex); + return null; + } + } +} diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp/UnconfiguredHint.java b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp/UnconfiguredHint.java new file mode 100644 index 000000000000..dcfa157dd995 --- /dev/null +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/lsp/UnconfiguredHint.java @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.rust.grammar.lsp; + +import java.beans.PropertyChangeEvent; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; +import javax.swing.text.Document; +import javax.swing.text.JTextComponent; +import org.netbeans.api.editor.EditorRegistry; +import org.netbeans.api.options.OptionsDisplayer; +import org.netbeans.modules.editor.NbEditorUtilities; +import org.netbeans.modules.rust.options.api.RustAnalyzerOptions; + +import org.netbeans.spi.editor.hints.ChangeInfo; +import org.netbeans.spi.editor.hints.ErrorDescription; +import org.netbeans.spi.editor.hints.ErrorDescriptionFactory; +import org.netbeans.spi.editor.hints.Fix; +import org.netbeans.spi.editor.hints.HintsController; +import org.netbeans.spi.editor.hints.Severity; +import org.openide.filesystems.FileObject; +import org.openide.filesystems.FileUtil; +import org.openide.modules.OnStart; + + +@OnStart +public class UnconfiguredHint implements Runnable { + + private static final Set RUST_MIME_TYPES = Collections.singleton("text/x-rust"); + + @Override + public void run() { + EditorRegistry.addPropertyChangeListener((PropertyChangeEvent evt) -> { + updateFocused(); + }); + updateFocused(); + } + + private void updateFocused() { + JTextComponent selectedComponent = EditorRegistry.focusedComponent(); + if (selectedComponent == null) { + return; + } + Document doc = selectedComponent.getDocument(); + FileObject file = NbEditorUtilities.getFileObject(doc); + if (file == null || !RUST_MIME_TYPES.contains(FileUtil.getMIMEType(file))) { + return; + } + List errors = new ArrayList<>(); + Path rustLS = RustAnalyzerOptions.getRustAnalyzerLocation(true, false); + if (rustLS == null) { + errors.add(ErrorDescriptionFactory.createErrorDescription(Severity.WARNING, "For improved Rust support please install and configure rust-analyzer", Collections.singletonList(new ConfigureRustAnalyzer()), doc, 0)); + } + HintsController.setErrors(doc, UnconfiguredHint.class.getName(), errors); + } + + private static final class ConfigureRustAnalyzer implements Fix { + + @Override + public String getText() { + return "Configure rust-analyzer"; + } + + @Override + public ChangeInfo implement() throws Exception { + OptionsDisplayer.getDefault().open("Rust/RustAnalyzer"); + return null; + } + + } + +} diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/non-lsp-layer.xml b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/non-lsp-layer.xml new file mode 100644 index 000000000000..86985859b2a7 --- /dev/null +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/non-lsp-layer.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/RustStructureItem.java b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/RustStructureItem.java index 3a3c3ae138c9..d51b94ea5f31 100644 --- a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/RustStructureItem.java +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/RustStructureItem.java @@ -42,20 +42,21 @@ private static final String getIconBase(RustASTNode node) { switch (node.getKind()) { case CRATE: case ENUM: - return "org/netbeans/modules/rust/grammar/structure/resources/structure-enum.png"; // NOI18N + return "org/netbeans/modules/rust/grammar/structure/resources/enum.png"; // NOI18N case FUNCTION: - return "org/netbeans/modules/rust/grammar/structure/resources/structure-function.png"; // NOI18N + return "org/netbeans/modules/rust/grammar/structure/resources/function.png"; // NOI18N case STRUCT: - return "org/netbeans/modules/rust/grammar/structure/resources/structure-struct.png"; // NOI18N + return "org/netbeans/modules/rust/grammar/structure/resources/struct.png"; // NOI18N case IMPL: + return "org/netbeans/modules/rust/grammar/structure/resources/trait.png"; // NOI18N case TRAIT: - return "org/netbeans/modules/rust/grammar/structure/resources/structure-impl.png"; // NOI18N + return "org/netbeans/modules/rust/grammar/structure/resources/interface.png"; // NOI18N case MACRO: - return "org/netbeans/modules/rust/grammar/structure/resources/structure-macro.png"; // NOI18N + return "org/netbeans/modules/rust/grammar/structure/resources/snippet.png"; // NOI18N case MODULE: - return "org/netbeans/modules/rust/grammar/structure/resources/structure-module.png"; // NOI18N + return "org/netbeans/modules/rust/grammar/structure/resources/module.png"; // NOI18N default: - return "org/netbeans/modules/rust/grammar/structure/resources/structure-struct.png"; // NOI18N + return "org/netbeans/modules/rust/grammar/structure/resources/structure.png"; // NOI18N } } diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/enum.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/enum.png new file mode 100644 index 0000000000000000000000000000000000000000..f54c89b9cfb44a1114edf1ae4e5b40a1e2b73d2f GIT binary patch literal 830 zcmV-E1Ht@>P)E2M8c07-L`->Q!ywPQd=ip^v z`1uo#<^KL+IP&p}<5MQqCV&89RuAnu`urz9!?VM47))*K8JL)v!Fcw>Zibr-t_-$} zLJS(Bf(#7oY$*84&tD8TFJ1l*5I`&}tn3WAWfK@KA2MQ?&{4rqP+!k5p|O!c%DaO> zc*S;xE3E$*uH1agfCJP41Q5&Lzke7$GjcMB7)CIB`1+fnv!<3o(6t%N|NQt5gV2|k z3|bae7&@<=IL2_{{KYu{0mSm>_iu)8zy2{W0sSd$9?ifcWz8Tds{rPUzJJc(;b6lc zBqD-gfTA@p%wE580|+3X0l$F$`3sFZ9tH_z9R^U^1d086`;tM38JJYwzr!#9B>v~` zUj={w0vqt-&p)gl{L0SF@c#L820=jq47vC3KL9QH`4}L8m_PdRM`00IbPwJ`&J0LpMrfLIua*?}0C92wpM@hhMOe*ppv04#GT(S1NSRR91007*qo IM6N<$f + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/function.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/function.png new file mode 100644 index 0000000000000000000000000000000000000000..7be8a378a3747d5a82416effd17e4b7fab5af00a GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx-l>?F7kA745_%4^ymM7duCMzg@zdt8Y~QqE*lx4#E~ZdBKNW`vk9k|A7v;!V|%pT zVUI|MdZo|YV$mgR3Jns4tdFjpSrVYfcrZ2S)-Ii-RjYXZ2u@Yyb5G^E}~_dGPl4_k>cQD@=LfYJYC} z`|-0l56>AN3qudNC434E8>9-}9$hUd{@(sa_5YW~Y;0v^JUl||C!4P@vIvCfud%8B z$sw+tef52P{q3H6`_scFOidLK6HKf4{Y>|8^YMPkb9ZE|4Wt@rK!{@MBW&gAFX-|p_*&VHhvU%;W~$0lPB;R!;_Ns1Z! mezG5V?{JXChzA(J2N*Js?XY=Uzpw!qvkacDelF{r5}E+&8r}5( literal 0 HcmV?d00001 diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/function.svg b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/function.svg new file mode 100644 index 000000000000..3188ced38012 --- /dev/null +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/function.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/interface.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/interface.png new file mode 100644 index 0000000000000000000000000000000000000000..ae582f77a865f782849599afd143a6326f5799cf GIT binary patch literal 541 zcmV+&0^k-9M6m$?0mMSA!i?NPdmxnw#Nj}^5{ReInB0F5Ab=Rt za|(EYoJOeRbRez=N_W(w z1Q0_|Smckd-@gC<{O#v|5FHd6@&Ch@?ex6pTAMWKzxumKmaid3X5p``1w~) zK}nTi$)2B{E0R#{uP@WlxrGQuzh+hNoGoTHBkquyEWaL#)Qi3 literal 0 HcmV?d00001 diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/interface.svg b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/interface.svg new file mode 100644 index 000000000000..670c9e62f565 --- /dev/null +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/interface.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/module.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/module.png new file mode 100644 index 0000000000000000000000000000000000000000..505f4b7f812319106884ce66b111bde60c9422c5 GIT binary patch literal 1474 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+mc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD#PU%0_}#n6BP2AO_EVu8M)o`HUDF34YC)x{-2sR(CaRb3oXS&*t9 zlvJ zOih!`jdW8}%u{tu(@e~DEi8-@bxjk^4Gc`pOwEnW%wgtW({EtxV(DVwXkqMP=wfK- zYUXHeZ0=%Y?rLFVYT@i`W&qRcnO9trn3tRivpW-LH&m}VUcFY%MX8A;`9&f5`8lvu z5Rj2yl3$#WU!dUZte_E|nU|7ZUaSd{2l&r$vI-3+A}#NeO%QvHfE(IMv7*vHFRMOwsNQkIz)+ zUpyV_c*r~LdFuV&b!X1#85-wpn)TID`KM)w)@B8!sHg`2$05bp6}}-M9df5{#+;p5 zc;WjT?xi#CdpyJOx38Mdl_209LA7fZ(*yzqS z=l7|I+KC?n^;jjMQbVu(y;O9qev`7e&HBEEEiAisA8PyiMnj@@#z*x$VZEmxf(%xz zd0?RS=IK4=`g6e<*}9LmOqx`e6Vmr|f^OG;jx+O4KIzDfd9gd@USHrf{psAd`Y&i^xr8Si z>*tp~@Lu@NED2|ggpFTT+$^m+AShC}N4#UzdQ*3%RYi-u%D9-gx@AAl`uO&$@$-i6 zRXvY`E?Cd~xVF^n)I@E?By(0q&o^8d(Q~7jK5f`B;n-!_Zy+-5 zno}8{&YW1qWW=ylF8cOF>7{1Aty2HEfBaOPamwtcSBhSx-j-)6>tC@)J3i*`T;cxh n?)4u(zo~kavY1EKvq~`Ztr7XuzQGSvN;7!6`njxgN@xNA?ExFr literal 0 HcmV?d00001 diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/snippet.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/snippet.png new file mode 100644 index 0000000000000000000000000000000000000000..b56c19cee5d575480a31f2a3d433a240d9de649e GIT binary patch literal 613 zcmV-r0-F7aP)>!O+57f@4x>j z`1hZG|9?R-h<)|hkN;LV3;*}5I1x2()ph}pK7asXV!#8Km>3zDp%}zoa^Mcb{Mtx{ zbw_S4WfzcD1*riDAiM^kg9K+ah6Q_Xf!XKoJof_800Bgj0V<-bU_PgAb_yCpl4YDgG2(<&A=Ffs|5%ktSr0faLQSpWQF z;9{H3@a@SrhEs0?8TgqufyMsr)mnh#d)HVEq1#;fus( z20^CX44elX7z!e%G5q-RAB + + + + + + + + + + + + + + + + + + + + diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/struct.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/struct.png new file mode 100644 index 0000000000000000000000000000000000000000..220e6f385e0aef0c0aa7ab28d6623b2a2b7d0374 GIT binary patch literal 785 zcmV+s1Md8ZP)FfD0{{dNhKZ}H zL;^MyGyMPg^7Q|&w^o8_5FaFt%>@7f#0Vl_U`d&9Am`6_>%2>LGyHyY87|H$qRX(g z$CcqbyHHR}*W2~T4gd%sxB+tugu*#~zF!ekx}M?J%hMPxWfM1LSl1oM@Pl12B6-5Q zl`wID0D^}B)7SSa0*h8L{Cs+t;s2i>7#JiDk_V|nHW(m)7~|?^fSthdY!8F+k2MU@ zX~ifu|M~Tw;l-_=46pD1V)*gpAH%PIzuvJiu}uO>P4t*L=L0|hF~-zP{a>Av!0_qg z2ZrlMmN2~AQ_hf@UjfzpkKy{Ej|`lGnhc7j<_!FjQVbuTKV!Im`Xs~SOBXgXGBCse z1Q65Tzke8>efq`lg^`OvP(Pf3$*PrMN_PhX13NpzgX=#SSh*A#3>+L8__?_l7(RUf z(;&X2x`yxf-+u}K0*K|$@81mHfHr}{frFPp!X%R6!JmH&z4f&Wx^l4$4vv-#3~ydx z1ges}Jj0Fi=i>na2xtJ%_Md-|f}4jy)G&hK@sFPjpDy2E5Ml;~^ZR!g27tu>{Qau{ z5I{^I1AYK)M8-^*cjeFf6l=0<2wchiGTU|^D#gGfem10X2HOG0>TWx z6!jP`-@VJgz{!DuLE`2F`UgQ1oNgOG>_ z!@DzI=5FAb>zt8#CYspw#*Vh=qZe9f*Gd@mnB%1+?HVK!5=N6-#svo^p^a P00000NkvXXu0mjf*;Qhm literal 0 HcmV?d00001 diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/struct.svg b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/struct.svg new file mode 100644 index 000000000000..8c0a9dca7298 --- /dev/null +++ b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/struct.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-enum.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-enum.png deleted file mode 100644 index 624f23b9d000db65a58dfa48438c3a59790504d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmV;T1YP@yP)EX>4Tx04R}tkxeK>Q5c3F7m>)qEHqi%#jv7;WXVvIqNYL3VBy|7W~jN>bni?y zmdaLH_}LgNY^>Q@*ea#`lx%IRh>di8XJ%?98K+L?={@It`@ZjhR>)Yk*U%5PlXGK{ zupUp$>rF3c1Zg1vhUI0)qR}a8uFpH_)Op*dvTDEkbG0RxJqzk|;ZZB==7g7ohu3pi z#e2d5YsE+kp9%N6QlRjI(#;aTDoz(!Q<(vGHa0FS)uX4Y*sNk}#kGZpghNT&k$f#) z;-umY#daodmFrX;wk|t!GfJ1;MTAMFiK1hYXO#>&`s8#(@rcQNxQ0Ji^hd>Iifa{1 z922ZzV-)?UKlnXcFEuz&N@@*5R5;6(lTAnzVHn5%`_AZo&9bYr>wf0CBtZuaX(Nfm zKqRm-=n_HS*(neNN%Go3>=JrP{D?wCj5=f{5<%i+g)J+(xT53gtefeqlQTOrE;e=u zR(DIJ|LuLB=lAkF&-;H2$kW)<$ySxDHm4-P_fwH50I*wZ+eH=^Z_?e}7n*7w@69)4 z!QSaAh2lr%f6SGa2FwTrt#Gm?0KmGSfs3cH#H% zkKdBE)?4k{^cKC+@~7wBvR}NMMEPMq#z#A$X&DSW8;9TTg3rrlD_LAhL)lrqM>do- ze<*0p!n&?wZk|WY=}OQv1%@%B@%$;w#+LKiu|kjpH!aF(;$$7!Kqj+|zJUq!4NT+! z{ZCqQ&Q8_@QBDy$e^7;m1-O2-4jm7hKnTG>A`Zr)uM67l1u>wu<`{;C-$N8-==u&c zEdyQGbHH^$gWYQVMOd42m5Zlyf@kYb!0j$VTYC>Gj^D=3rcP{Z$a$VfgJqma+PvfG zjwRw9TwKcj1Vs_l*M(7E7v9%UOT3B-x2MYh0Ivpzmy;qNILJrEX>4Tx04R}tkxeK>Q5c3F7m>)qEHqi%#jv7;WXVvIqNYL3VBy|7W~jN>bni?y zmdaLH_}LgNY^>Q@*ea#`lx%IRh>di8XJ%?98K+L?={@It`@ZjhR>)Yk*U%5PlXGK{ zupUp$>rF3c1Zg1vhUI0)qR}a8uFpH_)Op*dvTDEkbG0RxJqzk|;ZZB==7g7ohu3pi z#e2d5YsE+kp9%N6QlRjI(#;aTDoz(!Q<(vGHa0FS)uX4Y*sNk}#kGZpghNT&k$f#) z;-umY#daodmFrX;wk|t!GfJ1;MTAMFiK1hYXO#>&`s8#(@rcQNxQ0Ji^hd>Iifa{1 z922ZzV-)?UKlnXcFEuz&N@@*5(R5;76lRaS2LNzSI zVkSCn6I96d<+WQ+ws*EpVgSIx^BM~r^?vpda*5mc9SYSzq5@h@U5#;k4Zyv~q0!hq z9W~xO$UR=DY#hA8>;0Ekl6*e6z}N3Re6&B{PO9`g=7(c_UDTG!Zog$%Bk`q5zIYn^ zaIAAI9Of0NfK^eX0$4cAbKcAq=F?tet|R8^&7 zyW=)tduM+Qw!JfS+$L11*e>g(DhB|RWGYn1_FGQEX>4Tx04R}tkxeK>Q5c3F7m>)qEHqi%#jv7;WXVvIqNYL3VBy|7W~jN>bni?y zmdaLH_}LgNY^>Q@*ea#`lx%IRh>di8XJ%?98K+L?={@It`@ZjhR>)Yk*U%5PlXGK{ zupUp$>rF3c1Zg1vhUI0)qR}a8uFpH_)Op*dvTDEkbG0RxJqzk|;ZZB==7g7ohu3pi z#e2d5YsE+kp9%N6QlRjI(#;aTDoz(!Q<(vGHa0FS)uX4Y*sNk}#kGZpghNT&k$f#) z;-umY#daodmFrX;wk|t!GfJ1;MTAMFiK1hYXO#>&`s8#(@rcQNxQ0Ji^hd>Iifa{1 z922ZzV-)?UKlnXcFEuz&N@@*5e$gT6~l=Yn%6GlT9_` z@p&@MYCwYj)4dfj#~_nc80;LQHo;S3 zQoeHoDG!eK$kfApcUe*alX4xvIk2PxPt`X|0O0<@LcWkp@H7+v>2~4K^ew!9`a%N@ zjE&&@%r&r70ga6v@ZEvjhV^Br6WU;iEvEwObKUV zx$y0a(D5_1YVq;w8(EUPtjZZ@tym@ipm*39$9ok|-FN5ox#63w^}hhZ<=+<=Cv#8$ O0000EX>4Tx04R}tkxeK>Q5c3F7m>)qEHqi%#jv7;WXVvIqNYL3VBy|7W~jN>bni?y zmdaLH_}LgNY^>Q@*ea#`lx%IRh>di8XJ%?98K+L?={@It`@ZjhR>)Yk*U%5PlXGK{ zupUp$>rF3c1Zg1vhUI0)qR}a8uFpH_)Op*dvTDEkbG0RxJqzk|;ZZB==7g7ohu3pi z#e2d5YsE+kp9%N6QlRjI(#;aTDoz(!Q<(vGHa0FS)uX4Y*sNk}#kGZpghNT&k$f#) z;-umY#daodmFrX;wk|t!GfJ1;MTAMFiK1hYXO#>&`s8#(@rcQNxQ0Ji^hd>Iifa{1 z922ZzV-)?UKlnXcFEuz&N@@*54_-V=-P11XD8(pKnq?NtvmprS(Q;Q=AoC05PW`x-8m7TU5sS<1Cp!hP}NXauV@l$ z35LM9y*LQ1kcX1ZfV10vj5plV7q3U&kpQ3>%ZZ96v3xiRv&)Tnj{|RBuJwc8KV~uS zaiDE9fe%Mft4N~?Bd!C$vBcBVom@F{#Tt&n>=b}r4;4{Fx6{GIR1^e3VB=L1XQra? zOa#D=J3tzYC~v+uEZw|sAa_mDUCJp8UE3Et2U*<4UaN&}rvtOa($^Tb7nDY7UI|MnmjyB(#iulV#f4c96EkZ!c{ z&^47H@ejO#v)F4kVKABg>KQSyY_D0BiP7WqkT@Bi!DM{qz+kf~gJReo$yxZ_dNGfq zQZMGgvAjZ#b@?ZHsR*rb_#s;1S1XyeZH1h>dSTh+^D9a=gGO2WZ@5twp=2`Y5)KL07*qoM6N<$f(Bdx=>Px# diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-module.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-module.png deleted file mode 100644 index 65dd9681ca968945952aa26ea6987a930cb415ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1173 zcmV;G1Zw+EX>4Tx04R}tkv&MmKpe$iQ>7vm2P=qF$WS|35EXIMDionYsTEpvFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|>f)s6A|?JWDYS_3;J6>}?mh0_0Yam~RI_UwP&La) zC*oo@w<-o+As~!FL@^>UQ=dzvlJFc~_we!cF2=LG&;2?2l)T9RpGZ8*bi*RvAfDc| zbk6(4Ay$$U;&b9LgDyz?$aUG}H_kh$D)sQNECM zS>e3JS*_Gq>z@3D!MwJz%ypV!B(R7jq#!~@4P{hdAx5i4iitGs$36VRjz2{%nOtQs zax9<<6_Voz|AXJ%nuW;;Hz^ngx?gPjV-yJN0?oQ@e;?a+^91le16NwxUu^(0pQP8@ zTI2}m-v%zO+nT%wTeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00M1EL_t(I%axNqOcQYw$G`Wdg_i5x{hHGDO8HamSz{MS zFdYnOh>0dbTyQbEXyW3AI%&{EM|IOUkl=!YCK@7OVo20NR2Y;27gMBQ=^b|k?yi)U zwy`)E2`XUtOz-8ryqEXQ_fhzZ;lYXPmR-MU8d*}vc{Znn0QyKoA{@UO=$U%@r)cKqMfOV|^D`{fwTON(FY>BJE&aO+b>8$~y{Znnr zj`?@X`3&!i)q}_cJ7FXZXj3{wum6W+g=42K#6GbAU^$iH<+ThSi2K1e^4JX`6EL+5 zl!VIIrJ4i)j(Pcb;@Ye--4lrWA%;Z!j~bx{jDtaDa>3qv`DQKCb-sIK(_MB*F$ro) z#e?35*sNAT(KHOrz|f;1G#_b3Hl2li)MaHZ2+Js3Q|Y{YhwWb ztlfs-p~kJ6;NejzRZ!=1qG;qn?{p_?XaC3skR0(Y49Ci8pU0 zmpBp@p)F{bo0&slt%$|h3@W8E^t29}-3GZe3^k>qPT(-}eg+X=1U@ljQ6taBZ-1Hl z&=)+}u&aS~GSuSh45GnfHz)vj^5VIWhXL{T;0EjEW zPU7)bl!OW+Y3#XKNvI$me?>Hc$NzaI)4ljMolFY*ex~h=JRQGfvig-(L+6V|9suAV n9Nfg46U)AP-Df-QZ14XGn+o_Q9%$}z00000NkvXXu0mjf)ejZb diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-struct.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/structure-struct.png deleted file mode 100644 index d4b4000f1ed920fb431057ade07166d3b9dd0eb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1196 zcmV;d1XKHoP)EX>4Tx04R}tkxeK>Q5c3F7m>)qEHqi%#jv7;WXVvIqNYL3VBy|7W~jN>bni?y zmdaLH_}LgNY^>Q@*ea#`lx%IRh>di8XJ%?98K+L?={@It`@ZjhR>)Yk*U%5PlXGK{ zupUp$>rF3c1Zg1vhUI0)qR}a8uFpH_)Op*dvTDEkbG0RxJqzk|;ZZB==7g7ohu3pi z#e2d5YsE+kp9%N6QlRjI(#;aTDoz(!Q<(vGHa0FS)uX4Y*sNk}#kGZpghNT&k$f#) z;-umY#daodmFrX;wk|t!GfJ1;MTAMFiK1hYXO#>&`s8#(@rcQNxQ0Ji^hd>Iifa{1 z922ZzV-)?UKlnXcFEuz&N@@*5mu z5?X5HQ$jstJ{3|B^wLYOy@V3>Ad-m?36`2d5{VBJGE!Nf)x%tCm;K!G?(TNo4Cn00 z;Zljt)5muX-yi2w;V+Co^WRO8Vz(>{w)A?E#5Pb$m1mhUGf!vry=|S|N4xc^onWee zz9y*=M)>&hVXBG)sEYc!27oao- z?IZvjIX>XOvnniH;k+I&P8$F~7A1^69zf6S`$GWH+;jhQgp28b+HnuL-|>58XB!Q%mcK zit>}yg}eS-Lxrmn1W7_ml5o0@?pcR%*^yjWwGbIuB6hC5gN92N@TzYRVq7@z9;IeI zHe`uV??+Z2cY`tNF*`a5f+W$@?gMKw?puf`Vc1++5cd!U&VtJ~ufyBgjF){+_e_%( zM3m^*ErOvfiByn3a8#qsit`=q__7cv$ftrl7@Z|XFk6ORB@}}cjO590D_@aO*0G(- z;deTN;HMQ(3|(L-B@_db)%U0XVCeZoXc8a00L3B=|CFfq=^wT_lUc`L`M$gCvAX!EImTbX4!*{V32d|kCm1<$lb2@}!q zvi-lGX*b4({r6I&*qxFS)(u%A0HBy=a|~^Xvsryl+g0zw-TFV}6$#Cf9+{Q^0000< KMNUMnLSTZ2{u|%` diff --git a/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/trait.png b/rust/rust.grammar/src/org/netbeans/modules/rust/grammar/structure/resources/trait.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc56d48e2dd7afb271f65aedb6292598a6b5c86 GIT binary patch literal 530 zcmV+t0`2{YP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iprB z5g9vHVR2*t00ELoL_t(I%hi+5E5mUZ$KQ{Ai&hJ*r8XBS^^sbwEH@O&4v5vn#bFm) zYHkig*ug*G#|;-*eHAVW2a?i~QsSVMVoI~ww|)2RyUo|*;_!7N2YKqbJkRrfJ?EuCB1OUVVtc)cRC$!euY6CF$*<1lIJC;b~&Eh4Gr@h5) zKW+?#;Og&3YIhgOx+n~DcmkDP9E*;(M2#AF$0uxdAlJPgwyAP zQ7FLa^WnWz!dWafff*t6Vm8bA%L^B?S&j<9dOH0jqe5_5Rln5As>)FzSh`bH`7#_H zZJwUS&B6k%6=nZ)XsFkGK~h!EldG$3uE9YVng)y2iu;WXJZRbh)m2sscTG*yCQ1JM z+naoq%f+6HMXMRm>2Nd+xLljven0910X)XzIFx1Vq*5aUzyiPtzyTl);E9Eo2h%UX U9!>p9a{vGU07*qoM6N<$f-nl^k^lez literal 0 HcmV?d00001 diff --git a/rust/rust.options/src/org/netbeans/modules/rust/options/api/RustAnalyzerOptions.java b/rust/rust.options/src/org/netbeans/modules/rust/options/api/RustAnalyzerOptions.java new file mode 100644 index 000000000000..60ef1f197ca5 --- /dev/null +++ b/rust/rust.options/src/org/netbeans/modules/rust/options/api/RustAnalyzerOptions.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.rust.options.api; + +import java.nio.file.Path; +import org.netbeans.modules.rust.options.impl.RustAnalyzerOptionsImpl; + +/** + * Returns the options for rust-analyzer + */ +public final class RustAnalyzerOptions { + + /** + * Returns the Path where rust-analyzer is installed, or null. + * + * @param verifying If true then the path is checked for validity (the path + * exists and is executable) and if it is incorrect then a notification is + * shown to the user. + * @param showNotificationIfVerifyFail If true then a user notifiation is + * generated if rust-analyzer is not executeable + * @return The Path where rust-analyzer is installed, or null. + */ + public static final Path getRustAnalyzerLocation(boolean verifying, boolean showNotificationIfVerifyFail) { + return RustAnalyzerOptionsImpl.getRustAnalyzerLocation(verifying, true); + } + + /** + * Opens the rust-analyzer options panel. + */ + public static void showRustAnalyzerOptions() { + RustAnalyzerOptionsImpl.showRustAnalyzerOptions(); + } + +} diff --git a/rust/rust.options/src/org/netbeans/modules/rust/options/impl/RustAnalyzerOptionsImpl.java b/rust/rust.options/src/org/netbeans/modules/rust/options/impl/RustAnalyzerOptionsImpl.java new file mode 100644 index 000000000000..739be4768ca7 --- /dev/null +++ b/rust/rust.options/src/org/netbeans/modules/rust/options/impl/RustAnalyzerOptionsImpl.java @@ -0,0 +1,124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.netbeans.modules.rust.options.impl; + +import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.prefs.Preferences; +import javax.swing.ImageIcon; +import javax.swing.SwingUtilities; +import org.netbeans.api.options.OptionsDisplayer; +import org.netbeans.modules.rust.project.api.RustProjectAPI; +import org.openide.awt.NotificationDisplayer; +import org.openide.util.ImageUtilities; +import org.openide.util.NbBundle; +import org.openide.util.NbPreferences; + +/** + * RustAnalyzerOptions implementation. + */ +public final class RustAnalyzerOptionsImpl { + + private static final String RUST_ANALYZER_LOCATION_KEY = "rust-analyzer-location"; // NOI18N + + private static Preferences getPreferences() { + return NbPreferences.forModule(RustAnalyzerOptionsImpl.class); + } + + /** + * Returns the full path to the "rust-analyzer" executable, or null if none + * exists. + * + * @param verify true to verify that the path is indeed executable + * @param showNotificationIfVerifyFail true to generate notification if rust analyzer is not executeable + * @return The full path to the rust-analyzer executable, or null. + */ + public static Path getRustAnalyzerLocation(boolean verify, boolean showNotificationIfVerifyFail) { + String rustAnalyzer = getPreferences().get(RUST_ANALYZER_LOCATION_KEY, null); + // Check if rust-analyzer is valid, if not then reset from preferences + if (rustAnalyzer != null && !rustAnalyzer.trim().isEmpty() && verify) { + File rustAnalyzerExecutable = new File(rustAnalyzer); + if (rustAnalyzerExecutable.canExecute()) { + return Paths.get(rustAnalyzer); + } + // Reset from prefernces + deleteRustAnalyzerLocation(); + rustAnalyzer = null; + // Warn the user if rust-analyzer cannot be found + if (showNotificationIfVerifyFail) { + showRustAnalyzerNotFoundNotification(); + } + } + return rustAnalyzer == null ? null : Paths.get(rustAnalyzer); + } + + /** + * Removes the previously saved rust-analyzer location. + */ + public static void deleteRustAnalyzerLocation() { + getPreferences().remove(RUST_ANALYZER_LOCATION_KEY); + } + + /** + * Sets a new rust-analyzer location. It is ignored if this is not a valid + * rust-analyzer location. + * + * @param location The location (possibly an absolute path). + */ + public static void setRustAnalyzerLocation(String location) { + if (location == null || location.trim().isEmpty()) { + deleteRustAnalyzerLocation(); + } else { + File rustAnalyzer = new File(location); + if (rustAnalyzer.canExecute()) { + getPreferences().put(RUST_ANALYZER_LOCATION_KEY, rustAnalyzer.getAbsolutePath()); + } + } + } + + /** + * Opens the "Rust" options dialog, focused in the "rust-analyzer" tab. + */ + public static void showRustAnalyzerOptions() { + SwingUtilities.invokeLater(() -> { + OptionsDisplayer.getDefault().open("Rust/RustAnalyser"); // NOI18N + }); + } + + @NbBundle.Messages({ + "MISSING_RUSTANALYZER_TITLE=rust-analyzer command was not found.", + "MISSING_RUSTANALYZER_DETAILS=rust-analyzer could not be found in your PATH. Please select the rust-analyzer executable location" + }) + public static void showRustAnalyzerNotFoundNotification() { + NotificationDisplayer.Priority priority = NotificationDisplayer.Priority.HIGH; + String title = Bundle.MISSING_RUSTANALYZER_TITLE(); + String details = Bundle.MISSING_RUSTANALYZER_DETAILS(); + ImageIcon icon = new ImageIcon(ImageUtilities.loadImage(RustProjectAPI.ICON)); + NotificationDisplayer.getDefault().notify( + title, + icon, + details, + actionEvent -> showRustAnalyzerOptions(), + priority + ); + } + +} diff --git a/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/Bundle.properties b/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/Bundle.properties new file mode 100644 index 000000000000..0a9b93959a97 --- /dev/null +++ b/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/Bundle.properties @@ -0,0 +1,27 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +RustAnalyzerPanel.cmdGetVersion.text=Get version +RustAnalyzerPanel.cmdBrowse.toolTipText=Browse rust-analyzer in your filesystem +RustAnalyzerPanel.cmdBrowse.text=Browse... +RustAnalyzerPanel.filterRustAnalyser=rust-analyser binary +RustAnalyzerPanel.infoPanel.text=\n \n\n \n \n

About

\n

\n rust-analyzer is a LSP server for the Rust programming language.\n

\n

\n LSP server provide IDE independend language support. This includes\n semantic analysis, error checking, formatting and code completion.\n NetBeans can make use of such the rust-analyzer LSP to provide\n language services.\n

\n

Download

\n

\n Please follow the instructions on the website of the project:\n https://rust-analyzer.github.io/.\n

\n

Notice

\n

Switching from LSP/to LSP requires a restart of the IDE.

\n \n\n +RustAnalyzerPanel.restartTitle=Restart IDE +RustAnalyzerPanel.restartDetails=Click here to restart IDE and apply your rust-analyzer settings change. +RustAnalyzerPanel.lblRustAnalyzerPath.text=rust-analyzer executable location: +RustAnalyzerPanel.txtRustAnalyzerPath.toolTipText=The full path pointing to rust-analyzer executable +RustAnalyzerPanel.txtRustAnalyzerPath.text= +RustAnalyzerPanel.lblRustAnalyzerVersion.text= diff --git a/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerOptionsPanelController.java b/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerOptionsPanelController.java new file mode 100644 index 000000000000..3bb3b2284240 --- /dev/null +++ b/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerOptionsPanelController.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.rust.options.rustanalyzer; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import javax.swing.JComponent; +import javax.swing.SwingUtilities; +import org.netbeans.spi.options.OptionsPanelController; +import org.openide.util.HelpCtx; +import org.openide.util.Lookup; + +@OptionsPanelController.SubRegistration( + id="RustAnalyzer", + location = "Rust", + displayName = "#AdvancedOption_DisplayName_RustAnalyzer", + keywords = "#AdvancedOption_Keywords_RustAnalyzer", + keywordsCategory = "Rust/RustAnalyzer", + position = 1500 +) +@org.openide.util.NbBundle.Messages({ + "AdvancedOption_DisplayName_RustAnalyzer=rust-analyzer", + "AdvancedOption_Keywords_RustAnalyzer=rust analyser rust-analyzer" +}) +public final class RustAnalyzerOptionsPanelController extends OptionsPanelController { + + private RustAnalyzerPanel panel; + private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); + private boolean changed; + + @Override + public void update() { + getPanel().load(); + changed = false; + } + + @Override + public void applyChanges() { + SwingUtilities.invokeLater(() -> { + getPanel().store(); + changed = false; + }); + } + + @Override + public void cancel() { + // need not do anything special, if no changes have been persisted yet + } + + @Override + public boolean isValid() { + return getPanel().valid(); + } + + @Override + public boolean isChanged() { + return changed; + } + + @Override + public HelpCtx getHelpCtx() { + return null; // new HelpCtx("...ID") if you have a help set + } + + @Override + public JComponent getComponent(Lookup masterLookup) { + return getPanel(); + } + + @Override + public void addPropertyChangeListener(PropertyChangeListener l) { + pcs.addPropertyChangeListener(l); + } + + @Override + public void removePropertyChangeListener(PropertyChangeListener l) { + pcs.removePropertyChangeListener(l); + } + + private RustAnalyzerPanel getPanel() { + if (panel == null) { + panel = new RustAnalyzerPanel(this); + } + return panel; + } + + void changed() { + if (!changed) { + changed = true; + pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true); + } + pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null); + } + +} diff --git a/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerPanel.form b/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerPanel.form new file mode 100644 index 000000000000..e7ac43da735d --- /dev/null +++ b/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerPanel.form @@ -0,0 +1,139 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerPanel.java b/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerPanel.java new file mode 100644 index 000000000000..6ba3edce2212 --- /dev/null +++ b/rust/rust.options/src/org/netbeans/modules/rust/options/rustanalyzer/RustAnalyzerPanel.java @@ -0,0 +1,373 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.rust.options.rustanalyzer; + +import java.awt.Desktop; +import java.awt.Dimension; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.Path; +import java.nio.file.Paths; +import javax.swing.JFileChooser; +import javax.swing.SwingUtilities; +import javax.swing.SwingWorker; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkListener; +import javax.swing.filechooser.FileFilter; +import org.netbeans.modules.rust.options.impl.RustAnalyzerOptionsImpl; +import org.openide.LifecycleManager; +import org.openide.awt.Notification; +import org.openide.awt.NotificationDisplayer; +import org.openide.util.ImageUtilities; +import org.openide.util.NbBundle; + +final class RustAnalyzerPanel extends javax.swing.JPanel implements DocumentListener { + + private final RustAnalyzerOptionsPanelController controller; + private final ComponentListener resizeListener = new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + updateInfoPaneWidth(); + } + }; + private final HyperlinkListener hyperlinkListener = (HyperlinkEvent he) -> { + try { + if (he.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { + URI uri = he.getURL().toURI(); + Desktop.getDesktop().browse(uri); + } + } catch (IOException | URISyntaxException ex) { + ex.printStackTrace(); + } + }; + private JFileChooser fileChooser; + private SwingWorker versionWorker; + + RustAnalyzerPanel(RustAnalyzerOptionsPanelController controller) { + this.controller = controller; + initComponents(); + txtRustAnalyzerPath.getDocument().addDocumentListener(this); + infoPanel.setEditable(false); + infoPanel.addHyperlinkListener(hyperlinkListener); + } + + private void updateInfoPaneWidth() { + int width = getParent().getWidth(); + setMaximumSize(new Dimension(width, Integer.MAX_VALUE)); + setPreferredSize(new Dimension(width, super.getMinimumSize().height)); + validate(); + } + + @Override + public void addNotify() { + super.addNotify(); + SwingUtilities.getUnwrappedParent(this).addComponentListener(resizeListener); + updateInfoPaneWidth(); + } + + @Override + public void removeNotify() { + SwingUtilities.getUnwrappedParent(this).removeComponentListener(resizeListener); + super.removeNotify(); + } + + private SwingWorker newWorker() { + return new SwingWorker() { + @Override + protected String doInBackground() throws Exception { + String rustAnalyser = txtRustAnalyzerPath.getText(); + return getVersionOf(rustAnalyser); + } + + @Override + protected void done() { + versionWorker = null; + String version; + try { + version = get(); + lblRustAnalyzerVersion.setText(version); + } catch (Exception ex) { + lblRustAnalyzerVersion.setText(""); + } + } + }; + } + + private String getVersionOf(String aPossibleRustAnalyserPath) throws Exception { + File rustAnalyser = Paths.get(aPossibleRustAnalyserPath).toFile(); + if (rustAnalyser.isFile() && rustAnalyser.canExecute()) { + return getVersionOf(rustAnalyser); + } + return null; + } + + private String getVersionOf(File rustAnalyser) throws Exception { + Process p = Runtime.getRuntime().exec(new String[]{rustAnalyser.getAbsolutePath(), "--version"}); + int ok = p.waitFor(); + if (ok == 0) { + String version = null; + try (BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()))) { + do { + String line = reader.readLine(); + if (line == null) { + break; + } + version = line; + } while (true); + } + p.destroy(); + return version; + } + return null; + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; + + lblRustAnalyzerPath = new javax.swing.JLabel(); + txtRustAnalyzerPath = new javax.swing.JTextField(); + cmdBrowse = new javax.swing.JButton(); + cmdGetVersion = new javax.swing.JButton(); + lblRustAnalyzerVersion = new javax.swing.JLabel(); + infoPanel = new javax.swing.JTextPane(); + + setLayout(new java.awt.GridBagLayout()); + + lblRustAnalyzerPath.setLabelFor(txtRustAnalyzerPath); + org.openide.awt.Mnemonics.setLocalizedText(lblRustAnalyzerPath, org.openide.util.NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.lblRustAnalyzerPath.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(8, 8, 8, 8); + add(lblRustAnalyzerPath, gridBagConstraints); + + txtRustAnalyzerPath.setText(org.openide.util.NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.txtRustAnalyzerPath.text")); // NOI18N + txtRustAnalyzerPath.setToolTipText(org.openide.util.NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.txtRustAnalyzerPath.toolTipText")); // NOI18N + txtRustAnalyzerPath.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + txtRustAnalyzerPathActionPerformed(evt); + } + }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(0, 8, 0, 0); + add(txtRustAnalyzerPath, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(cmdBrowse, org.openide.util.NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.cmdBrowse.text")); // NOI18N + cmdBrowse.setToolTipText(org.openide.util.NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.cmdBrowse.toolTipText")); // NOI18N + cmdBrowse.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cmdBrowseActionPerformed(evt); + } + }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = java.awt.GridBagConstraints.BASELINE; + gridBagConstraints.insets = new java.awt.Insets(0, 8, 0, 0); + add(cmdBrowse, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(cmdGetVersion, org.openide.util.NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.cmdGetVersion.text")); // NOI18N + cmdGetVersion.setEnabled(false); + cmdGetVersion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cmdGetVersionActionPerformed(evt); + } + }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 1; + gridBagConstraints.insets = new java.awt.Insets(0, 8, 0, 8); + add(cmdGetVersion, gridBagConstraints); + + lblRustAnalyzerVersion.setFont(lblRustAnalyzerVersion.getFont().deriveFont(lblRustAnalyzerVersion.getFont().getStyle() | java.awt.Font.BOLD)); + org.openide.awt.Mnemonics.setLocalizedText(lblRustAnalyzerVersion, org.openide.util.NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.lblRustAnalyzerVersion.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(8, 8, 8, 8); + add(lblRustAnalyzerVersion, gridBagConstraints); + + infoPanel.setContentType("text/html"); // NOI18N + infoPanel.setText(org.openide.util.NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.infoPanel.text")); // NOI18N + infoPanel.setOpaque(false); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.weighty = 1.0; + add(infoPanel, gridBagConstraints); + }// //GEN-END:initComponents + + private void txtRustAnalyzerPathActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtRustAnalyzerPathActionPerformed + controller.changed(); + }//GEN-LAST:event_txtRustAnalyzerPathActionPerformed + + private void cmdBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdBrowseActionPerformed + + showFileChooser(); + + }//GEN-LAST:event_cmdBrowseActionPerformed + + private void cmdGetVersionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetVersionActionPerformed + if (versionWorker == null) { + versionWorker = newWorker(); + versionWorker.execute(); + } + }//GEN-LAST:event_cmdGetVersionActionPerformed + + void showFileChooser() { + if (fileChooser == null) { + fileChooser = new JFileChooser(System.getProperty("user.home")); // NOI18N + FileFilter rustAnalyserFilter = new FileFilter() { + @Override + public boolean accept(File f) { + return f.isDirectory() || (f.isFile() && f.exists() && f.canExecute() && f.getName().startsWith("rust-analyzer")); + } + + @Override + public String getDescription() { + return NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.filterRustAnalyser"); + } + }; + fileChooser.addChoosableFileFilter(rustAnalyserFilter); + fileChooser.addChoosableFileFilter(fileChooser.getAcceptAllFileFilter()); + fileChooser.setFileFilter(rustAnalyserFilter); + fileChooser.setDialogType(JFileChooser.OPEN_DIALOG); + fileChooser.setFileHidingEnabled(false); + } + fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); + int result = fileChooser.showDialog(this, null); + if (result == JFileChooser.APPROVE_OPTION) { + txtRustAnalyzerPath.setText(fileChooser.getSelectedFile().getAbsolutePath()); + } + } + + void load() { + Path rustAnalyzerLocation = RustAnalyzerOptionsImpl.getRustAnalyzerLocation(true, false); + txtRustAnalyzerPath.setText(rustAnalyzerLocation == null ? "" : rustAnalyzerLocation.toString()); + } + + void store() { + String path = txtRustAnalyzerPath.getText(); + Path origPath = RustAnalyzerOptionsImpl.getRustAnalyzerLocation(false, false); + RustAnalyzerOptionsImpl.setRustAnalyzerLocation(path.trim().isEmpty() ? null : path); + Path rustAnalyzerLocation = RustAnalyzerOptionsImpl.getRustAnalyzerLocation(true, false); + txtRustAnalyzerPath.setText(rustAnalyzerLocation == null ? "" : rustAnalyzerLocation.toString()); + if( + (nullOrBlank(path) && origPath != null) + || (!nullOrBlank(path) && origPath == null) + ) { + askForRestart(); + } + } + + private boolean nullOrBlank(String input) { + return input == null || input.trim().isEmpty(); + } + + boolean valid() { + String path = txtRustAnalyzerPath.getText(); + if(path.trim().isEmpty()) { + return true; + } + File rustAnalyzer = new File(txtRustAnalyzerPath.getText()); + return rustAnalyzer.exists() && rustAnalyzer.isFile() && rustAnalyzer.canExecute(); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton cmdBrowse; + private javax.swing.JButton cmdGetVersion; + private javax.swing.JTextPane infoPanel; + private javax.swing.JLabel lblRustAnalyzerPath; + private javax.swing.JLabel lblRustAnalyzerVersion; + private javax.swing.JTextField txtRustAnalyzerPath; + // End of variables declaration//GEN-END:variables + + @Override + public void insertUpdate(DocumentEvent e) { + documentChanged(e); + } + + @Override + public void removeUpdate(DocumentEvent e) { + documentChanged(e); + } + + @Override + public void changedUpdate(DocumentEvent e) { + documentChanged(e); + } + + private void documentChanged(DocumentEvent e) { + controller.changed(); + File file = Paths.get(txtRustAnalyzerPath.getText()).toFile(); + boolean executable = file.exists() && file.canExecute(); + cmdGetVersion.setEnabled(executable); + } + + private Notification restartNotification; + + private void askForRestart() { + if(restartNotification != null) { + restartNotification.clear(); + } + restartNotification = NotificationDisplayer.getDefault().notify( + NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.restartTitle"), + ImageUtilities.loadImageIcon( "org/netbeans/core/windows/resources/restart.png", true ), //NOI18N + NbBundle.getMessage(RustAnalyzerPanel.class, "RustAnalyzerPanel.restartDetails"), + e -> { + if(restartNotification != null) { + restartNotification.clear(); + restartNotification = null; + } + LifecycleManager.getDefault().markForRestart(); + LifecycleManager.getDefault().exit(); + }, + NotificationDisplayer.Priority.NORMAL, NotificationDisplayer.Category.INFO); + } +} diff --git a/rust/rust.sources/src/org/netbeans/modules/rust/sources/rs/RustFileDataObject.java b/rust/rust.sources/src/org/netbeans/modules/rust/sources/rs/RustFileDataObject.java index 816d17c8666e..fb5057f97063 100644 --- a/rust/rust.sources/src/org/netbeans/modules/rust/sources/rs/RustFileDataObject.java +++ b/rust/rust.sources/src/org/netbeans/modules/rust/sources/rs/RustFileDataObject.java @@ -99,6 +99,17 @@ path = "Loaders/text/x-rust/Actions", id = @ActionID(category = "System", id = "org.openide.actions.PropertiesAction"), position = 1400 + ), + @ActionReference( + path = "Editors/text/x-rust/Popup", + id = @ActionID(category = "Refactoring", id = "org.netbeans.modules.refactoring.api.ui.WhereUsedAction"), + position = 1400 + ), + @ActionReference( + path = "Editors/text/x-rust/Popup", + id = @ActionID(category = "Refactoring", id = "org.netbeans.modules.refactoring.api.ui.RenameAction"), + position = 1500, + separatorAfter = 1550 ) }) From c40c3b0fb1c4a66e9dcc63675e3ba3918667ec5b Mon Sep 17 00:00:00 2001 From: Neil C Smith Date: Wed, 11 Mar 2026 10:56:01 +0000 Subject: [PATCH 32/74] WIP : Fix for reformatting issue with unnamed vars GH9255 Update JavaLexer to generate correct token type for `var _`. Add lexer and formatting tests. --- .../netbeans/lib/java/lexer/JavaLexer.java | 4 +- .../lib/java/lexer/JavaLexerBatchTest.java | 17 ++++++ .../java/source/save/FormatingTest.java | 54 ++++++++++++++++--- 3 files changed, 68 insertions(+), 7 deletions(-) diff --git a/java/java.lexer/src/org/netbeans/lib/java/lexer/JavaLexer.java b/java/java.lexer/src/org/netbeans/lib/java/lexer/JavaLexer.java index 438b8b84ffb3..40dd4ede399d 100644 --- a/java/java.lexer/src/org/netbeans/lib/java/lexer/JavaLexer.java +++ b/java/java.lexer/src/org/netbeans/lib/java/lexer/JavaLexer.java @@ -1196,7 +1196,9 @@ else if ('0' <= c && c <= '9') { // float literal next = nextToken(); } while (next != null && AFTER_VAR_TOKENS.contains(next.id())); - varKeyword = next != null && next.id() == JavaTokenId.IDENTIFIER; + varKeyword = next != null + && (next.id() == JavaTokenId.IDENTIFIER + || next.id() == JavaTokenId.UNDERSCORE); } input.backup(input.readLengthEOF()- len); diff --git a/java/java.lexer/test/unit/src/org/netbeans/lib/java/lexer/JavaLexerBatchTest.java b/java/java.lexer/test/unit/src/org/netbeans/lib/java/lexer/JavaLexerBatchTest.java index bf4e0b71a8c2..89cd8b6085fa 100644 --- a/java/java.lexer/test/unit/src/org/netbeans/lib/java/lexer/JavaLexerBatchTest.java +++ b/java/java.lexer/test/unit/src/org/netbeans/lib/java/lexer/JavaLexerBatchTest.java @@ -560,6 +560,23 @@ public void testVarIdent() { LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.SEMICOLON, ";"); } + public void testVarUnnamed() { + String text = "var _ = 0;"; + InputAttributes attr = new InputAttributes(); + attr.setValue(JavaTokenId.language(), "version", Integer.valueOf(22), true); + TokenHierarchy hi = TokenHierarchy.create(text, false, JavaTokenId.language(), EnumSet.noneOf(JavaTokenId.class), attr); + TokenSequence ts = hi.tokenSequence(); + + LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.VAR, "var"); + LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.WHITESPACE, " "); + LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.UNDERSCORE, "_"); + LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.WHITESPACE, " "); + LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.EQ, "="); + LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.WHITESPACE, " "); + LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.INT_LITERAL, "0"); + LexerTestUtilities.assertNextTokenEquals(ts, JavaTokenId.SEMICOLON, ";"); + } + public void testVarWeird() { String text = "var = 0; varu = 0; val = 0; if (a.var);"; InputAttributes attr = new InputAttributes(); diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java index 06dde1d4d632..513a2132b962 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java @@ -6274,13 +6274,12 @@ public void testForNoCondition() throws Exception { } public void testForVar1() throws Exception { + sourceLevel = "10"; testFile = new File(getWorkDir(), "Test.java"); TestUtilities.copyStringToFile(testFile, ""); FileObject testSourceFO = FileUtil.toFileObject(testFile); DataObject testSourceDO = DataObject.find(testSourceFO); EditorCookie ec = (EditorCookie) testSourceDO.getCookie(EditorCookie.class); - String oldLevel = JavaSourceTest.SourceLevelQueryImpl.sourceLevel; - JavaSourceTest.SourceLevelQueryImpl.sourceLevel = "1.10"; final Document doc = ec.openDocument(); doc.putProperty(Language.class, JavaTokenId.language()); String content @@ -6299,17 +6298,15 @@ public void testForVar1() throws Exception { + " }\n" + "}\n"; reformat(doc, content, golden); - JavaSourceTest.SourceLevelQueryImpl.sourceLevel = oldLevel; } public void testForVar2() throws Exception { + sourceLevel = "10"; testFile = new File(getWorkDir(), "Test.java"); TestUtilities.copyStringToFile(testFile, ""); FileObject testSourceFO = FileUtil.toFileObject(testFile); DataObject testSourceDO = DataObject.find(testSourceFO); EditorCookie ec = (EditorCookie) testSourceDO.getCookie(EditorCookie.class); - String oldLevel = JavaSourceTest.SourceLevelQueryImpl.sourceLevel; - JavaSourceTest.SourceLevelQueryImpl.sourceLevel = "1.10"; final Document doc = ec.openDocument(); doc.putProperty(Language.class, JavaTokenId.language()); String content @@ -6328,7 +6325,52 @@ public void testForVar2() throws Exception { + " }\n" + "}\n"; reformat(doc, content, golden); - JavaSourceTest.SourceLevelQueryImpl.sourceLevel = oldLevel; + } + + public void testForVarUnnamed() throws Exception { + sourceLevel = "22"; + testFile = new File(getWorkDir(), "Test.java"); + TestUtilities.copyStringToFile(testFile, ""); + FileObject testSourceFO = FileUtil.toFileObject(testFile); + DataObject testSourceDO = DataObject.find(testSourceFO); + EditorCookie ec = (EditorCookie) testSourceDO.getCookie(EditorCookie.class); + final Document doc = ec.openDocument(); + doc.putProperty(Language.class, JavaTokenId.language()); + String content + = """ + package hierbas.del.litoral; + + public class Test { + + public static void main(String[] args) { + int[] orderIDs = {34, 45, 23, 27, 15}; + int total = 0; + for ( var _:orderIDs) { + total++; + } + } + } + """; + + String golden + = """ + package hierbas.del.litoral; + + public class Test { + + public static void main(String[] args) { + int[] orderIDs = {34, 45, 23, 27, 15}; + int total = 0; + for (var _ : orderIDs) { + total++; + } + } + } + """; + + //check no change then formatted + reformat(doc, golden, golden); + reformat(doc, content, golden); } public void testTryBlockAfterIf() throws Exception { From 6a9482139293f82d9567f24c09f5c33244cedb59 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 16 Mar 2026 12:38:29 +0100 Subject: [PATCH 33/74] Use InputStream.transferTo() instead of custom impl. motivation: - JDK's InputStream implementation of transferTo() is somewhat similar to FileUtil.copy() (the buffer is a little bit smaller) - subclasses like BufferedInputStream, FileInputStream and others have specialized implementations changes: - deprecated FileUtil.copy() and replaced usage with transferTo() - bumped enterprise/web.jsf.navigation, enterprise/web.jsf, enterprise/websvc.utilities and groovy/groovy.samples to release 17 - bumped remaining rust cluster to release 21 - some sections were further simplified after inlining (ARM, readAllBytes() or write() conversions) --- .../project/spi/BrandingSupportTest.java | 20 +-- .../suite/BuildZipDistributionTest.java | 6 +- .../apisupport/project/api/LayerHandle.java | 13 +- .../project/spi/BrandingSupport.java | 17 +-- .../modules/apisupport/project/TestUtil.java | 13 +- .../wizard/common/CreatedModifiedFiles.java | 12 +- .../CreatedModifiedFilesProvider.java | 18 +-- .../ui/wizard/project/NewProjectIterator.java | 25 +-- .../ui/wizard/winsys/DesignSupportTest.java | 8 +- .../j2ee/jboss4/ide/JBDriverDeployer.java | 12 +- .../weblogic9/deploy/WLDriverDeployer.java | 12 +- .../weblogic9/deploy/WLJpa2SwitchSupport.java | 90 +++-------- .../websvc/wsitconf/wizard/STSWizard.java | 142 +++++------------- .../websvc/wsitconf/util/TestUtil.java | 9 +- .../editor/lsp/LanguageServerImpl.java | 2 +- .../eecommon/api/JDBCDriverDeployHelper.java | 27 +--- .../javaee/AntDeploymentProviderImpl.java | 7 +- .../modules/j2ee/ejbcore/test/TestBase.java | 12 +- .../j2ee/ejbcore/test/TestUtilities.java | 11 +- .../j2ee/ejbverification/TestBase.java | 26 +--- .../MicronautProjectWizardIterator.java | 2 +- .../web/jsf/editor/JsfHtmlExtensionTest.java | 2 +- .../nbproject/project.properties | 2 +- .../jsf/navigation/PageFlowTestUtility.java | 13 +- .../web.jsf/nbproject/project.properties | 2 +- .../web/jsf/refactoring/Modifications.java | 22 +-- .../modules/web/jspparser/CacheTest.java | 12 +- .../nbproject/project.properties | 2 +- .../api/support/java/TestUtilities.java | 13 +- .../loaders/DiskCacheProjectLoaderTest.java | 6 +- .../nbproject/project.properties | 2 +- .../gjdemo/GroovyJavaDemoWizardIterator.java | 22 +-- .../NBProjectGeneratorsWizardIterator.java | 22 +-- .../modules/csl/spi/GsfUtilities.java | 8 +- .../csl/spi/support/ModificationResult.java | 19 +-- .../modules/csl/api/test/CslTestBase.java | 24 +-- .../src/org/netbeans/modules/derby/Util.java | 13 +- .../org/netbeans/api/diff/StreamSource.java | 2 +- .../org/netbeans/api/diff/PatchUtilsTest.java | 11 +- .../modules/docker/FolderUploader.java | 2 +- .../docker/editor/util/DocDownloader.java | 2 +- .../netbeans/modules/html/EncodingTest.java | 14 +- .../hudson/mercurial/MercurialHyperlink.java | 8 +- .../subversion/SubversionHyperlink.java | 2 +- .../hudson/ui/actions/ViewConfigAction.java | 13 +- .../modules/hudson/api/ConnectionBuilder.java | 11 +- .../modules/languages/LanguagesManager.java | 12 +- .../freemarker/templates/SCFTHandlerTest.java | 2 +- .../ui/actions/RevertDeletedAction.java | 22 +-- .../modules/localhistory/utils/FileUtils.java | 20 +-- .../modules/localhistory/utils/Utils.java | 14 +- .../refactoring/ModificationResult.java | 19 +-- .../lsp/client/options/LanguageStorage.java | 4 +- .../impl/indexing/RepositoryUpdater.java | 4 +- .../ant/AntBasedProjectFactorySingleton.java | 9 +- .../org/netbeans/api/project/TestUtil.java | 13 +- .../modules/project/ui/zip/ImportZIP.java | 11 +- .../refactoring/spi/BackupFacility.java | 7 +- .../refactoring/spi/BackupFacility2.java | 28 ++-- .../modules/subversion/util/SvnUtils.java | 2 +- .../core/spi/testvcs/TestVCSInterceptor.java | 9 +- .../versioning/masterfs/FileVCSTest.java | 8 +- .../spi/testvcs/TestVCSInterceptor.java | 2 +- .../spi/ExternalModificationsSupport.java | 18 +-- .../modules/web/common/api/WebServer.java | 2 +- .../web/common/remote/RemoteFilesCache.java | 21 +-- .../xml/multiview/test/util/Helper.java | 13 +- .../modules/xml/schema/model/Util.java | 9 +- .../netbeans/modules/xml/wsdl/model/Util.java | 8 +- .../modules/ant/freeform/TestBase.java | 12 +- .../ant/freeform/spi/support/UtilTest.java | 8 +- .../debugger/jpda/truffle/MIMETypes.java | 7 +- .../core/api/support/java/TestUtilities.java | 9 +- .../jpa/refactoring/SourceTestSupport.java | 10 +- .../metadata/model/support/TestUtilities.java | 33 +--- .../classpath/ModuleClassPathsTest.java | 4 +- .../base/semantic/ShowGoldenFilesPanel.java | 27 +--- .../hints/declarative/test/TestPerformer.java | 2 +- .../java/j2sedeploy/J2SEDeployProperties.java | 2 +- .../J2SEModularProjectProperties.java | 8 +- .../java/j2seproject/J2SEActionProvider.java | 2 +- .../ui/customizer/J2SEProjectProperties.java | 9 +- .../lsp/server/protocol/LspTemplateUI.java | 2 +- .../server/protocol/OptionsExportModel.java | 2 +- .../java/source/ant/ProjectRunnerImpl.java | 26 +--- .../modules/java/source/JavadocHelper.java | 8 +- .../source/indexing/JavaCustomIndexer.java | 2 +- .../source/indexing/VanillaCompileWorker.java | 2 +- .../usages/BuildArtifactMapperImpl.java | 53 +------ .../api/java/source/SourceUtilsTest.java | 8 +- .../api/java/source/TestUtilities.java | 23 +-- .../modules/java/source/ModuleNamesTest.java | 5 +- .../modules/java/source/TestUtil.java | 2 +- .../indexing/JavaCustomIndexerTest.java | 2 +- .../java/source/parsing/FastJarTest.java | 29 +--- .../java/source/parsing/JavacParserTest.java | 15 +- .../source/usages/BinaryAnalyserTest.java | 10 +- .../modules/java/classfile/CodeGenerator.java | 16 +- .../java/source/ui/ElementHeadersTest.java | 2 +- .../jshell/support/SnippetsFolder.java | 2 +- .../maven/format/checkstyle/AuxPropsImpl.java | 2 +- .../ClassDependencyIndexCreatorTest.java | 5 +- .../netbeans/modules/maven/pom/ModelTest.java | 2 +- .../MavenDependencyModifierImplTestBase.java | 2 +- .../maven/cos/CopyResourcesOnSave.java | 2 +- .../LicenseHeaderPanelProvider.java | 8 +- .../classpath/ClassPathProviderImplTest.java | 2 +- .../beans/refactoring/Modifications.java | 20 +-- .../modules/spring/beans/TestUtils.java | 22 +-- .../javafx2/editor/GoldenFileTestBase.java | 10 +- .../modules/php/api/util/FileUtils.java | 2 +- .../modules/php/editor/csl/TestUtilities.java | 19 +-- .../php/project/connections/RemoteClient.java | 2 +- .../connections/sync/SyncController.java | 2 +- .../connections/sync/diff/DiffPanel.java | 2 +- .../ui/customizer/PhpProjectProperties.java | 3 +- .../php/samples/PHPSamplesWizardIterator.java | 17 +-- .../modules/templates/Bug138973Test.java | 9 +- .../modules/templates/SCFTHandlerTest.java | 2 +- .../autoupdate/services/Utilities.java | 63 ++------ .../AutoupdateCatalogCache.java | 9 +- .../api/autoupdate/DefaultTestCase.java | 9 +- .../DifferentReleaseVersionsTest.java | 2 +- .../api/autoupdate/InternalUpdatesTest.java | 2 +- .../netbeans/api/autoupdate/TestUtils.java | 8 +- .../autoupdate/services/NbmExternalTest.java | 2 +- .../org/netbeans/core/netigso/NetigsoHid.java | 30 ++-- .../core/netigso/NetigsoReloadTest.java | 2 +- .../org/netbeans/core/osgi/OSGiProcess.java | 14 +- .../core/startup/layers/ArchiveURLMapper.java | 12 +- .../layers/RemoveWritablesModifiedTest.java | 20 ++- .../startup/layers/RemoveWritablesTest.java | 20 ++- .../unit/src/org/netbeans/MainCLITest.java | 2 +- .../startup/ModuleListStartLevelTest.java | 2 +- .../NbURLStreamHandlerFactoryTest.java | 2 +- .../startup/layers/DelayFSEventsTest.java | 29 ++-- .../HelpSetRegistrationProcessor.java | 18 +-- .../masterfs/filebasedfs/FileUtilTest.java | 4 +- .../filebasedfs/MIMESupportLoggingTest.java | 11 +- .../providers/ProvidedExtensionsTest.java | 22 +-- .../netbeans/modules/netbinox/NetigsoHid.java | 2 +- .../modules/netbinox/NetigsoLayerTest.java | 2 +- .../src/org/openide/filesystems/FileUtil.java | 60 +++----- .../openide/filesystems/JarFileSystem.java | 28 +--- .../filesystems/FileObjectTestHid.java | 2 +- .../openide/filesystems/MemoryFSTestHid.java | 2 +- .../loaders/InstanceDataObjectTest.java | 2 +- .../options/export/OptionsExportModel.java | 4 +- .../api/queries/FileEncodingQueryTest.java | 6 +- .../convertors/SerialDataConvertorTest.java | 2 +- .../XMLPropertiesConvertorTest.java | 2 +- .../spi/settings/DOMConvertorTest.java | 4 +- .../categories/j2se/TestUtilities.java | 18 +-- .../profiler/nbimpl/TestUtilities.java | 9 +- .../profiler/SampledCPUSnapshotTest.java | 2 +- rust/rust.cargo/nbproject/project.properties | 2 +- rust/rust.kit/nbproject/project.properties | 2 +- .../rust.options/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../rust.project/nbproject/project.properties | 2 +- .../project/RustProjectOperationsTest.java | 2 +- .../rust.sources/nbproject/project.properties | 2 +- .../javascript/cdnjs/LibraryProvider.java | 2 +- .../InstallJasmineWizardDescriptorPanel.java | 23 +-- .../ui/wizard/NewSampleWizardIterator.java | 6 +- .../javascript/nodejs/util/FileUtils.java | 2 +- .../wizard/iterator/SampleWizardIterator.java | 41 ++--- .../clientproject/api/sites/SiteHelper.java | 16 +- .../ant/LicensePanelSupportImpl.java | 8 +- .../ui/wizard/CreateSiteTemplate.java | 2 +- 170 files changed, 542 insertions(+), 1465 deletions(-) diff --git a/apisupport/apisupport.ant/test/unit/src/org/netbeans/modules/apisupport/project/spi/BrandingSupportTest.java b/apisupport/apisupport.ant/test/unit/src/org/netbeans/modules/apisupport/project/spi/BrandingSupportTest.java index 2ee47f4ce3ae..5e0d377e2652 100644 --- a/apisupport/apisupport.ant/test/unit/src/org/netbeans/modules/apisupport/project/spi/BrandingSupportTest.java +++ b/apisupport/apisupport.ant/test/unit/src/org/netbeans/modules/apisupport/project/spi/BrandingSupportTest.java @@ -133,22 +133,10 @@ public void testBrandingFile() throws IOException { } private File createNewSource(final BrandingSupport.BrandedFile bFile) throws MalformedURLException, FileNotFoundException, IOException { - OutputStream os = null; - InputStream is = null; - File newSource = new File(getWorkDir(),"newSource.gif"); - - try { - - os = new FileOutputStream(newSource); - is = bFile.getBrandingSource().openStream(); - FileUtil.copy(is,os); - } finally { - if (is != null) { - is.close(); - } - if (os != null) { - os.close(); - } + File newSource = new File(getWorkDir(), "newSource.gif"); + try (InputStream is = bFile.getBrandingSource().openStream(); + OutputStream os = new FileOutputStream(newSource);) { + is.transferTo(os); } return newSource; } diff --git a/apisupport/apisupport.ant/test/unit/src/org/netbeans/modules/apisupport/project/suite/BuildZipDistributionTest.java b/apisupport/apisupport.ant/test/unit/src/org/netbeans/modules/apisupport/project/suite/BuildZipDistributionTest.java index db90bc075d32..74a49c7e3ea4 100644 --- a/apisupport/apisupport.ant/test/unit/src/org/netbeans/modules/apisupport/project/suite/BuildZipDistributionTest.java +++ b/apisupport/apisupport.ant/test/unit/src/org/netbeans/modules/apisupport/project/suite/BuildZipDistributionTest.java @@ -183,9 +183,9 @@ public void testBuildTheZipAppWhenAppNamePropIsSet() throws Exception { } File entry = new File(expand, path); entry.getParentFile().mkdirs(); - FileOutputStream os = new FileOutputStream(entry); - FileUtil.copy(f.getInputStream(jarEntry), os); - os.close(); + try (FileOutputStream os = new FileOutputStream(entry)) { + f.getInputStream(jarEntry).transferTo(os); + } } File root = new File(expand, "fakeapp"); diff --git a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/api/LayerHandle.java b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/api/LayerHandle.java index 3b81d871e913..fea569b5e0d5 100644 --- a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/api/LayerHandle.java +++ b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/api/LayerHandle.java @@ -213,16 +213,9 @@ public void propertyChange(PropertyChangeEvent evt) { public static FileObject createLayer(FileObject projectDir, String layerPath) throws IOException { FileObject layerFO = createFileObject(projectDir, layerPath); - InputStream is = LayerHandle.class.getResourceAsStream("/org/netbeans/modules/apisupport/project/ui/resources/layer_template.xml"); // NOI18N - try { - OutputStream os = layerFO.getOutputStream(); - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = LayerHandle.class.getResourceAsStream("/org/netbeans/modules/apisupport/project/ui/resources/layer_template.xml"); // NOI18N + OutputStream os = layerFO.getOutputStream()) { + is.transferTo(os); } return layerFO; } diff --git a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/spi/BrandingSupport.java b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/spi/BrandingSupport.java index 91ff850c34bd..54ac28f1118c 100644 --- a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/spi/BrandingSupport.java +++ b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/spi/BrandingSupport.java @@ -277,21 +277,10 @@ void brandFile(final BrandedFile bFile) throws IOException { assert target.exists(); FileObject fo = FileUtil.toFileObject(target); - InputStream is = null; - OutputStream os = null; - try { - is = bFile.getBrandingSource().openStream(); - os = fo.getOutputStream(); - FileUtil.copy(is, os); + try (InputStream is = bFile.getBrandingSource().openStream(); + OutputStream os = fo.getOutputStream()) { + is.transferTo(os); } finally { - if (is != null) { - is.close(); - } - - if (os != null) { - os.close(); - } - brandedFiles.add(bFile); bFile.modified = false; } diff --git a/apisupport/apisupport.project/test/unit/src/org/netbeans/modules/apisupport/project/TestUtil.java b/apisupport/apisupport.project/test/unit/src/org/netbeans/modules/apisupport/project/TestUtil.java index 4ace410f9400..e25fbca194ac 100644 --- a/apisupport/apisupport.project/test/unit/src/org/netbeans/modules/apisupport/project/TestUtil.java +++ b/apisupport/apisupport.project/test/unit/src/org/netbeans/modules/apisupport/project/TestUtil.java @@ -34,7 +34,6 @@ import java.util.jar.Manifest; import java.util.zip.CRC32; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; import org.openide.filesystems.test.TestFileUtils; import org.openide.util.test.JarBuilder; @@ -65,16 +64,8 @@ private static void doCopy(File from, File to) throws IOException { } } else { assert from.isFile() : from; - InputStream is = new FileInputStream(from); - try { - OutputStream os = new FileOutputStream(to); - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = new FileInputStream(from); OutputStream os = new FileOutputStream(to)) { + is.transferTo(os); } } } diff --git a/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/common/CreatedModifiedFiles.java b/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/common/CreatedModifiedFiles.java index 3a170a7663e8..66318d2895cc 100644 --- a/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/common/CreatedModifiedFiles.java +++ b/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/common/CreatedModifiedFiles.java @@ -1472,16 +1472,8 @@ void run(WorkingCopy wc) throws Exception { } private static void copyByteAfterByte(FileObject content, FileObject target) throws IOException { - OutputStream os = target.getOutputStream(); - try { - InputStream is = content.getInputStream(); - try { - FileUtil.copy(is, os); - } finally { - is.close(); - } - } finally { - os.close(); + try (OutputStream os = target.getOutputStream(); InputStream is = content.getInputStream()) { + is.transferTo(os); } } diff --git a/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/librarydescriptor/CreatedModifiedFilesProvider.java b/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/librarydescriptor/CreatedModifiedFilesProvider.java index 76007d68f151..5b89262f13f1 100644 --- a/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/librarydescriptor/CreatedModifiedFilesProvider.java +++ b/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/librarydescriptor/CreatedModifiedFilesProvider.java @@ -215,9 +215,7 @@ void run() throws IOException { } private static void createZipFile(OutputStream target, FileObject root, Collection files) throws IOException { - ZipOutputStream str = null; - try { - str = new ZipOutputStream(target); + try (ZipOutputStream str = new ZipOutputStream(target)) { for (FileObject fo : files) { String relativePath = FileUtil.getRelativePath(root, fo); if (fo.isFolder()) { @@ -230,22 +228,12 @@ private static void createZipFile(OutputStream target, FileObject root, Collecti ZipEntry entry = new ZipEntry(relativePath); str.putNextEntry(entry); if (fo.isData()) { - InputStream in = null; - try { - in = fo.getInputStream(); - FileUtil.copy(in, str); - } finally { - if (in != null) { - in.close(); - } + try (InputStream in = fo.getInputStream()) { + in.transferTo(str); } } str.closeEntry(); } - } finally { - if (str != null) { - str.close(); - } } } } diff --git a/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/project/NewProjectIterator.java b/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/project/NewProjectIterator.java index a9dec1fa7077..c3f3da125bad 100644 --- a/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/project/NewProjectIterator.java +++ b/apisupport/apisupport.wizards/src/org/netbeans/modules/apisupport/project/ui/wizard/project/NewProjectIterator.java @@ -29,7 +29,6 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.zip.ZipEntry; @@ -324,13 +323,9 @@ private static void collectFiles(FileObject parent, Collection accep } } - private static void createZipFile(OutputStream target, FileObject root, Collection /* FileObject*/ files) throws IOException { - ZipOutputStream str = null; - try { - str = new ZipOutputStream(target); - Iterator it = files.iterator(); - while (it.hasNext()) { - FileObject fo = (FileObject)it.next(); + private static void createZipFile(OutputStream target, FileObject root, Collection files) throws IOException { + try (ZipOutputStream str = new ZipOutputStream(target)) { + for (FileObject fo : files) { String path = FileUtil.getRelativePath(root, fo); if (fo.isFolder() && !path.endsWith("/")) { path = path + "/"; @@ -338,22 +333,12 @@ private static void createZipFile(OutputStream target, FileObject root, Collecti ZipEntry entry = new ZipEntry(path); str.putNextEntry(entry); if (fo.isData()) { - InputStream in = null; - try { - in = fo.getInputStream(); - FileUtil.copy(in, str); - } finally { - if (in != null) { - in.close(); - } + try (InputStream in = fo.getInputStream()) { + in.transferTo(str); } } str.closeEntry(); } - } finally { - if (str != null) { - str.close(); - } } } diff --git a/apisupport/apisupport.wizards/test/unit/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/DesignSupportTest.java b/apisupport/apisupport.wizards/test/unit/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/DesignSupportTest.java index c5c30d293411..c1db64f5118d 100644 --- a/apisupport/apisupport.wizards/test/unit/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/DesignSupportTest.java +++ b/apisupport/apisupport.wizards/test/unit/src/org/netbeans/modules/apisupport/project/ui/wizard/winsys/DesignSupportTest.java @@ -19,6 +19,7 @@ package org.netbeans.modules.apisupport.project.ui.wizard.winsys; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; import org.netbeans.junit.NbTestCase; import org.openide.filesystems.FileObject; @@ -37,9 +38,10 @@ public DesignSupportTest(String n) { protected void setUp() throws IOException { FileSystem ms = FileUtil.createMemoryFileSystem(); fo = ms.getRoot().createData("my.wsmode"); - OutputStream os = fo.getOutputStream(); - FileUtil.copy(DesignSupportTest.class.getResourceAsStream("testWsmode.xml"), os); - os.close(); + try (InputStream is = DesignSupportTest.class.getResourceAsStream("testWsmode.xml"); + OutputStream os = fo.getOutputStream()) { + is.transferTo(os); + } } public void testReadingOfAMode() throws Exception { String read = DesignSupport.readMode(fo); diff --git a/contrib/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBDriverDeployer.java b/contrib/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBDriverDeployer.java index da82e447b402..52fce4b027b0 100644 --- a/contrib/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBDriverDeployer.java +++ b/contrib/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBDriverDeployer.java @@ -116,18 +116,12 @@ private void deployDrivers() { File libsDir = properties.getLibsDir(); File toJar = new File(libsDir, file.getNameExt()); try { - BufferedInputStream is = new BufferedInputStream(file.getInputStream()); - try { + try (BufferedInputStream is = new BufferedInputStream(file.getInputStream())) { String msg = NbBundle.getMessage(JBDriverDeployer.class, "MSG_DeployingJDBCDrivers", toJar.getPath()); eventSupport.fireProgressEvent(null, new JBDeploymentStatus(ActionType.EXECUTE, CommandType.DISTRIBUTE, StateType.RUNNING, msg)); - BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(toJar)); - try { - FileUtil.copy(is, os); - } finally { - os.close(); + try (BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(toJar))) { + is.transferTo(os); } - } finally { - is.close(); } } catch (IOException e) { LOGGER.log(Level.INFO, null, e); diff --git a/contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/deploy/WLDriverDeployer.java b/contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/deploy/WLDriverDeployer.java index d4c6a85606f1..efbcf95fe23b 100644 --- a/contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/deploy/WLDriverDeployer.java +++ b/contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/deploy/WLDriverDeployer.java @@ -109,19 +109,13 @@ public void run() { for (FileObject file : jdbcDriverURLs) { File toJar = new File(libsDir, file.getNameExt()); try { - BufferedInputStream is = new BufferedInputStream(file.getInputStream()); - try { + try (BufferedInputStream is = new BufferedInputStream(file.getInputStream())) { progress.fireProgressEvent(null, new WLDeploymentStatus( ActionType.EXECUTE, CommandType.DISTRIBUTE, StateType.RUNNING, NbBundle.getMessage(WLDriverDeployer.class, "MSG_DeployingJDBCDrivers", toJar.getPath()))); - BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(toJar)); - try { - FileUtil.copy(is, os); - } finally { - os.close(); + try (BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(toJar))) { + is.transferTo(os); } - } finally { - is.close(); } } catch (IOException e) { LOGGER.log(Level.INFO, null, e); diff --git a/contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/deploy/WLJpa2SwitchSupport.java b/contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/deploy/WLJpa2SwitchSupport.java index cd7fd66c0d58..9b4070a33987 100644 --- a/contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/deploy/WLJpa2SwitchSupport.java +++ b/contrib/j2ee.weblogic9/src/org/netbeans/modules/j2ee/weblogic9/deploy/WLJpa2SwitchSupport.java @@ -168,8 +168,7 @@ private void doEnable() { createContributionsJar(oepeFile, contribPath); // exists so update cp } else { - JarFile oepeJarFile = new JarFile(oepeFile); - try { + try (JarFile oepeJarFile = new JarFile(oepeFile)) { Manifest mf = oepeJarFile.getManifest(); String cp = mf.getMainAttributes().getValue(Name.CLASS_PATH); if (cp == null) { @@ -194,15 +193,12 @@ private void doEnable() { mf.getMainAttributes().put(Name.CLASS_PATH, updated.toString()); replaceManifest(oepeFile, mf); } - } finally { - oepeJarFile.close(); } } // update weblogic.jar File weblogicFile = WebLogicLayout.getWeblogicJar(serverRoot); - JarFile weblogicJarFile = new JarFile(weblogicFile); - try { + try (JarFile weblogicJarFile = new JarFile(weblogicFile)) { Manifest wlManifest = weblogicJarFile.getManifest(); String cp = wlManifest.getMainAttributes().getValue(Name.CLASS_PATH); if (cp == null) { @@ -217,8 +213,6 @@ private void doEnable() { wlManifest.getMainAttributes().put(Name.CLASS_PATH, cp); replaceManifest(weblogicFile, wlManifest); } - } finally { - weblogicJarFile.close(); } } catch (IOException ex) { Exceptions.printStackTrace(ex); @@ -241,8 +235,7 @@ private void doDisable() { if (!oepeJarFile.exists() || !oepeJarFile.isFile()) { return; } - JarFile file = new JarFile(oepeJarFile); - try { + try (JarFile file = new JarFile(oepeJarFile)) { Manifest mf = file.getManifest(); String cp = mf.getMainAttributes().getValue(Name.CLASS_PATH); if (cp == null) { @@ -262,8 +255,6 @@ private void doDisable() { mf.getMainAttributes().remove(Name.CLASS_PATH); } replaceManifest(oepeJarFile, mf); - } finally { - file.close(); } } catch (IOException ex) { // TODO some exception/message to the user @@ -354,20 +345,10 @@ private void replaceManifest(File jarFile, Manifest manifest) throws IOException jarFile.getName(), "tmp"); // NOI18N File tmpJar = new File(jarFile.getParentFile(), tmpName + ".tmp"); // NOI18N try { - InputStream is = new BufferedInputStream( - new FileInputStream(jarFile)); - try { - OutputStream os = new BufferedOutputStream( - new FileOutputStream(tmpJar)); - try { - replaceManifest(is, os, manifest); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = new BufferedInputStream(new FileInputStream(jarFile)); + OutputStream os = new BufferedOutputStream(new FileOutputStream(tmpJar))) { + replaceManifest(is, os, manifest); } - if (tmpJar.renameTo(jarFile)) { LOGGER.log(Level.FINE, "Successfully moved {0}", tmpJar); return; @@ -380,64 +361,43 @@ private void replaceManifest(File jarFile, Manifest manifest) throws IOException } private void replaceManifest(InputStream is, OutputStream os, Manifest manifest) throws IOException { - JarInputStream in = new JarInputStream(is); - try { - JarOutputStream out = new JarOutputStream(os, manifest); - try { - JarEntry entry = null; - byte[] temp = new byte[32768]; - while ((entry = in.getNextJarEntry()) != null) { - String name = entry.getName(); - if (name.equalsIgnoreCase("META-INF/MANIFEST.MF")) { // NOI18N - continue; - } - out.putNextEntry(entry); - while (in.available() != 0) { - int read = in.read(temp); - if (read != -1) { - out.write(temp, 0, read); - } + try (JarInputStream in = new JarInputStream(is); JarOutputStream out = new JarOutputStream(os, manifest)) { + JarEntry entry = null; + byte[] temp = new byte[32768]; + while ((entry = in.getNextJarEntry()) != null) { + String name = entry.getName(); + if (name.equalsIgnoreCase("META-INF/MANIFEST.MF")) { // NOI18N + continue; + } + out.putNextEntry(entry); + while (in.available() != 0) { + int read = in.read(temp); + if (read != -1) { + out.write(temp, 0, read); } - out.closeEntry(); } - } finally { - out.close(); + out.closeEntry(); } - } finally { - in.close(); } } private void createContributionsJar(File jarFile, String classpath) throws IOException { //need to create zip file - OutputStream os = new BufferedOutputStream(new FileOutputStream(jarFile)); - try { + try (OutputStream os = new BufferedOutputStream(new FileOutputStream(jarFile))) { Manifest manifest = new Manifest(); manifest.getMainAttributes().put(Name.MANIFEST_VERSION, "1.0"); // NOI18N manifest.getMainAttributes().put(Name.CLASS_PATH, classpath); - JarOutputStream dest = new JarOutputStream(new BufferedOutputStream(os), manifest); - try { + try (JarOutputStream dest = new JarOutputStream(new BufferedOutputStream(os), manifest)) { dest.closeEntry(); dest.finish(); - } finally { - dest.close(); } - } finally { - os.close(); } } private void copy(File source, File dest) throws IOException { - InputStream is = new BufferedInputStream(new FileInputStream(source)); - try { - OutputStream os = new BufferedOutputStream(new FileOutputStream(dest)); - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = new BufferedInputStream(new FileInputStream(source)); + OutputStream os = new BufferedOutputStream(new FileOutputStream(dest))) { + is.transferTo(os); } } diff --git a/contrib/websvc.wsitconf/src/org/netbeans/modules/websvc/wsitconf/wizard/STSWizard.java b/contrib/websvc.wsitconf/src/org/netbeans/modules/websvc/wsitconf/wizard/STSWizard.java index 7d9a9f3181b2..0d31d70e9f66 100644 --- a/contrib/websvc.wsitconf/src/org/netbeans/modules/websvc/wsitconf/wizard/STSWizard.java +++ b/contrib/websvc.wsitconf/src/org/netbeans/modules/websvc/wsitconf/wizard/STSWizard.java @@ -21,7 +21,6 @@ import java.awt.Component; import java.io.BufferedWriter; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; @@ -116,40 +115,23 @@ public void run() { FileUtil.runAtomicAction(new Runnable() { public void run() { - OutputStream schemaos = null; - InputStream schemaIS = null; try { - FileObject wsdlFolder = FileUtil.toFileObject(userDirF); - schemaIS = this.getClass().getClassLoader().getResourceAsStream("org/netbeans/modules/websvc/wsitconf/resources/templates/sts_schema.template"); //NOI18N - FileObject schema = null; - try { - schema = wsdlFolder.createData("sts_schema.xsd"); - } catch (IOException ex) { // do not care - this is thrown if the file already exists - logger.log(Level.FINE, null, ex); - logger.log(Level.FINE, "schema: " + schema); - schema = wsdlFolder.getFileObject("sts_schema.xsd"); - } - schemaos = schema.getOutputStream(); - FileUtil.copy(schemaIS, schemaos); - } catch (FileNotFoundException ex) { - logger.log(Level.INFO, null, ex); - } catch (IOException ex) { - logger.log(Level.INFO, null, ex); - } finally { - if (schemaos != null) { + try (InputStream schemaIS = this.getClass().getClassLoader().getResourceAsStream("org/netbeans/modules/websvc/wsitconf/resources/templates/sts_schema.template")) { //NOI18N + FileObject wsdlFolder = FileUtil.toFileObject(userDirF); + FileObject schema = null; try { - schemaos.close(); - } catch (IOException ex) { - logger.log(Level.INFO, null, ex); + schema = wsdlFolder.createData("sts_schema.xsd"); + } catch (IOException ex) { // do not care - this is thrown if the file already exists + logger.log(Level.FINE, null, ex); + logger.log(Level.FINE, "schema: " + schema); + schema = wsdlFolder.getFileObject("sts_schema.xsd"); } - } - if (schemaIS != null) { - try { - schemaIS.close(); - } catch (IOException ex) { - logger.log(Level.INFO, null, ex); + try (OutputStream schemaos = schema.getOutputStream()) { + schemaIS.transferTo(schemaos); } } + } catch (IOException ex) { + logger.log(Level.INFO, null, ex); } } }); @@ -161,70 +143,35 @@ public void run() { FileObject wsdlFolder = FileUtil.toFileObject(userDirF); FileObject wsdlFO = null; try { - OutputStream wsdlos = null; - InputStream wsdlIS = null; try { - wsdlIS = this.getClass().getClassLoader().getResourceAsStream("org/netbeans/modules/websvc/wsitconf/resources/templates/" + fileName + ".template"); //NOI18N - - try { - wsdlFO = wsdlFolder.createData(fileName, "wsdl"); - } catch (IOException ex) { // do not care - this is thrown if the file already exists - logger.log(Level.FINE, null, ex); - logger.log(Level.FINE, "wsdl: " + wsdlFO); - wsdlFO = wsdlFolder.getFileObject(fileName, "wsdl"); - } - wsdlos = wsdlFO.getOutputStream(); - FileUtil.copy(wsdlIS, wsdlos); - } catch (FileNotFoundException ex) { - logger.log(Level.INFO, null, ex); - } catch (IOException ex) { - logger.log(Level.INFO, null, ex); - } finally { - if (wsdlos != null) { + try (InputStream wsdlIS = this.getClass().getClassLoader().getResourceAsStream("org/netbeans/modules/websvc/wsitconf/resources/templates/" + fileName + ".template")) { //NOI18N try { - wsdlos.close(); - } catch (IOException ex) { - logger.log(Level.INFO, null, ex); + wsdlFO = wsdlFolder.createData(fileName, "wsdl"); + } catch (IOException ex) { // do not care - this is thrown if the file already exists + logger.log(Level.FINE, null, ex); + logger.log(Level.FINE, "wsdl: " + wsdlFO); + wsdlFO = wsdlFolder.getFileObject(fileName, "wsdl"); } - } - if (wsdlIS != null) { - try { - wsdlIS.close(); - } catch (IOException ex) { - logger.log(Level.INFO, null, ex); + try (OutputStream wsdlos = wsdlFO.getOutputStream()) { + wsdlIS.transferTo(wsdlos); } - } + } + } catch (IOException ex) { + logger.log(Level.INFO, null, ex); } String newName = serviceName; FileObject newFO = null; - InputStream fi = null; - OutputStream fo = null; - try { - File f = new File(FileUtil.toFile(wsdlFolder).getAbsolutePath(), newName + ".wsdl"); + File f = new File(FileUtil.toFile(wsdlFolder).getAbsolutePath(), newName + ".wsdl"); //NOI18N f.createNewFile(); - fo = new FileOutputStream(f); - fi = wsdlFO.getInputStream(); - FileUtil.copy(fi, fo); - newFO = FileUtil.toFileObject(f); - //newFO = FileUtil.copyFile(wsdlFO, wsdlFolder, newName); - } catch (FileNotFoundException ex) { - logger.log(Level.INFO, null, ex); + try (InputStream fi = wsdlFO.getInputStream(); OutputStream fo = new FileOutputStream(f)) { + fi.transferTo(fo); + newFO = FileUtil.toFileObject(f); + } } catch (IOException ex) { logger.log(Level.INFO, null, ex); - } finally { - try { - if (fi != null) { - fi.close(); - } - if (fo != null) { - fo.close(); - } - } catch (IOException ex) { - logger.log(Level.INFO, null, ex); - } } File newFile = FileUtil.toFile(newFO); @@ -232,31 +179,20 @@ public void run() { wiz.putProperty(WizardProperties.WSDL_FILE_PATH, newFile.getPath()); - BufferedWriter writer = null; try { List lines = wsdlFO.asLines(); - writer = new BufferedWriter(new FileWriter(newFile)); - - for (String line : lines) { - if ((index = line.indexOf(SERVICENAME_TAG)) != -1) { - line = line.replaceAll(SERVICENAME_TAG, serviceName); + try (BufferedWriter writer = new BufferedWriter(new FileWriter(newFile))) { + for (String line : lines) { + if ((index = line.indexOf(SERVICENAME_TAG)) != -1) { + line = line.replaceAll(SERVICENAME_TAG, serviceName); + } + writer.write(line); + writer.newLine(); } - writer.write(line); - writer.newLine(); + writer.flush(); } - } catch (FileNotFoundException ex) { - logger.log(Level.INFO, null, ex); } catch (IOException ex) { logger.log(Level.INFO, null, ex); - } finally { - try { - if (writer != null) { - writer.flush(); - writer.close(); - } - } catch (IOException ex) { - logger.log(Level.INFO, null, ex); - } } wsdlModeler = WsdlModelerFactory.getDefault().getWsdlModeler(wsdlURL); @@ -267,11 +203,7 @@ public void modelCreated(WsdlModel model) { if (wsdlModel == null) { try { WsdlServiceHandler.parse(wsdlURL.toExternalForm()); - } catch (ParserConfigurationException ex) { - logger.log(Level.FINE, null, ex); - } catch (SAXException ex) { - logger.log(Level.FINE, null, ex); - } catch (IOException ex) { + } catch (ParserConfigurationException | SAXException | IOException ex) { logger.log(Level.FINE, null, ex); } } else { diff --git a/contrib/websvc.wsitconf/test/unit/src/org/netbeans/modules/websvc/wsitconf/util/TestUtil.java b/contrib/websvc.wsitconf/test/unit/src/org/netbeans/modules/websvc/wsitconf/util/TestUtil.java index e3b87814a6cd..59ab44013f94 100644 --- a/contrib/websvc.wsitconf/test/unit/src/org/netbeans/modules/websvc/wsitconf/util/TestUtil.java +++ b/contrib/websvc.wsitconf/test/unit/src/org/netbeans/modules/websvc/wsitconf/util/TestUtil.java @@ -33,7 +33,6 @@ import javax.swing.text.Document; import org.netbeans.modules.xml.wsdl.model.WSDLModel; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; import org.openide.filesystems.FileLock; /** @@ -139,13 +138,11 @@ public static FileObject copyResource(String path, FileObject destFolder) throws dest = destFolder.createData(filename); } FileLock lock = dest.lock(); - OutputStream out = dest.getOutputStream(lock); - InputStream in = TestUtil.class.getResourceAsStream(path); try { - FileUtil.copy(in, out); + try (InputStream in = TestUtil.class.getResourceAsStream(path); OutputStream out = dest.getOutputStream(lock)) { + in.transferTo(out); + } } finally { - out.close(); - in.close(); if (lock != null) lock.releaseLock(); } return dest; diff --git a/cpplite/cpplite.editor/src/org/netbeans/modules/cpplite/editor/lsp/LanguageServerImpl.java b/cpplite/cpplite.editor/src/org/netbeans/modules/cpplite/editor/lsp/LanguageServerImpl.java index a49a31fa5a44..dcc775b0b5cb 100644 --- a/cpplite/cpplite.editor/src/org/netbeans/modules/cpplite/editor/lsp/LanguageServerImpl.java +++ b/cpplite/cpplite.editor/src/org/netbeans/modules/cpplite/editor/lsp/LanguageServerImpl.java @@ -216,7 +216,7 @@ private static File getCompileCommandsDir(CProjectConfigurationProvider configPr } else if (commandsPath != null && commandsPath.canRead()) { try (InputStream in = new FileInputStream(commandsPath); OutputStream out = new FileOutputStream(tempFile)) { - FileUtil.copy(in, out); + in.transferTo(out); } catch (IOException ex) { LOG.log(Level.WARNING, null, ex); return null; diff --git a/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/JDBCDriverDeployHelper.java b/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/JDBCDriverDeployHelper.java index e0843f852585..6f94f2fc008c 100644 --- a/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/JDBCDriverDeployHelper.java +++ b/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/JDBCDriverDeployHelper.java @@ -22,7 +22,6 @@ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.URISyntaxException; @@ -32,8 +31,6 @@ import java.util.Collection; import java.util.List; import java.util.Set; -import java.util.jar.JarEntry; -import java.util.jar.JarInputStream; import java.util.logging.Level; import java.util.logging.Logger; import javax.enterprise.deploy.shared.ActionType; @@ -53,10 +50,8 @@ import org.netbeans.modules.j2ee.deployment.common.api.Datasource; import org.openide.ErrorManager; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; import org.openide.util.NbBundle; -import org.openide.util.Parameters; public class JDBCDriverDeployHelper { @@ -173,28 +168,12 @@ public void run() { try { File toJar = new File(libsDir, new File(jarUrl.toURI()).getName()); try { - BufferedInputStream is = new BufferedInputStream(jarUrl.openStream()); - try { + try (BufferedInputStream is = new BufferedInputStream(jarUrl.openStream())) { msg = NbBundle.getMessage(JDBCDriverDeployHelper.class, "MSG_DeployDriver", toJar.getPath()); eventSupport.fireHandleProgressEvent(null, ProgressEventSupport.createStatus(ActionType.EXECUTE, CommandType.DISTRIBUTE, msg, StateType.RUNNING)); - BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(toJar)); - try { - FileUtil.copy(is, os); - } finally { - if (null != os) - try { - os.close(); - } catch (IOException ioe) { - - } + try (BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(toJar))) { + is.transferTo(os); } - } finally { - if (null != is) - try { - is.close(); - } catch (IOException ioe) { - - } } } catch (IOException e) { Logger.getLogger(this.getClass().getName()).log(Level.FINER,"",e); diff --git a/enterprise/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/AntDeploymentProviderImpl.java b/enterprise/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/AntDeploymentProviderImpl.java index c44485c95a5e..6fe3fc3a0a49 100644 --- a/enterprise/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/AntDeploymentProviderImpl.java +++ b/enterprise/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/AntDeploymentProviderImpl.java @@ -71,11 +71,8 @@ private static File getPropertiesDir() { @Override public void writeDeploymentScript(OutputStream os, Object moduleType) throws IOException { - InputStream is = AntDeploymentProviderImpl.class.getResourceAsStream("ant-deploy.xml"); // NOI18N - try { - FileUtil.copy(is, os); - } finally { - is.close(); + try (InputStream is = AntDeploymentProviderImpl.class.getResourceAsStream("ant-deploy.xml")) { // NOI18N + is.transferTo(os); } } diff --git a/enterprise/j2ee.ejbcore/test/unit/src/org/netbeans/modules/j2ee/ejbcore/test/TestBase.java b/enterprise/j2ee.ejbcore/test/unit/src/org/netbeans/modules/j2ee/ejbcore/test/TestBase.java index aed905342697..e1593311e266 100644 --- a/enterprise/j2ee.ejbcore/test/unit/src/org/netbeans/modules/j2ee/ejbcore/test/TestBase.java +++ b/enterprise/j2ee.ejbcore/test/unit/src/org/netbeans/modules/j2ee/ejbcore/test/TestBase.java @@ -197,16 +197,8 @@ private static void doCopy(File from, File to) throws IOException { } } else { assert from.isFile(); - InputStream is = new FileInputStream(from); - try { - OutputStream os = new FileOutputStream(to); - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = new FileInputStream(from); OutputStream os = new FileOutputStream(to)) { + is.transferTo(os); } } } diff --git a/enterprise/j2ee.ejbcore/test/unit/src/org/netbeans/modules/j2ee/ejbcore/test/TestUtilities.java b/enterprise/j2ee.ejbcore/test/unit/src/org/netbeans/modules/j2ee/ejbcore/test/TestUtilities.java index 562763778281..26dcca34f6b4 100644 --- a/enterprise/j2ee.ejbcore/test/unit/src/org/netbeans/modules/j2ee/ejbcore/test/TestUtilities.java +++ b/enterprise/j2ee.ejbcore/test/unit/src/org/netbeans/modules/j2ee/ejbcore/test/TestUtilities.java @@ -19,13 +19,10 @@ package org.netbeans.modules.j2ee.ejbcore.test; -import java.io.ByteArrayInputStream; import java.io.IOException; -import java.io.InputStream; import java.io.OutputStream; import java.nio.charset.StandardCharsets; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; /** * @@ -37,13 +34,9 @@ private TestUtilities() { } public static final FileObject copyStringToFileObject(FileObject fo, String content) throws IOException { - OutputStream os = fo.getOutputStream(); - try { - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); + try (OutputStream os = fo.getOutputStream()) { + os.write(content.getBytes(StandardCharsets.UTF_8)); return fo; - } finally { - os.close(); } } } diff --git a/enterprise/j2ee.ejbverification/test/unit/src/org/netbeans/modules/j2ee/ejbverification/TestBase.java b/enterprise/j2ee.ejbverification/test/unit/src/org/netbeans/modules/j2ee/ejbverification/TestBase.java index a51036692166..ba12b0c120f3 100644 --- a/enterprise/j2ee.ejbverification/test/unit/src/org/netbeans/modules/j2ee/ejbverification/TestBase.java +++ b/enterprise/j2ee.ejbverification/test/unit/src/org/netbeans/modules/j2ee/ejbverification/TestBase.java @@ -247,16 +247,8 @@ private static void doCopy(File from, File to) throws IOException { } } else { assert from.isFile(); - InputStream is = new FileInputStream(from); - try { - OutputStream os = new FileOutputStream(to); - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = new FileInputStream(from); OutputStream os = new FileOutputStream(to)) { + is.transferTo(os); } } } @@ -334,17 +326,9 @@ protected static boolean containsType(CompilationController controller, List {; FileObject bs = projectDir.createData("build.gradle"); - try (OutputStream os = bs.getOutputStream()) { - FileUtil.copy(getClass().getResourceAsStream(resource), os); + try (InputStream is = getClass().getResourceAsStream(resource); + OutputStream os = bs.getOutputStream()) { + is.transferTo(os); } }); return projectDir; diff --git a/groovy/groovy.samples/nbproject/project.properties b/groovy/groovy.samples/nbproject/project.properties index 0f4ec98bc91a..73811063fd2b 100644 --- a/groovy/groovy.samples/nbproject/project.properties +++ b/groovy/groovy.samples/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/groovy/groovy.samples/src/org/netbeans/modules/groovy/samples/gjdemo/GroovyJavaDemoWizardIterator.java b/groovy/groovy.samples/src/org/netbeans/modules/groovy/samples/gjdemo/GroovyJavaDemoWizardIterator.java index 677d5309db18..67939f24ed8e 100644 --- a/groovy/groovy.samples/src/org/netbeans/modules/groovy/samples/gjdemo/GroovyJavaDemoWizardIterator.java +++ b/groovy/groovy.samples/src/org/netbeans/modules/groovy/samples/gjdemo/GroovyJavaDemoWizardIterator.java @@ -20,7 +20,6 @@ import java.awt.Component; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -171,8 +170,7 @@ public final void removeChangeListener(ChangeListener l) { } private static void unZipFile(InputStream source, FileObject projectRoot) throws IOException { - try { - ZipInputStream str = new ZipInputStream(source); + try (ZipInputStream str = new ZipInputStream(source);) { ZipEntry entry; while ((entry = str.getNextEntry()) != null) { if (entry.isDirectory()) { @@ -187,25 +185,18 @@ private static void unZipFile(InputStream source, FileObject projectRoot) throws } } } - } finally { - source.close(); } } private static void writeFile(ZipInputStream str, FileObject fo) throws IOException { - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(str, out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + str.transferTo(out); } } private static void filterProjectXML(FileObject fo, ZipInputStream str, String name) throws IOException { try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(str, baos); - Document doc = XMLUtil.parse(new InputSource(new ByteArrayInputStream(baos.toByteArray())), false, false, null, null); + Document doc = XMLUtil.parse(new InputSource(new ByteArrayInputStream(str.readAllBytes())), false, false, null, null); NodeList nl = doc.getDocumentElement().getElementsByTagName("name"); if (nl != null) { for (int i = 0; i < nl.getLength(); i++) { @@ -219,11 +210,8 @@ private static void filterProjectXML(FileObject fo, ZipInputStream str, String n } } } - OutputStream out = fo.getOutputStream(); - try { + try (OutputStream out = fo.getOutputStream()) { XMLUtil.write(doc, out, "UTF-8"); - } finally { - out.close(); } } catch (Exception ex) { Exceptions.printStackTrace(ex); diff --git a/groovy/groovy.samples/src/org/netbeans/modules/groovy/samples/nbprojectgen/NBProjectGeneratorsWizardIterator.java b/groovy/groovy.samples/src/org/netbeans/modules/groovy/samples/nbprojectgen/NBProjectGeneratorsWizardIterator.java index ece1e784ad55..dde455ab746e 100644 --- a/groovy/groovy.samples/src/org/netbeans/modules/groovy/samples/nbprojectgen/NBProjectGeneratorsWizardIterator.java +++ b/groovy/groovy.samples/src/org/netbeans/modules/groovy/samples/nbprojectgen/NBProjectGeneratorsWizardIterator.java @@ -20,7 +20,6 @@ import java.awt.Component; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -171,8 +170,7 @@ public final void removeChangeListener(ChangeListener l) { } private static void unZipFile(InputStream source, FileObject projectRoot) throws IOException { - try { - ZipInputStream str = new ZipInputStream(source); + try (ZipInputStream str = new ZipInputStream(source)) { ZipEntry entry; while ((entry = str.getNextEntry()) != null) { if (entry.isDirectory()) { @@ -187,25 +185,18 @@ private static void unZipFile(InputStream source, FileObject projectRoot) throws } } } - } finally { - source.close(); } } private static void writeFile(ZipInputStream str, FileObject fo) throws IOException { - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(str, out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + str.transferTo(out); } } private static void filterProjectXML(FileObject fo, ZipInputStream str, String name) throws IOException { try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(str, baos); - Document doc = XMLUtil.parse(new InputSource(new ByteArrayInputStream(baos.toByteArray())), false, false, null, null); + Document doc = XMLUtil.parse(new InputSource(new ByteArrayInputStream(str.readAllBytes())), false, false, null, null); NodeList nl = doc.getDocumentElement().getElementsByTagName("name"); if (nl != null) { for (int i = 0; i < nl.getLength(); i++) { @@ -219,11 +210,8 @@ private static void filterProjectXML(FileObject fo, ZipInputStream str, String n } } } - OutputStream out = fo.getOutputStream(); - try { + try (OutputStream out = fo.getOutputStream()) { XMLUtil.write(doc, out, "UTF-8"); - } finally { - out.close(); } } catch (Exception ex) { Exceptions.printStackTrace(ex); diff --git a/ide/csl.api/src/org/netbeans/modules/csl/spi/GsfUtilities.java b/ide/csl.api/src/org/netbeans/modules/csl/spi/GsfUtilities.java index c34ff300a059..0d8082e8517e 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/spi/GsfUtilities.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/spi/GsfUtilities.java @@ -448,12 +448,8 @@ private static void extractZipImpl(FileObject fo, InputStream is) FileLock lock = fd.lock(); try { - OutputStream os = fd.getOutputStream(lock); - - try { - FileUtil.copy(jis, os); - } finally { - os.close(); + try (OutputStream os = fd.getOutputStream(lock)) { + jis.transferTo(os); } } finally { lock.releaseLock(); diff --git a/ide/csl.api/src/org/netbeans/modules/csl/spi/support/ModificationResult.java b/ide/csl.api/src/org/netbeans/modules/csl/spi/support/ModificationResult.java index 3309d5aab57f..2b00f37b46ab 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/spi/support/ModificationResult.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/spi/support/ModificationResult.java @@ -133,22 +133,15 @@ public void run () { return; } } - InputStream ins = null; - ByteArrayOutputStream baos = null; Reader in = null; Writer out2 = out; try { Charset encoding = FileEncodingQuery.getEncoding(fo); - ins = fo.getInputStream(); - baos = new ByteArrayOutputStream(); - FileUtil.copy(ins, baos); - - ins.close(); - ins = null; - byte[] arr = baos.toByteArray(); + byte[] arr; + try (InputStream ins = fo.getInputStream()) { + arr = ins.readAllBytes(); + } int arrLength = convertToLF(arr); - baos.close(); - baos = null; in = new InputStreamReader(new ByteArrayInputStream(arr, 0, arrLength), encoding); // initialize standard commit output stream, if user // does not provide his own writer @@ -198,10 +191,6 @@ public void run () { while ((n = in.read(buff)) > 0) out2.write(buff, 0, n); } finally { - if (ins != null) - ins.close(); - if (baos != null) - baos.close(); if (in != null) in.close(); if (out2 != null) diff --git a/ide/csl.api/test/unit/src/org/netbeans/modules/csl/api/test/CslTestBase.java b/ide/csl.api/test/unit/src/org/netbeans/modules/csl/api/test/CslTestBase.java index 72c0ba02ae42..77732c270aea 100644 --- a/ide/csl.api/test/unit/src/org/netbeans/modules/csl/api/test/CslTestBase.java +++ b/ide/csl.api/test/unit/src/org/netbeans/modules/csl/api/test/CslTestBase.java @@ -22,7 +22,6 @@ import java.awt.event.ActionEvent; import java.io.BufferedReader; import java.io.BufferedWriter; -import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; @@ -346,17 +345,9 @@ protected FileObject touch(final FileObject dir, final String path) throws IOExc } public static final FileObject copyStringToFileObject(FileObject fo, String content) throws IOException { - OutputStream os = fo.getOutputStream(); - try { - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - try { - FileUtil.copy(is, os); - return fo; - } finally { - is.close(); - } - } finally { - os.close(); + try (OutputStream os = fo.getOutputStream()) { + os.write(content.getBytes(StandardCharsets.UTF_8)); + return fo; } } @@ -390,13 +381,10 @@ private static CaretLineOffset getCaretOffsetInternal(String text, String caretL /** Copy-pasted from APISupport. */ protected static String slurp(File file) throws IOException { - InputStream is = new FileInputStream(file); - try { + try (InputStream is = new FileInputStream(file)) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(is, baos); - return baos.toString("UTF-8"); - } finally { - is.close(); + is.transferTo(baos); + return baos.toString(StandardCharsets.UTF_8); } } diff --git a/ide/derby/src/org/netbeans/modules/derby/Util.java b/ide/derby/src/org/netbeans/modules/derby/Util.java index 6e358b46751c..f16061d46c92 100644 --- a/ide/derby/src/org/netbeans/modules/derby/Util.java +++ b/ide/derby/src/org/netbeans/modules/derby/Util.java @@ -113,9 +113,7 @@ public static boolean isDerbyInstallLocation(File location) { } public static void extractZip(File source, FileObject target) throws IOException { - FileInputStream is = new FileInputStream(source); - try { - ZipInputStream zis = new ZipInputStream(is); + try (ZipInputStream zis = new ZipInputStream(new FileInputStream(source))) { ZipEntry ze; while ((ze = zis.getNextEntry()) != null) { @@ -131,18 +129,13 @@ public static void extractZip(File source, FileObject target) throws IOException FileObject fd = FileUtil.createData(target, name); FileLock lock = fd.lock(); try { - OutputStream os = fd.getOutputStream(lock); - try { - FileUtil.copy(zis, os); - } finally { - os.close(); + try (OutputStream os = fd.getOutputStream(lock)) { + zis.transferTo(os); } } finally { lock.releaseLock(); } } - } finally { - is.close(); } } diff --git a/ide/diff/src/org/netbeans/api/diff/StreamSource.java b/ide/diff/src/org/netbeans/api/diff/StreamSource.java index 03952cecb92d..430c50164952 100644 --- a/ide/diff/src/org/netbeans/api/diff/StreamSource.java +++ b/ide/diff/src/org/netbeans/api/diff/StreamSource.java @@ -178,7 +178,7 @@ private File createReaderSource(Reader r) throws IOException { copyStreamsCloseAll(new OutputStreamWriter(baos, encoding), r); in = new ByteArrayInputStream(baos.toByteArray()); } - org.openide.filesystems.FileUtil.copy(in, out = new FileOutputStream(tmp)); + in.transferTo(out = new FileOutputStream(tmp)); } finally { if (in != null) in.close(); if (out != null) out.close(); diff --git a/ide/diff/test/unit/src/org/netbeans/api/diff/PatchUtilsTest.java b/ide/diff/test/unit/src/org/netbeans/api/diff/PatchUtilsTest.java index b3882ca22833..bd6b50f06609 100644 --- a/ide/diff/test/unit/src/org/netbeans/api/diff/PatchUtilsTest.java +++ b/ide/diff/test/unit/src/org/netbeans/api/diff/PatchUtilsTest.java @@ -24,7 +24,6 @@ import org.netbeans.junit.NbTestCase; import org.netbeans.modules.diff.PatchAction; -import org.openide.filesystems.FileUtil; /** * @@ -203,13 +202,9 @@ private File createFile() throws IOException { } private File createFile(File file) throws IOException { - final FileInputStream fileInputStream = new FileInputStream(new File(dataDir, "goldenFileBefore")); - final FileOutputStream fileOutputStream = new FileOutputStream(file); - try { - FileUtil.copy(fileInputStream, fileOutputStream); - } finally { - fileInputStream.close(); - fileOutputStream.close(); + try (FileInputStream fis = new FileInputStream(new File(dataDir, "goldenFileBefore")); + FileOutputStream fos = new FileOutputStream(file)) { + fis.transferTo(fos); } return file; } diff --git a/ide/docker.api/src/org/netbeans/modules/docker/FolderUploader.java b/ide/docker.api/src/org/netbeans/modules/docker/FolderUploader.java index 3d423f138293..0ea6b96ecc91 100644 --- a/ide/docker.api/src/org/netbeans/modules/docker/FolderUploader.java +++ b/ide/docker.api/src/org/netbeans/modules/docker/FolderUploader.java @@ -84,7 +84,7 @@ public Void call() throws IOException, ArchiveException { path); aos.putArchiveEntry(entry); try (InputStream is = new BufferedInputStream(child.getInputStream())) { - FileUtil.copy(is, aos); + is.transferTo(aos); } aos.closeArchiveEntry(); } diff --git a/ide/docker.editor/src/org/netbeans/modules/docker/editor/util/DocDownloader.java b/ide/docker.editor/src/org/netbeans/modules/docker/editor/util/DocDownloader.java index 6217ba9f0624..31084ba182a5 100644 --- a/ide/docker.editor/src/org/netbeans/modules/docker/editor/util/DocDownloader.java +++ b/ide/docker.editor/src/org/netbeans/modules/docker/editor/util/DocDownloader.java @@ -65,7 +65,7 @@ public static Future download( try { final ByteArrayOutputStream out = new ByteArrayOutputStream(); try(BufferedInputStream in = new BufferedInputStream(url.openStream())) { - FileUtil.copy(in, out); + in.transferTo(out); } return cancel.call() ? "" //NOI18N diff --git a/ide/html/test/unit/src/org/netbeans/modules/html/EncodingTest.java b/ide/html/test/unit/src/org/netbeans/modules/html/EncodingTest.java index 002554dcfa7a..e6f519e1d05a 100644 --- a/ide/html/test/unit/src/org/netbeans/modules/html/EncodingTest.java +++ b/ide/html/test/unit/src/org/netbeans/modules/html/EncodingTest.java @@ -145,22 +145,16 @@ public void close() throws SecurityException { } private void copy(final String res, final FileObject data) throws Exception { - final InputStream is = getClass ().getResourceAsStream ("data/"+res); //NOI18N - try { + try (InputStream is = getClass ().getResourceAsStream ("data/"+res)) { //NOI18N assertNotNull (res+" should exist", is); //NOI18N FileLock lock = data.lock(); try { - OutputStream os = data.getOutputStream (lock); - try { - FileUtil.copy (is, os); - } finally { - os.close (); + try (OutputStream os = data.getOutputStream(lock)) { + is.transferTo(os); } } finally { lock.releaseLock (); } - } finally { - is.close (); } } @@ -189,7 +183,7 @@ private void checkEncoding (String enc, String res, boolean withCmp) throws Exce FileObject data = FileUtil.createData (FileUtil.toFileObject(getWorkDir()), res); FileLock lock = data.lock(); OutputStream os = data.getOutputStream (lock); - FileUtil.copy (is, os); + is.transferTo (os); is.close (); os.close (); lock.releaseLock (); diff --git a/ide/hudson.mercurial/src/org/netbeans/modules/hudson/mercurial/MercurialHyperlink.java b/ide/hudson.mercurial/src/org/netbeans/modules/hudson/mercurial/MercurialHyperlink.java index 6d8b6557a501..215a47793f89 100644 --- a/ide/hudson.mercurial/src/org/netbeans/modules/hudson/mercurial/MercurialHyperlink.java +++ b/ide/hudson.mercurial/src/org/netbeans/modules/hudson/mercurial/MercurialHyperlink.java @@ -39,7 +39,6 @@ import org.netbeans.modules.hudson.ui.api.HudsonSCMHelper; import org.netbeans.modules.hudson.spi.HudsonJobChangeItem.HudsonJobChangeFile; import org.netbeans.modules.hudson.spi.HudsonJobChangeItem.HudsonJobChangeFile.EditType; -import org.openide.filesystems.FileUtil; import org.openide.util.NbBundle.Messages; import org.openide.util.RequestProcessor; import org.openide.windows.OutputEvent; @@ -97,13 +96,10 @@ private StreamSource makeSource(boolean after) throws IOException { rev = null; } else { rev = after ? node : findParent(repo, node); - InputStream is = repo.resolve("raw-file/" + rev + "/" + file.getName()).toURL().openStream(); // NOI18N - try { + try (InputStream is = repo.resolve("raw-file/" + rev + "/" + file.getName()).toURL().openStream()) { // NOI18N ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(is, baos); + is.transferTo(baos); r = new StringReader(baos.toString()); - } finally { - is.close(); } } String mimeType = "text/plain"; // NOI18N // XXX use FileUtil.getMIMETypeExtensions diff --git a/ide/hudson.subversion/src/org/netbeans/modules/hudson/subversion/SubversionHyperlink.java b/ide/hudson.subversion/src/org/netbeans/modules/hudson/subversion/SubversionHyperlink.java index 0a713d464c8e..4c0749f205d7 100644 --- a/ide/hudson.subversion/src/org/netbeans/modules/hudson/subversion/SubversionHyperlink.java +++ b/ide/hudson.subversion/src/org/netbeans/modules/hudson/subversion/SubversionHyperlink.java @@ -143,7 +143,7 @@ private StreamSource makeSource(String repo, String path, int rev) throws IOExce InputStream is = new URL(repo + "/!svn/ver/" + rev + path).openStream(); // NOI18N try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(is, baos); + is.transferTo(baos); r = new StringReader(baos.toString()); } finally { is.close(); diff --git a/ide/hudson.ui/src/org/netbeans/modules/hudson/ui/actions/ViewConfigAction.java b/ide/hudson.ui/src/org/netbeans/modules/hudson/ui/actions/ViewConfigAction.java index edf64b105956..49b822096b43 100644 --- a/ide/hudson.ui/src/org/netbeans/modules/hudson/ui/actions/ViewConfigAction.java +++ b/ide/hudson.ui/src/org/netbeans/modules/hudson/ui/actions/ViewConfigAction.java @@ -23,7 +23,6 @@ import java.beans.PropertyChangeListener; import java.beans.VetoableChangeListener; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -34,7 +33,6 @@ import org.netbeans.modules.hudson.api.ConnectionBuilder; import org.netbeans.modules.hudson.api.HudsonJob; import static org.netbeans.modules.hudson.ui.actions.Bundle.*; -import org.openide.filesystems.FileUtil; import org.openide.text.CloneableEditorSupport; import org.openide.util.Exceptions; import org.openide.util.NbBundle.Messages; @@ -71,14 +69,11 @@ private static final class EnvImpl implements CloneableEditorSupport.Env { @Messages({"# {0} - URL", "ViewConfigAction_could_not_connect=Could not retrieve: {0}"}) @Override public InputStream inputStream() throws IOException { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] byteArray; try { URLConnection conn = new ConnectionBuilder().homeURL(new URL(home)).url(url).connection(); - InputStream is = conn.getInputStream(); - try { - FileUtil.copy(is, baos); - } finally { - is.close(); + try (InputStream is = conn.getInputStream()) { + byteArray = is.readAllBytes(); } } catch (IOException x) { if (Exceptions.findLocalizedMessage(x) == null) { @@ -86,7 +81,7 @@ private static final class EnvImpl implements CloneableEditorSupport.Env { } throw x; } - return new ByteArrayInputStream(baos.toByteArray()); + return new ByteArrayInputStream(byteArray); } @Override public OutputStream outputStream() throws IOException { diff --git a/ide/hudson/src/org/netbeans/modules/hudson/api/ConnectionBuilder.java b/ide/hudson/src/org/netbeans/modules/hudson/api/ConnectionBuilder.java index 8733bf113508..29679eab4e07 100644 --- a/ide/hudson/src/org/netbeans/modules/hudson/api/ConnectionBuilder.java +++ b/ide/hudson/src/org/netbeans/modules/hudson/api/ConnectionBuilder.java @@ -31,6 +31,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; +import java.nio.charset.StandardCharsets; import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; @@ -56,7 +57,6 @@ import org.openide.util.Lookup; import org.openide.util.NbBundle.Messages; import static org.netbeans.modules.hudson.api.Bundle.*; -import org.openide.filesystems.FileUtil; import org.openide.util.NetworkSettings; import org.openide.util.RequestProcessor; import org.openide.xml.XMLUtil; @@ -357,11 +357,10 @@ private URLConnection doConnection() throws IOException { LOG.log(Level.FINER, "Retrying after auth from {0}", authenticator); conn = retry; try { // check for CSRF before continuing - InputStream is = new ConnectionBuilder().url(new URL(home, "crumbIssuer/api/xml?xpath=concat(//crumbRequestField,'=',//crumb)")).homeURL(home).connection().getInputStream(); - try { + try (InputStream is = new ConnectionBuilder().url(new URL(home, "crumbIssuer/api/xml?xpath=concat(//crumbRequestField,'=',//crumb)")).homeURL(home).connection().getInputStream()) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(is, baos); - String crumb = baos.toString("UTF-8"); + is.transferTo(baos); + String crumb = baos.toString(StandardCharsets.UTF_8); String[] crumbA = crumb.split("=", 2); if (crumbA.length == 2 && crumbA[0].indexOf('\n') == -1) { LOG.log(Level.FINER, "Received crumb: {0}", crumb); @@ -369,8 +368,6 @@ private URLConnection doConnection() throws IOException { } else { LOG.log(Level.WARNING, "Bad crumb response: {0}", crumb); } - } finally { - is.close(); } } catch (FileNotFoundException x) { LOG.finer("not using crumbs"); diff --git a/ide/languages/src/org/netbeans/modules/languages/LanguagesManager.java b/ide/languages/src/org/netbeans/modules/languages/LanguagesManager.java index 5190ce755874..24d4e3217ca3 100644 --- a/ide/languages/src/org/netbeans/modules/languages/LanguagesManager.java +++ b/ide/languages/src/org/netbeans/modules/languages/LanguagesManager.java @@ -230,17 +230,11 @@ public void run () { FileUtil.createData(toolbarDefault, "uncomment").setAttribute("position", 32000); if (root.getFileObject("Keybindings/NetBeans/Defaults/keybindings.xml") == null) { - InputStream is = getClass().getClassLoader().getResourceAsStream("org/netbeans/modules/languages/resources/DefaultKeyBindings.xml"); - try { + try (InputStream is = getClass().getClassLoader().getResourceAsStream("org/netbeans/modules/languages/resources/DefaultKeyBindings.xml")) { FileObject bindings = FileUtil.createData(root, "Keybindings/NetBeans/Defaults/keybindings.xml"); - OutputStream os = bindings.getOutputStream(); - try { - FileUtil.copy(is, os); - } finally { - os.close(); + try (OutputStream os = bindings.getOutputStream()) { + is.transferTo(os); } - } finally { - is.close(); } } } diff --git a/ide/libs.freemarker/test/unit/src/org/netbeans/freemarker/templates/SCFTHandlerTest.java b/ide/libs.freemarker/test/unit/src/org/netbeans/freemarker/templates/SCFTHandlerTest.java index b975cdf6c3e9..124599e2f743 100644 --- a/ide/libs.freemarker/test/unit/src/org/netbeans/freemarker/templates/SCFTHandlerTest.java +++ b/ide/libs.freemarker/test/unit/src/org/netbeans/freemarker/templates/SCFTHandlerTest.java @@ -279,7 +279,7 @@ public void testUTF8() throws Exception { FileObject xmldir = FileUtil.createFolder(root, "xml"); FileObject xml = FileUtil.createData(xmldir, "class.txt"); OutputStream os = xml.getOutputStream(); - FileUtil.copy(getClass().getResourceAsStream("utf8.xml"), os); + getClass().getResourceAsStream("utf8.xml").transferTo(os); xml.setAttribute("javax.script.ScriptEngine", "freemarker"); os.close(); diff --git a/ide/localhistory/src/org/netbeans/modules/localhistory/ui/actions/RevertDeletedAction.java b/ide/localhistory/src/org/netbeans/modules/localhistory/ui/actions/RevertDeletedAction.java index 6e9bdd0ed15c..faf4a6aad98a 100644 --- a/ide/localhistory/src/org/netbeans/modules/localhistory/ui/actions/RevertDeletedAction.java +++ b/ide/localhistory/src/org/netbeans/modules/localhistory/ui/actions/RevertDeletedAction.java @@ -30,7 +30,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.net.URISyntaxException; import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -193,8 +192,6 @@ private static void revert(StoreEntry se) { } File storeFile = se.getStoreFile(); - InputStream is = null; - OutputStream os = null; try { FileObject parentFO = file.getParentFile().toFileObject(); if(parentFO != null) { @@ -203,9 +200,10 @@ private static void revert(StoreEntry se) { } else { FileObject fo = FileUtil.createData(parentFO, file.getName()); - os = getOutputStream(fo); - is = se.getStoreFileInputStream(); - FileUtil.copy(is, os); + try (InputStream is = se.getStoreFileInputStream(); + OutputStream os = getOutputStream(fo)) { + is.transferTo(os); + } } } else { VCSFileProxy parentFile = file.getParentFile(); @@ -216,22 +214,16 @@ private static void revert(StoreEntry se) { if(!storeFile.isFile()) { file.toFile().mkdirs(); } else { - is = se.getStoreFileInputStream(); - FileUtils.copy(is, file.toFile()); + try (InputStream is = se.getStoreFileInputStream()) { + FileUtils.copy(is, file.toFile()); + } } - } else { LocalHistory.LOG.log(Level.WARNING, "FileObject for remote file {0} is null. Can''t revert.", file.getParentFile().getPath()); } } } catch (Exception e) { LocalHistory.LOG.log(Level.SEVERE, null, e); - return; - } finally { - try { - if(os != null) { os.close(); } - if(is != null) { is.close(); } - } catch (IOException e) {} } } diff --git a/ide/localhistory/src/org/netbeans/modules/localhistory/utils/FileUtils.java b/ide/localhistory/src/org/netbeans/modules/localhistory/utils/FileUtils.java index e9838ff0817e..2b2ca72c8fee 100644 --- a/ide/localhistory/src/org/netbeans/modules/localhistory/utils/FileUtils.java +++ b/ide/localhistory/src/org/netbeans/modules/localhistory/utils/FileUtils.java @@ -34,8 +34,6 @@ import org.netbeans.modules.versioning.core.api.VCSFileProxy; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; -import org.openide.util.Exceptions; -import org.openide.util.lookup.Lookups; /** * @author Tomas Stupka @@ -114,13 +112,8 @@ public static void copy(VCSFileProxy file, OutputStream os) throws IOException { if (os == null ) { throw new NullPointerException("output stream must not be null"); // NOI18N } - InputStream is = null; - try { - is = createInputStream(file); - FileUtil.copy(is, os); - } finally { - if (is != null) { try { is.close(); } catch (IOException ex) { } } - if (os != null) { try { os.close(); } catch (IOException ex) { } } + try (InputStream is = createInputStream(file); os) { + is.transferTo(os); } } @@ -139,13 +132,8 @@ public static void copy(File file, OutputStream os) throws IOException { if (os == null ) { throw new NullPointerException("output stream must not be null"); // NOI18N } - InputStream is = null; - try { - is = createInputStream(file); - FileUtil.copy(is, os); - } finally { - if (is != null) { try { is.close(); } catch (IOException ex) { } } - if (os != null) { try { os.close(); } catch (IOException ex) { } } + try (InputStream is = createInputStream(file); os) { + is.transferTo(os); } } diff --git a/ide/localhistory/src/org/netbeans/modules/localhistory/utils/Utils.java b/ide/localhistory/src/org/netbeans/modules/localhistory/utils/Utils.java index bc2ee73a1e13..2af298812ef2 100644 --- a/ide/localhistory/src/org/netbeans/modules/localhistory/utils/Utils.java +++ b/ide/localhistory/src/org/netbeans/modules/localhistory/utils/Utils.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.localhistory.utils; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -48,8 +47,6 @@ public static void revert(final Node[] nodes) { } public static void revert(StoreEntry se) { - InputStream is = null; - OutputStream os = null; try { VCSFileProxy file = se.getFile(); FileObject fo = file.toFileObject(); @@ -57,19 +54,14 @@ public static void revert(StoreEntry se) { if(fo == null) { fo = FileUtil.createData(file.getParentFile().toFileObject(), file.getName()); } - os = getOutputStream(fo); - is = se.getStoreFileInputStream(); - FileUtil.copy(is, os); + try (InputStream is = se.getStoreFileInputStream(); OutputStream os = getOutputStream(fo)) { + is.transferTo(os); + } } else { fo.delete(); } } catch (Exception e) { LocalHistory.LOG.log(Level.SEVERE, null, e); - } finally { - try { - if(os != null) { os.close(); } - if(is != null) { is.close(); } - } catch (IOException e) {} } } diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/refactoring/ModificationResult.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/refactoring/ModificationResult.java index a50b1c00a9d2..c3dde4b6d05e 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/refactoring/ModificationResult.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/refactoring/ModificationResult.java @@ -133,22 +133,15 @@ public void run () { return; } } - InputStream ins = null; - ByteArrayOutputStream baos = null; Reader in = null; Writer out2 = out; try { Charset encoding = FileEncodingQuery.getEncoding(fo); - ins = fo.getInputStream(); - baos = new ByteArrayOutputStream(); - FileUtil.copy(ins, baos); - - ins.close(); - ins = null; - byte[] arr = baos.toByteArray(); + byte[] arr; + try (InputStream ins = fo.getInputStream()) { + arr = ins.readAllBytes(); + } int arrLength = convertToLF(arr); - baos.close(); - baos = null; in = new InputStreamReader(new ByteArrayInputStream(arr, 0, arrLength), encoding); // initialize standard commit output stream, if user // does not provide his own writer @@ -198,10 +191,6 @@ public void run () { while ((n = in.read(buff)) > 0) out2.write(buff, 0, n); } finally { - if (ins != null) - ins.close(); - if (baos != null) - baos.close(); if (in != null) in.close(); if (out2 != null) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java index 7d167a92d239..c48c1c0cbab9 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java @@ -136,7 +136,7 @@ static void store(List languages) { syntax.setAttribute("textmate-grammar", findScope(grammar)); try (InputStream in = new FileInputStream(grammar); OutputStream out = syntax.getOutputStream()) { - FileUtil.copy(in, out); + in.transferTo(out); } FileObject loader = FileUtil.getConfigFile("Loaders/" + description.mimeType + "/Factories/data-object.instance"); if (loader != null) { @@ -174,7 +174,7 @@ static void store(List languages) { icon = FileUtil.createData(FileUtil.getConfigRoot(), "Loaders/" + description.mimeType + "/Factories/icon.png"); try (InputStream in = new FileInputStream(iconFile); OutputStream out = icon.getOutputStream()) { - FileUtil.copy(in, out); + in.transferTo(out); } loader.setAttribute("iconBase", icon.getNameExt()); diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/RepositoryUpdater.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/RepositoryUpdater.java index 0c7cbb9e7a41..73b892f24b80 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/RepositoryUpdater.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/RepositoryUpdater.java @@ -5539,7 +5539,7 @@ private File download ( final File packedIndex = new File (into,getSimpleName(indexURL)); //NOI18N try (final InputStream in = new BufferedInputStream(indexURL.openStream()); final OutputStream out = new BufferedOutputStream(new FileOutputStream(packedIndex))) { - FileUtil.copy(in, out); + in.transferTo(out); } return packedIndex; } catch (IOException ioe) { @@ -5561,7 +5561,7 @@ private boolean unpack (@NonNull final File packedFile, @NonNull File targetFold target.getParentFile().mkdirs(); try (final InputStream in = zf.getInputStream(entry); final FileOutputStream out = new FileOutputStream(target)) { - FileUtil.copy(in, out); + in.transferTo(out); } } } diff --git a/ide/project.ant/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingleton.java b/ide/project.ant/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingleton.java index cf169d598dbf..bda3e6d2e48e 100644 --- a/ide/project.ant/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingleton.java +++ b/ide/project.ant/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingleton.java @@ -302,13 +302,10 @@ private void dumpFields(Object o) { } private Document loadProjectXml(File projectDiskFile) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); - InputStream is = new FileInputStream(projectDiskFile); - try { - FileUtil.copy(is, baos); - } finally { - is.close(); + byte[] data; + try (InputStream is = new FileInputStream(projectDiskFile)) { + data = is.readAllBytes(); } - byte[] data = baos.toByteArray(); InputSource src = new InputSource(new ByteArrayInputStream(data)); src.setSystemId(BaseUtilities.toURI(projectDiskFile).toString()); try { diff --git a/ide/projectapi/test/unit/src/org/netbeans/api/project/TestUtil.java b/ide/projectapi/test/unit/src/org/netbeans/api/project/TestUtil.java index 16caaf1ff0be..db4660f2c5fa 100644 --- a/ide/projectapi/test/unit/src/org/netbeans/api/project/TestUtil.java +++ b/ide/projectapi/test/unit/src/org/netbeans/api/project/TestUtil.java @@ -26,7 +26,6 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.URL; -import java.nio.file.Files; import java.util.Arrays; import java.util.Map; import java.util.StringTokenizer; @@ -321,18 +320,12 @@ public static FileObject createFileFromContent(URL content, FileObject parent, S } assert fo.isData(); if (content != null || touch) { - OutputStream os = fo.getOutputStream(); - try { + try (OutputStream os = fo.getOutputStream()) { if (content != null) { - InputStream is = content.openStream(); - try { - FileUtil.copy(is, os); - } finally { - is.close(); + try (InputStream is = content.openStream()) { + is.transferTo(os); } } - } finally { - os.close(); } } return fo; diff --git a/ide/projectui/src/org/netbeans/modules/project/ui/zip/ImportZIP.java b/ide/projectui/src/org/netbeans/modules/project/ui/zip/ImportZIP.java index bed9c57a4b19..b30b06404967 100644 --- a/ide/projectui/src/org/netbeans/modules/project/ui/zip/ImportZIP.java +++ b/ide/projectui/src/org/netbeans/modules/project/ui/zip/ImportZIP.java @@ -32,9 +32,7 @@ import java.net.MalformedURLException; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.List; -import java.util.Objects; import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +43,6 @@ import javax.swing.JPanel; import javax.swing.filechooser.FileNameExtensionFilter; import org.netbeans.api.progress.ProgressHandle; -import org.netbeans.api.project.FileOwnerQuery; import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectManager; import org.netbeans.api.project.ui.OpenProjects; @@ -61,7 +58,6 @@ import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.util.Cancellable; -import org.openide.util.NbBundle; import org.openide.util.NbBundle.Messages; import org.openide.util.RequestProcessor; import org.openide.util.Utilities; @@ -226,11 +222,8 @@ public void propertyChange(PropertyChangeEvent evt) { if (!p.isDirectory() && !p.mkdirs()) { throw new IOException("could not make " + p); } - OutputStream os = new FileOutputStream(f); - try { - FileUtil.copy(zis, os); - } finally { - os.close(); + try (OutputStream os = new FileOutputStream(f)) { + zis.transferTo(os); } if (entry.getTime() > 0) { if (!f.setLastModified(entry.getTime())) { diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility.java index abd905582eee..6392cf32832d 100644 --- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility.java +++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility.java @@ -265,11 +265,8 @@ private void copy(File a, FileObject b) throws IOException { } private void copy(InputStream is, OutputStream os) throws IOException { - try { - FileUtil.copy(is, os); - } finally { - is.close(); - os.close(); + try (is; os) { + is.transferTo(os); } } diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility2.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility2.java index 831ae28b068b..3944f3f397e4 100644 --- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility2.java +++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility2.java @@ -561,29 +561,23 @@ private void createNewFolder(FileObject fo) throws IOException { } private void copy(FileObject a, File b) throws IOException { - InputStream fs = a.getInputStream(); - FileOutputStream fo = new FileOutputStream(b); - copy(fs, fo); + try (InputStream fs = a.getInputStream(); + FileOutputStream fo = new FileOutputStream(b)) { + fs.transferTo(fo); + } } private void copy(File a, File b) throws IOException { - FileInputStream fs = new FileInputStream(a); - FileOutputStream fo = new FileOutputStream(b); - copy(fs, fo); + try (FileInputStream fs = new FileInputStream(a); + FileOutputStream fo = new FileOutputStream(b)) { + fs.transferTo(fo); + } } private void copy(File a, FileObject b) throws IOException { - FileInputStream fs = new FileInputStream(a); - OutputStream fo = b.getOutputStream(); - copy(fs, fo); - } - - private void copy(InputStream is, OutputStream os) throws IOException { - try { - FileUtil.copy(is, os); - } finally { - is.close(); - os.close(); + try (FileInputStream fs = new FileInputStream(a); + OutputStream fo = b.getOutputStream()) { + fs.transferTo(fo); } } diff --git a/ide/subversion/src/org/netbeans/modules/subversion/util/SvnUtils.java b/ide/subversion/src/org/netbeans/modules/subversion/util/SvnUtils.java index 502e5759e7ad..55e9f019194d 100644 --- a/ide/subversion/src/org/netbeans/modules/subversion/util/SvnUtils.java +++ b/ide/subversion/src/org/netbeans/modules/subversion/util/SvnUtils.java @@ -1008,7 +1008,7 @@ public static void rollback (File file, SVNUrl repoUrl, SVNUrl fileUrl, SVNRevis } os = fo.getOutputStream(); is = FileUtil.toFileObject(oldFile).getInputStream(); - FileUtil.copy(is, os); + is.transferTo(os); } catch (IOException e) { if (refersToDirectory(e)) { Subversion.LOG.log(Level.FINE, null, e); diff --git a/ide/versioning.core/test/unit/src/org/netbeans/modules/versioning/core/spi/testvcs/TestVCSInterceptor.java b/ide/versioning.core/test/unit/src/org/netbeans/modules/versioning/core/spi/testvcs/TestVCSInterceptor.java index ffd7a939bb2f..cdd5ed88ceb6 100644 --- a/ide/versioning.core/test/unit/src/org/netbeans/modules/versioning/core/spi/testvcs/TestVCSInterceptor.java +++ b/ide/versioning.core/test/unit/src/org/netbeans/modules/versioning/core/spi/testvcs/TestVCSInterceptor.java @@ -23,7 +23,6 @@ import java.util.*; import org.netbeans.modules.versioning.core.api.VCSFileProxy; -import org.openide.filesystems.FileUtil; /** * @author Maros Sandor @@ -307,11 +306,9 @@ public void copy(VCSFileProxy from, VCSFileProxy to) throws IOException { private void copy(File fromFile, File toFile) throws IOException { if(fromFile.isFile()) { - InputStream is = new FileInputStream (fromFile); - OutputStream os = new FileOutputStream(toFile); - FileUtil.copy(is, os); - is.close(); - os.close(); + try (InputStream is = new FileInputStream (fromFile); OutputStream os = new FileOutputStream(toFile)) { + is.transferTo(os); + } } else { toFile.mkdirs(); File[] files = fromFile.listFiles(); diff --git a/ide/versioning.masterfs/test/unit/src/org/netbeans/modules/versioning/masterfs/FileVCSTest.java b/ide/versioning.masterfs/test/unit/src/org/netbeans/modules/versioning/masterfs/FileVCSTest.java index d3637073c856..6e02fa5f5293 100644 --- a/ide/versioning.masterfs/test/unit/src/org/netbeans/modules/versioning/masterfs/FileVCSTest.java +++ b/ide/versioning.masterfs/test/unit/src/org/netbeans/modules/versioning/masterfs/FileVCSTest.java @@ -103,11 +103,9 @@ public void copy(String from, String to) throws IOException { private void copy(File fromFile, File toFile) throws IOException { if(fromFile.isFile()) { - InputStream is = new FileInputStream (fromFile); - OutputStream os = new FileOutputStream(toFile); - FileUtil.copy(is, os); - is.close(); - os.close(); + try (InputStream is = new FileInputStream (fromFile); OutputStream os = new FileOutputStream(toFile)) { + is.transferTo(os); + } } else { toFile.mkdirs(); File[] files = fromFile.listFiles(); diff --git a/ide/versioning/test/unit/src/org/netbeans/modules/versioning/spi/testvcs/TestVCSInterceptor.java b/ide/versioning/test/unit/src/org/netbeans/modules/versioning/spi/testvcs/TestVCSInterceptor.java index 61fbe30738ac..c552088ac520 100644 --- a/ide/versioning/test/unit/src/org/netbeans/modules/versioning/spi/testvcs/TestVCSInterceptor.java +++ b/ide/versioning/test/unit/src/org/netbeans/modules/versioning/spi/testvcs/TestVCSInterceptor.java @@ -133,7 +133,7 @@ public void doCopy(File from, File to) throws IOException { doCopyFiles.add(to); FileInputStream is = new FileInputStream(from); FileOutputStream os = new FileOutputStream(to); - FileUtil.copy(is, os); + is.transferTo(os); is.close(); os.close(); } diff --git a/ide/web.browser.api/src/org/netbeans/modules/web/browser/spi/ExternalModificationsSupport.java b/ide/web.browser.api/src/org/netbeans/modules/web/browser/spi/ExternalModificationsSupport.java index 28bba581ece2..946d741e367c 100644 --- a/ide/web.browser.api/src/org/netbeans/modules/web/browser/spi/ExternalModificationsSupport.java +++ b/ide/web.browser.api/src/org/netbeans/modules/web/browser/spi/ExternalModificationsSupport.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.web.browser.spi; -import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.URL; @@ -27,7 +26,6 @@ import org.netbeans.api.project.Project; import org.netbeans.api.project.ui.OpenProjects; import org.netbeans.modules.web.browser.Helper; -import org.netbeans.modules.web.common.api.DependentFileQuery; import org.netbeans.modules.web.common.api.ServerURLMapping; import org.netbeans.modules.web.common.api.WebUtils; import org.openide.DialogDescriptor; @@ -106,28 +104,20 @@ private static void updateFileObject(FileObject modifiedFile, String content) { } } } - OutputStream os = null; FileLock lock = null; try { lock = modifiedFile.lock(); - os = modifiedFile.getOutputStream(lock); - // TODO: is encoding going to be OK?? what encoding CDT sends the file in?? - FileUtil.copy(new ByteArrayInputStream(content.getBytes()), os); + try (OutputStream os = modifiedFile.getOutputStream(lock)) { + // TODO: is encoding going to be OK?? what encoding CDT sends the file in?? + os.write(content.getBytes()); + } } catch (FileAlreadyLockedException ex) { DialogDisplayer.getDefault().notify(new DialogDescriptor.Message( "Content of "+FileUtil.getFileDisplayName(modifiedFile)+" cannot be updated with " + "changes coming from the Chrome Developer Tools because file is locked!")); - return; } catch (IOException ex) { Exceptions.printStackTrace(ex); } finally { - if (os != null) { - try { - os.close(); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - } if (lock != null) { lock.releaseLock(); } diff --git a/ide/web.common/src/org/netbeans/modules/web/common/api/WebServer.java b/ide/web.common/src/org/netbeans/modules/web/common/api/WebServer.java index 7d9a17d49318..cf3c3659b10e 100644 --- a/ide/web.common/src/org/netbeans/modules/web/common/api/WebServer.java +++ b/ide/web.common/src/org/netbeans/modules/web/common/api/WebServer.java @@ -339,7 +339,7 @@ private void read(InputStream inputStream, OutputStream outputStream) throws IOE try { out.writeBytes("HTTP/1.1 200 OK\nContent-Length: "+fo.getSize()+"\n" //NOI18N + "Content-Type: "+mime+"\n\n"); //NOI18N - FileUtil.copy(fis, out); + fis.transferTo(out); } catch (SocketException se) { // browser refused to accept data or closed the connection; // not much we can do about this diff --git a/ide/web.common/src/org/netbeans/modules/web/common/remote/RemoteFilesCache.java b/ide/web.common/src/org/netbeans/modules/web/common/remote/RemoteFilesCache.java index c56a31d56b73..314ae963ac31 100644 --- a/ide/web.common/src/org/netbeans/modules/web/common/remote/RemoteFilesCache.java +++ b/ide/web.common/src/org/netbeans/modules/web/common/remote/RemoteFilesCache.java @@ -111,25 +111,16 @@ static File getCachedFileName(URL url){ } private void fetchRemoteFile(File destination, URL url) throws IOException { - InputStream is = null; + InputStream tmp; try { - is = url.openStream(); + tmp = url.openStream(); } catch (FileNotFoundException ex) { - is = new ByteArrayInputStream(("file not found at "+url.toExternalForm()+" \n"+ex.toString()).getBytes()); //NOI18N + tmp = new ByteArrayInputStream(("file not found at "+url.toExternalForm()+" \n"+ex.toString()).getBytes()); //NOI18N } catch (Throwable ex) { - is = new ByteArrayInputStream(("could not open stream for "+url.toExternalForm()+" \n"+ex.toString()).getBytes()); //NOI18N + tmp = new ByteArrayInputStream(("could not open stream for "+url.toExternalForm()+" \n"+ex.toString()).getBytes()); //NOI18N } - OutputStream os = null; - try { - os = new FileOutputStream(destination); - FileUtil.copy(is, os); - } finally { - if (os != null) { - os.close(); - } - if (is != null) { - is.close(); - } + try (InputStream is = tmp; OutputStream os = new FileOutputStream(destination)) { + is.transferTo(os); } FileObject fo = FileUtil.toFileObject(destination); fo.refresh(); diff --git a/ide/xml.multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/util/Helper.java b/ide/xml.multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/util/Helper.java index bd22a3e5dc3b..cf5f9a30e842 100644 --- a/ide/xml.multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/util/Helper.java +++ b/ide/xml.multiview/test/unit/src/org/netbeans/modules/xml/multiview/test/util/Helper.java @@ -48,16 +48,9 @@ public static File getBookFile(File dataDir, File workDir) throws IOException { @Override public void run() throws IOException { - BufferedInputStream is = new BufferedInputStream(new FileInputStream(source)); - try { - BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(target)); - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (BufferedInputStream is = new BufferedInputStream(new FileInputStream(source)); + BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(target))) { + is.transferTo(os); } } }); diff --git a/ide/xml.schema.model/test/unit/src/org/netbeans/modules/xml/schema/model/Util.java b/ide/xml.schema.model/test/unit/src/org/netbeans/modules/xml/schema/model/Util.java index e551b6ca379b..30d8e3cf8a94 100644 --- a/ide/xml.schema.model/test/unit/src/org/netbeans/modules/xml/schema/model/Util.java +++ b/ide/xml.schema.model/test/unit/src/org/netbeans/modules/xml/schema/model/Util.java @@ -54,7 +54,6 @@ import org.netbeans.modules.xml.xam.dom.DocumentModel; import org.openide.filesystems.FileLock; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; import org.openide.util.Lookup; import org.openide.util.lookup.Lookups; @@ -315,13 +314,11 @@ public static FileObject copyResource(String path, FileObject destFolder) throws dest = destFolder.createData(filename); } FileLock lock = dest.lock(); - OutputStream out = dest.getOutputStream(lock); - InputStream in = Util.class.getResourceAsStream(path); try { - FileUtil.copy(in, out); + try (InputStream in = Util.class.getResourceAsStream(path); OutputStream out = dest.getOutputStream(lock)) { + in.transferTo(out); + } } finally { - out.close(); - in.close(); if (lock != null) lock.releaseLock(); } return dest; diff --git a/ide/xml.wsdl.model/test/unit/src/org/netbeans/modules/xml/wsdl/model/Util.java b/ide/xml.wsdl.model/test/unit/src/org/netbeans/modules/xml/wsdl/model/Util.java index 3aed84545016..07c0875739da 100644 --- a/ide/xml.wsdl.model/test/unit/src/org/netbeans/modules/xml/wsdl/model/Util.java +++ b/ide/xml.wsdl.model/test/unit/src/org/netbeans/modules/xml/wsdl/model/Util.java @@ -230,13 +230,11 @@ public static FileObject copyResource(String path, FileObject destFolder) throws dest = destFolder.createData(filename); } FileLock lock = dest.lock(); - OutputStream out = dest.getOutputStream(lock); - InputStream in = Util.class.getResourceAsStream(path); try { - FileUtil.copy(in, out); + try (InputStream in = Util.class.getResourceAsStream(path); OutputStream out = dest.getOutputStream(lock)) { + in.transferTo(out); + } } finally { - out.close(); - in.close(); if (lock != null) lock.releaseLock(); } return dest; diff --git a/java/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/TestBase.java b/java/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/TestBase.java index 1c778df8b579..dcbfdae4dca3 100644 --- a/java/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/TestBase.java +++ b/java/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/TestBase.java @@ -146,16 +146,8 @@ private static void doCopy(File from, File to) throws IOException { } } else { assert from.isFile(); - InputStream is = new FileInputStream(from); - try { - OutputStream os = new FileOutputStream(to); - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = new FileInputStream(from); OutputStream os = new FileOutputStream(to)) { + is.transferTo(os); } } } diff --git a/java/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/spi/support/UtilTest.java b/java/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/spi/support/UtilTest.java index 94c35bc104f2..ce9d1300e783 100644 --- a/java/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/spi/support/UtilTest.java +++ b/java/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/spi/support/UtilTest.java @@ -30,7 +30,6 @@ import org.netbeans.spi.project.AuxiliaryConfiguration; import org.netbeans.spi.project.support.ant.AntProjectHelper; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; import org.openide.util.Utilities; import org.openide.xml.XMLUtil; import org.w3c.dom.Document; @@ -137,11 +136,8 @@ private static String xmlSimplified(Element e) throws Exception { } private static String xmlSimplified(FileObject f) throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); - InputStream is = f.getInputStream(); - try { - FileUtil.copy(is, baos); - } finally { - is.close(); + try (InputStream is = f.getInputStream()) { + is.transferTo(baos); } return xmlSimplified(baos.toString("UTF-8")); } diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/MIMETypes.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/MIMETypes.java index bb4900106a9a..173cf4890610 100644 --- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/MIMETypes.java +++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/MIMETypes.java @@ -26,7 +26,9 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; import java.nio.file.Files; import java.util.Arrays; import java.util.Collections; @@ -127,7 +129,10 @@ private static synchronized String getTruffleJarPath() throws IOException { if (TEMP_TRUFFLE_JAR == null) { File truffleJarFile = Files.createTempFile("TmpTruffleBcknd", ".jar").toFile(); // NOI18N truffleJarFile.deleteOnExit(); - FileUtil.copy(RemoteServices.openRemoteClasses(), new FileOutputStream(truffleJarFile)); + try (InputStream is = RemoteServices.openRemoteClasses(); + OutputStream os = new FileOutputStream(truffleJarFile)) { + is.transferTo(os); + } TEMP_TRUFFLE_JAR = truffleJarFile.getAbsolutePath(); } return TEMP_TRUFFLE_JAR; diff --git a/java/j2ee.core.utilities/test/unit/src/org/netbeans/modules/j2ee/core/api/support/java/TestUtilities.java b/java/j2ee.core.utilities/test/unit/src/org/netbeans/modules/j2ee/core/api/support/java/TestUtilities.java index ed105ffafb4b..949fb6ed803d 100644 --- a/java/j2ee.core.utilities/test/unit/src/org/netbeans/modules/j2ee/core/api/support/java/TestUtilities.java +++ b/java/j2ee.core.utilities/test/unit/src/org/netbeans/modules/j2ee/core/api/support/java/TestUtilities.java @@ -19,7 +19,6 @@ package org.netbeans.modules.j2ee.core.api.support.java; -import java.io.ByteArrayInputStream; import java.io.EOFException; import java.io.File; import java.io.IOException; @@ -42,13 +41,9 @@ private TestUtilities() { } public static final FileObject copyStringToFileObject(FileObject fo, String content) throws IOException { - OutputStream os = fo.getOutputStream(); - try { - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); + try (OutputStream os = fo.getOutputStream()) { + os.write(content.getBytes(StandardCharsets.UTF_8)); return fo; - } finally { - os.close(); } } diff --git a/java/j2ee.jpa.refactoring/test/unit/src/org/netbeans/modules/j2ee/jpa/refactoring/SourceTestSupport.java b/java/j2ee.jpa.refactoring/test/unit/src/org/netbeans/modules/j2ee/jpa/refactoring/SourceTestSupport.java index 29a27ba82d98..42085ffd6863 100644 --- a/java/j2ee.jpa.refactoring/test/unit/src/org/netbeans/modules/j2ee/jpa/refactoring/SourceTestSupport.java +++ b/java/j2ee.jpa.refactoring/test/unit/src/org/netbeans/modules/j2ee/jpa/refactoring/SourceTestSupport.java @@ -19,11 +19,9 @@ package org.netbeans.modules.j2ee.jpa.refactoring; import java.io.BufferedReader; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileReader; import java.io.IOException; -import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import java.nio.charset.StandardCharsets; @@ -119,13 +117,9 @@ protected void print(File file) throws IOException { } protected FileObject copyStringToFileObject(FileObject fo, String content) throws Exception { - OutputStream os = fo.getOutputStream(); - try { - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); + try (OutputStream os = fo.getOutputStream()) { + os.write(content.getBytes(StandardCharsets.UTF_8)); return fo; - } finally { - os.close(); } } diff --git a/java/j2ee.metadata.model.support/test/unit/src/org/netbeans/modules/j2ee/metadata/model/support/TestUtilities.java b/java/j2ee.metadata.model.support/test/unit/src/org/netbeans/modules/j2ee/metadata/model/support/TestUtilities.java index caed057e6f4f..fd22082006e4 100644 --- a/java/j2ee.metadata.model.support/test/unit/src/org/netbeans/modules/j2ee/metadata/model/support/TestUtilities.java +++ b/java/j2ee.metadata.model.support/test/unit/src/org/netbeans/modules/j2ee/metadata/model/support/TestUtilities.java @@ -19,8 +19,6 @@ package org.netbeans.modules.j2ee.metadata.model.support; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -28,7 +26,6 @@ import java.io.InputStream; import java.io.OutputStream; import java.nio.ByteBuffer; -import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; @@ -55,12 +52,8 @@ public static final FileObject copyStringToFileObject(FileObject parent, String * @param content the contents to copy. */ public static final void copyStringToFileObject(FileObject fo, String contents) throws IOException { - OutputStream os = fo.getOutputStream(); - try { - InputStream is = new ByteArrayInputStream(contents.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); - } finally { - os.close(); + try (OutputStream os = fo.getOutputStream()) { + os.write(contents.getBytes(StandardCharsets.UTF_8)); } } @@ -71,12 +64,8 @@ public static final void copyStringToFileObject(FileObject fo, String contents) * @param content the contents to copy. */ public static final void copyStringToFile(File file, String content) throws IOException { - OutputStream os = new FileOutputStream(file); - try { - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); - } finally { - os.close(); + try (OutputStream os = new FileOutputStream(file)) { + os.write(content.getBytes(StandardCharsets.UTF_8)); } } @@ -87,9 +76,7 @@ public static final void copyStringToFile(File file, String content) throws IOEx * @return string representing the contents of the given stream. */ public static final String copyStreamToString(InputStream input) throws IOException { - ByteArrayOutputStream output = new ByteArrayOutputStream(); - FileUtil.copy(input, output); - return StandardCharsets.UTF_8.newDecoder().decode(ByteBuffer.wrap(output.toByteArray())).toString(); + return StandardCharsets.UTF_8.newDecoder().decode(ByteBuffer.wrap(input.readAllBytes())).toString(); } /** @@ -99,11 +86,8 @@ public static final String copyStreamToString(InputStream input) throws IOExcept * @return string representing the contents of the given fo. */ public static final String copyFileObjectToString(FileObject fo) throws IOException { - InputStream stream = fo.getInputStream(); - try { + try (InputStream stream = fo.getInputStream()) { return copyStreamToString(stream); - } finally { - stream.close(); } } @@ -114,11 +98,8 @@ public static final String copyFileObjectToString(FileObject fo) throws IOExcept * @return string representing the contents of the given file. */ public static final String copyFileToString(File file) throws IOException { - InputStream stream = new FileInputStream(file); - try{ + try (InputStream stream = new FileInputStream(file)) { return copyStreamToString(stream); - } finally { - stream.close(); } } diff --git a/java/java.api.common/test/unit/src/org/netbeans/modules/java/api/common/classpath/ModuleClassPathsTest.java b/java/java.api.common/test/unit/src/org/netbeans/modules/java/api/common/classpath/ModuleClassPathsTest.java index ef16f4032a7a..11ba9b36437c 100644 --- a/java/java.api.common/test/unit/src/org/netbeans/modules/java/api/common/classpath/ModuleClassPathsTest.java +++ b/java/java.api.common/test/unit/src/org/netbeans/modules/java/api/common/classpath/ModuleClassPathsTest.java @@ -724,7 +724,7 @@ private static FileObject createModuleInfo( final FileLock lck = res[0].lock(); try (OutputStream out = res[0].getOutputStream(lck); InputStream in = new ByteArrayInputStream(module.toString().getBytes(FileEncodingQuery.getEncoding(res[0])))) { - FileUtil.copy(in, out); + in.transferTo(out); } finally { lck.releaseLock(); } @@ -840,7 +840,7 @@ private static void pack( path = f.getNameExt(); } out.putNextEntry(new ZipEntry(path)); - FileUtil.copy(f.getInputStream(), out); + f.getInputStream().transferTo(out); out.closeEntry(); } } diff --git a/java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/ShowGoldenFilesPanel.java b/java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/ShowGoldenFilesPanel.java index ac4613e67595..496cce2536b3 100644 --- a/java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/ShowGoldenFilesPanel.java +++ b/java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/ShowGoldenFilesPanel.java @@ -36,7 +36,6 @@ import javax.swing.text.StyleConstants; import javax.swing.text.StyleContext; import javax.swing.text.StyledDocument; -import org.openide.filesystems.FileUtil; /** * @@ -139,32 +138,12 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { }// //GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed -// TODO add your handling code here: - InputStream source = null; - OutputStream target = null; - try { - source = new FileInputStream(testFile); - target = new FileOutputStream(goldenFile); - - FileUtil.copy(source, target); + try (InputStream source = new FileInputStream(testFile); + OutputStream target = new FileOutputStream(goldenFile)) { + source.transferTo(target); } catch (IOException e) { e.printStackTrace(); - } finally { - if (source != null) { - try { - source.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - if (target != null) { - try { - target.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } } c.setVisible(false); }//GEN-LAST:event_jButton1ActionPerformed diff --git a/java/java.hints.declarative/src/org/netbeans/modules/java/hints/declarative/test/TestPerformer.java b/java/java.hints.declarative/src/org/netbeans/modules/java/hints/declarative/test/TestPerformer.java index 657d4bdbd348..5adb730b2b73 100644 --- a/java/java.hints.declarative/src/org/netbeans/modules/java/hints/declarative/test/TestPerformer.java +++ b/java/java.hints.declarative/src/org/netbeans/modules/java/hints/declarative/test/TestPerformer.java @@ -177,7 +177,7 @@ private static Map> performTestImpl(FileObject rule */ private static FileObject copyStringToFile(FileObject f, String content) throws Exception { try (InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); OutputStream os = f.getOutputStream()) { - FileUtil.copy(is, os); + is.transferTo(os); } return f; } diff --git a/java/java.j2sedeploy/src/org/netbeans/modules/java/j2sedeploy/J2SEDeployProperties.java b/java/java.j2sedeploy/src/org/netbeans/modules/java/j2sedeploy/J2SEDeployProperties.java index d8fae8a44761..8554e2265ced 100644 --- a/java/java.j2sedeploy/src/org/netbeans/modules/java/j2sedeploy/J2SEDeployProperties.java +++ b/java/java.j2sedeploy/src/org/netbeans/modules/java/j2sedeploy/J2SEDeployProperties.java @@ -193,7 +193,7 @@ static FileObject copyBuildNativeTemplate(@NonNull final Project project) throws lock = buildExFo.lock(); try (final InputStream in = J2SEDeployProperties.class.getClassLoader().getResourceAsStream(BUILD_SCRIPT_PROTOTYPE); final OutputStream out = buildExFo.getOutputStream(lock)) { - FileUtil.copy(in, out); + in.transferTo(out); } finally { lock.releaseLock(); } diff --git a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/J2SEModularProjectProperties.java b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/J2SEModularProjectProperties.java index 53be97540fc0..ea0d358fb8b7 100644 --- a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/J2SEModularProjectProperties.java +++ b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/J2SEModularProjectProperties.java @@ -20,7 +20,6 @@ package org.netbeans.modules.java.j2semodule.ui.customizer; import java.awt.event.ActionListener; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -469,11 +468,8 @@ public void save() { } else { fo = FileUtil.toFileObject(file); } - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(new ByteArrayInputStream(CHANGED_LICENSE_PATH_CONTENT.getBytes()), out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + out.write(CHANGED_LICENSE_PATH_CONTENT.getBytes()); } } // Store properties diff --git a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEActionProvider.java b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEActionProvider.java index 030199fce3d2..e343492c1036 100644 --- a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEActionProvider.java +++ b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEActionProvider.java @@ -760,7 +760,7 @@ private FileObject getCosScript() throws IOException { final FileLock lock = cosScript.lock(); try (InputStream in = getClass().getResourceAsStream(SCRIPT_TEMPLATE); OutputStream out = cosScript.getOutputStream(lock)) { - FileUtil.copy(in, out); + in.transferTo(out); } finally { lock.releaseLock(); } diff --git a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java index bbbfe7e10ff3..a22ab1d0b96a 100644 --- a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java +++ b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java @@ -20,7 +20,6 @@ package org.netbeans.modules.java.j2seproject.ui.customizer; import java.awt.event.ActionListener; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -51,7 +50,6 @@ import java.util.stream.Collectors; import javax.swing.ButtonModel; import javax.swing.ComboBoxModel; -import javax.swing.DefaultButtonModel; import javax.swing.DefaultListModel; import javax.swing.JToggleButton; import javax.swing.ListCellRenderer; @@ -469,11 +467,8 @@ public void save() { } else { fo = FileUtil.toFileObject(file); } - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(new ByteArrayInputStream(CHANGED_LICENSE_PATH_CONTENT.getBytes()), out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + out.write(CHANGED_LICENSE_PATH_CONTENT.getBytes()); } } // Store properties diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/LspTemplateUI.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/LspTemplateUI.java index 891bfa328de6..47f8512b815a 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/LspTemplateUI.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/LspTemplateUI.java @@ -463,7 +463,7 @@ private static String findDetail(DataObject obj) { String descriptionText = null; if (description != null) { try (ByteArrayOutputStream os = new ByteArrayOutputStream(); InputStream is = description.openStream()) { - FileUtil.copy(is, os); + is.transferTo(os); String s = os.toString("UTF-8"); descriptionText = stripHtml(s); } catch (IOException ex) { diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/OptionsExportModel.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/OptionsExportModel.java index 82d62bf54352..b5004c2bdfbe 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/OptionsExportModel.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/OptionsExportModel.java @@ -697,7 +697,7 @@ private InputStream getInputStream(String relativePath) throws IOException { */ private void copyFile(String relativePath, OutputStream out) throws IOException { try (InputStream in = getInputStream(relativePath)) { - FileUtil.copy(in, out); + in.transferTo(out); } } diff --git a/java/java.source.ant/src/org/netbeans/modules/java/source/ant/ProjectRunnerImpl.java b/java/java.source.ant/src/org/netbeans/modules/java/source/ant/ProjectRunnerImpl.java index 0c7d3cb231d2..8dd391d25a9a 100644 --- a/java/java.source.ant/src/org/netbeans/modules/java/source/ant/ProjectRunnerImpl.java +++ b/java/java.source.ant/src/org/netbeans/modules/java/source/ant/ProjectRunnerImpl.java @@ -680,30 +680,8 @@ private static FileObject buildScript(String actionName, boolean forceCopy) thro } private static void copyFile(URLConnection source, FileObject target) throws IOException { - InputStream ins = null; - OutputStream out = null; - - try { - ins = source.getInputStream(); - out = target.getOutputStream(); - - FileUtil.copy(ins, out); - } finally { - if (ins != null) { - try { - ins.close(); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - } - - if (out != null) { - try { - out.close(); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - } + try (InputStream ins = source.getInputStream(); OutputStream out = target.getOutputStream()) { + ins.transferTo(out); } } diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java b/java/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java index 13aa3cf895f8..e74e411e252b 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java @@ -22,7 +22,6 @@ import java.awt.EventQueue; import java.io.BufferedReader; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -58,7 +57,6 @@ import javax.lang.model.element.ElementKind; import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.ModuleElement; -import javax.lang.model.element.Name; import javax.lang.model.element.PackageElement; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; @@ -87,9 +85,7 @@ import org.netbeans.modules.parsing.lucene.support.Convertor; import org.netbeans.modules.parsing.lucene.support.Convertors; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; -import org.openide.util.NbBundle; import org.openide.util.Parameters; import org.openide.util.RequestProcessor; @@ -378,9 +374,7 @@ public synchronized InputStream openStream() throws IOException { getFirstLocation(), Bundle.LBL_HTTPJavadocDownload()); } - ByteArrayOutputStream baos = new ByteArrayOutputStream(20 * 1024); // typical size for Javadoc page? - FileUtil.copy(uncached, baos); - data = baos.toByteArray(); + data = uncached.readAllBytes(); if (fileURI != null) { remoteFileContentCache.put(fileURI, data); } diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java index 0be9cc497936..ead1583ea58b 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java @@ -225,7 +225,7 @@ protected void index(final Iterable files, final Context co toDir.mkdirs(); File to = new File(toDir, name); try (OutputStream os = new FileOutputStream(to); InputStream is = ch.getInputStream()) { - FileUtil.copy(is, os); + is.transferTo(os); } } } diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java index 4a820e9c5075..d2a90273c32d 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java @@ -524,7 +524,7 @@ private static void copyRecursively(FileObject source, File targetRoot, File tar private static void copyFile(FileObject updatedFile, JavaFileObject target) throws IOException { try (InputStream ins = updatedFile.getInputStream(); OutputStream out = target.openOutputStream()) { - FileUtil.copy(ins, out); + ins.transferTo(out); } } diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java b/java/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java index da5257592ba6..7016bb3ec782 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java @@ -33,7 +33,6 @@ import java.net.URISyntaxException; import java.net.URL; import java.util.Collections; -import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; @@ -61,7 +60,6 @@ import org.netbeans.api.queries.VisibilityQuery; import org.netbeans.modules.java.preprocessorbridge.api.CompileOnSaveActionQuery; import org.netbeans.modules.java.preprocessorbridge.spi.CompileOnSaveAction; -import org.netbeans.modules.java.source.NoJavacHelper; import org.netbeans.modules.java.source.indexing.COSSynchronizingIndexer; import org.netbeans.modules.java.source.indexing.JavaIndex; import org.netbeans.modules.java.source.parsing.FileObjects; @@ -247,34 +245,15 @@ private static boolean copyFile(File updatedFile, File target, URL sourceFile) t LOG.log(Level.FINER, "#227791: proceeding to overwrite {0} with {1}", new Object[] {target, updatedFile}); } - InputStream ins = null; - OutputStream out = null; try { - ins = new FileInputStream(updatedFile); - out = new FileOutputStream(target); - - FileUtil.copy(ins, out); + try (InputStream ins = new FileInputStream(updatedFile); OutputStream out = new FileOutputStream(target)) { + ins.transferTo(out); + } return true; } catch (FileNotFoundException fnf) { LOG.log(Level.INFO, "Cannot open file.", fnf); //NOI18N return false; - } finally { - if (ins != null) { - try { - ins.close(); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - } - - if (out != null) { - try { - out.close(); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - } } } @@ -286,31 +265,9 @@ private static void copyFile(FileObject updatedFile, File target) throws IOExcep } } - InputStream ins = null; - OutputStream out = null; - - try { - ins = updatedFile.getInputStream(); - out = new FileOutputStream(target); - - FileUtil.copy(ins, out); + try (InputStream ins = updatedFile.getInputStream(); OutputStream out = new FileOutputStream(target)) { + ins.transferTo(out); //target.setLastModified(MINIMAL_TIMESTAMP); see 156153 - } finally { - if (ins != null) { - try { - ins.close(); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - } - - if (out != null) { - try { - out.close(); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - } } } diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java index b5dc1badfd83..0d3e9698428a 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java @@ -21,7 +21,6 @@ import com.sun.source.tree.Tree; import com.sun.source.util.TreePath; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -698,11 +697,8 @@ private static FileObject createFile (final FileObject folder, final String name final FileObject fo = FileUtil.createData(folder, name); final FileLock lock = fo.lock(); try { - final OutputStream out = fo.getOutputStream(lock); - try { - FileUtil.copy(new ByteArrayInputStream(content.getBytes()), out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream(lock)) { + out.write(content.getBytes()); } } finally { lock.releaseLock(); diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TestUtilities.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TestUtilities.java index 21b1039a262b..972c2bc0d428 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TestUtilities.java +++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TestUtilities.java @@ -19,13 +19,11 @@ package org.netbeans.api.java.source; -import java.io.ByteArrayInputStream; import java.io.EOFException; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStream; import java.io.OutputStream; import java.net.URI; import java.net.URL; @@ -33,9 +31,7 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.nio.file.spi.FileSystemProvider; -import java.util.ArrayList; import java.util.Collection; -import java.util.List; import java.util.ServiceLoader; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; @@ -55,7 +51,6 @@ import org.openide.filesystems.FileUtil; import org.openide.modules.SpecificationVersion; import org.openide.util.BaseUtilities; -import org.openide.util.Utilities; /** * Utilities to aid unit testing java.source module. @@ -173,12 +168,9 @@ public static final String copyGZipFileToString (java.io.File f) throws java.io. * @return the created file */ public static final File copyStringToFile (File f, String content) throws Exception { - FileOutputStream os = new FileOutputStream(f); - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); - os.close (); - is.close(); - + try (FileOutputStream os = new FileOutputStream(f)) { + os.write(content.getBytes(StandardCharsets.UTF_8)); + } return f; } @@ -190,12 +182,9 @@ public static final File copyStringToFile (File f, String content) throws Except * @return the created file */ public static final FileObject copyStringToFile (FileObject f, String content) throws Exception { - OutputStream os = f.getOutputStream(); - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); - os.close (); - is.close(); - + try (OutputStream os = f.getOutputStream()) { + os.write(content.getBytes(StandardCharsets.UTF_8)); + } return f; } diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/ModuleNamesTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/ModuleNamesTest.java index 8c14b99628c9..572e3478065b 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/ModuleNamesTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/ModuleNamesTest.java @@ -627,10 +627,7 @@ private static Supplier moduleInfoClz( null; if (fo != null) { try (InputStream in = fo.openInputStream()) { - final ByteArrayOutputStream out = new ByteArrayOutputStream(); - FileUtil.copy(in, out); - out.close(); - return out.toByteArray(); + return in.readAllBytes(); } } else { return null; diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/TestUtil.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/TestUtil.java index 12e4b7abbb78..6a6a36bfe714 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/TestUtil.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/TestUtil.java @@ -155,7 +155,7 @@ public static File createRT_JAR(File destDir) throws IOException { if (!f.getNameExt().equals("module-info.class")) { out.putNextEntry(new ZipEntry(FileUtil.getRelativePath(root, f))); try (InputStream in = f.getInputStream()) { - FileUtil.copy(in, out); + in.transferTo(out); } } } diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexerTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexerTest.java index 95c93ed0167a..4baa599ec86a 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexerTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexerTest.java @@ -62,7 +62,7 @@ public void testCopyTheClassInsteadOfCompiling() throws Exception { InputStream is = getClass().getResourceAsStream("/test2/NoCompileTestData.class") ) { assertNotNull("test2/NoCompileTestData found", is); - FileUtil.copy(is, os); + is.transferTo(os); } binQuery2.root = classesRoot.toURL(); diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/FastJarTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/FastJarTest.java index d454d5f3e18f..137ff67fc111 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/FastJarTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/FastJarTest.java @@ -19,12 +19,9 @@ package org.netbeans.modules.java.source.parsing; -import java.io.BufferedReader; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -33,7 +30,6 @@ import java.util.zip.ZipFile; import org.netbeans.junit.NbTestCase; import org.netbeans.modules.java.source.TestUtil; -import org.openide.filesystems.FileUtil; /** * @@ -70,8 +66,7 @@ public void testFastJar () throws Exception { for (FastJar.Entry e : fastEntries) { map.put (e.name,e); } - ZipFile zf = new ZipFile (f); - try { + try (ZipFile zf = new ZipFile (f)) { Enumeration zipEntries = zf.entries(); int entryCount = 0; while (zipEntries.hasMoreElements()) { @@ -82,32 +77,18 @@ public void testFastJar () throws Exception { long zipTime = zipEntry.getTime(); long eTime = e.getTime(); assertEquals(zipTime, eTime); - InputStream zs = zf.getInputStream(zipEntry); - try { - InputStream fs = FastJar.getInputStream(f, e); - try { - assertEquals(e.name, zs, fs); - } finally { - fs.close(); - } - } finally { - zs.close(); + try (InputStream zs = zf.getInputStream(zipEntry); InputStream fs = FastJar.getInputStream(f, e)) { + assertEquals(e.name, zs, fs); } } assertEquals (entryCount, map.size()); - } finally { - zf.close(); } } } private void assertEquals (String file, InputStream a, InputStream b) throws IOException { - ByteArrayOutputStream oa = new ByteArrayOutputStream (); - ByteArrayOutputStream ob = new ByteArrayOutputStream (); - FileUtil.copy(a, oa); - FileUtil.copy(b, ob); - byte[] aa = oa.toByteArray(); - byte[] ab = ob.toByteArray(); + byte[] aa = a.readAllBytes(); + byte[] ab = b.readAllBytes(); assertEquals ("file: "+ file ,aa.length,ab.length); for (int i=0; i< aa.length; i++) { assertEquals("file: "+file+ " offset: "+ i, aa[i], ab[i]); diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/JavacParserTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/JavacParserTest.java index f18b6ce5938d..4056c30fedea 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/JavacParserTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/JavacParserTest.java @@ -28,7 +28,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.URI; import java.net.URL; @@ -36,12 +35,10 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; import java.util.IdentityHashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Set; import java.util.concurrent.atomic.AtomicReference; import java.util.function.BiPredicate; @@ -69,9 +66,7 @@ import org.netbeans.api.lexer.TokenHierarchy; import org.netbeans.api.lexer.TokenSequence; import org.netbeans.junit.NbTestCase; -import org.netbeans.modules.java.source.NoJavacHelper; import org.netbeans.modules.java.source.tasklist.CompilerSettings; -import org.netbeans.modules.openide.util.GlobalLookup; import org.netbeans.spi.java.classpath.support.ClassPathSupport; import org.openide.cookies.EditorCookie; import org.openide.filesystems.FileObject; @@ -93,8 +88,6 @@ import org.netbeans.modules.parsing.spi.SchedulerTask; import org.netbeans.modules.parsing.spi.SourceModificationEvent; import org.netbeans.modules.parsing.spi.TaskFactory; -import org.netbeans.spi.java.queries.CompilerOptionsQueryImplementation; -import org.openide.util.lookup.ProxyLookup; /** * @@ -702,11 +695,9 @@ private static void copyResource(URL resource, File file) throws IOException { assertNotNull("Resource found", resource); file.getParentFile().mkdirs(); assertTrue("New file " + file + " created", file.createNewFile()); - FileOutputStream os = new FileOutputStream(file); - InputStream is = resource.openStream(); - FileUtil.copy(is, os); - is.close(); - os.close(); + try (InputStream is = resource.openStream(); FileOutputStream os = new FileOutputStream(file)) { + is.transferTo(os); + } } private static final CompilerSettingsImpl settings = new CompilerSettingsImpl(); diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java index 326f12874f79..485fbac3bf04 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java @@ -447,13 +447,9 @@ private void unzip(File what, File where) throws IOException { File target = new File(where, current.getName()); target.getParentFile().mkdirs(); assertTrue(target.getParentFile().isDirectory()); - InputStream in = jf.getInputStream(current); - OutputStream out = new BufferedOutputStream(new FileOutputStream(target)); - - FileUtil.copy(in, out); - - in.close(); - out.close(); + try (InputStream in = jf.getInputStream(current); OutputStream out = new BufferedOutputStream(new FileOutputStream(target))) { + in.transferTo(out); + } } } diff --git a/java/java.source/src/org/netbeans/modules/java/classfile/CodeGenerator.java b/java/java.source/src/org/netbeans/modules/java/classfile/CodeGenerator.java index fe6bd7441446..229f569c5179 100644 --- a/java/java.source/src/org/netbeans/modules/java/classfile/CodeGenerator.java +++ b/java/java.source/src/org/netbeans/modules/java/classfile/CodeGenerator.java @@ -46,7 +46,6 @@ import com.sun.tools.javap.Context; import com.sun.tools.javap.Messages; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -140,12 +139,8 @@ public static FileObject generateCode(final ClasspathInfo cpInfo, final ElementH try { FileObject file = FileUtil.createMemoryFileSystem().getRoot().createData(toOpenHandle.getKind() == ElementKind.MODULE ? "module-info.java" : "test.java"); //NOI18N - OutputStream out = file.getOutputStream(); - - try { - FileUtil.copy(new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8)), out); //NOI18N - } finally { - out.close(); + try (OutputStream out = file.getOutputStream()) { + out.write("".getBytes(StandardCharsets.UTF_8)); } JavaSource js = JavaSource.create(cpInfo, file); @@ -270,11 +265,8 @@ public void run(WorkingCopy wc) throws Exception { if (resultFile != null && !resultFile.canWrite()) { resultFile.setWritable(true); } - out = result[0].getOutputStream(); - try { - FileUtil.copy(new ByteArrayInputStream(r.getResultingSource(file).getBytes(StandardCharsets.UTF_8)), out); - } finally { - out.close(); + try (OutputStream out = result[0].getOutputStream()) { + out.write(r.getResultingSource(file).getBytes(StandardCharsets.UTF_8)); } if (resultFile != null) { resultFile.setReadOnly(); diff --git a/java/java.sourceui/test/unit/src/org/netbeans/api/java/source/ui/ElementHeadersTest.java b/java/java.sourceui/test/unit/src/org/netbeans/api/java/source/ui/ElementHeadersTest.java index ec5165651770..7c14f2521754 100644 --- a/java/java.sourceui/test/unit/src/org/netbeans/api/java/source/ui/ElementHeadersTest.java +++ b/java/java.sourceui/test/unit/src/org/netbeans/api/java/source/ui/ElementHeadersTest.java @@ -465,7 +465,7 @@ public void testUseSourceAttacher() throws Exception { FileObject utilDir = FileUtil.createFolder(openideBin, "org/openide/util"); FileObject cf = utilDir.createData("Cancellable", "class"); try (InputStream is = cancURL.openStream(); OutputStream os = cf.getOutputStream()) { - FileUtil.copy(is, os); + is.transferTo(os); } classPathElements = new FileObject[] { openideBin }; return null; diff --git a/java/jshell.support/src/org/netbeans/modules/jshell/support/SnippetsFolder.java b/java/jshell.support/src/org/netbeans/modules/jshell/support/SnippetsFolder.java index 28052022b3b2..dc3b916a6603 100644 --- a/java/jshell.support/src/org/netbeans/modules/jshell/support/SnippetsFolder.java +++ b/java/jshell.support/src/org/netbeans/modules/jshell/support/SnippetsFolder.java @@ -155,7 +155,7 @@ public FileObject saveClass(String name, String description, InputStream content FileObject target = FileUtil.createFolder(pdir, PATH_SNIPPETS); try(OutputStream ostm = target.createAndOpen(name + ".java")) { - FileUtil.copy(contents, ostm); + contents.transferTo(ostm); } FileObject snipFile = target.getFileObject(name + ".java"); return snipFile; diff --git a/java/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/AuxPropsImpl.java b/java/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/AuxPropsImpl.java index 65cf94a05abb..4a7d7e3756d1 100644 --- a/java/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/AuxPropsImpl.java +++ b/java/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/AuxPropsImpl.java @@ -93,7 +93,7 @@ private FileObject copyToCacheDir(InputStream in) throws IOException { file = cacheDir.createData("checkstyle-checker", "xml"); } try (in; OutputStream outst = file.getOutputStream()) { - FileUtil.copy(in, outst); + in.transferTo(outst); } return file; } diff --git a/java/maven.indexer/test/unit/src/org/netbeans/modules/maven/indexer/ClassDependencyIndexCreatorTest.java b/java/maven.indexer/test/unit/src/org/netbeans/modules/maven/indexer/ClassDependencyIndexCreatorTest.java index 71079fd9203a..52f73c3efc25 100644 --- a/java/maven.indexer/test/unit/src/org/netbeans/modules/maven/indexer/ClassDependencyIndexCreatorTest.java +++ b/java/maven.indexer/test/unit/src/org/netbeans/modules/maven/indexer/ClassDependencyIndexCreatorTest.java @@ -32,7 +32,6 @@ import org.netbeans.modules.maven.indexer.api.RepositoryQueries.ClassUsage; import org.netbeans.modules.maven.indexer.spi.ClassUsageQuery; import org.netbeans.modules.maven.indexer.spi.ClassesQuery; -import org.openide.filesystems.FileUtil; import org.openide.util.test.JarBuilder; import org.openide.util.test.TestFileUtils; @@ -154,9 +153,7 @@ public void testRead() throws Exception { // #206111 "pkg/Clazz.class:ABC"); Map content = new TreeMap<>(); new ClassDependencyIndexCreator().read(jar, (String name, InputStream classData, Set siblings) -> { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - FileUtil.copy(classData, out); - content.put(name, out.toByteArray()); + content.put(name, classData.readAllBytes()); }); assertEquals("[pkg/Clazz]", content.keySet().toString()); assertEquals("[65, 66, 67]", Arrays.toString(content.get("pkg/Clazz"))); diff --git a/java/maven.model/test/unit/src/org/netbeans/modules/maven/pom/ModelTest.java b/java/maven.model/test/unit/src/org/netbeans/modules/maven/pom/ModelTest.java index 36eaaf141f9e..4cf90396846f 100644 --- a/java/maven.model/test/unit/src/org/netbeans/modules/maven/pom/ModelTest.java +++ b/java/maven.model/test/unit/src/org/netbeans/modules/maven/pom/ModelTest.java @@ -199,7 +199,7 @@ private ModelSource createModelSource(String templateName) throws FileNotFoundEx FileObject fo = FileUtil.toFileObject(templateFile); FileInputStream str = new FileInputStream(templateFile); StringOutputStream out = new StringOutputStream(); - FileUtil.copy(str, out); + str.transferTo(out); String dir = System.getProperty("java.io.tmpdir"); File sourceFile = new File(dir, templateName); ModelSource source = Utilities.createModelSourceForMissingFile(sourceFile, true, out.toString(), "text/xml"); diff --git a/java/maven.refactoring/test/unit/src/org/netbeans/modules/maven/refactoring/dependency/MavenDependencyModifierImplTestBase.java b/java/maven.refactoring/test/unit/src/org/netbeans/modules/maven/refactoring/dependency/MavenDependencyModifierImplTestBase.java index 61ee695ff190..03420b81a53c 100644 --- a/java/maven.refactoring/test/unit/src/org/netbeans/modules/maven/refactoring/dependency/MavenDependencyModifierImplTestBase.java +++ b/java/maven.refactoring/test/unit/src/org/netbeans/modules/maven/refactoring/dependency/MavenDependencyModifierImplTestBase.java @@ -65,7 +65,7 @@ protected Project makeProject(String subdir, String alternateBuildscript) throws FileObject fo = src.getFileObject(alternateBuildscript); FileObject target = projectDir.getFileObject("pom.xml"); try (InputStream is = fo.getInputStream(); OutputStream os = target.getOutputStream()) { - FileUtil.copy(is, os); + is.transferTo(os); } /* if (target != null) { diff --git a/java/maven/src/org/netbeans/modules/maven/cos/CopyResourcesOnSave.java b/java/maven/src/org/netbeans/modules/maven/cos/CopyResourcesOnSave.java index 7abbb9dfab07..6ed3066b8fbf 100644 --- a/java/maven/src/org/netbeans/modules/maven/cos/CopyResourcesOnSave.java +++ b/java/maven/src/org/netbeans/modules/maven/cos/CopyResourcesOnSave.java @@ -131,7 +131,7 @@ private static void copySrcToDest( FileObject srcFile, FileObject destFile) thro is = srcFile.getInputStream(); fl = destFile.lock(); os = destFile.getOutputStream(fl); - FileUtil.copy(is, os); + is.transferTo(os); } finally { if (is != null) { is.close(); diff --git a/java/maven/src/org/netbeans/modules/maven/customizer/LicenseHeaderPanelProvider.java b/java/maven/src/org/netbeans/modules/maven/customizer/LicenseHeaderPanelProvider.java index f373869b0b75..3df491d16aab 100644 --- a/java/maven/src/org/netbeans/modules/maven/customizer/LicenseHeaderPanelProvider.java +++ b/java/maven/src/org/netbeans/modules/maven/customizer/LicenseHeaderPanelProvider.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.maven.customizer; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -103,11 +102,8 @@ public void performOperation(POMModel model) { fo = FileUtil.toFileObject(file); } if (fo.isData()) { - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(new ByteArrayInputStream(licenseContent.getBytes()), out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + out.write(licenseContent.getBytes()); } } } else { diff --git a/java/maven/test/unit/src/org/netbeans/modules/maven/classpath/ClassPathProviderImplTest.java b/java/maven/test/unit/src/org/netbeans/modules/maven/classpath/ClassPathProviderImplTest.java index 0dc5fbd2a40f..0c45c629ffa7 100644 --- a/java/maven/test/unit/src/org/netbeans/modules/maven/classpath/ClassPathProviderImplTest.java +++ b/java/maven/test/unit/src/org/netbeans/modules/maven/classpath/ClassPathProviderImplTest.java @@ -557,7 +557,7 @@ public void testChangeProcessorsFromImplicitToExplicit() throws Exception { // rewrite the file in place try (InputStream is = prjCopy.getFileObject("pom-with-processor.xml").getInputStream(); OutputStream os = pom.getOutputStream()) { - FileUtil.copy(is, os); + is.transferTo(os); } }); diff --git a/java/spring.beans/src/org/netbeans/modules/spring/beans/refactoring/Modifications.java b/java/spring.beans/src/org/netbeans/modules/spring/beans/refactoring/Modifications.java index 457c91422556..fd1554f762b6 100644 --- a/java/spring.beans/src/org/netbeans/modules/spring/beans/refactoring/Modifications.java +++ b/java/spring.beans/src/org/netbeans/modules/spring/beans/refactoring/Modifications.java @@ -28,7 +28,6 @@ import org.netbeans.editor.BaseDocument; import org.openide.cookies.EditorCookie; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; import org.openide.loaders.DataObject; import org.openide.text.PositionBounds; import org.openide.text.PositionRef; @@ -110,21 +109,14 @@ private void commit(final FileObject fileObject, final List differen return; } } - InputStream ins = null; - ByteArrayOutputStream baos = null; Reader inputReader = null; try { Charset encoding = FileEncodingQuery.getEncoding(fileObject); - ins = fileObject.getInputStream(); - baos = new ByteArrayOutputStream(); - FileUtil.copy(ins, baos); - - ins.close(); - ins = null; - byte[] arr = baos.toByteArray(); + byte[] arr; + try (InputStream ins = fileObject.getInputStream()) { + arr = ins.readAllBytes(); + } int arrLength = convertToLF(arr); - baos.close(); - baos = null; inputReader = new InputStreamReader(new ByteArrayInputStream(arr, 0, arrLength), encoding); // initialize standard commit output stream, if user // does not provide his own writer @@ -186,10 +178,6 @@ else if (diff1.getStartPosition().getOffset() > diff2.getStartPosition().getOffs while ((count = inputReader.read(buff)) > 0) outWriter.write(buff, 0, count); } finally { - if (ins != null) - ins.close(); - if (baos != null) - baos.close(); if (inputReader != null) inputReader.close(); if (outWriter != null) diff --git a/java/spring.beans/test/unit/src/org/netbeans/modules/spring/beans/TestUtils.java b/java/spring.beans/test/unit/src/org/netbeans/modules/spring/beans/TestUtils.java index 514569dda1d4..b75ede80c8c3 100644 --- a/java/spring.beans/test/unit/src/org/netbeans/modules/spring/beans/TestUtils.java +++ b/java/spring.beans/test/unit/src/org/netbeans/modules/spring/beans/TestUtils.java @@ -31,7 +31,6 @@ import org.netbeans.api.xml.lexer.XMLTokenId; import org.netbeans.editor.BaseDocument; import org.netbeans.modules.spring.api.beans.SpringConstants; -import org.openide.filesystems.FileUtil; import org.openide.text.CloneableEditorSupport; /** @@ -76,31 +75,20 @@ public static BaseDocument createSpringXMLConfigDocument(String content) throws } public static void copyStringToFile(String string, File path) throws IOException { - InputStream inputStream = new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8)); - try { + try (InputStream inputStream = new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8))) { copyStreamToFile(inputStream, path); - } finally { - inputStream.close(); } } public static String copyFileToString(File path) throws IOException { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - FileInputStream inputStream = new FileInputStream(path); - try { - FileUtil.copy(inputStream, outputStream); - } finally { - inputStream.close(); + try (FileInputStream inputStream = new FileInputStream(path)) { + return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8); } - return new String(outputStream.toByteArray(), StandardCharsets.UTF_8); } private static void copyStreamToFile(InputStream inputStream, File path) throws IOException { - FileOutputStream outputStream = new FileOutputStream(path, false); - try { - FileUtil.copy(inputStream, outputStream); - } finally { - outputStream.close(); + try (FileOutputStream outputStream = new FileOutputStream(path, false)) { + inputStream.transferTo(outputStream); } } } diff --git a/javafx/javafx2.editor/test/unit/src/org/netbeans/modules/javafx2/editor/GoldenFileTestBase.java b/javafx/javafx2.editor/test/unit/src/org/netbeans/modules/javafx2/editor/GoldenFileTestBase.java index 11863ede3ce1..653c80fc3fa5 100644 --- a/javafx/javafx2.editor/test/unit/src/org/netbeans/modules/javafx2/editor/GoldenFileTestBase.java +++ b/javafx/javafx2.editor/test/unit/src/org/netbeans/modules/javafx2/editor/GoldenFileTestBase.java @@ -29,9 +29,7 @@ import javax.swing.text.Document; import org.netbeans.api.lexer.TokenHierarchy; import org.netbeans.modules.javafx2.editor.completion.model.FxmlParserResult; -import org.netbeans.modules.javafx2.editor.parser.FxModelBuilder; import org.netbeans.modules.javafx2.editor.parser.PrintVisitor; -import org.netbeans.modules.javafx2.editor.sax.XmlLexerParser; import org.openide.cookies.EditorCookie; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; @@ -62,11 +60,9 @@ protected void setUp() throws Exception { replaceAll("\\.", "/") + "/" + fname + ".fxml"); File w = new File(getWorkDir(), f.getName()); - InputStream is = new FileInputStream(f); - OutputStream os = new FileOutputStream(w); - FileUtil.copy(is, os); - os.close(); - is.close(); + try (InputStream is = new FileInputStream(f); OutputStream os = new FileOutputStream(w)) { + is.transferTo(os); + } FileObject fo = FileUtil.toFileObject(w); sourceDO = DataObject.find(fo); document = ((EditorCookie)sourceDO.getCookie(EditorCookie.class)).openDocument(); diff --git a/php/php.api.phpmodule/src/org/netbeans/modules/php/api/util/FileUtils.java b/php/php.api.phpmodule/src/org/netbeans/modules/php/api/util/FileUtils.java index f0dec4f46218..be647fbff257 100644 --- a/php/php.api.phpmodule/src/org/netbeans/modules/php/api/util/FileUtils.java +++ b/php/php.api.phpmodule/src/org/netbeans/modules/php/api/util/FileUtils.java @@ -624,7 +624,7 @@ private static void copyZipEntry(ZipFile zipFile, ZipEntry zipEntry, File destin return; } try (InputStream inputStream = zipFile.getInputStream(zipEntry); FileOutputStream outputStream = new FileOutputStream(destinationFile)) { - FileUtil.copy(inputStream, outputStream); + inputStream.transferTo(outputStream); } } diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/TestUtilities.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/TestUtilities.java index 344d539cbd95..73e37e26ff4e 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/TestUtilities.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/TestUtilities.java @@ -30,7 +30,6 @@ import java.util.zip.GZIPInputStream; import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; /** * Utilities to aid unit testing java.source module. @@ -85,12 +84,9 @@ public static final String copyGZipFileToString (java.io.File f) throws java.io. * @return the created file */ public static final File copyStringToFile (File f, String content) throws Exception { - FileOutputStream os = new FileOutputStream(f); - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); - os.close (); - is.close(); - + try (FileOutputStream os = new FileOutputStream(f)) { + os.write(content.getBytes(StandardCharsets.UTF_8)); + } return f; } @@ -102,12 +98,9 @@ public static final File copyStringToFile (File f, String content) throws Except * @return the created file */ public static final FileObject copyStringToFile (FileObject f, String content) throws Exception { - OutputStream os = f.getOutputStream(); - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); - os.close (); - is.close(); - + try (OutputStream os = f.getOutputStream()) { + os.write(content.getBytes(StandardCharsets.UTF_8)); + } return f; } diff --git a/php/php.project/src/org/netbeans/modules/php/project/connections/RemoteClient.java b/php/php.project/src/org/netbeans/modules/php/project/connections/RemoteClient.java index a4b85775e34f..09a1d7a57b0d 100644 --- a/php/php.project/src/org/netbeans/modules/php/project/connections/RemoteClient.java +++ b/php/php.project/src/org/netbeans/modules/php/project/connections/RemoteClient.java @@ -879,7 +879,7 @@ private boolean copyTmpLocalFile(final TmpLocalFile source, final File target) t // TODO the doewnload action shoudln't save all file before // executing, then the ide will ask, whether user wants // to replace currently editted file. - FileUtil.copy(in, out); + in.transferTo(out); moved = true; } } finally { diff --git a/php/php.project/src/org/netbeans/modules/php/project/connections/sync/SyncController.java b/php/php.project/src/org/netbeans/modules/php/project/connections/sync/SyncController.java index a5a098ce747b..86eaa5df71fe 100644 --- a/php/php.project/src/org/netbeans/modules/php/project/connections/sync/SyncController.java +++ b/php/php.project/src/org/netbeans/modules/php/project/connections/sync/SyncController.java @@ -492,7 +492,7 @@ private boolean copyContent(TmpLocalFile source, File target) throws IOException return false; } try (InputStream inputStream = source.getInputStream(); OutputStream outputStream = fileObject.getOutputStream()) { - FileUtil.copy(inputStream, outputStream); + inputStream.transferTo(outputStream); } return true; } diff --git a/php/php.project/src/org/netbeans/modules/php/project/connections/sync/diff/DiffPanel.java b/php/php.project/src/org/netbeans/modules/php/project/connections/sync/diff/DiffPanel.java index b512e1887bac..a88cd32fd338 100644 --- a/php/php.project/src/org/netbeans/modules/php/project/connections/sync/diff/DiffPanel.java +++ b/php/php.project/src/org/netbeans/modules/php/project/connections/sync/diff/DiffPanel.java @@ -297,7 +297,7 @@ private void copyContent(File file, TmpLocalFile localTmpFile) throws IOExceptio return; } try (InputStream inputStream = fileObject.getInputStream(); OutputStream outputStream = localTmpFile.getOutputStream()) { - FileUtil.copy(inputStream, outputStream); + inputStream.transferTo(outputStream); } } diff --git a/php/php.project/src/org/netbeans/modules/php/project/ui/customizer/PhpProjectProperties.java b/php/php.project/src/org/netbeans/modules/php/project/ui/customizer/PhpProjectProperties.java index 5bb73425b77c..69608865472b 100644 --- a/php/php.project/src/org/netbeans/modules/php/project/ui/customizer/PhpProjectProperties.java +++ b/php/php.project/src/org/netbeans/modules/php/project/ui/customizer/PhpProjectProperties.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.php.project.ui.customizer; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -813,7 +812,7 @@ void saveProperties() throws IOException { } else { charsetName = ProjectPropertiesSupport.getEncoding(project); } - FileUtil.copy(new ByteArrayInputStream(changedLicensePathContent.getBytes(charsetName)), out); + out.write(changedLicensePathContent.getBytes(charsetName)); } } diff --git a/php/php.samples/src/org/netbeans/modules/php/samples/PHPSamplesWizardIterator.java b/php/php.samples/src/org/netbeans/modules/php/samples/PHPSamplesWizardIterator.java index d5a6ea84f2dc..61e914299991 100644 --- a/php/php.samples/src/org/netbeans/modules/php/samples/PHPSamplesWizardIterator.java +++ b/php/php.samples/src/org/netbeans/modules/php/samples/PHPSamplesWizardIterator.java @@ -20,7 +20,6 @@ import java.awt.Component; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -226,19 +225,14 @@ private static void unZipFile(InputStream source, FileObject projectRoot) throws } private static void writeFile(ZipInputStream str, FileObject fo) throws IOException { - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(str, out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + str.transferTo(out); } } private static void filterProjectXML(FileObject fo, ZipInputStream str, String name) throws IOException { try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(str, baos); - Document doc = XMLUtil.parse(new InputSource(new ByteArrayInputStream(baos.toByteArray())), false, false, null, null); + Document doc = XMLUtil.parse(new InputSource(new ByteArrayInputStream(str.readAllBytes())), false, false, null, null); NodeList nl = doc.getDocumentElement().getElementsByTagName("name"); if (nl != null) { for (int i = 0; i < nl.getLength(); i++) { @@ -252,11 +246,8 @@ private static void filterProjectXML(FileObject fo, ZipInputStream str, String n } } } - OutputStream out = fo.getOutputStream(); - try { + try (OutputStream out = fo.getOutputStream()) { XMLUtil.write(doc, out, "UTF-8"); - } finally { - out.close(); } } catch (Exception ex) { Exceptions.printStackTrace(ex); diff --git a/platform/api.templates/test/unit/src/org/netbeans/modules/templates/Bug138973Test.java b/platform/api.templates/test/unit/src/org/netbeans/modules/templates/Bug138973Test.java index 5b4ae2da2a6b..1714b48d211a 100644 --- a/platform/api.templates/test/unit/src/org/netbeans/modules/templates/Bug138973Test.java +++ b/platform/api.templates/test/unit/src/org/netbeans/modules/templates/Bug138973Test.java @@ -23,7 +23,6 @@ import org.openide.loaders.*; import java.io.BufferedReader; import java.io.BufferedWriter; -import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -81,11 +80,9 @@ public void testBug() throws Exception { templateFile.setAttribute ("template", Boolean.TRUE); templateFile.setAttribute(ScriptingCreateFromTemplateHandler.SCRIPT_ENGINE_ATTR, "js"); byte[] templateBytes = TESTING_TEXT.getBytes(StandardCharsets.ISO_8859_1); - InputStream source = new ByteArrayInputStream(templateBytes); - OutputStream target = templateFile.getOutputStream(); - FileUtil.copy(source, target); - target.close(); - source.close(); + try (OutputStream target = templateFile.getOutputStream()) { + target.write(templateBytes); + } assert templateFile.getSize() != 0L; templateFile.setAttribute("template", Boolean.TRUE); diff --git a/platform/api.templates/test/unit/src/org/netbeans/modules/templates/SCFTHandlerTest.java b/platform/api.templates/test/unit/src/org/netbeans/modules/templates/SCFTHandlerTest.java index 431e1d6dc504..5c9e084a5846 100644 --- a/platform/api.templates/test/unit/src/org/netbeans/modules/templates/SCFTHandlerTest.java +++ b/platform/api.templates/test/unit/src/org/netbeans/modules/templates/SCFTHandlerTest.java @@ -243,7 +243,7 @@ public void testUTF8() throws Exception { FileObject xmldir = FileUtil.createFolder(root, "xml"); FileObject xml = FileUtil.createData(xmldir, "class.txt"); OutputStream os = xml.getOutputStream(); - FileUtil.copy(getClass().getResourceAsStream("utf8.xml"), os); + getClass().getResourceAsStream("utf8.xml").transferTo(os); xml.setAttribute(ScriptingCreateFromTemplateHandler.SCRIPT_ENGINE_ATTR, "js"); os.close(); diff --git a/platform/autoupdate.services/src/org/netbeans/modules/autoupdate/services/Utilities.java b/platform/autoupdate.services/src/org/netbeans/modules/autoupdate/services/Utilities.java index 1a08c8ea3209..16dcc393de99 100644 --- a/platform/autoupdate.services/src/org/netbeans/modules/autoupdate/services/Utilities.java +++ b/platform/autoupdate.services/src/org/netbeans/modules/autoupdate/services/Utilities.java @@ -63,7 +63,6 @@ import org.netbeans.updater.ModuleUpdater; import org.netbeans.updater.UpdateTracking; import org.netbeans.updater.UpdaterDispatcher; -import org.openide.filesystems.FileUtil; import org.openide.modules.*; import org.openide.util.*; import org.openide.xml.XMLUtil; @@ -468,35 +467,15 @@ private static void writeXMLDocumentToFile (Document doc, File dest) { doc.getDocumentElement ().normalize (); dest.getParentFile ().mkdirs (); - InputStream is = null; - ByteArrayOutputStream bos = new ByteArrayOutputStream (); - OutputStream fos = null; try { - try { - XMLUtil.write (doc, bos, "UTF-8"); // NOI18N - bos.close (); - fos = new FileOutputStream (dest); - is = new ByteArrayInputStream (bos.toByteArray ()); - FileUtil.copy (is, fos); - } finally { - if (is != null) { - is.close (); + try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) { + XMLUtil.write(doc, bos, "UTF-8"); // NOI18N + try (OutputStream fos = new FileOutputStream(dest)) { + fos.write(bos.toByteArray()); } - if (fos != null) { - fos.close (); - } - bos.close (); } - } catch (java.io.FileNotFoundException fnfe) { - Exceptions.printStackTrace (fnfe); } catch (java.io.IOException ioe) { Exceptions.printStackTrace (ioe); - } finally { - try { - bos.close (); - } catch (IOException x) { - Exceptions.printStackTrace (x); - } } } @@ -536,20 +515,9 @@ private static void writeMarkedFilesToFile (Collection files, File dest) { dest.getParentFile ().mkdirs (); assert dest.getParentFile ().exists () && dest.getParentFile ().isDirectory () : "Parent of " + dest + " exists and is directory."; - InputStream is = null; - OutputStream fos = null; - try { - try { - fos = new FileOutputStream (dest); - is = new ByteArrayInputStream (content.toString().getBytes()); - FileUtil.copy (is, fos); - } finally { - if (is != null) is.close(); - if (fos != null) fos.close(); - } - } catch (java.io.FileNotFoundException fnfe) { - Exceptions.printStackTrace(fnfe); + try (OutputStream fos = new FileOutputStream(dest)) { + fos.write(content.toString().getBytes()); } catch (java.io.IOException ioe) { Exceptions.printStackTrace(ioe); } @@ -612,7 +580,6 @@ public static Date readInstallTimeFromUpdateTracking (ModuleInfo m) { } static void writeUpdateOfUpdaterJar (JarEntry updaterJarEntry, File zipFileWithUpdater, File targetCluster) throws IOException { - JarFile jf = new JarFile(zipFileWithUpdater); String entryPath = updaterJarEntry.getName(); String entryName = entryPath.contains("/") ? entryPath.substring(entryPath.lastIndexOf("/") + 1) : entryPath; File dest = new File (targetCluster, UpdaterDispatcher.UPDATE_DIR + // updater @@ -622,19 +589,11 @@ static void writeUpdateOfUpdaterJar (JarEntry updaterJarEntry, File zipFileWithU dest.getParentFile ().mkdirs (); assert dest.getParentFile ().exists () && dest.getParentFile ().isDirectory () : "Parent of " + dest + " exists and is directory."; - InputStream is = null; - OutputStream fos = null; - - try { - try { - fos = new FileOutputStream (dest); - is = jf.getInputStream (updaterJarEntry); - FileUtil.copy (is, fos); - } finally { - if (is != null) is.close(); - if (fos != null) fos.close(); - jf.close(); - } + + try (JarFile jf = new JarFile(zipFileWithUpdater); + InputStream is = jf.getInputStream(updaterJarEntry); + OutputStream os = new FileOutputStream(dest)) { + is.transferTo(os); } catch (java.io.FileNotFoundException fnfe) { getLogger ().log (Level.SEVERE, fnfe.getLocalizedMessage (), fnfe); } catch (java.io.IOException ioe) { diff --git a/platform/autoupdate.services/src/org/netbeans/modules/autoupdate/updateprovider/AutoupdateCatalogCache.java b/platform/autoupdate.services/src/org/netbeans/modules/autoupdate/updateprovider/AutoupdateCatalogCache.java index d415c08f7c89..ac7723e1caa3 100644 --- a/platform/autoupdate.services/src/org/netbeans/modules/autoupdate/updateprovider/AutoupdateCatalogCache.java +++ b/platform/autoupdate.services/src/org/netbeans/modules/autoupdate/updateprovider/AutoupdateCatalogCache.java @@ -30,7 +30,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.netbeans.modules.autoupdate.services.AutoupdateSettings; -import org.openide.filesystems.FileUtil; import org.openide.modules.Places; import org.openide.util.Utilities; @@ -259,12 +258,8 @@ private void updateCachedFile(File cache, File temp) { if (!temp.renameTo(cache)) { err.log(Level.INFO, "Cannot rename temp {0} to cache {1}", new Object[]{temp, cache}); err.log(Level.INFO, "Trying to copy {0} to cache {1}", new Object[] {temp, cache}); - try { - FileOutputStream os = new FileOutputStream(cache); - FileInputStream is = new FileInputStream(temp); - FileUtil.copy(is, os); - os.close(); - is.close(); + try (FileInputStream is = new FileInputStream(temp); FileOutputStream os = new FileOutputStream(cache)) { + is.transferTo(os); temp.delete(); } catch (IOException ex) { err.log(Level.INFO, "Cannot even copy: {0}", ex.getMessage()); diff --git a/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/DefaultTestCase.java b/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/DefaultTestCase.java index 5d62d1c21fd1..87bae55a6309 100644 --- a/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/DefaultTestCase.java +++ b/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/DefaultTestCase.java @@ -32,7 +32,6 @@ import org.netbeans.modules.autoupdate.services.*; import org.netbeans.junit.NbTestCase; import org.netbeans.modules.autoupdate.updateprovider.AutoupdateCatalogProvider; -import org.openide.filesystems.FileUtil; import org.openide.util.Lookup; /** @@ -59,12 +58,8 @@ public MyProvider () { } public void populateCatalog(InputStream is) throws FileNotFoundException, IOException { - OutputStream os = new FileOutputStream(catalogFile); - try { - FileUtil.copy(is, os); - } finally { - is.close(); - os.close(); + try (is; OutputStream os = new FileOutputStream(catalogFile)) { + is.transferTo(os); } } diff --git a/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/DifferentReleaseVersionsTest.java b/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/DifferentReleaseVersionsTest.java index 327fa3fcfae0..be421de61ade 100644 --- a/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/DifferentReleaseVersionsTest.java +++ b/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/DifferentReleaseVersionsTest.java @@ -195,7 +195,7 @@ private File prepareNBM(String codeName, String releaseVersion, String implVersi jos.putNextEntry(new ZipEntry("netbeans/modules/" + moduleFile + ".jar")); FileInputStream fis = new FileInputStream(jar); - FileUtil.copy(fis, jos); + fis.transferTo(jos); fis.close(); jar.delete(); jos.close(); diff --git a/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/InternalUpdatesTest.java b/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/InternalUpdatesTest.java index e4fd6c754320..c6635ada9be6 100644 --- a/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/InternalUpdatesTest.java +++ b/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/InternalUpdatesTest.java @@ -193,7 +193,7 @@ private File prepareNBM(String codeName, String specVersion, boolean visible, St jos.putNextEntry(new ZipEntry("netbeans/modules/" + moduleFile + ".jar")); FileInputStream fis = new FileInputStream(jar); - FileUtil.copy(fis, jos); + fis.transferTo(jos); fis.close(); jar.delete(); jos.close(); diff --git a/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/TestUtils.java b/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/TestUtils.java index 2289b968b440..a80577f85f42 100644 --- a/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/TestUtils.java +++ b/platform/autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/TestUtils.java @@ -22,6 +22,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.Collections; @@ -37,7 +38,6 @@ import org.netbeans.spi.autoupdate.UpdateItem; import org.netbeans.spi.autoupdate.UpdateLicense; import org.netbeans.spi.autoupdate.UpdateProvider; -import org.openide.filesystems.FileUtil; /** * * @author Radek Matous, Jirka Rechtacek @@ -78,9 +78,9 @@ public static File getFile(NbTestCase t, URL res) throws IOException { } } - FileOutputStream os = new FileOutputStream(create); - FileUtil.copy(res.openStream(), os); - os.close(); + try (InputStream is = res.openStream(); FileOutputStream os = new FileOutputStream(create)) { + is.transferTo(os); + } return create; } diff --git a/platform/autoupdate.services/test/unit/src/org/netbeans/modules/autoupdate/services/NbmExternalTest.java b/platform/autoupdate.services/test/unit/src/org/netbeans/modules/autoupdate/services/NbmExternalTest.java index d6177a8e98cb..80980d68789c 100644 --- a/platform/autoupdate.services/test/unit/src/org/netbeans/modules/autoupdate/services/NbmExternalTest.java +++ b/platform/autoupdate.services/test/unit/src/org/netbeans/modules/autoupdate/services/NbmExternalTest.java @@ -225,7 +225,7 @@ private File prepareNBM(String codeName, String releaseVersion, String implVersi jos.putNextEntry(new ZipEntry("netbeans/modules/" + moduleFile + ".jar.external")); FileInputStream fis = new FileInputStream(ext); - FileUtil.copy(fis, jos); + fis.transferTo(jos); fis.close(); ext.delete(); jos.close(); diff --git a/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoHid.java b/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoHid.java index c5f31be6048e..6f29231634fc 100644 --- a/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoHid.java +++ b/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoHid.java @@ -24,6 +24,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.Enumeration; import java.util.Locale; import java.util.jar.JarEntry; @@ -31,7 +32,6 @@ import java.util.jar.JarOutputStream; import java.util.jar.Manifest; import org.netbeans.SetupHid; -import org.openide.filesystems.FileUtil; /** * Basic infrastructure for testing OSGi functionality. @@ -72,24 +72,22 @@ static File changeManifest(File wd, File orig, String manifest) throws IOExcepti while (f.exists()) { f = new File(f.getParentFile(), f.getName() + i++); } - Manifest mf = new Manifest(new ByteArrayInputStream(manifest.getBytes("utf-8"))); + Manifest mf = new Manifest(new ByteArrayInputStream(manifest.getBytes(StandardCharsets.UTF_8))); mf.getMainAttributes().putValue("Manifest-Version", "1.0"); - JarOutputStream os = new JarOutputStream(new FileOutputStream(f), mf); - JarFile jf = new JarFile(orig); - Enumeration en = jf.entries(); - InputStream is; - while (en.hasMoreElements()) { - JarEntry e = en.nextElement(); - if (e.getName().equals("META-INF/MANIFEST.MF")) { - continue; + try (JarOutputStream os = new JarOutputStream(new FileOutputStream(f), mf); JarFile jf = new JarFile(orig)) { + Enumeration en = jf.entries(); + while (en.hasMoreElements()) { + JarEntry e = en.nextElement(); + if (e.getName().equals("META-INF/MANIFEST.MF")) { + continue; + } + os.putNextEntry(e); + try (InputStream is = jf.getInputStream(e)) { + is.transferTo(os); + } + os.closeEntry(); } - os.putNextEntry(e); - is = jf.getInputStream(e); - FileUtil.copy(is, os); - is.close(); - os.closeEntry(); } - os.close(); return f; } diff --git a/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoReloadTest.java b/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoReloadTest.java index b605094d6d99..276fccc8a50a 100644 --- a/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoReloadTest.java +++ b/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoReloadTest.java @@ -82,7 +82,7 @@ public void testCanReloadAModule() throws Exception { FileOutputStream os = new FileOutputStream(withoutA); FileInputStream is = new FileInputStream(withActivator); - FileUtil.copy(is, os); + is.transferTo(os); is.close(); os.close(); diff --git a/platform/core.osgi/test/unit/src/org/netbeans/core/osgi/OSGiProcess.java b/platform/core.osgi/test/unit/src/org/netbeans/core/osgi/OSGiProcess.java index e19304d41b3c..93b8c7137af6 100644 --- a/platform/core.osgi/test/unit/src/org/netbeans/core/osgi/OSGiProcess.java +++ b/platform/core.osgi/test/unit/src/org/netbeans/core/osgi/OSGiProcess.java @@ -37,7 +37,6 @@ import org.apache.tools.ant.types.resources.FileResource; import org.netbeans.SetupHid; import org.netbeans.nbbuild.MakeOSGi; -import org.openide.filesystems.FileUtil; import org.openide.modules.Dependency; import org.openide.util.Utilities; import org.openide.util.test.TestFileUtils; @@ -185,16 +184,9 @@ public void run(boolean fullShutDown) throws Exception { if (!dir.isDirectory() && !dir.mkdirs()) { throw new IOException("could not make dir " + dir); } - OutputStream os = new FileOutputStream(f); - try { - InputStream is = OSGiProcess.class.getClassLoader().getResourceAsStream(clazz.getName().replace('.', '/') + ".class"); - try { - FileUtil.copy(is, os); - } finally { - is.close(); - } - } finally { - os.close(); + try (InputStream is = OSGiProcess.class.getClassLoader().getResourceAsStream(clazz.getName().replace('.', '/') + ".class"); + OutputStream os = new FileOutputStream(f)) { + is.transferTo(os); } } if (newModule.manifest != null) { diff --git a/platform/core.startup.base/src/org/netbeans/core/startup/layers/ArchiveURLMapper.java b/platform/core.startup.base/src/org/netbeans/core/startup/layers/ArchiveURLMapper.java index 9868f9eeb222..6f84fad61038 100644 --- a/platform/core.startup.base/src/org/netbeans/core/startup/layers/ArchiveURLMapper.java +++ b/platform/core.startup.base/src/org/netbeans/core/startup/layers/ArchiveURLMapper.java @@ -242,16 +242,8 @@ private static File copyJAR(FileObject fo, URI archiveFileURI, boolean replace) copy = copy.getCanonicalFile(); copy.deleteOnExit(); } - InputStream is = fo.getInputStream(); - try { - OutputStream os = new FileOutputStream(copy); - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = fo.getInputStream(); OutputStream os = new FileOutputStream(copy)) { + is.transferTo(os); } copiedJARs.put(archiveFileURI, copy); } diff --git a/platform/core.startup.base/test/unit/src/org/netbeans/core/startup/layers/RemoveWritablesModifiedTest.java b/platform/core.startup.base/test/unit/src/org/netbeans/core/startup/layers/RemoveWritablesModifiedTest.java index 30fd815b4091..64472f465b7e 100644 --- a/platform/core.startup.base/test/unit/src/org/netbeans/core/startup/layers/RemoveWritablesModifiedTest.java +++ b/platform/core.startup.base/test/unit/src/org/netbeans/core/startup/layers/RemoveWritablesModifiedTest.java @@ -117,17 +117,15 @@ private File createModuleJar(String manifest) throws IOException { // XXX use TestFileUtils.writeZipFile File jarFile = new File( getWorkDir(), "mymodule.jar" ); - JarOutputStream os = new JarOutputStream(new FileOutputStream(jarFile), new Manifest( - new ByteArrayInputStream(manifest.getBytes()) - )); - JarEntry entry = new JarEntry("foo/mf-layer.xml"); - os.putNextEntry( entry ); - - File l3 = new File(new File(new File(getDataDir(), "layers"), "data"), "layer3.xml"); - InputStream is = new FileInputStream(l3); - FileUtil.copy( is, os ); - is.close(); - os.close(); + try (JarOutputStream os = new JarOutputStream(new FileOutputStream(jarFile), new Manifest(new ByteArrayInputStream(manifest.getBytes())))) { + JarEntry entry = new JarEntry("foo/mf-layer.xml"); + os.putNextEntry(entry); + + File l3 = new File(new File(new File(getDataDir(), "layers"), "data"), "layer3.xml"); + try (InputStream is = new FileInputStream(l3)) { + is.transferTo(os); + } + } return jarFile; } diff --git a/platform/core.startup.base/test/unit/src/org/netbeans/core/startup/layers/RemoveWritablesTest.java b/platform/core.startup.base/test/unit/src/org/netbeans/core/startup/layers/RemoveWritablesTest.java index eef40086fedb..c8a282ea46e4 100644 --- a/platform/core.startup.base/test/unit/src/org/netbeans/core/startup/layers/RemoveWritablesTest.java +++ b/platform/core.startup.base/test/unit/src/org/netbeans/core/startup/layers/RemoveWritablesTest.java @@ -173,17 +173,15 @@ private File createModuleJar(String manifest) throws IOException { // XXX use TestFileUtils.writeZipFile File jarFile = new File( getWorkDir(), "mymodule.jar" ); - JarOutputStream os = new JarOutputStream(new FileOutputStream(jarFile), new Manifest( - new ByteArrayInputStream(manifest.getBytes()) - )); - JarEntry entry = new JarEntry("foo/mf-layer.xml"); - os.putNextEntry( entry ); - - File l3 = new File(new File(new File(getDataDir(), "layers"), "data"), "layer3.xml"); - InputStream is = new FileInputStream(l3); - FileUtil.copy( is, os ); - is.close(); - os.close(); + try (JarOutputStream os = new JarOutputStream(new FileOutputStream(jarFile), new Manifest(new ByteArrayInputStream(manifest.getBytes())))) { + JarEntry entry = new JarEntry("foo/mf-layer.xml"); + os.putNextEntry(entry); + + File l3 = new File(new File(new File(getDataDir(), "layers"), "data"), "layer3.xml"); + try (InputStream is = new FileInputStream(l3)) { + is.transferTo(os ); + } + } return jarFile; } diff --git a/platform/core.startup/test/unit/src/org/netbeans/MainCLITest.java b/platform/core.startup/test/unit/src/org/netbeans/MainCLITest.java index 0e708b56c4a8..8daee76679b5 100644 --- a/platform/core.startup/test/unit/src/org/netbeans/MainCLITest.java +++ b/platform/core.startup/test/unit/src/org/netbeans/MainCLITest.java @@ -69,7 +69,7 @@ protected void usage(PrintWriter w) {} os.write (TestHandler.class.getName ().getBytes ()); String res = "/" + TestHandler.class.getName ().replace ('.', '/') + ".class"; os.putNextEntry(new ZipEntry(res)); - FileUtil.copy(getClass().getResourceAsStream(res), os); + getClass().getResourceAsStream(res).transferTo(os); os.close(); TestHandler.called = false; diff --git a/platform/core.startup/test/unit/src/org/netbeans/core/startup/ModuleListStartLevelTest.java b/platform/core.startup/test/unit/src/org/netbeans/core/startup/ModuleListStartLevelTest.java index 85bb108299ad..af9da13c170d 100644 --- a/platform/core.startup/test/unit/src/org/netbeans/core/startup/ModuleListStartLevelTest.java +++ b/platform/core.startup/test/unit/src/org/netbeans/core/startup/ModuleListStartLevelTest.java @@ -59,7 +59,7 @@ private void initModule() throws IOException { InputStream is = ModuleListStartLevelTest.class.getResourceAsStream("ModuleList-com-jcraft-jsch.xml"); assertNotNull("Module definition found", is); final OutputStream os = fo.getOutputStream(); - FileUtil.copy(is, os); + is.transferTo(os); os.close(); is.close(); } diff --git a/platform/core.startup/test/unit/src/org/netbeans/core/startup/NbURLStreamHandlerFactoryTest.java b/platform/core.startup/test/unit/src/org/netbeans/core/startup/NbURLStreamHandlerFactoryTest.java index 02c44668eb93..8e688e64463c 100644 --- a/platform/core.startup/test/unit/src/org/netbeans/core/startup/NbURLStreamHandlerFactoryTest.java +++ b/platform/core.startup/test/unit/src/org/netbeans/core/startup/NbURLStreamHandlerFactoryTest.java @@ -180,7 +180,7 @@ private static String suck(URL u) throws Exception { URLConnection conn = u.openConnection(); InputStream is = conn.getInputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(is, baos); + is.transferTo(baos); is.close(); return baos.toString("UTF-8"); } diff --git a/platform/core.startup/test/unit/src/org/netbeans/core/startup/layers/DelayFSEventsTest.java b/platform/core.startup/test/unit/src/org/netbeans/core/startup/layers/DelayFSEventsTest.java index c25f7a5a999d..d930eb4d4693 100644 --- a/platform/core.startup/test/unit/src/org/netbeans/core/startup/layers/DelayFSEventsTest.java +++ b/platform/core.startup/test/unit/src/org/netbeans/core/startup/layers/DelayFSEventsTest.java @@ -114,22 +114,19 @@ public void testWasCalled() throws Exception { private File createModuleJar(String manifest) throws IOException { File jarFile = new File( getWorkDir(), "mymodule.jar" ); - JarOutputStream os = new JarOutputStream(new FileOutputStream(jarFile), new Manifest( - new ByteArrayInputStream(manifest.getBytes()) - )); - JarEntry entry = new JarEntry("foo/mf-layer.xml"); - os.putNextEntry( entry ); - - File l3 = new File(new File(new File(getDataDir(), "layers"), "data"), "layer3.xml"); - InputStream is = new FileInputStream(l3); - FileUtil.copy( is, os ); - is.close(); - os.putNextEntry(new JarEntry("org/netbeans/core/startup/layers/DelayFSInstaller.class")); - is = DelayFSEventsTest.class.getResourceAsStream("DelayFSInstaller.class"); - FileUtil.copy (is, os); - - os.close(); - + try (JarOutputStream os = new JarOutputStream(new FileOutputStream(jarFile), new Manifest(new ByteArrayInputStream(manifest.getBytes())))) { + + os.putNextEntry(new JarEntry("foo/mf-layer.xml")); + File l3 = new File(new File(new File(getDataDir(), "layers"), "data"), "layer3.xml"); + try (InputStream is = new FileInputStream(l3)) { + is.transferTo(os); + } + + os.putNextEntry(new JarEntry("org/netbeans/core/startup/layers/DelayFSInstaller.class")); + try (InputStream is = DelayFSEventsTest.class.getResourceAsStream("DelayFSInstaller.class")) { + is.transferTo(os); + } + } return jarFile; } diff --git a/platform/javahelp/src/org/netbeans/modules/javahelp/HelpSetRegistrationProcessor.java b/platform/javahelp/src/org/netbeans/modules/javahelp/HelpSetRegistrationProcessor.java index 9264d1126c88..193c7b391152 100644 --- a/platform/javahelp/src/org/netbeans/modules/javahelp/HelpSetRegistrationProcessor.java +++ b/platform/javahelp/src/org/netbeans/modules/javahelp/HelpSetRegistrationProcessor.java @@ -45,7 +45,6 @@ import javax.tools.FileObject; import javax.tools.StandardLocation; import org.netbeans.api.javahelp.HelpSetRegistration; -import org.openide.filesystems.FileUtil; import org.openide.filesystems.annotations.LayerBuilder; import org.openide.filesystems.annotations.LayerGeneratingProcessor; import org.openide.filesystems.annotations.LayerGenerationException; @@ -126,14 +125,11 @@ public class HelpSetRegistrationProcessor extends LayerGeneratingProcessor { File config = Files.createTempFile("jhindexer-config", ".txt").toFile(); try { AtomicInteger cnt = new AtomicInteger(); - OutputStream os = new FileOutputStream(config); - try { + try (OutputStream os = new FileOutputStream(config)) { PrintWriter pw = new PrintWriter(os); pw.println("IndexRemove " + d + File.separator); scan(d, pw, cnt, new HashSet(Arrays.asList(r.excludes())), ""); pw.flush(); - } finally { - os.close(); } processingEnv.getMessager().printMessage(Kind.NOTE, "Indexing " + cnt + " HTML files in " + d + " into " + out); File db = createTempFile("jhindexer-out", ""); @@ -147,16 +143,8 @@ public class HelpSetRegistrationProcessor extends LayerGeneratingProcessor { } finally { for (File f : db.listFiles()) { FileObject dest = processingEnv.getFiler().createResource(StandardLocation.CLASS_OUTPUT, "", out + f.getName(), e); - os = dest.openOutputStream(); - try { - InputStream is = new FileInputStream(f); - try { - FileUtil.copy(is, os); - } finally { - is.close(); - } - } finally { - os.close(); + try (InputStream is = new FileInputStream(f); OutputStream os = dest.openOutputStream()) { + is.transferTo(os); } f.delete(); } diff --git a/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/FileUtilTest.java b/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/FileUtilTest.java index cec53c924dc4..e3affcc85f19 100644 --- a/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/FileUtilTest.java +++ b/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/FileUtilTest.java @@ -76,7 +76,7 @@ public void testCopy136308() throws Exception { InputStream is = fi.getInputStream(); OutputStream os = fo.getOutputStream(); long start = System.currentTimeMillis(); - FileUtil.copy(is, os); + is.transferTo(os); long end = System.currentTimeMillis(); long timeDefault = end - start + 1; is.close(); @@ -87,7 +87,7 @@ public void testCopy136308() throws Exception { fileOut.createNewFile(); os = new FileOutputStream(fileOut); start = System.currentTimeMillis(); - FileUtil.copy(is, os); + is.transferTo(os); end = System.currentTimeMillis(); is.close(); os.close(); diff --git a/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/MIMESupportLoggingTest.java b/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/MIMESupportLoggingTest.java index 9ee0f26aa461..54ad0786540c 100644 --- a/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/MIMESupportLoggingTest.java +++ b/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/MIMESupportLoggingTest.java @@ -19,13 +19,11 @@ package org.netbeans.modules.masterfs.filebasedfs; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.util.logging.LogRecord; import org.openide.filesystems.*; import java.io.IOException; -import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.logging.Handler; import java.util.logging.Level; @@ -160,12 +158,9 @@ public boolean wasRead() { } public static final File copyStringToFile (File f, String content) throws Exception { - FileOutputStream os = new FileOutputStream(f); - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); - os.close (); - is.close(); - + try (FileOutputStream os = new FileOutputStream(f)) { + os.write(content.getBytes(StandardCharsets.UTF_8)); + } return f; } } diff --git a/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/providers/ProvidedExtensionsTest.java b/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/providers/ProvidedExtensionsTest.java index 3c1e6e7f9d41..fda7aed60e55 100644 --- a/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/providers/ProvidedExtensionsTest.java +++ b/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/providers/ProvidedExtensionsTest.java @@ -28,9 +28,7 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.HashSet; -import java.util.Iterator; import java.util.List; import java.util.Set; import junit.framework.AssertionFailedError; @@ -913,13 +911,9 @@ public void handle() throws IOException { if (from.isDirectory()) { from.renameTo(to); } else { - InputStream inputStream = new FileInputStream(from); - OutputStream outputStream = new FileOutputStream(to); - try { - FileUtil.copy(inputStream, outputStream); - } finally { - if (inputStream != null) inputStream.close(); - if (outputStream != null) outputStream.close(); + try (InputStream is = new FileInputStream(from); + OutputStream os = new FileOutputStream(to)) { + is.transferTo(os); } to.setLastModified(from.lastModified()); assertTrue(from.delete()); @@ -949,13 +943,9 @@ public void handle() throws IOException { assertFalse(to.exists()); assertFalse(from.equals(to)); - InputStream inputStream = new FileInputStream(from); - OutputStream outputStream = new FileOutputStream(to); - try { - FileUtil.copy(inputStream, outputStream); - } finally { - if (inputStream != null) inputStream.close(); - if (outputStream != null) outputStream.close(); + try (InputStream is = new FileInputStream(from); + OutputStream os = new FileOutputStream(to)) { + is.transferTo(os); } assertTrue(from.exists()); assertTrue(to.exists()); diff --git a/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/NetigsoHid.java b/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/NetigsoHid.java index f100b38bef54..b7080f4e8a31 100644 --- a/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/NetigsoHid.java +++ b/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/NetigsoHid.java @@ -97,7 +97,7 @@ protected static File changeManifest(File dir, String newName, File orig, String } os.putNextEntry(e); is = jf.getInputStream(e); - FileUtil.copy(is, os); + is.transferTo(os); is.close(); os.closeEntry(); } diff --git a/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/NetigsoLayerTest.java b/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/NetigsoLayerTest.java index 8eee94034a4d..8d0a82f29307 100644 --- a/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/NetigsoLayerTest.java +++ b/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/NetigsoLayerTest.java @@ -159,7 +159,7 @@ private File changeManifest(File orig, String manifest) throws IOException { } os.putNextEntry(e); is = jf.getInputStream(e); - FileUtil.copy(is, os); + is.transferTo(os); is.close(); os.closeEntry(); } diff --git a/platform/openide.filesystems/src/org/openide/filesystems/FileUtil.java b/platform/openide.filesystems/src/org/openide/filesystems/FileUtil.java index 1638b7e066ac..e2ebc7aa6200 100644 --- a/platform/openide.filesystems/src/org/openide/filesystems/FileUtil.java +++ b/platform/openide.filesystems/src/org/openide/filesystems/FileUtil.java @@ -90,7 +90,7 @@ public final class FileUtil extends Object { /** transient attributes which should not be copied * of type Set */ - static final Set transientAttributes = new HashSet(); + static final Set transientAttributes = new HashSet<>(); static { transientAttributes.add("templateWizardURL"); // NOI18N @@ -519,24 +519,14 @@ private static String getRelativePath(final File dir, final File file) { /** Copies stream of files. *

- * Please be aware, that this method doesn't close any of passed streams. + * Calls {@link InputStream#transferTo(java.io.OutputStream)} which should be now preferred. * @param is input stream * @param os output stream + * @deprecated use {@link InputStream#transferTo(java.io.OutputStream)} */ - public static void copy(InputStream is, OutputStream os) - throws IOException { - final byte[] BUFFER = new byte[65536]; - int len; - - for (;;) { - len = is.read(BUFFER); - - if (len == -1) { - return; - } - - os.write(BUFFER, 0, len); - } + @Deprecated + public static void copy(InputStream is, OutputStream os) throws IOException { + is.transferTo(os); } /** Copies file to the selected folder. @@ -555,32 +545,24 @@ static FileObject copyFileImpl(FileObject source, FileObject destFolder, String FileObject dest = destFolder.createData(newName, newExt); FileLock lock = null; - InputStream bufIn = null; - OutputStream bufOut = null; try { lock = dest.lock(); - bufIn = source.getInputStream(); - - if (dest instanceof AbstractFileObject) { - /** prevents from firing fileChange*/ - bufOut = ((AbstractFileObject) dest).getOutputStream(lock, false); - } else { - bufOut = dest.getOutputStream(lock); + try (InputStream bufIn = source.getInputStream()) { + OutputStream bufOut; + if (dest instanceof AbstractFileObject afo) { + /** prevents from firing fileChange*/ + bufOut = afo.getOutputStream(lock, false); + } else { + bufOut = dest.getOutputStream(lock); + } + try (bufOut) { + bufIn.transferTo(bufOut); + } } - - copy(bufIn, bufOut); copyPosixPerms(source, dest); copyAttributes(source, dest); } finally { - if (bufIn != null) { - bufIn.close(); - } - - if (bufOut != null) { - bufOut.close(); - } - if (lock != null) { lock.releaseLock(); } @@ -1122,12 +1104,8 @@ private static void extractJarImpl(FileObject fo, InputStream is) FileLock lock = fd.lock(); try { - OutputStream os = fd.getOutputStream(lock); - - try { - copy(jis, os); - } finally { - os.close(); + try (OutputStream os = fd.getOutputStream(lock)) { + jis.transferTo(os); } } finally { lock.releaseLock(); diff --git a/platform/openide.filesystems/src/org/openide/filesystems/JarFileSystem.java b/platform/openide.filesystems/src/org/openide/filesystems/JarFileSystem.java index 1ea53dac2e0f..7bf6cfe5cc57 100644 --- a/platform/openide.filesystems/src/org/openide/filesystems/JarFileSystem.java +++ b/platform/openide.filesystems/src/org/openide/filesystems/JarFileSystem.java @@ -21,7 +21,6 @@ import java.beans.PropertyVetoException; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -461,18 +460,9 @@ protected long size(String name) { return (retVal == -1) ? 0 : retVal; } - private InputStream getMemInputStream(JarFile jf, JarEntry je) - throws IOException { + private InputStream getMemInputStream(JarFile jf, JarEntry je) throws IOException { InputStream is = getInputStream4336753(jf, je); - ByteArrayOutputStream os = new ByteArrayOutputStream(is.available()); - - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - - return new ByteArrayInputStream(os.toByteArray()); + return new ByteArrayInputStream(is.readAllBytes()); } private InputStream getTemporaryInputStream(JarFile jf, JarEntry je, boolean forceRecreate) @@ -501,18 +491,8 @@ private InputStream getTemporaryInputStream(JarFile jf, JarEntry je, boolean for if (createContent || forceRecreate) { // JDK 1.3 contains bug #4336753 //is = j.getInputStream (je); - InputStream is = getInputStream4336753(jf, je); - - try { - OutputStream os = new FileOutputStream(f); - - try { - FileUtil.copy(is, os); - } finally { - os.close(); - } - } finally { - is.close(); + try (InputStream is = getInputStream4336753(jf, je); OutputStream os = new FileOutputStream(f)) { + is.transferTo(os); } } diff --git a/platform/openide.filesystems/test/unit/src/org/openide/filesystems/FileObjectTestHid.java b/platform/openide.filesystems/test/unit/src/org/openide/filesystems/FileObjectTestHid.java index 355e3d0776ac..4be64f9b850e 100644 --- a/platform/openide.filesystems/test/unit/src/org/openide/filesystems/FileObjectTestHid.java +++ b/platform/openide.filesystems/test/unit/src/org/openide/filesystems/FileObjectTestHid.java @@ -1853,7 +1853,7 @@ public void testDefaultMimeTypeForBinaryFiles () throws Exception { InputStream is = getClass ().getResourceAsStream(getClass().getName().substring(getClass().getName().lastIndexOf('.')+1)+".class"); OutputStream os = fo.getOutputStream (lock); - FileUtil.copy (is, os); + is.transferTo (os); is.close (); os.close (); lock.releaseLock (); diff --git a/platform/openide.filesystems/test/unit/src/org/openide/filesystems/MemoryFSTestHid.java b/platform/openide.filesystems/test/unit/src/org/openide/filesystems/MemoryFSTestHid.java index 174220404896..7853f6c63daf 100644 --- a/platform/openide.filesystems/test/unit/src/org/openide/filesystems/MemoryFSTestHid.java +++ b/platform/openide.filesystems/test/unit/src/org/openide/filesystems/MemoryFSTestHid.java @@ -76,7 +76,7 @@ public void testURLs() throws Exception { assertEquals(file.lastModified().getTime(), conn.getLastModified()); assertEquals("text/x-hello", conn.getContentType()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(conn.getInputStream(), baos); + conn.getInputStream().transferTo(baos); assertEquals("hello", baos.toString()); assertEquals(file, URLMapper.findFileObject(u)); assertEquals(null, URLMapper.findURL(file, URLMapper.EXTERNAL)); diff --git a/platform/openide.loaders/test/unit/src/org/openide/loaders/InstanceDataObjectTest.java b/platform/openide.loaders/test/unit/src/org/openide/loaders/InstanceDataObjectTest.java index 72b2281dd608..28f6be6e6746 100644 --- a/platform/openide.loaders/test/unit/src/org/openide/loaders/InstanceDataObjectTest.java +++ b/platform/openide.loaders/test/unit/src/org/openide/loaders/InstanceDataObjectTest.java @@ -1069,7 +1069,7 @@ private void copySetting(FileObject fo, FileObject primaryFile) throws IOExcepti try { outputStream = fo.getOutputStream(fLock); inputStream = primaryFile.getInputStream(); - FileUtil.copy(inputStream, outputStream); + inputStream.transferTo(outputStream); } finally { if (fLock != null) fLock.releaseLock(); if (inputStream != null) inputStream.close(); diff --git a/platform/options.api/src/org/netbeans/modules/options/export/OptionsExportModel.java b/platform/options.api/src/org/netbeans/modules/options/export/OptionsExportModel.java index e7b2837d5518..9b339d338225 100644 --- a/platform/options.api/src/org/netbeans/modules/options/export/OptionsExportModel.java +++ b/platform/options.api/src/org/netbeans/modules/options/export/OptionsExportModel.java @@ -1083,7 +1083,7 @@ public void close() throws IOException { */ private void copyFile(String relativePath, OutputStream out) throws IOException { try (InputStream in = getInputStream(relativePath)) { - FileUtil.copy(in, out); + in.transferTo(out); } } @@ -1134,7 +1134,7 @@ static void createZipFile(File targetFile, File sourceDir, List relative out.putNextEntry(new ZipEntry(relativePath)); // Transfer bytes from the file to the ZIP file try (FileInputStream in = new FileInputStream(new File(sourceDir, relativePath))) { - FileUtil.copy(in, out); + in.transferTo(out); } // Complete the entry out.closeEntry(); diff --git a/platform/queries/test/unit/src/org/netbeans/api/queries/FileEncodingQueryTest.java b/platform/queries/test/unit/src/org/netbeans/api/queries/FileEncodingQueryTest.java index 9b485f502fb3..d4b6d04d1551 100644 --- a/platform/queries/test/unit/src/org/netbeans/api/queries/FileEncodingQueryTest.java +++ b/platform/queries/test/unit/src/org/netbeans/api/queries/FileEncodingQueryTest.java @@ -158,12 +158,8 @@ public void testPartialRead () throws IOException { Charset encoding = FileEncodingQuery.getEncoding(fo); InputStream ins = fo.getInputStream(); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(ins, baos); + byte[] arr = ins.readAllBytes(); ins.close(); - byte[] arr = baos.toByteArray(); - baos.close(); - baos = null; final Reader in = new InputStreamReader (new ByteArrayInputStream(arr),encoding); final ByteArrayOutputStream outbs = new ByteArrayOutputStream(); diff --git a/platform/settings/test/unit/src/org/netbeans/modules/settings/convertors/SerialDataConvertorTest.java b/platform/settings/test/unit/src/org/netbeans/modules/settings/convertors/SerialDataConvertorTest.java index 6bc4f1c617e8..bee70ca3dfa7 100644 --- a/platform/settings/test/unit/src/org/netbeans/modules/settings/convertors/SerialDataConvertorTest.java +++ b/platform/settings/test/unit/src/org/netbeans/modules/settings/convertors/SerialDataConvertorTest.java @@ -621,7 +621,7 @@ public void run() throws IOException { try { l = corrupted.lock(); os = corrupted.getOutputStream(l); - FileUtil.copy(valid.getInputStream(), os); + valid.getInputStream().transferTo(os); os.flush(); } finally { if (os != null) try { os.close(); } catch (IOException ex) {} diff --git a/platform/settings/test/unit/src/org/netbeans/modules/settings/convertors/XMLPropertiesConvertorTest.java b/platform/settings/test/unit/src/org/netbeans/modules/settings/convertors/XMLPropertiesConvertorTest.java index 24b7a954801a..a15b1380866c 100644 --- a/platform/settings/test/unit/src/org/netbeans/modules/settings/convertors/XMLPropertiesConvertorTest.java +++ b/platform/settings/test/unit/src/org/netbeans/modules/settings/convertors/XMLPropertiesConvertorTest.java @@ -476,7 +476,7 @@ public void run() throws IOException { try { l = corrupted.lock(); os = corrupted.getOutputStream(l); - FileUtil.copy(valid.getInputStream(), os); + valid.getInputStream().transferTo(os); os.flush(); } finally { if (os != null) try { os.close(); } catch (IOException ex) {} diff --git a/platform/settings/test/unit/src/org/netbeans/spi/settings/DOMConvertorTest.java b/platform/settings/test/unit/src/org/netbeans/spi/settings/DOMConvertorTest.java index 4fa4ba6cca84..04505b466443 100644 --- a/platform/settings/test/unit/src/org/netbeans/spi/settings/DOMConvertorTest.java +++ b/platform/settings/test/unit/src/org/netbeans/spi/settings/DOMConvertorTest.java @@ -86,7 +86,7 @@ public void testCreateSetting() throws Exception { assertEquals(cs2.b1, cs2.b2); } catch (IOException e) { System.err.println("File contents:\n"); - FileUtil.copy(fo.getInputStream(), System.err); + fo.getInputStream().transferTo(System.err); throw e; } } catch (Exception ex) { @@ -119,7 +119,7 @@ public void testCreateSetting_XML() throws Exception { assertEquals(cs2.b1, cs2.b2); } catch (IOException e) { System.err.println("File contents:\n"); - FileUtil.copy(fo.getInputStream(), System.err); + fo.getInputStream().transferTo(System.err); throw e; } } catch (Exception ex) { diff --git a/profiler/profiler.j2se/test/unit/src/org/netbeans/modules/profiler/categories/j2se/TestUtilities.java b/profiler/profiler.j2se/test/unit/src/org/netbeans/modules/profiler/categories/j2se/TestUtilities.java index 7d4e3886d29b..c6932823a853 100644 --- a/profiler/profiler.j2se/test/unit/src/org/netbeans/modules/profiler/categories/j2se/TestUtilities.java +++ b/profiler/profiler.j2se/test/unit/src/org/netbeans/modules/profiler/categories/j2se/TestUtilities.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.profiler.categories.j2se; -import java.io.ByteArrayInputStream; import java.io.EOFException; import java.io.File; import java.io.IOException; @@ -70,31 +69,22 @@ public TestUtilities() { }); } - public static final FileObject copyStringToFileObject(FileObject fo, String content) - throws IOException - { - OutputStream os = fo.getOutputStream(); - try { - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); + public static final FileObject copyStringToFileObject(FileObject fo, String content) throws IOException { + try (OutputStream os = fo.getOutputStream()) { + os.write(content.getBytes(StandardCharsets.UTF_8)); return fo; - } finally { - os.close(); } } public static final String copyFileObjectToString (FileObject fo) throws java.io.IOException { int s = (int)FileUtil.toFile(fo).length(); byte[] data = new byte[s]; - InputStream stream = fo.getInputStream(); - try { + try (InputStream stream = fo.getInputStream()) { int len = stream.read(data); if (len != s) { throw new EOFException("truncated file"); } return new String (data); - } finally { - stream.close(); } } diff --git a/profiler/profiler.nbimpl/test/unit/src/org/netbeans/modules/profiler/nbimpl/TestUtilities.java b/profiler/profiler.nbimpl/test/unit/src/org/netbeans/modules/profiler/nbimpl/TestUtilities.java index fa488a9a14b1..587cc5fdfc3a 100644 --- a/profiler/profiler.nbimpl/test/unit/src/org/netbeans/modules/profiler/nbimpl/TestUtilities.java +++ b/profiler/profiler.nbimpl/test/unit/src/org/netbeans/modules/profiler/nbimpl/TestUtilities.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.profiler.nbimpl; -import java.io.ByteArrayInputStream; import java.io.EOFException; import java.io.File; import java.io.IOException; @@ -75,13 +74,9 @@ public TestUtilities() { public static final FileObject copyStringToFileObject(FileObject fo, String content) throws IOException { - OutputStream os = fo.getOutputStream(); - try { - InputStream is = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - FileUtil.copy(is, os); + try (OutputStream os = fo.getOutputStream()) { + os.write(content.getBytes(StandardCharsets.UTF_8)); return fo; - } finally { - os.close(); } } diff --git a/profiler/profiler/test/unit/src/org/netbeans/modules/profiler/SampledCPUSnapshotTest.java b/profiler/profiler/test/unit/src/org/netbeans/modules/profiler/SampledCPUSnapshotTest.java index 898b7692ac7c..5be18b7b0ca6 100644 --- a/profiler/profiler/test/unit/src/org/netbeans/modules/profiler/SampledCPUSnapshotTest.java +++ b/profiler/profiler/test/unit/src/org/netbeans/modules/profiler/SampledCPUSnapshotTest.java @@ -77,7 +77,7 @@ private static SampledCPUSnapshot loadSnapshot(final String name) throws IOExcep assertNotNull("Sample npss file found", is); FileObject sample = FileUtil.createMemoryFileSystem().getRoot().createData("sample.npss"); try (OutputStream os = sample.getOutputStream()) { - FileUtil.copy(is, os); + is.transferTo(os); } return new SampledCPUSnapshot(sample); } diff --git a/rust/rust.cargo/nbproject/project.properties b/rust/rust.cargo/nbproject/project.properties index 5137752915a4..997ac0e74010 100644 --- a/rust/rust.cargo/nbproject/project.properties +++ b/rust/rust.cargo/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/rust/rust.kit/nbproject/project.properties b/rust/rust.kit/nbproject/project.properties index 5137752915a4..997ac0e74010 100644 --- a/rust/rust.kit/nbproject/project.properties +++ b/rust/rust.kit/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/rust/rust.options/nbproject/project.properties b/rust/rust.options/nbproject/project.properties index 6744a59b1e81..600e50d2e6c9 100644 --- a/rust/rust.options/nbproject/project.properties +++ b/rust/rust.options/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=1.11 diff --git a/rust/rust.project.api/nbproject/project.properties b/rust/rust.project.api/nbproject/project.properties index 5137752915a4..997ac0e74010 100644 --- a/rust/rust.project.api/nbproject/project.properties +++ b/rust/rust.project.api/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/rust/rust.project/nbproject/project.properties b/rust/rust.project/nbproject/project.properties index af3c493a87bd..821c496066b7 100644 --- a/rust/rust.project/nbproject/project.properties +++ b/rust/rust.project/nbproject/project.properties @@ -17,5 +17,5 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=21 diff --git a/rust/rust.project/test/unit/src/org/netbeans/modules/rust/project/RustProjectOperationsTest.java b/rust/rust.project/test/unit/src/org/netbeans/modules/rust/project/RustProjectOperationsTest.java index 19b0e9cf4ebb..73a7be7d53d4 100644 --- a/rust/rust.project/test/unit/src/org/netbeans/modules/rust/project/RustProjectOperationsTest.java +++ b/rust/rust.project/test/unit/src/org/netbeans/modules/rust/project/RustProjectOperationsTest.java @@ -79,7 +79,7 @@ private void testRename(String referenceName, String fileName) throws IOExceptio try { try (InputStream is = RustProjectOperationsTest.class.getResourceAsStream("data/" + fileName); OutputStream os = tempFile.getOutputStream()) { - FileUtil.copy(is, os); + is.transferTo(os); } RustProjectOperations.updateProjectName(tempFile, "Renamed\"Test"); String reference = URLMapper diff --git a/rust/rust.sources/nbproject/project.properties b/rust/rust.sources/nbproject/project.properties index 5137752915a4..997ac0e74010 100644 --- a/rust/rust.sources/nbproject/project.properties +++ b/rust/rust.sources/nbproject/project.properties @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/webcommon/javascript.cdnjs/src/org/netbeans/modules/javascript/cdnjs/LibraryProvider.java b/webcommon/javascript.cdnjs/src/org/netbeans/modules/javascript/cdnjs/LibraryProvider.java index 653cb3fdef9a..9737535716fe 100644 --- a/webcommon/javascript.cdnjs/src/org/netbeans/modules/javascript/cdnjs/LibraryProvider.java +++ b/webcommon/javascript.cdnjs/src/org/netbeans/modules/javascript/cdnjs/LibraryProvider.java @@ -245,7 +245,7 @@ public File downloadLibraryFile(Library.Version version, int fileIndex) throws I try (InputStream input = urlConnection.getInputStream()) { File file = Files.createTempFile("cdjns-download-", "tmp").toFile(); try (OutputStream output = new FileOutputStream(file)) { - FileUtil.copy(input, output); + input.transferTo(output); return file; } } diff --git a/webcommon/javascript.jstestdriver/src/org/netbeans/modules/javascript/jstestdriver/wizard/InstallJasmineWizardDescriptorPanel.java b/webcommon/javascript.jstestdriver/src/org/netbeans/modules/javascript/jstestdriver/wizard/InstallJasmineWizardDescriptorPanel.java index 0b03ed53adc1..4776dd54f67e 100644 --- a/webcommon/javascript.jstestdriver/src/org/netbeans/modules/javascript/jstestdriver/wizard/InstallJasmineWizardDescriptorPanel.java +++ b/webcommon/javascript.jstestdriver/src/org/netbeans/modules/javascript/jstestdriver/wizard/InstallJasmineWizardDescriptorPanel.java @@ -105,13 +105,8 @@ public void downloadJasmine(FileObject libs) { } private static void download(String url, File target) throws IOException { - try { - InputStream is = new URL(url).openStream(); - try { - copyToFile(is, target); - } finally { - is.close(); - } + try (InputStream is = new URL(url).openStream()) { + copyToFile(is, target); } catch (IOException ex) { // error => ensure file is deleted target.delete(); @@ -154,21 +149,15 @@ private static void unzip(InputStream source, FileObject root, String version) t } private static File copyToFile(InputStream is, File target) throws IOException { - OutputStream os = new FileOutputStream(target); - try { - FileUtil.copy(is, os); - } finally { - os.close(); + try (OutputStream os = new FileOutputStream(target)) { + is.transferTo(os); } return target; } private static void writeFile(InputStream str, FileObject fo) throws IOException { - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(str, out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + str.transferTo(out); } } diff --git a/webcommon/javascript.nodejs/src/org/netbeans/modules/javascript/nodejs/ui/wizard/NewSampleWizardIterator.java b/webcommon/javascript.nodejs/src/org/netbeans/modules/javascript/nodejs/ui/wizard/NewSampleWizardIterator.java index dfa4e461d155..5080263ba07c 100644 --- a/webcommon/javascript.nodejs/src/org/netbeans/modules/javascript/nodejs/ui/wizard/NewSampleWizardIterator.java +++ b/webcommon/javascript.nodejs/src/org/netbeans/modules/javascript/nodejs/ui/wizard/NewSampleWizardIterator.java @@ -236,15 +236,13 @@ static void unZipFile(FileObject template, FileObject projectDir, String project private static void writeFile(ZipInputStream str, FileObject fo) throws IOException { try (OutputStream out = fo.getOutputStream()) { - FileUtil.copy(str, out); + str.transferTo(out); } } private static void filterProjectXml(FileObject fo, ZipInputStream str, String name) throws IOException { try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - FileUtil.copy(str, baos); - Document doc = XMLUtil.parse(new InputSource(new ByteArrayInputStream(baos.toByteArray())), false, false, null, null); + Document doc = XMLUtil.parse(new InputSource(new ByteArrayInputStream(str.readAllBytes())), false, false, null, null); NodeList nl = doc.getDocumentElement().getElementsByTagName("name"); // NOI18N if (nl != null) { for (int i = 0; i < nl.getLength(); i++) { diff --git a/webcommon/javascript.nodejs/src/org/netbeans/modules/javascript/nodejs/util/FileUtils.java b/webcommon/javascript.nodejs/src/org/netbeans/modules/javascript/nodejs/util/FileUtils.java index bebd200429c8..cfc24f873a6b 100644 --- a/webcommon/javascript.nodejs/src/org/netbeans/modules/javascript/nodejs/util/FileUtils.java +++ b/webcommon/javascript.nodejs/src/org/netbeans/modules/javascript/nodejs/util/FileUtils.java @@ -392,7 +392,7 @@ public static String decompressTarGz(File archive, File destination, boolean ski throw new IOException("Cannot create new file " + destPath); } try (BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(destPath))) { - FileUtil.copy(tarInputStream, outputStream); + tarInputStream.transferTo(outputStream); } } tarEntry = tarInputStream.getNextTarEntry(); diff --git a/webcommon/web.client.samples/src/org/netbeans/modules/web/client/samples/wizard/iterator/SampleWizardIterator.java b/webcommon/web.client.samples/src/org/netbeans/modules/web/client/samples/wizard/iterator/SampleWizardIterator.java index ee32616f2dd0..b06537e17e98 100644 --- a/webcommon/web.client.samples/src/org/netbeans/modules/web/client/samples/wizard/iterator/SampleWizardIterator.java +++ b/webcommon/web.client.samples/src/org/netbeans/modules/web/client/samples/wizard/iterator/SampleWizardIterator.java @@ -89,24 +89,19 @@ private void replaceToken(FileObject fo, Map map) throws IOExcep } FileLock lock = fo.lock(); try { - BufferedReader reader = new BufferedReader(new InputStreamReader( - new FileInputStream(FileUtil.toFile(fo)), StandardCharsets.UTF_8)); - String line; - StringBuilder sb = new StringBuilder(); - while ((line = reader.readLine()) != null) { - for (Entry entry : map.entrySet()) { - line = line.replace(entry.getKey(), entry.getValue()); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(FileUtil.toFile(fo)), StandardCharsets.UTF_8))) { + String line; + StringBuilder sb = new StringBuilder(); + while ((line = reader.readLine()) != null) { + for (Entry entry : map.entrySet()) { + line = line.replace(entry.getKey(), entry.getValue()); + } + sb.append(line); + sb.append("\n"); + } + try (OutputStreamWriter writer = new OutputStreamWriter(fo.getOutputStream(lock), StandardCharsets.UTF_8)) { + writer.write(sb.toString()); } - sb.append(line); - sb.append("\n"); - } - OutputStreamWriter writer = new OutputStreamWriter( - fo.getOutputStream(lock), StandardCharsets.UTF_8); - try { - writer.write(sb.toString()); - } finally { - writer.close(); - reader.close(); } } finally { lock.releaseLock(); @@ -114,8 +109,7 @@ private void replaceToken(FileObject fo, Map map) throws IOExcep } private void unZipFile(InputStream source, FileObject rootFolder) throws IOException { - try { - ZipInputStream str = new ZipInputStream(source); + try (ZipInputStream str = new ZipInputStream(source)) { ZipEntry entry; while ((entry = str.getNextEntry()) != null) { if (entry.isDirectory()) { @@ -125,18 +119,13 @@ private void unZipFile(InputStream source, FileObject rootFolder) throws IOExcep FileObject fo = FileUtil.createData(rootFolder, entry.getName()); FileLock lock = fo.lock(); try { - OutputStream out = fo.getOutputStream(lock); - try { - FileUtil.copy(str, out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream(lock)) { + str.transferTo(out); } } finally { lock.releaseLock(); } } - } finally { - source.close(); } } } diff --git a/webcommon/web.clientproject.api/src/org/netbeans/modules/web/clientproject/api/sites/SiteHelper.java b/webcommon/web.clientproject.api/src/org/netbeans/modules/web/clientproject/api/sites/SiteHelper.java index e538d02a33fc..0051f0f8870f 100644 --- a/webcommon/web.clientproject.api/src/org/netbeans/modules/web/clientproject/api/sites/SiteHelper.java +++ b/webcommon/web.clientproject.api/src/org/netbeans/modules/web/clientproject/api/sites/SiteHelper.java @@ -145,9 +145,8 @@ public static List stripRootFolder(List paths) { @NbBundle.Messages("SiteHelper.error.emptyZip=ZIP file with site template is either empty or its download failed.") private static void unzipProjectTemplateFile(FileObject targetDir, InputStream source, String rootFolder, String... ignoredFiles) throws IOException { boolean firstItem = true; - try { + try (ZipInputStream str = new ZipInputStream(source)) { int stripLen = rootFolder != null ? rootFolder.length() : 0; - ZipInputStream str = new ZipInputStream(source); ZipEntry entry; Set ignored = Collections.emptySet(); if (ignoredFiles != null && ignoredFiles.length > 0) { @@ -191,7 +190,6 @@ private static void unzipProjectTemplateFile(FileObject targetDir, InputStream s } } } finally { - source.close(); if (firstItem) { DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(Bundle.SiteHelper_error_emptyZip())); } @@ -199,18 +197,14 @@ private static void unzipProjectTemplateFile(FileObject targetDir, InputStream s } private static void writeFile(ZipInputStream str, FileObject fo) throws IOException { - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(str, out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + str.transferTo(out); } } private static String getZipRootFolder(InputStream source) throws IOException { String folder = null; - try { - ZipInputStream str = new ZipInputStream(source); + try (ZipInputStream str = new ZipInputStream(source)) { ZipEntry entry; boolean first = true; while ((entry = str.getNextEntry()) != null) { @@ -238,8 +232,6 @@ private static String getZipRootFolder(InputStream source) throws IOException { } } } - } finally { - source.close(); } return folder; } diff --git a/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/ant/LicensePanelSupportImpl.java b/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/ant/LicensePanelSupportImpl.java index 3f31ea5dd56a..e04c38a18d57 100644 --- a/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/ant/LicensePanelSupportImpl.java +++ b/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/ant/LicensePanelSupportImpl.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.web.clientproject.ant; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -105,11 +104,8 @@ public void saveLicenseFile() throws IOException { } else { fo = FileUtil.toFileObject(file); } - OutputStream out = fo.getOutputStream(); - try { - FileUtil.copy(new ByteArrayInputStream(licenseContent.getBytes()), out); - } finally { - out.close(); + try (OutputStream out = fo.getOutputStream()) { + out.write(licenseContent.getBytes()); } } } diff --git a/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/ui/wizard/CreateSiteTemplate.java b/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/ui/wizard/CreateSiteTemplate.java index d51b80a4a015..a0e14bde6cfa 100644 --- a/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/ui/wizard/CreateSiteTemplate.java +++ b/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/ui/wizard/CreateSiteTemplate.java @@ -717,7 +717,7 @@ private static void writeChildren(ZipOutputStream str, FileObject projectDirecto ZipEntry ze = new ZipEntry(relPath); str.putNextEntry(ze); if (is != null) { - FileUtil.copy(fo.getInputStream(), str); + fo.getInputStream().transferTo(str); } } finally { if (is != null) { From 91d2f37df7177321750f4abe8e9fd98b6eb1eabd Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 19 Feb 2024 02:08:10 +0100 Subject: [PATCH 34/74] Add open containing folder and open in tab actions. extracted AbstractOpenInAction as common superclass for - (old) OpenInSystemAction - (new) OpenParentInSystemAction - (new) Open(Parent)InTabAction OpenParentInSystem will try to use the browseFileDirectory() feature if supported by the JDK. - removed mac specific open in finder impl - removed '--add-exports=java.desktop/com.apple.eio=ALL-UNNAMED' Co-authored-by: Neil C Smith --- nbbuild/jms-config/desktop.flags | 1 - .../modules/applemenu/Bundle.properties | 4 - .../modules/applemenu/ShowInFinder.java | 99 ------ .../core/ui/sysopen/AbstractOpenInAction.java | 284 ++++++++++++++++++ .../core/ui/sysopen/Bundle.properties | 6 +- .../core/ui/sysopen/SystemOpenAction.java | 127 -------- 6 files changed, 289 insertions(+), 232 deletions(-) delete mode 100644 platform/applemenu/src/org/netbeans/modules/applemenu/ShowInFinder.java create mode 100644 platform/core.ui/src/org/netbeans/core/ui/sysopen/AbstractOpenInAction.java delete mode 100644 platform/core.ui/src/org/netbeans/core/ui/sysopen/SystemOpenAction.java diff --git a/nbbuild/jms-config/desktop.flags b/nbbuild/jms-config/desktop.flags index b7700fb8c6b6..320f11f89a92 100644 --- a/nbbuild/jms-config/desktop.flags +++ b/nbbuild/jms-config/desktop.flags @@ -15,4 +15,3 @@ --add-exports=java.desktop/sun.swing=ALL-UNNAMED --add-exports=java.desktop/sun.awt.im=ALL-UNNAMED --add-exports=java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED ---add-exports=java.desktop/com.apple.eio=ALL-UNNAMED diff --git a/platform/applemenu/src/org/netbeans/modules/applemenu/Bundle.properties b/platform/applemenu/src/org/netbeans/modules/applemenu/Bundle.properties index 67d980400859..56c2f8eb91d8 100644 --- a/platform/applemenu/src/org/netbeans/modules/applemenu/Bundle.properties +++ b/platform/applemenu/src/org/netbeans/modules/applemenu/Bundle.properties @@ -24,8 +24,4 @@ OpenIDE-Module-Long-Description=Enables Apple menu items to work properly, \ and moves some standard menu items there - Tools | Options becomes \ Preferences, Help | About becomes about, File | Exit becomes Quit. - Toolbars/QuickSearch=&Quick Search - -CTL_ShowInFinder=Show In Finder -TXT_NoLocalFile=Cannot find selected file. diff --git a/platform/applemenu/src/org/netbeans/modules/applemenu/ShowInFinder.java b/platform/applemenu/src/org/netbeans/modules/applemenu/ShowInFinder.java deleted file mode 100644 index ee4ad67d8793..000000000000 --- a/platform/applemenu/src/org/netbeans/modules/applemenu/ShowInFinder.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.applemenu; - -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; -import java.io.File; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.openide.loaders.DataObject; - -import org.openide.awt.ActionRegistration; -import org.openide.awt.ActionReference; -import org.openide.awt.ActionReferences; -import org.openide.awt.ActionID; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.openide.util.NbBundle; -import org.openide.util.RequestProcessor; - -/** - * - * @author Tomas Zezula - */ -@ActionID(category = "Tools", -id = "org.netbeans.modules.applemenu.ShowInFinder") -@ActionRegistration(displayName = "#CTL_ShowInFinder") -@ActionReferences({ - @ActionReference(path = "UI/ToolActions/Files", position = 1001) -}) -public final class ShowInFinder implements ActionListener { - - private static final Logger LOG = Logger.getLogger(ShowInFinder.class.getName()); - - private final DataObject context; - - private static final RequestProcessor RP = new RequestProcessor( "ShowInFinder", 1 ); - - public ShowInFinder(DataObject context) { - this.context = context; - } - - @Override - public void actionPerformed(ActionEvent ev) { - RP.execute(new Runnable() { - @Override - public void run() { - FileObject fobj = context.getPrimaryFile(); - if (fobj == null) { - return; - } - LOG.log(Level.FINE, "Selected file: {0}", FileUtil.getFileDisplayName(fobj)); //NOI18N - if (FileUtil.getArchiveFile(fobj)!=null) { - fobj = FileUtil.getArchiveFile(fobj); - } - LOG.log(Level.FINE, "File to select in Finder: {0}", FileUtil.getFileDisplayName(fobj)); //NOI18N - final File file = FileUtil.toFile(fobj); - if (file == null) { - LOG.log(Level.INFO, "Ignoring non local file: {0}", FileUtil.getFileDisplayName(fobj)); //NOI18N - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage(ShowInFinder.class, "TXT_NoLocalFile")); //NOI18N - return; - } - try { - final Class fmClz = Class.forName("com.apple.eio.FileManager"); //NOI18N - final Method m = fmClz.getDeclaredMethod("revealInFinder", File.class); //NOI18N - m.invoke(null, file); - } catch (ClassNotFoundException e) { - LOG.log(Level.FINE, "Cannot load com.apple.eio.FileManager class."); //NOI18N - } catch (NoSuchMethodException e) { - LOG.log(Level.FINE, "No method revealInFinder(java.io.File) in the com.apple.eio.FileManager class."); //NOI18N - } catch (InvocationTargetException e) { - LOG.log(Level.FINE, "Cannot invoke method com.apple.eio.FileManager.revealInFinder(java.io.File)."); //NOI18N - } catch (IllegalAccessException e) { - LOG.log(Level.FINE, "The method com.apple.eio.FileManager.revealInFinder(java.io.File) is not accessible"); //NOI18N - } - } - }); - } -} diff --git a/platform/core.ui/src/org/netbeans/core/ui/sysopen/AbstractOpenInAction.java b/platform/core.ui/src/org/netbeans/core/ui/sysopen/AbstractOpenInAction.java new file mode 100644 index 000000000000..19c5806e6156 --- /dev/null +++ b/platform/core.ui/src/org/netbeans/core/ui/sysopen/AbstractOpenInAction.java @@ -0,0 +1,284 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.core.ui.sysopen; + +import java.awt.Desktop; +import java.awt.event.ActionEvent; +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.HashSet; +import java.util.Objects; +import java.util.Set; +import javax.swing.AbstractAction; +import javax.swing.Action; +import org.openide.awt.ActionID; +import org.openide.awt.ActionReference; +import org.openide.awt.ActionReferences; +import org.openide.awt.ActionRegistration; +import org.openide.awt.DynamicMenuContent; +import org.openide.awt.StatusDisplayer; +import org.openide.filesystems.FileObject; +import org.openide.filesystems.FileUtil; +import org.openide.loaders.DataObject; +import org.openide.loaders.DataObjectNotFoundException; +import org.openide.nodes.Node; +import org.openide.nodes.NodeOperation; +import org.openide.util.ContextAwareAction; +import org.openide.util.Exceptions; +import org.openide.util.Lookup; +import org.openide.util.LookupListener; +import org.openide.util.NbBundle; +import org.openide.util.RequestProcessor; +import org.openide.util.Utilities; +import org.openide.util.WeakListeners; + +/** + * Open the selected file(s) or their parents with the system default tool or + * as explorer tab. + */ +public abstract sealed class AbstractOpenInAction extends AbstractAction implements ContextAwareAction { + + private static final RequestProcessor RP = new RequestProcessor(AbstractOpenInAction.class); + + protected final Set files; + + protected AbstractOpenInAction(String name, Lookup context) { + super(name); + files = new HashSet<>(); + putValue(DynamicMenuContent.HIDE_WHEN_DISABLED, true); + Lookup.Result result = context.lookupResult(DataObject.class); + result.addLookupListener(WeakListeners.create(LookupListener.class, e -> updateFileSet(result), result)); + updateFileSet(result); + } + + private void updateFileSet(Lookup.Result result) { + files.clear(); + for (DataObject d : result.allInstances()) { + FileObject fob = d.getPrimaryFile(); + fob = Objects.requireNonNullElse(FileUtil.getArchiveFile(fob), fob); + File f = FileUtil.toFile(fob); + if (f != null && !isIgnoredFile(f)) { + files.add(f); + } + } + } + + private boolean isIgnoredFile(File file) { + if (Utilities.isWindows() && file.isFile() && !file.getName().contains(".")) { + /* #144575 */ + return true; + } + return file.getName().endsWith(".shadow"); + } + + protected void browse(FileObject fo) { + if (fo != null) { + try { + Node node = DataObject.find(fo).getNodeDelegate(); + if (node != null) { + NodeOperation.getDefault().explore(node); + } + } catch (DataObjectNotFoundException ex) { + Exceptions.printStackTrace(ex); + } + } + } + + @NbBundle.Messages({ + "# {0} - error message", + "MSG_OpenInSystemFailed=Open in System failed: {0}", + }) + protected void openInSystem(Set files) { + RP.post(() -> { + for (File f : files) { + try { + Desktop.getDesktop().open(f); + } catch (IOException ex) { + StatusDisplayer.getDefault().setStatusText( + Bundle.MSG_OpenInSystemFailed(ex.getLocalizedMessage()) + ); + } + } + }); + } + + protected void locateInSystem(Set files) { + RP.post(() -> { + for (File f : files) { + Desktop.getDesktop().browseFileDirectory(f); + } + }); + } + + protected boolean canOpenInSystem() { + return Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.OPEN); + } + + protected boolean canLocateInSystem() { + return Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE_FILE_DIR); + } + + @ActionID(id = "org.netbeans.core.ui.sysopen.OpenInSystemAction", category = "Edit") + @ActionRegistration(displayName = "#CTL_OpenInSystemAction", lazy = false) + @ActionReferences ({ + @ActionReference(path = "Editors/TabActions", position = 405), + @ActionReference(path = "UI/ToolActions/Files", position = 2045), + @ActionReference(path = "Projects/Actions", position = 101), + @ActionReference(path = "Shortcuts", name = "SO-S") + }) + public final static class OpenInSystemAction extends AbstractOpenInAction { + + public OpenInSystemAction() { + this(Utilities.actionsGlobalContext()); + } + + public OpenInSystemAction(Lookup context) { + super(NbBundle.getMessage(AbstractOpenInAction.class, "CTL_OpenInSystemAction"), context); + } + + @Override + public Action createContextAwareInstance(Lookup context) { + return new OpenInSystemAction(context); + } + + @Override + public void actionPerformed(ActionEvent e) { + openInSystem(files); + } + + @Override + public boolean isEnabled() { + return !files.isEmpty() && canOpenInSystem(); + } + } + + /// Given /tmp/foo.txt, this action will open /tmp/ and optionally select foo.txt within + /// the OS specific file explorer if supported by the JDK + @ActionID(id = "org.netbeans.core.ui.sysopen.OpenParentInSystemAction", category = "Edit") + @ActionRegistration(displayName = "#CTL_OpenParentInSystemAction", lazy = false) + @ActionReferences ({ + @ActionReference(path = "Editors/TabActions", position = 410), + @ActionReference(path = "UI/ToolActions/Files", position = 2046), + @ActionReference(path = "Projects/Actions", position = 102), + @ActionReference(path = "Shortcuts", name = "DO-S") + }) + public final static class OpenParentInSystemAction extends AbstractOpenInAction { + + public OpenParentInSystemAction() { + this(Utilities.actionsGlobalContext()); + } + + public OpenParentInSystemAction(Lookup context) { + super(NbBundle.getMessage(AbstractOpenInAction.class, "CTL_OpenParentInSystemAction"), context); + } + + @Override + public Action createContextAwareInstance(Lookup context) { + return new OpenParentInSystemAction(context); + } + + @Override + public void actionPerformed(ActionEvent e) { + if (canLocateInSystem()) { + locateInSystem(Set.of(files.iterator().next())); + } else { + openInSystem(Set.of(files.iterator().next().getParentFile())); + } + } + + @Override + public boolean isEnabled() { + return files.size() == 1 && files.iterator().next().getParent() != null && canOpenInSystem(); + } + } + + @ActionID(id = "org.netbeans.core.ui.sysopen.OpenInTabAction", category = "Edit") + @ActionRegistration(displayName = "#CTL_OpenInTabAction", lazy = false) + @ActionReferences ({ + @ActionReference(path = "Editors/TabActions", position = 415), + @ActionReference(path = "UI/ToolActions/Files", position = 2047), +// @ActionReference(path = "Projects/Actions", position = 103) + }) + public final static class OpenInTabAction extends AbstractOpenInAction { + + public OpenInTabAction() { + this(Utilities.actionsGlobalContext()); + } + + public OpenInTabAction(Lookup context) { + super(NbBundle.getMessage(AbstractOpenInAction.class, "CTL_OpenInTabAction"), context); + } + + @Override + public Action createContextAwareInstance(Lookup context) { + return new OpenInTabAction(context); + } + + @Override + public void actionPerformed(ActionEvent e) { + browse(FileUtil.toFileObject(files.iterator().next())); + } + + @Override + public boolean isEnabled() { + if (files.size() == 1) { + File file = files.iterator().next(); + try { + return file.isDirectory() || FileUtil.isArchiveFile(Utilities.toURI(file).toURL()); + } catch (MalformedURLException ignore) {} + } + return false; + } + } + + @ActionID(id = "org.netbeans.core.ui.sysopen.OpenParentInTabAction", category = "Edit") + @ActionRegistration(displayName = "#CTL_OpenParentInTabAction", lazy = false) + @ActionReferences ({ + @ActionReference(path = "Editors/TabActions", position = 420), + @ActionReference(path = "UI/ToolActions/Files", position = 2048), + @ActionReference(path = "Projects/Actions", position = 104) + }) + public final static class OpenParentInTabAction extends AbstractOpenInAction { + + public OpenParentInTabAction() { + this(Utilities.actionsGlobalContext()); + } + + public OpenParentInTabAction(Lookup context) { + super(NbBundle.getMessage(AbstractOpenInAction.class, "CTL_OpenParentInTabAction"), context); + } + + @Override + public Action createContextAwareInstance(Lookup context) { + return new OpenParentInTabAction(context); + } + + @Override + public void actionPerformed(ActionEvent e) { + browse(FileUtil.toFileObject(files.iterator().next().getParentFile())); + } + + @Override + public boolean isEnabled() { + return files.size() == 1 && files.iterator().next().getParent() != null; + } + } + +} diff --git a/platform/core.ui/src/org/netbeans/core/ui/sysopen/Bundle.properties b/platform/core.ui/src/org/netbeans/core/ui/sysopen/Bundle.properties index d33f167a2d8d..8cbdc5ae1501 100644 --- a/platform/core.ui/src/org/netbeans/core/ui/sysopen/Bundle.properties +++ b/platform/core.ui/src/org/netbeans/core/ui/sysopen/Bundle.properties @@ -15,4 +15,8 @@ # specific language governing permissions and limitations # under the License. -CTL_SystemOpenAction=Open in System +CTL_OpenInSystemAction=Open in System +CTL_OpenParentInSystemAction=Locate in System + +CTL_OpenInTabAction=Open as Tab +CTL_OpenParentInTabAction=Open Parent as Tab diff --git a/platform/core.ui/src/org/netbeans/core/ui/sysopen/SystemOpenAction.java b/platform/core.ui/src/org/netbeans/core/ui/sysopen/SystemOpenAction.java deleted file mode 100644 index d24272f9821a..000000000000 --- a/platform/core.ui/src/org/netbeans/core/ui/sysopen/SystemOpenAction.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.core.ui.sysopen; - -import java.awt.Desktop; -import java.awt.event.ActionEvent; -import java.io.File; -import java.io.IOException; -import java.util.HashSet; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.swing.AbstractAction; -import javax.swing.Action; -import org.openide.awt.ActionID; -import org.openide.awt.ActionReference; -import org.openide.awt.ActionReferences; -import org.openide.awt.ActionRegistration; -import org.openide.awt.DynamicMenuContent; -import org.openide.filesystems.FileUtil; -import org.openide.loaders.DataObject; -import org.openide.util.ContextAwareAction; -import org.openide.util.Lookup; -import org.openide.util.LookupListener; -import org.openide.util.NbBundle; -import org.openide.util.RequestProcessor; -import org.openide.util.Utilities; -import org.openide.util.WeakListeners; - -/** - * Open the selected file(s) with the system default tool. - * @author Jesse Glick - */ -@ActionID(id = "org.netbeans.core.ui.sysopen.SystemOpenAction", category = "Edit") -@ActionRegistration(displayName = "#CTL_SystemOpenAction", lazy=false) -@ActionReferences ({ - @ActionReference(path = "Editors/TabActions", position = 401), - @ActionReference(path = "UI/ToolActions/Files", position = 2045), - @ActionReference(path = "Projects/Actions", position = 101), - @ActionReference(path = "Shortcuts", name = "SO-S") -}) -public final class SystemOpenAction extends AbstractAction implements ContextAwareAction { - - private static final RequestProcessor PROC = new RequestProcessor(SystemOpenAction.class); - - private final Lookup.Result result; - private final LookupListener resultListener; - private final Set files; - - public SystemOpenAction() { - this(Utilities.actionsGlobalContext()); - } - - private SystemOpenAction(Lookup context) { - super(NbBundle.getMessage(SystemOpenAction.class, "CTL_SystemOpenAction")); - putValue(DynamicMenuContent.HIDE_WHEN_DISABLED, true); - result = context.lookupResult(DataObject.class); - resultListener = e -> updateFileSet(); - result.addLookupListener(WeakListeners.create(LookupListener.class, resultListener, result)); - files = new HashSet<>(); - updateFileSet(); - } - - @Override - public void actionPerformed(ActionEvent e) { - PROC.post(() -> { // #176879: asynch - Desktop desktop = Desktop.getDesktop(); - for (File f : files) { - try { - desktop.open(f); - } catch (IOException x) { - Logger.getLogger(SystemOpenAction.class.getName()).log(Level.INFO, null, x); - // XXX or perhaps notify user of problem; but not very useful on Unix at least (#6940853) - } - } - }); - } - - @Override - public Action createContextAwareInstance(Lookup context) { - return new SystemOpenAction(context); - } - - @Override - public boolean isEnabled() { - return !files.isEmpty() && Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.OPEN); - } - - private void updateFileSet() { - files.clear(); - for (DataObject d : result.allInstances()) { - File f = FileUtil.toFile(d.getPrimaryFile()); - if (f == null || isIgnoredFile(f)) { - continue; - } - files.add(f); - } - } - - private boolean isIgnoredFile(File f) { - if (Utilities.isWindows() && f.isFile() && !f.getName().contains(".")) { - /* #144575 */ - return true; - } - if (f.getName().endsWith(".shadow")) { - return true; - } - return false; - } - -} From eb5237e6cf9dd518cedcd0c0abb75a9d01de4a1e Mon Sep 17 00:00:00 2001 From: Bogdan Haidu Date: Fri, 27 Feb 2026 20:01:49 +0200 Subject: [PATCH 35/74] markdown document preview improvements Closes #6652 - bump java release version to 17 - custom


tag renderer - added flexmark strikethrough extension - update vscode regex for striketrhough detection - updated mime type to the latest official text/markdown - created new mime type for preview - using a default skeleton css code for margin, paddings ... - added font configs for markdown preview - link coloring and font size customization css to font config settings --- .../nbproject/project.xml | 1 + ide/libs.flexmark/external/binaries-list | 1 + .../external/flexmark-0.64.8-license.txt | 2 +- ide/libs.flexmark/manifest.mf | 2 +- .../nbproject/project.properties | 1 + ide/libs.flexmark/nbproject/project.xml | 4 + ide/markdown/licenseinfo.xml | 7 +- ide/markdown/manifest.mf | 1 + ide/markdown/nbproject/project.xml | 27 +++ .../modules/markdown/MarkdownDataObject.java | 6 +- .../markdown/MarkdownViewerElement.java | 56 +++++- .../modules/markdown/markdown.tmLanguage.json | 4 +- .../markdown/resources/Bundle.properties | 33 ++++ .../modules/markdown/resources/Coloring.md | 7 + .../resources/FontAndColors-bluetheme.xml | 50 +++++ .../resources/FontAndColors-citylights.xml | 50 +++++ .../resources/FontAndColors-earth.xml | 50 +++++ .../resources/FontAndColors-flatlafdark.xml | 50 +++++ .../markdown/resources/FontAndColors.xml | 50 +++++ .../modules/markdown/resources/layer.xml | 82 +++++++++ .../ui/preview/MarkdownEditorKit.java | 29 ++- .../ui/preview/views/HorizontalRuleView.java | 55 ++++++ .../ui/preview/views/MarkdownViewFactory.java | 3 +- .../modules/markdown/utils/Bundle.properties | 27 +++ .../modules/markdown/utils/StyleUtils.java | 174 ++++++++++++++++++ 25 files changed, 756 insertions(+), 16 deletions(-) create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/resources/Bundle.properties create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/resources/Coloring.md create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-bluetheme.xml create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-citylights.xml create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-earth.xml create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-flatlafdark.xml create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors.xml create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/ui/preview/views/HorizontalRuleView.java create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/utils/Bundle.properties create mode 100644 ide/markdown/src/org/netbeans/modules/markdown/utils/StyleUtils.java diff --git a/ide/editor.settings.storage/nbproject/project.xml b/ide/editor.settings.storage/nbproject/project.xml index 83a372138070..762c7fc295de 100644 --- a/ide/editor.settings.storage/nbproject/project.xml +++ b/ide/editor.settings.storage/nbproject/project.xml @@ -175,6 +175,7 @@ org.netbeans.modules.gsf org.netbeans.modules.jvi org.netbeans.modules.languages + org.netbeans.modules.markdown org.netbeans.modules.options.editor org.netbeans.modules.editor.fold org.netbeans.modules.editor.fold.nbui diff --git a/ide/libs.flexmark/external/binaries-list b/ide/libs.flexmark/external/binaries-list index 76b2667dc273..9fba964a4608 100644 --- a/ide/libs.flexmark/external/binaries-list +++ b/ide/libs.flexmark/external/binaries-list @@ -30,4 +30,5 @@ A3F92ABD0ACBB4D1F12DFD3D6128F73D245D6BA9 com.vladsch.flexmark:flexmark-util-data 985913246DF64FE7E768EB0664B45DEDEA7536CF com.vladsch.flexmark:flexmark-util-sequence:0.64.8 A8178BA6DFD7A958353A60B3A51FE7EDB1578B49 com.vladsch.flexmark:flexmark-util-visitor:0.64.8 4ADC75ADA3D870908BDBFFB76650D19305250D3C com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.64.8 +1851E124C6D85C5C7F3FDBBE066D30A76AD6BE44 com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.64.8 CD56EB47DCD4590EF6451F87E5EC33BDDD1A9A51 org.jsoup:jsoup:1.15.4 diff --git a/ide/libs.flexmark/external/flexmark-0.64.8-license.txt b/ide/libs.flexmark/external/flexmark-0.64.8-license.txt index 454986f6a8b7..3613e9233a19 100644 --- a/ide/libs.flexmark/external/flexmark-0.64.8-license.txt +++ b/ide/libs.flexmark/external/flexmark-0.64.8-license.txt @@ -3,7 +3,7 @@ Version: 0.64.8 License: BSD-flexmark Description: FlexMark library Origin: https://github.com/vsch/flexmark-java -Files: flexmark-0.64.8.jar flexmark-ext-anchorlink-0.64.8.jar flexmark-ext-emoji-0.64.8.jar flexmark-ext-tables-0.64.8.jar flexmark-html2md-converter-0.64.8.jar flexmark-util-ast-0.64.8.jar flexmark-util-builder-0.64.8.jar flexmark-util-collection-0.64.8.jar flexmark-util-data-0.64.8.jar flexmark-util-dependency-0.64.8.jar flexmark-util-format-0.64.8.jar flexmark-util-html-0.64.8.jar flexmark-util-misc-0.64.8.jar flexmark-util-sequence-0.64.8.jar flexmark-util-visitor-0.64.8.jar flexmark-ext-gfm-tasklist-0.64.8.jar +Files: flexmark-0.64.8.jar flexmark-ext-anchorlink-0.64.8.jar flexmark-ext-emoji-0.64.8.jar flexmark-ext-tables-0.64.8.jar flexmark-html2md-converter-0.64.8.jar flexmark-util-ast-0.64.8.jar flexmark-util-builder-0.64.8.jar flexmark-util-collection-0.64.8.jar flexmark-util-data-0.64.8.jar flexmark-util-dependency-0.64.8.jar flexmark-util-format-0.64.8.jar flexmark-util-html-0.64.8.jar flexmark-util-misc-0.64.8.jar flexmark-util-sequence-0.64.8.jar flexmark-util-visitor-0.64.8.jar flexmark-ext-gfm-tasklist-0.64.8.jar flexmark-ext-gfm-strikethrough-0.64.8.jar Copyright (c) 2015-2016, Atlassian Pty Ltd All rights reserved. diff --git a/ide/libs.flexmark/manifest.mf b/ide/libs.flexmark/manifest.mf index 4f6866796a25..78acbb9fc942 100644 --- a/ide/libs.flexmark/manifest.mf +++ b/ide/libs.flexmark/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.flexmark OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/flexmark/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 diff --git a/ide/libs.flexmark/nbproject/project.properties b/ide/libs.flexmark/nbproject/project.properties index a5b37dfe8353..3eaf3b253be5 100644 --- a/ide/libs.flexmark/nbproject/project.properties +++ b/ide/libs.flexmark/nbproject/project.properties @@ -33,6 +33,7 @@ release.external/flexmark-ext-emoji-0.64.8.jar=modules/ext/flexmark-ext-emoji-0. release.external/flexmark-ext-anchorlink-0.64.8.jar=modules/ext/flexmark-ext-anchorlink-0.64.8.jar release.external/flexmark-ext-tables-0.64.8.jar=modules/ext/flexmark-ext-tables-0.64.8.jar release.external/flexmark-ext-gfm-tasklist-0.64.8.jar=modules/ext/flexmark-ext-gfm-tasklist-0.64.8.jar +release.external/flexmark-ext-gfm-strikethrough-0.64.8.jar=modules/ext/flexmark-ext-gfm-strikethrough-0.64.8.jar release.external/jsoup-1.15.4.jar=modules/ext/jsoup-1.15.4.jar # Sigtest seems to have issues with some Java 11 class files, better to disable it. diff --git a/ide/libs.flexmark/nbproject/project.xml b/ide/libs.flexmark/nbproject/project.xml index d2d8e0ca6227..41103fefe664 100644 --- a/ide/libs.flexmark/nbproject/project.xml +++ b/ide/libs.flexmark/nbproject/project.xml @@ -97,6 +97,10 @@ ext/flexmark-ext-gfm-tasklist-0.64.8.jar external/flexmark-ext-gfm-tasklist-0.64.8.jar + + ext/flexmark-ext-gfm-strikethrough-0.64.8.jar + external/flexmark-ext-gfm-strikethrough-0.64.8.jar +
diff --git a/ide/markdown/licenseinfo.xml b/ide/markdown/licenseinfo.xml index 0c60cbe82bf3..775ccedd758d 100644 --- a/ide/markdown/licenseinfo.xml +++ b/ide/markdown/licenseinfo.xml @@ -34,5 +34,10 @@ src/org/netbeans/modules/markdown/resources/Template.md - + + + src/org/netbeans/modules/markdown/resources/Coloring.md + + + diff --git a/ide/markdown/manifest.mf b/ide/markdown/manifest.mf index fe00e45399b8..44aa92cd5218 100644 --- a/ide/markdown/manifest.mf +++ b/ide/markdown/manifest.mf @@ -1,6 +1,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.markdown +OpenIDE-Module-Layer: org/netbeans/modules/markdown/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/markdown/Bundle.properties OpenIDE-Module-Specification-Version: 1.20 diff --git a/ide/markdown/nbproject/project.xml b/ide/markdown/nbproject/project.xml index 2634c03dc1fd..ab3649a59c34 100644 --- a/ide/markdown/nbproject/project.xml +++ b/ide/markdown/nbproject/project.xml @@ -50,6 +50,33 @@ 1.15
+ + org.netbeans.modules.editor.mimelookup + + + + 1 + 1.72 + + + + org.netbeans.modules.editor.settings + + + + 1 + 1.89 + + + + org.netbeans.modules.editor.settings.storage + + + + 1 + 1.84 + + org.netbeans.modules.textmate.lexer diff --git a/ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java b/ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java index 8629433abec4..a536cf30696a 100644 --- a/ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java +++ b/ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java @@ -105,11 +105,11 @@ @GrammarRegistration(mimeType=MarkdownDataObject.MIME_TYPE, grammar="markdown.tmLanguage.json") public class MarkdownDataObject extends MultiDataObject { - public static final String MIME_TYPE = "text/x-markdown-nb"; + public static final String MIME_TYPE = "text/markdown"; public MarkdownDataObject(FileObject pf, MultiFileLoader loader) throws DataObjectExistsException, IOException { super(pf, loader); - registerEditor("text/x-markdown", true); + registerEditor(MIME_TYPE, true); } @Override @@ -120,7 +120,7 @@ protected int associateLookup() { @MultiViewElement.Registration( displayName = "#LBL_Markdown_EDITOR", iconBase = "org/netbeans/modules/markdown/markdown.png", - mimeType = "text/x-markdown", + mimeType = "text/markdown", persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED, preferredID = "Markdown", position = 1000 diff --git a/ide/markdown/src/org/netbeans/modules/markdown/MarkdownViewerElement.java b/ide/markdown/src/org/netbeans/modules/markdown/MarkdownViewerElement.java index db65b2a5d9e9..d4d07fa525cd 100644 --- a/ide/markdown/src/org/netbeans/modules/markdown/MarkdownViewerElement.java +++ b/ide/markdown/src/org/netbeans/modules/markdown/MarkdownViewerElement.java @@ -19,6 +19,7 @@ package org.netbeans.modules.markdown; import com.vladsch.flexmark.ext.anchorlink.AnchorLinkExtension; +import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughExtension; import com.vladsch.flexmark.ext.gfm.tasklist.TaskListExtension; import com.vladsch.flexmark.ext.tables.TablesExtension; import com.vladsch.flexmark.html.HtmlRenderer; @@ -26,7 +27,10 @@ import com.vladsch.flexmark.util.data.DataHolder; import com.vladsch.flexmark.util.data.MutableDataSet; import java.awt.BorderLayout; +import java.awt.Cursor; import java.awt.Rectangle; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.io.IOException; import java.io.Reader; import java.io.StringReader; @@ -49,6 +53,8 @@ import org.netbeans.core.spi.multiview.CloseOperationState; import org.netbeans.core.spi.multiview.MultiViewElement; import org.netbeans.core.spi.multiview.MultiViewElementCallback; +import org.netbeans.modules.editor.settings.storage.api.EditorSettings; +import static org.netbeans.modules.markdown.MarkdownDataObject.MIME_TYPE; import org.netbeans.modules.markdown.ui.preview.MarkdownEditorKit; import org.openide.awt.HtmlBrowser; import org.openide.awt.UndoRedo; @@ -62,16 +68,18 @@ import org.openide.util.NbBundle.Messages; import org.openide.util.RequestProcessor; import org.openide.util.RequestProcessor.Task; +import org.openide.util.WeakListeners; import org.openide.windows.TopComponent; /** * * @author lkishalmi */ + @MultiViewElement.Registration( displayName = "#LBL_MarkdownViewer", iconBase = "org/netbeans/modules/markdown/markdown.png", - mimeType = "text/x-markdown", + mimeType = MIME_TYPE, persistenceType = TopComponent.PERSISTENCE_NEVER, preferredID = "MarkdownViewer", position = 2000 @@ -79,6 +87,7 @@ @Messages("LBL_MarkdownViewer=Preview") public class MarkdownViewerElement implements MultiViewElement { + public static final String MIME_TYPE_PREVIEW = "text/x-markdown-nb-preview"; private static final Logger LOG = Logger.getLogger(MarkdownViewerElement.class.getName()); private static final RequestProcessor RP = new RequestProcessor(MarkdownViewerElement.class); private static final int UPDATE_DELAY = 500; @@ -94,16 +103,17 @@ public class MarkdownViewerElement implements MultiViewElement { .set(Parser.EXTENSIONS, Arrays.asList( AnchorLinkExtension.create(), TablesExtension.create(), - TaskListExtension.create() + TaskListExtension.create(), + StrikethroughExtension.create() )) .set(HtmlRenderer.INDENT_SIZE, 2) .set(HtmlRenderer.RENDER_HEADER_ID, true) - .set(HtmlRenderer.FENCED_CODE_LANGUAGE_CLASS_PREFIX, "") + .set(HtmlRenderer.FENCED_CODE_LANGUAGE_CLASS_PREFIX, "") //NOI18N // JEditorPane search for the name attribute .set(AnchorLinkExtension.ANCHORLINKS_SET_NAME, true) .set(AnchorLinkExtension.ANCHORLINKS_SET_ID, false) - .set(AnchorLinkExtension.ANCHORLINKS_ANCHOR_CLASS, "") - .set(AnchorLinkExtension.ANCHORLINKS_TEXT_PREFIX, "") + .set(AnchorLinkExtension.ANCHORLINKS_ANCHOR_CLASS, "") //NOI18N + .set(AnchorLinkExtension.ANCHORLINKS_TEXT_PREFIX, "") //NOI18N // Make the table generation SWING Friendly .set(TablesExtension.COLUMN_SPANS, false) .set(TablesExtension.MIN_HEADER_ROWS, 1) @@ -111,6 +121,9 @@ public class MarkdownViewerElement implements MultiViewElement { .set(TablesExtension.APPEND_MISSING_COLUMNS, true) .set(TablesExtension.DISCARD_EXTRA_COLUMNS, true) .set(TablesExtension.HEADER_SEPARATOR_COLUMN_MATCH, true) + // Strikethrough change from del to s tag + .set(StrikethroughExtension.STRIKETHROUGH_STYLE_HTML_OPEN, "") //NOI18N + .set(StrikethroughExtension.STRIKETHROUGH_STYLE_HTML_CLOSE, "") //NOI18N .toImmutable(); final Parser parser = Parser.builder(OPTIONS).build(); @@ -134,8 +147,12 @@ public void changedUpdate(DocumentEvent e) { }; private final Task updater = RP.create(MarkdownViewerElement.this::updateView); + private StyledDocument source; + //Font config update listener + private final PropertyChangeListener pcl = this::colorProfileChange; + public MarkdownViewerElement(Lookup lookup) { dataObject = lookup.lookup(MarkdownDataObject.class); } @@ -143,10 +160,13 @@ public MarkdownViewerElement(Lookup lookup) { @Override public JComponent getVisualRepresentation() { if (component == null) { + EditorSettings.getDefault().addPropertyChangeListener(WeakListeners.propertyChange(pcl, this)); viewer = new JEditorPane(); viewer.setEditorKit(new MarkdownEditorKit()); viewer.setEditable(false); viewer.addHyperlinkListener(this::linkHandler); + Cursor textCursor = Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR); + viewer.setCursor(textCursor); JPanel panel = new JPanel(new BorderLayout()); panel.add(new JScrollPane(viewer), BorderLayout.CENTER); @@ -250,7 +270,6 @@ public void updateView() { kit.read(htmlReader, doc, 0); viewer.scrollRectToVisible(vis); - } catch (IOException ex) { viewer.setText(Bundle.TXT_MarkdownViewerElement_Error()); LOG.log(Level.WARNING, "Could not parse markdown!", ex); //NOI18N @@ -289,4 +308,29 @@ private void linkHandler(HyperlinkEvent evt) { } } } + + /** + * redraw document if profile changes or font setting changes + * @param evt + */ + public void colorProfileChange(PropertyChangeEvent evt) { + if (viewer == null) { + return; + } + + String newValue = evt.getNewValue() instanceof String value ? value : ""; // NOI18N + boolean fontChanged = false; + //patch for triggering font update + if ("fontColors".equals(evt.getPropertyName()) // NOI18N + && evt.getOldValue() != null + && !newValue.startsWith("test") // NOI18N + ) { + fontChanged = true; + } + + if (fontChanged || EditorSettings.PROP_CURRENT_FONT_COLOR_PROFILE.equals(evt.getPropertyName())) { + viewer.setEditorKit(new MarkdownEditorKit()); + updateView(); + } + } } diff --git a/ide/markdown/src/org/netbeans/modules/markdown/markdown.tmLanguage.json b/ide/markdown/src/org/netbeans/modules/markdown/markdown.tmLanguage.json index 463a3fbbbdec..f28917c770af 100644 --- a/ide/markdown/src/org/netbeans/modules/markdown/markdown.tmLanguage.json +++ b/ide/markdown/src/org/netbeans/modules/markdown/markdown.tmLanguage.json @@ -4,7 +4,7 @@ "If you want to provide a fix or improvement, please create a pull request against the original repository.", "Once accepted there, we are happy to receive an update request." ], - "version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/7418dd20d76c72e82fadee2909e03239e9973b35", + "version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/548ccb91ef58ba40ac745b400d889933ccd5eb4d", "name": "Markdown", "scopeName": "text.html.markdown", "patterns": [ @@ -3084,7 +3084,7 @@ "name": "punctuation.definition.strikethrough.markdown" } }, - "match": "(? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-citylights.xml b/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-citylights.xml new file mode 100644 index 000000000000..452c9a83dbaf --- /dev/null +++ b/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-citylights.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-earth.xml b/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-earth.xml new file mode 100644 index 000000000000..452c9a83dbaf --- /dev/null +++ b/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-earth.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-flatlafdark.xml b/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-flatlafdark.xml new file mode 100644 index 000000000000..2501c4055114 --- /dev/null +++ b/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors-flatlafdark.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors.xml b/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors.xml new file mode 100644 index 000000000000..5aad74897724 --- /dev/null +++ b/ide/markdown/src/org/netbeans/modules/markdown/resources/FontAndColors.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml b/ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml new file mode 100644 index 000000000000..ce8cd46c12c5 --- /dev/null +++ b/ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/MarkdownEditorKit.java b/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/MarkdownEditorKit.java index cf6523fb06f5..f0b1242d9655 100644 --- a/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/MarkdownEditorKit.java +++ b/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/MarkdownEditorKit.java @@ -18,9 +18,13 @@ */ package org.netbeans.modules.markdown.ui.preview; +import javax.swing.text.Document; import org.netbeans.modules.markdown.ui.preview.views.MarkdownViewFactory; import javax.swing.text.ViewFactory; +import javax.swing.text.html.HTMLDocument; import javax.swing.text.html.HTMLEditorKit; +import javax.swing.text.html.StyleSheet; +import org.netbeans.modules.markdown.utils.StyleUtils; /** * @@ -29,14 +33,37 @@ public class MarkdownEditorKit extends HTMLEditorKit { private final transient ViewFactory viewFactory; - + public MarkdownEditorKit() { super(); this.viewFactory = new MarkdownViewFactory(); } + /** + * copy/paste from the original HTMLEditorKit method but with custom styling overriding + * @see HTMLEditorKit.createDefaultDocument + * + * @return + */ + @Override + public Document createDefaultDocument() { + StyleSheet styles = getStyleSheet(); + StyleSheet ss = new StyleSheet(); + + //default style override + ss.addStyleSheet(styles); + StyleUtils.addNbSyles(ss); + + HTMLDocument doc = new HTMLDocument(ss); + doc.setParser(getParser()); + doc.setAsynchronousLoadPriority(4); + doc.setTokenThreshold(100); + return doc; + } + @Override public ViewFactory getViewFactory() { return viewFactory; } + } diff --git a/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/views/HorizontalRuleView.java b/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/views/HorizontalRuleView.java new file mode 100644 index 000000000000..bbc27641886c --- /dev/null +++ b/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/views/HorizontalRuleView.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.markdown.ui.preview.views; + +import java.awt.Color; +import java.awt.Component; +import java.awt.GridLayout; +import javax.swing.BorderFactory; +import javax.swing.JPanel; +import javax.swing.JSeparator; +import javax.swing.border.EmptyBorder; +import javax.swing.text.ComponentView; +import javax.swing.text.Element; + +/** + * + * hr tags don't have any customization from CSS using swing html renderer + * + * Render patch to have controlled display + */ +public class HorizontalRuleView extends ComponentView { + + public HorizontalRuleView(Element elem) { + super(elem); + } + + @Override + protected Component createComponent() { + JPanel panel = new JPanel(); + panel.setOpaque(false); + JSeparator component = new JSeparator(); + component.setOrientation(HORIZONTAL); + component.setBorder(BorderFactory.createLineBorder(new Color(209, 217, 224), 2)); + panel.add(component); + panel.setBorder(new EmptyBorder(20, 0, 20, 0)); + panel.setLayout(new GridLayout(0,1)); + return panel; + } +} diff --git a/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/views/MarkdownViewFactory.java b/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/views/MarkdownViewFactory.java index a1c426e88b99..5d92a0bec9fb 100644 --- a/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/views/MarkdownViewFactory.java +++ b/ide/markdown/src/org/netbeans/modules/markdown/ui/preview/views/MarkdownViewFactory.java @@ -38,9 +38,10 @@ public class MarkdownViewFactory extends HTMLEditorKit.HTMLFactory { @Override public View create(Element elem) { - if (isElementOfTag(elem, HTML.Tag.INPUT)) { return new CheckboxView(elem); + } else if (isElementOfTag(elem, HTML.Tag.HR)) { + return new HorizontalRuleView(elem); } return super.create(elem); diff --git a/ide/markdown/src/org/netbeans/modules/markdown/utils/Bundle.properties b/ide/markdown/src/org/netbeans/modules/markdown/utils/Bundle.properties new file mode 100644 index 000000000000..fdd2c1d3ff1f --- /dev/null +++ b/ide/markdown/src/org/netbeans/modules/markdown/utils/Bundle.properties @@ -0,0 +1,27 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +CSS_DEFAULT=body {padding:10px 25px;}\ +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {font-size:inherit;}\ +ul, li ul {margin-left: 20px;margin-bottom: 0px;}\ +li {margin-bottom: 3px;padding-left:5px;}\ +table {border-spacing:0;}\ +th, td {border:1px solid rgb(209, 217, 224); padding:10px;}\ +code {padding:2px 0px;}\ +pre {padding:16px;margin-bottom:10px;}\ +blockquote {padding: 0 16px; margin: 0px; margin-bottom:10px; border-left: 2px solid rgb(209, 217, 224);}\ +li blockquote {margin-bottom: 0px;} table {margin-top:6px;margin-bottom:6px;} \ No newline at end of file diff --git a/ide/markdown/src/org/netbeans/modules/markdown/utils/StyleUtils.java b/ide/markdown/src/org/netbeans/modules/markdown/utils/StyleUtils.java new file mode 100644 index 000000000000..e23d07ec505e --- /dev/null +++ b/ide/markdown/src/org/netbeans/modules/markdown/utils/StyleUtils.java @@ -0,0 +1,174 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.markdown.utils; + +import java.awt.Color; +import java.util.Iterator; +import java.util.Map; +import javax.swing.text.AttributeSet; +import javax.swing.text.StyleConstants; +import javax.swing.text.html.StyleSheet; +import org.netbeans.api.editor.mimelookup.MimeLookup; +import org.netbeans.api.editor.mimelookup.MimePath; +import org.netbeans.modules.editor.settings.storage.api.EditorSettings; +import org.netbeans.api.editor.settings.FontColorSettings; +import org.netbeans.modules.editor.settings.storage.api.FontColorSettingsFactory; +import static org.netbeans.modules.markdown.MarkdownViewerElement.MIME_TYPE_PREVIEW; +import org.openide.util.NbBundle; + +/** + * + * @author bhaidu + */ +public class StyleUtils { + + private static final Map fontConfig2tagMapping = Map.ofEntries( + Map.entry("anchor", "a"), // NOI18N + Map.entry("body", "body"), // NOI18N + Map.entry("code", "code"), // NOI18N + Map.entry("pre", "pre"), // NOI18N + Map.entry("blockquote", "blockquote p"), // NOI18N + Map.entry("heading1", "h1, h1 a"), // NOI18N + Map.entry("heading2", "h2, h2 a"), // NOI18N + Map.entry("heading3", "h3, h3 a"), // NOI18N + Map.entry("heading4", "h4, h4 a"), // NOI18N + Map.entry("heading5", "h5, h5 a"), // NOI18N + Map.entry("heading6", "h6, h6 a") // NOI18N + ); + + public static void addNbSyles(StyleSheet ss) { + + //main css + appendDefaultMarkdownCssRules(ss); + + //coloring & font settings + appendColoringCssRulesFromFontConfigs(ss); + } + + public static void addRule(StyleSheet ss, AttributeSet attributeSet, AttributeSet defaultAttributes) { + String nameAttr = (String) attributeSet.getAttribute(StyleConstants.NameAttribute); + + String htmlTag = fontConfig2tagMapping.get(nameAttr); + + if (htmlTag == null) { + return; + } + + StringBuilder cssRule = new StringBuilder(); + cssRule.append(htmlTag); + cssRule.append(" {"); // NOI18N + cssRule.append(rgbStyling("color", getThemeColor(attributeSet, defaultAttributes, StyleConstants.ColorConstants.Foreground))); // NOI18N + cssRule.append(rgbStyling("background-color", getThemeColor(attributeSet, defaultAttributes, StyleConstants.ColorConstants.Background))); // NOI18N + cssRule.append(fontSizeStyling(getFontSize(attributeSet))); + cssRule.append(fontStyling("font-family", getFontStyleConfig(attributeSet, StyleConstants.ColorConstants.FontFamily))); + cssRule.append("}"); // NOI18N + ss.addRule(cssRule.toString()); + } + + public static Color getThemeColor(AttributeSet attributeSet, AttributeSet defaultAttributes, Object constant) { + Color color = (Color) attributeSet.getAttribute(constant); + if (color == null && defaultAttributes != null) { + color = (Color) defaultAttributes.getAttribute(constant); + } + return color; + } + + public static int getFontSize(AttributeSet attributeSet) { + Object fontSizeConfig = attributeSet.getAttribute(StyleConstants.ColorConstants.FontSize); + if (fontSizeConfig == null) { + return 0; + } + int fontSize = (int) fontSizeConfig; + return fontSize; + } + + public static String rgbStyling(String property, Color color) { + if (color == null) { + return ""; // NOI18N + } + + StringBuilder cssRule = new StringBuilder(); + cssRule.append(property); + cssRule.append(":rgb("); // NOI18N + cssRule.append(color.getRed()); + cssRule.append(","); // NOI18N + cssRule.append(color.getGreen()); + cssRule.append(","); // NOI18N + cssRule.append(color.getBlue()); + cssRule.append(");"); // NOI18N + return cssRule.toString(); + } + + public static String fontSizeStyling(int size) { + if (size == 0 ) { + return ""; + } + + StringBuilder cssRule = new StringBuilder(); + cssRule.append("font-size:"); // NOI18N + cssRule.append(Integer.toString(size)); + cssRule.append(";"); // NOI18N + return cssRule.toString(); + } + + public static String fontStyling(String property, String value) { + if (value == null) { + return ""; // NOI18N + } + + StringBuilder cssRule = new StringBuilder(); + cssRule.append(property); + cssRule.append(":"); // NOI18N + cssRule.append(value); + cssRule.append(";"); // NOI18N + return cssRule.toString(); + } + + public static String getFontStyleConfig(AttributeSet attributeSet, Object option) { + return (String) attributeSet.getAttribute(option); + } + + private static void appendDefaultMarkdownCssRules(StyleSheet ss) { + String defaultRules = NbBundle.getMessage(StyleUtils.class, "CSS_DEFAULT"); // NOI18N + ss.addRule(defaultRules); + } + + private static Iterator loadCustomizedMarkdownFontAttributes() { + String profile = EditorSettings.getDefault().getCurrentFontColorProfile(); + FontColorSettingsFactory fcsf = EditorSettings.getDefault().getFontColorSettings(new String[]{MIME_TYPE_PREVIEW}); + return fcsf.getAllFontColors(profile).iterator(); + } + + private static AttributeSet loadDefaultNbMarkdownFontAttributes() { + FontColorSettings fcs = (MimeLookup.getLookup(MimePath.get(MIME_TYPE_PREVIEW)).lookup(FontColorSettings.class)); + return fcs.getFontColors("default"); // NOI18N + } + + private static void appendColoringCssRulesFromFontConfigs(StyleSheet ss) { + //contains the default / fallback values of fontConfigs + AttributeSet defaultAttributes = loadDefaultNbMarkdownFontAttributes(); + + //contains the full list of fontConfigs but populated only with custom values + Iterator attributesIt = loadCustomizedMarkdownFontAttributes(); + while (attributesIt.hasNext()) { + AttributeSet attributeSet = attributesIt.next(); + addRule(ss, attributeSet, defaultAttributes); + } + } +} From a6bfad764ebd069b239e59d290921b47286bdbc9 Mon Sep 17 00:00:00 2001 From: Jaroslav Tulach Date: Sat, 14 Mar 2026 21:18:16 +0100 Subject: [PATCH 36/74] Setting NETBEANS_USERDIR to IGNORE shall use netbeans_default_userdir --- nb/ide.launcher/unix/netbeans | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/nb/ide.launcher/unix/netbeans b/nb/ide.launcher/unix/netbeans index 3f65db67a3f6..6aee99558fec 100644 --- a/nb/ide.launcher/unix/netbeans +++ b/nb/ide.launcher/unix/netbeans @@ -81,17 +81,19 @@ fi export DEFAULT_USERDIR_ROOT -if ! [ "$NETBEANS_USERDIR" = "IGNORE" ]; then - # make sure own launcher directory is on PATH as a fallback - PATH=$PATH:`echo $progdir | absolutize_paths` -fi - # #68373: look for userdir, but do not modify "$@" -if [ -z "$NETBEANS_USERDIR" ]; then +if [ "$NETBEANS_USERDIR" = "IGNORE" ]; then userdir="${netbeans_default_userdir}" else - userdir="$NETBEANS_USERDIR" + # make sure own launcher directory is on PATH as a fallback + PATH=$PATH:`echo $progdir | absolutize_paths` + if [ -z "$NETBEANS_USERDIR" ]; then + userdir="${netbeans_default_userdir}" + else + userdir="$NETBEANS_USERDIR" + fi fi + cachedir="${netbeans_default_cachedir}" founduserdir="" From cd8822ed4c862fbe40c9e8e80197585c30f20707 Mon Sep 17 00:00:00 2001 From: Nicola Isotta Date: Thu, 22 Jan 2026 19:00:52 +0100 Subject: [PATCH 37/74] Improve goto declaration for ResourceBundles in JSF files and improve rendering The goto declaration implementation now does not directly jump to the base properties file, but give the use the option to choose the intent property file also offering the other language files. Rendering of the popup was updated and svg icons added. --- .../web.el/nbproject/project.properties | 2 +- .../modules/web/el/ELOccurrencesFinder.java | 18 +- .../modules/web/el/ResourceBundles.java | 300 ++++++++++++++---- .../completion/ELCodeCompletionHandler.java | 15 +- .../ELResourceBundleKeyCompletionItem.java | 2 +- .../el/completion/resources/propertiesKey.svg | 51 +++ .../completion/resources/propertiesLocale.svg | 54 ++++ .../web/el/hints/ResourceBundleKeys.java | 2 +- .../el/navigation/ELDeclarationFinder.java | 90 ++++-- .../el/navigation/ELHyperlinkProvider.java | 12 +- .../modules/web/el/spi/ResourceBundle.java | 13 +- .../jsf/editor/resources/propertiesKey.svg | 51 +++ .../jsf/editor/resources/propertiesLocale.svg | 54 ++++ .../editor/JSFResourceBundlesProvider.java | 77 +++-- .../modules/properties/propertiesKey.svg | 51 +++ .../modules/properties/propertiesLocale.svg | 54 ++++ 16 files changed, 695 insertions(+), 151 deletions(-) create mode 100644 enterprise/web.el/src/org/netbeans/modules/web/el/completion/resources/propertiesKey.svg create mode 100644 enterprise/web.el/src/org/netbeans/modules/web/el/completion/resources/propertiesLocale.svg create mode 100644 enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/resources/propertiesKey.svg create mode 100644 enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/resources/propertiesLocale.svg create mode 100644 ide/properties/src/org/netbeans/modules/properties/propertiesKey.svg create mode 100644 ide/properties/src/org/netbeans/modules/properties/propertiesLocale.svg diff --git a/enterprise/web.el/nbproject/project.properties b/enterprise/web.el/nbproject/project.properties index f753aa35afd5..c81e65023d7c 100644 --- a/enterprise/web.el/nbproject/project.properties +++ b/enterprise/web.el/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial test-unit-sys-prop.web.project.jars=\ diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/ELOccurrencesFinder.java b/enterprise/web.el/src/org/netbeans/modules/web/el/ELOccurrencesFinder.java index 1134afae8f0c..ea0c1fc892ea 100644 --- a/enterprise/web.el/src/org/netbeans/modules/web/el/ELOccurrencesFinder.java +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/ELOccurrencesFinder.java @@ -133,19 +133,19 @@ private void computeOccurrences(final ELParserResult parserResult) { try { jsource.runUserActionTask((CompilationController info) -> { info.toPhase(JavaSource.Phase.RESOLVED); - occurrences.putAll(findMatchingTypes(CompilationContext.create(file, info), target, matching)); + CompilationContext ccontext = CompilationContext.create(file, info); + occurrences.putAll(findMatchingTypes(ccontext, target, matching)); + if (this.occurrences.isEmpty()) { + // perhaps the caret is on a resource bundle key node + occurrences.putAll(findMatchingResourceBundleKeys(ccontext, target, parserResult)); + } }, true); } catch (IOException ex) { Exceptions.printStackTrace(ex); } - - if (this.occurrences.isEmpty()) { - // perhaps the caret is on a resource bundle key node - occurrences.putAll(findMatchingResourceBundleKeys(target, parserResult)); - } } - private Map findMatchingResourceBundleKeys(Pair target, ELParserResult parserResult) { + private Map findMatchingResourceBundleKeys(CompilationContext info, Pair target, ELParserResult parserResult) { ResourceBundles resourceBundles = ResourceBundles.get(parserResult.getFileObject()); if (!resourceBundles.canHaveBundles()) { return Collections.emptyMap(); @@ -154,7 +154,7 @@ private Map findMatchingResourceBundleKeys(Pair // the logic here is a bit strange, maybe should add new methods to ResourceBundles // for a more straightforward computation. // first, check whether the current EL elements has keys - keys.addAll(resourceBundles.collectKeys(target.first().getNode())); + keys.addAll(resourceBundles.collectKeys(target.first().getNode(), info.context())); if (keys.isEmpty()) { return Collections.emptyMap(); } @@ -176,7 +176,7 @@ private Map findMatchingResourceBundleKeys(Pair if (!each.isValid()) { continue; } - for (Pair candidate : resourceBundles.collectKeys(each.getNode())) { + for (Pair candidate : resourceBundles.collectKeys(each.getNode(), info.context())) { if (candidate.second().equals(target.second())) { OffsetRange range = each.getOriginalOffset(candidate.second()); result.put(range, ColoringAttributes.MARK_OCCURRENCES); diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/ResourceBundles.java b/enterprise/web.el/src/org/netbeans/modules/web/el/ResourceBundles.java index 5bf24f336df5..39706c19bee0 100644 --- a/enterprise/web.el/src/org/netbeans/modules/web/el/ResourceBundles.java +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/ResourceBundles.java @@ -24,8 +24,8 @@ import com.sun.el.parser.AstString; import com.sun.el.parser.Node; import java.io.IOException; -import java.net.URL; import java.util.*; +import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.text.BadLocationException; import javax.swing.text.StyledDocument; @@ -72,7 +72,7 @@ public final class ResourceBundles { private final WebModule webModule; private final Project project; - + /* bundle base name to ResourceBundleInfo map */ private Map bundlesMap; private long currentBundlesHashCode; @@ -82,12 +82,12 @@ public final class ResourceBundles { @Override public void fileChanged(FileEvent fe) { super.fileChanged(fe); - LOGGER.finer(String.format("File %s has changed.", fe.getFile())); //NOI18N + LOGGER.log(Level.FINER, "File {0} has changed.", fe.getFile()); //NOI18N resetResourceBundleMap(); } }; - + private ResourceBundles(WebModule webModule, Project project) { this.webModule = webModule; this.project = project; @@ -143,7 +143,19 @@ public boolean isResourceBundleIdentifier(String identifier, ResolverContext con * {@code key}; {@code false} otherwise. */ public boolean isValidKey(String bundle, String key) { - ResourceBundleInfo rbInfo = getBundleForIdentifier(bundle); + return isValidKey(new ResolverContext(), bundle, key); + } + + /** + * Checks whether the given {@code key} is defined in the given {@code bundle}. + * @param context non-null {@link ResolverContext} instance + * @param bundle the base name of the bundle. + * @param key the key to check. + * @return {@code true} if the given {@code bundle} exists and contains the given + * {@code key}; {@code false} otherwise. + */ + public boolean isValidKey(ResolverContext context, String bundle, String key) { + ResourceBundleInfo rbInfo = getBundleForIdentifier(context, bundle); if (rbInfo == null) { // no matching bundle file return true; @@ -158,12 +170,13 @@ public boolean isValidKey(String bundle, String key) { /** * Gets bundle info for given identifier. + * @param context non-null {@link ResolverContext} instance * @param ident identifier to examine * @return resource bundle info if any found, {@code null} otherwise */ - private ResourceBundleInfo getBundleForIdentifier(String ident) { + private ResourceBundleInfo getBundleForIdentifier(ResolverContext context, String ident) { // XXX - do it more efficiently - for (ResourceBundleInfo rbi : getBundlesMap().values()) { + for (ResourceBundleInfo rbi : getBundlesMap(context).values()) { if (ident.equals(rbi.getVarName())) { return rbi; } @@ -177,16 +190,21 @@ private ResourceBundleInfo getBundleForIdentifier(String ident) { * @return locations corresponding to given bundle name, never {@code null} */ public List getLocationsForBundleIdent(String ident) { - ResourceBundleInfo rbi = getBundleForIdentifier(ident); + return getLocationsForBundleIdent(new ResolverContext(), ident); + } + + /** + * Gets all locations for given bundle identifier. + * @param context non-null {@link ResolverContext} instance + * @param ident identifier of the bundle + * @return locations corresponding to given bundle name, never {@code null} + */ + public List getLocationsForBundleIdent(ResolverContext context, String ident) { + ResourceBundleInfo rbi = getBundleForIdentifier(context, ident); if (rbi == null) { return Collections.emptyList(); } - - List locations = new ArrayList<>(rbi.getFiles().size()); - for (FileObject fileObject : rbi.getFiles()) { - locations.add(new Location(0, fileObject)); - } - return locations; + return rbi.getFiles().stream().map(Location::new).toList(); } /** @@ -196,8 +214,19 @@ public List getLocationsForBundleIdent(String ident) { * @return locations (including the offset) of the searched key, never {@code null} */ public List getLocationsForBundleKey(String ident, String key) { + return getLocationsForBundleKey(new ResolverContext(), ident, key); + } + + /** + * Gets all locations for given bundle identifier and key. + * @param context non-null {@link ResolverContext} instance + * @param ident identifier of the bundle + * @param key key to search + * @return locations (including the offset) of the searched key, never {@code null} + */ + public List getLocationsForBundleKey(ResolverContext context, String ident, String key) { List locations = new ArrayList<>(); - for (Location location : getLocationsForBundleIdent(ident)) { + for (Location location : getLocationsForBundleIdent(context, ident)) { try { DataObject dobj = DataObject.find(location.getFile()); EditorCookie ec = dobj.getLookup().lookup(EditorCookie.class); @@ -210,11 +239,18 @@ public List getLocationsForBundleKey(String ident, String key) { if (lc != null) { Line.Set ls = lc.getLineSet(); for (Line line : ls.getLines()) { - if (line.getText().contains(key + "=") || line.getText().contains(key + " =")) { //NOI18N + String text = line.getText(); + if (text == null) { + continue; + } + text = text.trim(); + if (text.startsWith(key + "=") || text.startsWith(key + " =") + || text.startsWith(key + ":") || text.startsWith(key + " :")) { try { StyledDocument document = ec.getDocument(); int offset = document.getText(0, document.getLength()).indexOf(line.getText()); - locations.add(new Location(offset, location.getFile())); + locations.add(new Location(offset, location.getFile(), line.getLineNumber())); + break; } catch (BadLocationException ex) { Exceptions.printStackTrace(ex); } @@ -234,6 +270,7 @@ public List> collectKeys(final Node root) { /** * Collects references to resource bundle keys in the given {@code root}. + * @param context non-null {@link ResolverContext} instance * @return List of identifier/string pairs. Identifier = resource bundle base name - string = res bundle key. */ public List> collectKeys(final Node root, ResolverContext context) { @@ -261,6 +298,10 @@ public List> collectKeys(final Node root, ResolverCont } public String findResourceBundleIdentifier(AstPath astPath) { + return findResourceBundleIdentifier(new ResolverContext(), astPath); + } + + public String findResourceBundleIdentifier(ResolverContext context, AstPath astPath) { List path = astPath.leafToRoot(); for (int i = 0; i < path.size(); i++) { Node node = path.get(i); @@ -273,7 +314,7 @@ public String findResourceBundleIdentifier(AstPath astPath) { Node identifier = path.get(i + 2); if (brackets instanceof AstBracketSuffix && identifier instanceof AstIdentifier - && isResourceBundleIdentifier(identifier.getImage(), new ResolverContext())) { + && isResourceBundleIdentifier(identifier.getImage(), context)) { return identifier.getImage(); } } @@ -281,6 +322,7 @@ && isResourceBundleIdentifier(identifier.getImage(), new ResolverContext())) { } return null; } + /** * Gets the value of the given {@code key} in the given {@code bundle}. * @param bundle the base name of the bundle. @@ -288,7 +330,48 @@ && isResourceBundleIdentifier(identifier.getImage(), new ResolverContext())) { * @return the value or {@code null}. */ public String getValue(String bundle, String key) { - ResourceBundleInfo rbInfo = getBundlesMap().get(bundle); + return getValue(new ResolverContext(), bundle, key); + } + + /** + * Gets the value of the given {@code key} in the given {@code bundle}. + * @param context non-null {@link ResolverContext} instance + * @param bundle the base name of the bundle. + * @param key key in the given bundle. + * @return the value or {@code null}. + */ + public String getValue(ResolverContext context, String bundle, String key) { + ResourceBundleInfo rbInfo = getBundlesMap(context).get(bundle); + if (rbInfo == null || !rbInfo.getResourceBundle().containsKey(key)) { + // no matching bundle file + return null; + } + try { + return rbInfo.getResourceBundle().getString(key); + } catch (MissingResourceException e) { + return null; + } + } + + /** + * Gets the value of the given {@code key} in the given {@code bundle}. + * @param varName the var name of the bundle. + * @param key key in the given bundle. + * @return the value or {@code null}. + */ + public String getValueWithVarName(String varName, String key) { + return getValueWithVarName(new ResolverContext(), varName, key); + } + + /** + * Gets the value of the given {@code key} in the given {@code bundle}. + * @param context non-null {@link ResolverContext} instance + * @param varName the var name of the bundle. + * @param key key in the given bundle. + * @return the value or {@code null}. + */ + public String getValueWithVarName(ResolverContext context, String varName, String key) { + ResourceBundleInfo rbInfo = getBundleForIdentifier(context, varName); if (rbInfo == null || !rbInfo.getResourceBundle().containsKey(key)) { // no matching bundle file return null; @@ -306,8 +389,18 @@ public String getValue(String bundle, String key) { * @return */ public Map getEntries(String bundleVar) { - ResourceBundle bundle = findResourceBundleForVar(bundleVar); - ResourceBundleInfo rbInfo = getBundlesMap().get(bundle.getBaseName()); + return getEntries(new ResolverContext(), bundleVar); + } + + /** + * Gets the entries in the bundle identified by {@code bundleName}. + * @param context non-null {@link ResolverContext} instance + * @param bundleVar + * @return + */ + public Map getEntries(ResolverContext context, String bundleVar) { + ResourceBundle bundle = findResourceBundleForVar(context, bundleVar); + ResourceBundleInfo rbInfo = getBundlesMap(context).get(bundle.getBaseName()); if (rbInfo == null) { return Collections.emptyMap(); } @@ -318,11 +411,10 @@ public Map getEntries(String bundleVar) { } return result; } - - - private ResourceBundle findResourceBundleForVar(String variableName) { + + private ResourceBundle findResourceBundleForVar(ResolverContext context, String variableName) { List foundBundles = webModule != null ? - ELPlugin.Query.getResourceBundles(webModule.getDocumentBase(), new ResolverContext()) + ELPlugin.Query.getResourceBundles(webModule.getDocumentBase(), context) : Collections.emptyList(); //make the bundle var to bundle @@ -333,9 +425,11 @@ private ResourceBundle findResourceBundleForVar(String variableName) { } return null; } + /** * Finds list of all ResourceBundles, which are registered in all * JSF configuration files in a web module. + * @param context non-null {@link ResolverContext} instance */ public List getBundles(ResolverContext context) { FileObject docBase = webModule != null ? webModule.getDocumentBase() : null; @@ -345,17 +439,17 @@ public List getBundles(ResolverContext context) { /* * returns a map of bundle fully qualified name to java.util.ResourceBundle */ - private synchronized Map getBundlesMap() { - long bundlesHash = getBundlesHashCode(); + private synchronized Map getBundlesMap(ResolverContext context) { + long bundlesHash = getBundlesHashCode(context); if (bundlesMap == null) { currentBundlesHashCode = bundlesHash; - bundlesMap = createResourceBundleMapAndFileChangeListeners(); + bundlesMap = createResourceBundleMapAndFileChangeListeners(context); LOGGER.fine("New resource bundle map created."); //NOI18N } else { if(bundlesHash != currentBundlesHashCode) { //refresh the resource bundle map resetResourceBundleMap(); - bundlesMap = createResourceBundleMapAndFileChangeListeners(); + bundlesMap = createResourceBundleMapAndFileChangeListeners(context); currentBundlesHashCode = bundlesHash; LOGGER.fine("Resource bundle map recreated based on configuration changes."); //NOI18N @@ -364,7 +458,7 @@ private synchronized Map getBundlesMap() { return bundlesMap; } - + private synchronized void resetResourceBundleMap() { if(bundlesMap == null) { return ; @@ -372,25 +466,25 @@ private synchronized void resetResourceBundleMap() { for(ResourceBundleInfo info : bundlesMap.values()) { for (FileObject fileObject : info.getFiles()) { fileObject.removeFileChangeListener(FILE_CHANGE_LISTENER); - LOGGER.finer(String.format("Removed FileChangeListener from file %s", fileObject)); //NOI18N + LOGGER.log(Level.FINER, "Removed FileChangeListener from file {0}", fileObject); //NOI18N } } bundlesMap = null; LOGGER.fine("Resource bundle map released."); //NOI18N } - - private long getBundlesHashCode() { + + private long getBundlesHashCode(ResolverContext context) { //compute hashcode so we can compare if there are changes since the last time and possibly //reset the bundle map cache long hash = 3; - for(ResourceBundle rb : getBundles(new ResolverContext())) { + for(ResourceBundle rb : getBundles(context)) { hash = 11 * hash + rb.getBaseName().hashCode(); hash = 11 * hash + (rb.getVar() != null ? rb.getVar().hashCode() : 0); } return hash; } - - private Map createResourceBundleMapAndFileChangeListeners() { + + private Map createResourceBundleMapAndFileChangeListeners(ResolverContext context) { Map result = new HashMap<>(); ClassPathProvider provider = project.getLookup().lookup(ClassPathProvider.class); if (provider == null) { @@ -403,8 +497,26 @@ private Map createResourceBundleMapAndFileChangeList } SourceGroup[] sourceGroups = sources.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); - for (ResourceBundle bundle : getBundles(new ResolverContext())) { + for (ResourceBundle bundle : getBundles(context)) { String bundleFile = bundle.getBaseName(); + + for (FileObject fileObject : bundle.getFiles()) { + if (fileObject.canWrite()) { + fileObject.addFileChangeListener( + WeakListeners.create(FileChangeListener.class, FILE_CHANGE_LISTENER, fileObject)); + LOGGER.log(Level.FINER, "Added FileChangeListener to file {0}", fileObject); + } + } + + java.util.ResourceBundle found = null; + if (!bundle.getFiles().isEmpty()) { + found = loadBundleChain(bundle.getFiles()); + } + if (found != null) { + result.put(bundleFile, new ResourceBundleInfo(bundle.getFiles(), found, bundle.getVar())); + continue; + } + for (SourceGroup sourceGroup : sourceGroups) { FileObject rootFolder = sourceGroup.getRootFolder(); @@ -415,40 +527,94 @@ private Map createResourceBundleMapAndFileChangeList } ClassLoader classLoader = classPath.getClassLoader(false); try { - // TODO - rewrite listening on all (localized) files - String resourceFileName = new StringBuilder() - .append(bundleFile.replace(".", "/")) - .append(".properties") - .toString(); //NOI18N - - URL url = classLoader.getResource(resourceFileName); - if(url != null) { - LOGGER.finer(String.format("Found %s URL for resource bundle %s", url, resourceFileName )); - FileObject fileObject = URLMapper.findFileObject(url); - if(fileObject != null) { - if (fileObject.canWrite()) { - fileObject.addFileChangeListener( - WeakListeners.create(FileChangeListener.class, FILE_CHANGE_LISTENER, fileObject)); - LOGGER.finer(String.format("Added FileChangeListener to file %s", fileObject )); - } - } else { - LOGGER.fine(String.format("Cannot map %s URL to FileObject!", url)); - } - } - - java.util.ResourceBundle found = java.util.ResourceBundle.getBundle(bundleFile, Locale.getDefault(), classLoader); + found = java.util.ResourceBundle.getBundle(bundleFile, Locale.getDefault(), classLoader); result.put(bundleFile, new ResourceBundleInfo(bundle.getFiles(), found, bundle.getVar())); break; // found the bundle in source cp, skip searching compile cp } catch (MissingResourceException exception) { continue; } } - } } return result; } + private java.util.ResourceBundle loadBundleChain(List files) { + Locale defaultLocale = Locale.getDefault(); + String lang = defaultLocale.getLanguage(); + String country = defaultLocale.getCountry(); + + FileObject baseFile = null; + FileObject langFile = null; + FileObject countryFile = null; + FileObject fallbackFile = null; + + for (FileObject fo : files) { + String name = fo.getName(); + + if (fallbackFile == null) { + fallbackFile = fo; + } + + if (!name.contains("_")) { + baseFile = fo; + } else if (name.endsWith("_" + lang)) { + langFile = fo; + } else if (name.endsWith("_" + lang + "_" + country)) { + countryFile = fo; + } + } + java.util.ResourceBundle chainHead = null; + java.util.ResourceBundle currentParent = null; + if (baseFile != null) { + currentParent = createBundleSafe(baseFile); + chainHead = currentParent; + } + if (langFile != null) { + LinkableResourceBundle langBundle = createBundleSafe(langFile); + if (langBundle != null) { + if (currentParent != null) { + langBundle.setChainParent(currentParent); + } + currentParent = langBundle; + chainHead = langBundle; + } + } + if (countryFile != null) { + LinkableResourceBundle countryBundle = createBundleSafe(countryFile); + if (countryBundle != null) { + if (currentParent != null) { + countryBundle.setChainParent(currentParent); + } + chainHead = countryBundle; + } + } + if (chainHead == null && fallbackFile != null) { + return createBundleSafe(fallbackFile); + } + return chainHead; + } + + private LinkableResourceBundle createBundleSafe(FileObject fo) { + try (java.io.InputStream in = fo.getInputStream()) { + return new LinkableResourceBundle(in); + } catch (IOException ex) { + LOGGER.log(Level.FINE, "Error loading properties file: {0}", fo.getPath()); + return null; + } + } + + private static class LinkableResourceBundle extends PropertyResourceBundle { + + public LinkableResourceBundle(java.io.InputStream stream) throws IOException { + super(stream); + } + + public void setChainParent(java.util.ResourceBundle parent) { + setParent(parent); + } + } + private static final class ResourceBundleInfo { private final List files; private final java.util.ResourceBundle resourceBundle; @@ -477,10 +643,20 @@ public static class Location { private final int offset; private final FileObject file; + private final int lineNumber; + + public Location(FileObject file) { + this(0, file); + } public Location(int offset, FileObject file) { + this(offset, file, -1); + } + + public Location(int offset, FileObject file, int lineNumber) { this.offset = offset; this.file = file; + this.lineNumber = lineNumber; } public int getOffset() { @@ -490,5 +666,9 @@ public int getOffset() { public FileObject getFile() { return file; } + + public int getLineNumber() { + return lineNumber; + } } } diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/completion/ELCodeCompletionHandler.java b/enterprise/web.el/src/org/netbeans/modules/web/el/completion/ELCodeCompletionHandler.java index 2524ec80fb3d..cc9b3f3b50bb 100644 --- a/enterprise/web.el/src/org/netbeans/modules/web/el/completion/ELCodeCompletionHandler.java +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/completion/ELCodeCompletionHandler.java @@ -76,6 +76,7 @@ import org.netbeans.modules.web.el.spi.ELPlugin; import org.netbeans.modules.web.el.spi.ELVariableResolver.VariableInfo; import org.netbeans.modules.web.el.spi.Function; +import org.netbeans.modules.web.el.spi.ResolverContext; import org.netbeans.modules.web.el.spi.ResourceBundle; import org.openide.filesystems.FileObject; import org.openide.util.Exceptions; @@ -176,7 +177,7 @@ public void run(CompilationController info) throws Exception { // seems to be something like "sessionScope.^", so complete beans from the scope proposeBeansFromScope(ccontext, context, prefixMatcher, element, node, proposals); } else if (ELTypeUtilities.isResourceBundleVar(ccontext, node)) { - proposeBundleKeysInDotNotation(context, prefixMatcher, element, node, proposals); + proposeBundleKeysInDotNotation(ccontext, context, prefixMatcher, element, node, proposals); } else if (resolved == null) { if (target instanceof AstDotSuffix == false && node instanceof AstFunction == false) { proposeFunctions(ccontext, context, prefixMatcher, element, proposals); @@ -603,12 +604,13 @@ private void proposeBundleKeysInArrayNotation(CodeCompletionContext context, if (!resourceBundles.canHaveBundles()) { return; } + ResolverContext resolverContext = new ResolverContext(); FileObject bundleFile = null; - List bundleLocations = resourceBundles.getLocationsForBundleIdent(bundleKey); + List bundleLocations = resourceBundles.getLocationsForBundleIdent(resolverContext, bundleKey); if (!bundleLocations.isEmpty()) { bundleFile = bundleLocations.get(0).getFile(); } - for (Map.Entry entry : resourceBundles.getEntries(bundleKey).entrySet()) { + for (Map.Entry entry : resourceBundles.getEntries(resolverContext, bundleKey).entrySet()) { if (!prefix.matches(entry.getKey())) { continue; } @@ -620,7 +622,8 @@ private void proposeBundleKeysInArrayNotation(CodeCompletionContext context, } // "msg.key" notation - private void proposeBundleKeysInDotNotation(CodeCompletionContext context, + private void proposeBundleKeysInDotNotation(CompilationContext ccontext, + CodeCompletionContext context, PrefixMatcher prefix, ELElement elElement, Node baseObjectNode, @@ -632,11 +635,11 @@ private void proposeBundleKeysInDotNotation(CodeCompletionContext context, return; } FileObject bundleFile = null; - List bundleLocations = resourceBundles.getLocationsForBundleIdent(bundleKey); + List bundleLocations = resourceBundles.getLocationsForBundleIdent(ccontext.context(), bundleKey); if (!bundleLocations.isEmpty()) { bundleFile = bundleLocations.get(0).getFile(); } - for (Map.Entry entry : resourceBundles.getEntries(bundleKey).entrySet()) { + for (Map.Entry entry : resourceBundles.getEntries(ccontext.context(), bundleKey).entrySet()) { if (!prefix.matches(entry.getKey())) { continue; } diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/completion/ELResourceBundleKeyCompletionItem.java b/enterprise/web.el/src/org/netbeans/modules/web/el/completion/ELResourceBundleKeyCompletionItem.java index 8bd80445bb2d..45a3d1964329 100644 --- a/enterprise/web.el/src/org/netbeans/modules/web/el/completion/ELResourceBundleKeyCompletionItem.java +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/completion/ELResourceBundleKeyCompletionItem.java @@ -38,7 +38,7 @@ * * @author Erno Mononen */ -final class ELResourceBundleKeyCompletionItem extends DefaultCompletionProposal { +public final class ELResourceBundleKeyCompletionItem extends DefaultCompletionProposal { private static final String ICON_PATH = "org/netbeans/modules/web/el/completion/resources/propertiesKey.gif";//NOI18N diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/completion/resources/propertiesKey.svg b/enterprise/web.el/src/org/netbeans/modules/web/el/completion/resources/propertiesKey.svg new file mode 100644 index 000000000000..b81160dfce5e --- /dev/null +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/completion/resources/propertiesKey.svg @@ -0,0 +1,51 @@ + + + + + + α + + + a + + + \ No newline at end of file diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/completion/resources/propertiesLocale.svg b/enterprise/web.el/src/org/netbeans/modules/web/el/completion/resources/propertiesLocale.svg new file mode 100644 index 000000000000..e8702b9da09c --- /dev/null +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/completion/resources/propertiesLocale.svg @@ -0,0 +1,54 @@ + + + + + + α + + + a + + + + \ No newline at end of file diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/hints/ResourceBundleKeys.java b/enterprise/web.el/src/org/netbeans/modules/web/el/hints/ResourceBundleKeys.java index 76a1f2c7e750..1a3eb8f48bb1 100644 --- a/enterprise/web.el/src/org/netbeans/modules/web/el/hints/ResourceBundleKeys.java +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/hints/ResourceBundleKeys.java @@ -73,7 +73,7 @@ protected void run(CompilationContext info, RuleContext context, List resu } for (Pair pair : resourceBundles.collectKeys(each.getNode(), info.context())) { String clearedKey = pair.second().getImage().replace("'", "").replace("\"", ""); - if (!resourceBundles.isValidKey(pair.first().getImage(), clearedKey)) { + if (!resourceBundles.isValidKey(info.context(), pair.first().getImage(), clearedKey)) { Hint hint = new Hint(this, NbBundle.getMessage(ResourceBundleKeys.class, "ResourceBundleKeys_Unknown", clearedKey), elResult.getFileObject(), diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/navigation/ELDeclarationFinder.java b/enterprise/web.el/src/org/netbeans/modules/web/el/navigation/ELDeclarationFinder.java index ce3dd96158ab..2060155fe2d8 100644 --- a/enterprise/web.el/src/org/netbeans/modules/web/el/navigation/ELDeclarationFinder.java +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/navigation/ELDeclarationFinder.java @@ -41,7 +41,6 @@ import org.netbeans.api.java.source.Task; import org.netbeans.api.project.FileOwnerQuery; import org.netbeans.api.project.Project; -import org.netbeans.modules.csl.api.DataLoadersBridge; import org.netbeans.modules.csl.api.DeclarationFinder; import org.netbeans.modules.csl.api.ElementKind; import org.netbeans.modules.csl.api.HtmlFormatter; @@ -54,6 +53,7 @@ import org.netbeans.modules.web.el.ELElement; import org.netbeans.modules.web.el.ELTypeUtilities; import org.netbeans.modules.web.el.ResourceBundles; +import org.netbeans.modules.web.el.completion.ELResourceBundleKeyCompletionItem; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.util.Exceptions; @@ -95,12 +95,13 @@ public void run(CompilationController cc) throws Exception { // resolve resource bundles ResourceBundles resourceBundles = ResourceBundles.get(file); if (resourceBundles.canHaveBundles()) { - List bundleLocations = getBundleLocations(resourceBundles, nodeElem); + List bundleLocations = getBundleLocations(context, resourceBundles, nodeElem); if (!bundleLocations.isEmpty()) { - refs.fo = bundleLocations.get(0).getFile(); - refs.offset = bundleLocations.get(0).getOffset(); - for (ResourceBundles.Location location : bundleLocations) { - alternatives.add(new ResourceBundleAlternative(location)); + refs.fo = bundleLocations.get(0).fo; + refs.offset = bundleLocations.get(0).offset; + refs.elementHandle = bundleLocations.get(0).elementHandle; + for (RefsHolder location : bundleLocations) { + alternatives.add(new ResourceBundleAlternative(location.fo, location.offset, location.lineNumber)); } } } @@ -128,7 +129,7 @@ public void run(CompilationController controller) throws Exception { } if (refs.fo != null && refs.offset != -1) { - DeclarationLocation declarationLocation = new DeclarationLocation(refs.fo, refs.offset); + DeclarationLocation declarationLocation = new DeclarationLocation(refs.fo, refs.offset, refs.elementHandle); for (AlternativeLocation alternativeLocation : alternatives) { declarationLocation.addAlternative(alternativeLocation); } @@ -152,9 +153,10 @@ public void run() { return ret.get(); } - private static List getBundleLocations(ResourceBundles resourceBundles, Pair nodeElem) { + private static List getBundleLocations(CompilationContext ccontext, ResourceBundles resourceBundles, Pair nodeElem) { if (nodeElem.first() instanceof AstIdentifier) { - return resourceBundles.getLocationsForBundleIdent(nodeElem.first().getImage()); + List locations = resourceBundles.getLocationsForBundleIdent(ccontext.context(), nodeElem.first().getImage()); + return locations.stream().map(location -> new RefsHolder(location.getFile(), location.getOffset())).toList(); } else { AstPath astPath = new AstPath(nodeElem.second().getNode()); for (Node node : astPath.rootToLeaf()) { @@ -165,21 +167,32 @@ private static List getBundleLocations(ResourceBundles // bundle['key'] image = image.substring(1, image.length() - 1); } - return resourceBundles.getLocationsForBundleKey(node.getImage(), image); + final String key = image; + List locations = resourceBundles.getLocationsForBundleKey(ccontext.context(), node.getImage(), key); + final String value; + if (!locations.isEmpty()) { + value = resourceBundles.getValueWithVarName(ccontext.context(), node.getImage(), key); + } else { + value = null; + } + return locations.stream().map(location -> new RefsHolder(location.getFile(), location.getOffset(), + new ELResourceBundleKeyCompletionItem(key, value, nodeElem.second(), location.getFile()).getElement(), location.getLineNumber())).toList(); } } } - return Collections.emptyList(); + return Collections.emptyList(); } private static class ResourceBundleAlternative implements AlternativeLocation { private final FileObject file; private final int offset; + private final int lineNumber; - public ResourceBundleAlternative(ResourceBundles.Location location) { - this.offset = location.getOffset(); - this.file = location.getFile(); + public ResourceBundleAlternative(FileObject file, int offset, int lineNumber) { + this.offset = offset; + this.file = file; + this.lineNumber = lineNumber; } @Override @@ -189,13 +202,10 @@ public org.netbeans.modules.csl.api.ElementHandle getElement() { @Override public String getDisplayHtml(HtmlFormatter formatter) { - StringBuilder b = new StringBuilder(); - - b.append("");//NOI18N - b.append(""); //NOI18N - b.append(file.getName()); - b.append(""); //NOI18N - b.append(" in "); //NOI18N + formatter.emphasis(true); + formatter.appendText(file.getName()); + formatter.emphasis(false); + formatter.appendText(" in "); //add a link to the file relative to the web root FileObject pathRoot = ProjectWebRootQuery.getWebRoot(file); @@ -215,14 +225,14 @@ public String getDisplayHtml(HtmlFormatter formatter) { path = file.getPath(); } - b.append(""); //NOI18N - b.append(path); - b.append(""); //NOI18N - if (offset > 0) { - b.append(":"); //NOI18N - b.append(offset + 1); //line offsets are counted from zero, but in editor lines starts with one. + formatter.appendHtml(""); + formatter.appendText(path); + formatter.appendHtml(""); + if (lineNumber > -1) { + formatter.appendText(":"); //NOI18N + formatter.appendText(String.valueOf(lineNumber + 1)); //line numbers are counted from zero, but in editor lines starts with one. } - return b.toString(); + return formatter.getText(); } @Override @@ -274,9 +284,27 @@ public boolean equals(Object obj) { private static class RefsHolder { - private ElementHandle handle; - private FileObject fo; - private int offset = -1; + ElementHandle handle; + FileObject fo; + int offset = -1; + int lineNumber = -1; + org.netbeans.modules.csl.api.ElementHandle elementHandle; + + RefsHolder() { + } + + RefsHolder(FileObject fo, int offset) { + this.fo = fo; + this.offset = offset; + } + + public RefsHolder(FileObject fo, int offset, org.netbeans.modules.csl.api.ElementHandle elementHandle, int lineNumber) { + this.fo = fo; + this.offset = offset; + this.elementHandle = elementHandle; + this.lineNumber = lineNumber; + } + } private static class ResourceBundleElementHandle implements org.netbeans.modules.csl.api.ElementHandle { diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/navigation/ELHyperlinkProvider.java b/enterprise/web.el/src/org/netbeans/modules/web/el/navigation/ELHyperlinkProvider.java index ca46365d37d1..6cd1611a572e 100644 --- a/enterprise/web.el/src/org/netbeans/modules/web/el/navigation/ELHyperlinkProvider.java +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/navigation/ELHyperlinkProvider.java @@ -84,7 +84,7 @@ public final class ELHyperlinkProvider implements HyperlinkProviderExt { @Override - public boolean isHyperlinkPoint(final Document doc, final int offset, HyperlinkType type) { + public boolean isHyperlinkPoint(final Document doc, final int offset, HyperlinkType type) { final AtomicBoolean ret = new AtomicBoolean(false); doc.render(new Runnable() { @@ -130,12 +130,14 @@ public Set getSupportedHyperlinkTypes() { public String getTooltipText(Document doc, int offset, HyperlinkType type) { Pair nodeAndElement = resolveNodeAndElement(doc, offset, new AtomicBoolean()); if (nodeAndElement != null) { - if (nodeAndElement.first() instanceof AstString) { + if (nodeAndElement.first() instanceof AstString || nodeAndElement.first() instanceof AstDotSuffix) { // could be a resource bundle key - return getTooltipTextForBundleKey(nodeAndElement); - } else { - return getTooltipTextForElement(nodeAndElement); + String tooltip = getTooltipTextForBundleKey(nodeAndElement); + if (tooltip != null) { + return tooltip; + } } + return getTooltipTextForElement(nodeAndElement); } return null; } diff --git a/enterprise/web.el/src/org/netbeans/modules/web/el/spi/ResourceBundle.java b/enterprise/web.el/src/org/netbeans/modules/web/el/spi/ResourceBundle.java index 94cef123a217..a72317b69d23 100644 --- a/enterprise/web.el/src/org/netbeans/modules/web/el/spi/ResourceBundle.java +++ b/enterprise/web.el/src/org/netbeans/modules/web/el/spi/ResourceBundle.java @@ -25,23 +25,23 @@ * @author marekfukala */ public final class ResourceBundle { - + private final String baseName, var; private final List files; - + public ResourceBundle(String baseName, String var, List files) { this.baseName = baseName; this.var = var; this.files = files; } - + /** * @return fully qualified name of the properties file representing the resource bundle. */ public String getBaseName() { return baseName; } - + /** * @return variable representing the resource bundle */ @@ -56,4 +56,9 @@ public List getFiles() { return files; } + @Override + public String toString() { + return "ResourceBundle{" + "baseName=" + baseName + ", var=" + var + '}'; + } + } diff --git a/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/resources/propertiesKey.svg b/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/resources/propertiesKey.svg new file mode 100644 index 000000000000..b81160dfce5e --- /dev/null +++ b/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/resources/propertiesKey.svg @@ -0,0 +1,51 @@ + + + + + + α + + + a + + + \ No newline at end of file diff --git a/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/resources/propertiesLocale.svg b/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/resources/propertiesLocale.svg new file mode 100644 index 000000000000..e8702b9da09c --- /dev/null +++ b/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/resources/propertiesLocale.svg @@ -0,0 +1,54 @@ + + + + + + α + + + a + + + + \ No newline at end of file diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/api/editor/JSFResourceBundlesProvider.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/api/editor/JSFResourceBundlesProvider.java index bccd8a430f8b..33bac43df6d4 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/api/editor/JSFResourceBundlesProvider.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/api/editor/JSFResourceBundlesProvider.java @@ -22,9 +22,12 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; +import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.api.java.project.JavaProjectConstants; import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectUtils; @@ -53,29 +56,43 @@ public static List getResourceBundles(final Project project) { try { return model.runReadAction(metadata -> { List applications = metadata.getElements(Application.class); + + if (applications.isEmpty()) { + return Collections.emptyList(); + } + + List allSourceGroups = new ArrayList<>(); + Collections.addAll(allSourceGroups, SourceGroups.getJavaSourceGroups(project)); + Collections.addAll(allSourceGroups, ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_RESOURCES)); + + ClassPath compileClassPath = null; + if (!allSourceGroups.isEmpty()) { + compileClassPath = ClassPath.getClassPath(allSourceGroups.get(0).getRootFolder(), ClassPath.COMPILE); + } + List result = new ArrayList<>(); for (Application application : applications) { for (org.netbeans.modules.web.jsf.api.facesmodel.ResourceBundle bundle : application.getResourceBundles()) { - if (bundle.getBaseName() == null) { + String baseName = bundle.getBaseName(); + if (baseName == null) { continue; } - List files = new ArrayList<>(); - // java source source groups - for (SourceGroup sourceGroup : SourceGroups.getJavaSourceGroups(project)) { - FileObject bundleFile = getBundleFileInSourceGroup(sourceGroup, bundle); - if (bundleFile != null) { - files.add(bundleFile); - } + Set fileSet = new LinkedHashSet<>(); + int lastDelim = baseName.lastIndexOf("."); + String bundleSimpleName = (lastDelim <= 0) ? baseName : baseName.substring(lastDelim + 1); + String packagePath = (lastDelim <= 0) ? "" : baseName.replace(".", "/").substring(0, lastDelim); + + for (SourceGroup sourceGroup : allSourceGroups) { + FileObject root = sourceGroup.getRootFolder(); + FileObject folder = (lastDelim <= 0) ? root : root.getFileObject(packagePath); + addBundleFilesInFolder(fileSet, folder, bundleSimpleName); } - // resource source groups - for (SourceGroup sourceGroup : ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_RESOURCES)) { - FileObject bundleFile = getBundleFileInSourceGroup(sourceGroup, bundle); - if (bundleFile != null) { - files.add(bundleFile); - } + + if (fileSet.isEmpty() && compileClassPath != null) { + addBundleFilesInCompileClasspath(fileSet, compileClassPath, bundleSimpleName, packagePath); } - - result.add(new ResourceBundle(bundle.getBaseName(), bundle.getVar(), files)); + + result.add(new ResourceBundle(bundle.getBaseName(), bundle.getVar(), new ArrayList<>(fileSet))); } } return result; @@ -86,28 +103,22 @@ public static List getResourceBundles(final Project project) { return Collections.emptyList(); } - private static FileObject getBundleFileInSourceGroup(SourceGroup sourceGroup, org.netbeans.modules.web.jsf.api.facesmodel.ResourceBundle bundle) { - int lastDelim = bundle.getBaseName().lastIndexOf("/"); //NOI18N - String bundleName = bundle.getBaseName().substring(lastDelim + 1); - if (lastDelim <= 0) { - // in root folder or default package - return getBundleInFolder(sourceGroup.getRootFolder(), bundleName); - } else { - // in the subfolder or non-default package - String parentFolder = bundle.getBaseName().replace(".", "/").substring(0, lastDelim); //NOI18N - return getBundleInFolder(sourceGroup.getRootFolder().getFileObject(parentFolder), bundleName); - } - } - - private static FileObject getBundleInFolder(FileObject folder, String bundleName) { + private static void addBundleFilesInFolder(Set files, FileObject folder, String bundleName) { if (folder != null && folder.isValid() && folder.isFolder()) { for (FileObject fo : folder.getChildren()) { - if (fo.getName().startsWith(bundleName) && "properties".equals(fo.getExt())) { //NOI18N - return fo; + if ("properties".equals(fo.getExt()) + && (fo.getName().equals(bundleName) || fo.getName().startsWith(bundleName + "_"))) { + files.add(fo); } } } - return null; + } + + private static void addBundleFilesInCompileClasspath(Set files, ClassPath cp, String bundleName, String packagePath) { + List folders = cp.findAllResources(packagePath); + for (FileObject folder : folders) { + addBundleFilesInFolder(files, folder, bundleName); + } } } diff --git a/ide/properties/src/org/netbeans/modules/properties/propertiesKey.svg b/ide/properties/src/org/netbeans/modules/properties/propertiesKey.svg new file mode 100644 index 000000000000..b81160dfce5e --- /dev/null +++ b/ide/properties/src/org/netbeans/modules/properties/propertiesKey.svg @@ -0,0 +1,51 @@ + + + + + + α + + + a + + + \ No newline at end of file diff --git a/ide/properties/src/org/netbeans/modules/properties/propertiesLocale.svg b/ide/properties/src/org/netbeans/modules/properties/propertiesLocale.svg new file mode 100644 index 000000000000..e8702b9da09c --- /dev/null +++ b/ide/properties/src/org/netbeans/modules/properties/propertiesLocale.svg @@ -0,0 +1,54 @@ + + + + + + α + + + a + + + + \ No newline at end of file From e0e3da1c402efb14636090c4b03ca81399775029 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Mar 2026 17:40:56 +0000 Subject: [PATCH 38/74] Bump shivammathur/setup-php from 2.35.4 to 2.37.0 Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.35.4 to 2.37.0. - [Release notes](https://github.com/shivammathur/setup-php/releases) - [Commits](https://github.com/shivammathur/setup-php/compare/ec406be512d7077f68eed36e63f4d91bc006edc4...accd6127cb78bee3e8082180cb391013d204ef9f) --- updated-dependencies: - dependency-name: shivammathur/setup-php dependency-version: 2.37.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a7b5eeaad60c..13e02c677f86 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2386,7 +2386,7 @@ jobs: # linux specific setup - name: Setup PHP if: contains(matrix.os, 'ubuntu') - uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4 + uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0 with: php-version: '8.3' tools: pecl From 91840304e440a47a41f61682a73f7721272e9a18 Mon Sep 17 00:00:00 2001 From: Siddharth Srinivasan Date: Mon, 23 Mar 2026 16:25:00 +0530 Subject: [PATCH 39/74] Fix harness/apisupport.harness build TestDownload check Added the use of server and repos attributes, as are defined for the downloadbinaries task in the nbbuild/templates/projectized.xml script. This would ensure the usage of the expected property values defined for downloads during the build. Signed-off-by: Siddharth Srinivasan --- harness/apisupport.harness/build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/harness/apisupport.harness/build.xml b/harness/apisupport.harness/build.xml index be530726aca3..170678385224 100644 --- a/harness/apisupport.harness/build.xml +++ b/harness/apisupport.harness/build.xml @@ -40,7 +40,7 @@ C29635C8A7AFA03D74B33C1884DF8ABB2B3F3DCC org.ow2.asm:asm:9.9 - + From 3e838de7afc9fe05bdd07287c8c5e8d00a9e9871 Mon Sep 17 00:00:00 2001 From: Eric Barboni Date: Wed, 18 Mar 2026 18:20:02 +0100 Subject: [PATCH 40/74] ci move --- .github/workflows/main.yml | 2 +- nbbuild/{travis => ci}/check-line-endings.sh | 0 nbbuild/hudson/.hgmail-profiler | 2 - nbbuild/hudson/core-main | 136 ----------- nbbuild/hudson/initAppserver.sh | 131 ---------- nbbuild/hudson/javascript-tests | 21 -- nbbuild/hudson/nbms-and-javadoc | 72 ------ nbbuild/hudson/round-robin-build | 54 ----- nbbuild/hudson/round-robin-push | 158 ------------ nbbuild/hudson/round-sync | 67 ------ nbbuild/hudson/sigtests | 61 ----- nbbuild/hudson/team-private-repo | 134 ----------- nbbuild/hudson/team-repo | 116 --------- nbbuild/hudson/test-platform | 46 ---- nbbuild/hudson/trunk | 20 -- nbbuild/newbuild/JavaFXNBPlugin_checkout.sh | 58 ----- nbbuild/newbuild/build-all-components.sh | 224 ------------------ nbbuild/newbuild/build-mac-nbi.sh | 80 ------- nbbuild/newbuild/build-nbi.sh | 192 --------------- nbbuild/newbuild/build-source-zips.sh | 47 ---- nbbuild/newbuild/build-unpacked-nbms.sh | 55 ----- nbbuild/newbuild/clean-all.sh | 31 --- nbbuild/newbuild/files-info.sh | 79 ------ .../generate_updatetracking_from_nbm.sh | 24 -- nbbuild/newbuild/init.sh | 189 --------------- nbbuild/newbuild/pack-all-components.sh | 145 ------------ nbbuild/newbuild/pack-base.sh | 43 ---- nbbuild/newbuild/push-remote-java-help.sh | 75 ------ nbbuild/newbuild/trunk-cb.sh | 67 ------ nbbuild/newbuild/trunk-nightly.sh | 146 ------------ nbbuild/newbuild/upload-bits.sh | 36 --- nbbuild/production/instrumented-installer.sh | 81 ------- nbbuild/travis/gensigtest.sh | 34 --- 33 files changed, 1 insertion(+), 2625 deletions(-) rename nbbuild/{travis => ci}/check-line-endings.sh (100%) delete mode 100644 nbbuild/hudson/.hgmail-profiler delete mode 100644 nbbuild/hudson/core-main delete mode 100644 nbbuild/hudson/initAppserver.sh delete mode 100644 nbbuild/hudson/javascript-tests delete mode 100755 nbbuild/hudson/nbms-and-javadoc delete mode 100644 nbbuild/hudson/round-robin-build delete mode 100644 nbbuild/hudson/round-robin-push delete mode 100644 nbbuild/hudson/round-sync delete mode 100644 nbbuild/hudson/sigtests delete mode 100644 nbbuild/hudson/team-private-repo delete mode 100644 nbbuild/hudson/team-repo delete mode 100644 nbbuild/hudson/test-platform delete mode 100644 nbbuild/hudson/trunk delete mode 100644 nbbuild/newbuild/JavaFXNBPlugin_checkout.sh delete mode 100644 nbbuild/newbuild/build-all-components.sh delete mode 100644 nbbuild/newbuild/build-mac-nbi.sh delete mode 100644 nbbuild/newbuild/build-nbi.sh delete mode 100644 nbbuild/newbuild/build-source-zips.sh delete mode 100644 nbbuild/newbuild/build-unpacked-nbms.sh delete mode 100644 nbbuild/newbuild/clean-all.sh delete mode 100644 nbbuild/newbuild/files-info.sh delete mode 100644 nbbuild/newbuild/generate_updatetracking_from_nbm.sh delete mode 100644 nbbuild/newbuild/init.sh delete mode 100644 nbbuild/newbuild/pack-all-components.sh delete mode 100644 nbbuild/newbuild/pack-base.sh delete mode 100644 nbbuild/newbuild/push-remote-java-help.sh delete mode 100644 nbbuild/newbuild/trunk-cb.sh delete mode 100644 nbbuild/newbuild/trunk-nightly.sh delete mode 100644 nbbuild/newbuild/upload-bits.sh delete mode 100644 nbbuild/production/instrumented-installer.sh delete mode 100755 nbbuild/travis/gensigtest.sh diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 13e02c677f86..60f42848621d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -347,7 +347,7 @@ jobs: - name: Check line endings and verify RAT report if: ${{ !cancelled() }} run: | - nbbuild/travis/check-line-endings.sh + nbbuild/ci/check-line-endings.sh ant $OPTS -quiet build-source-config mkdir scratch && cd scratch unzip -qq ../nbbuild/build/release-src* diff --git a/nbbuild/travis/check-line-endings.sh b/nbbuild/ci/check-line-endings.sh similarity index 100% rename from nbbuild/travis/check-line-endings.sh rename to nbbuild/ci/check-line-endings.sh diff --git a/nbbuild/hudson/.hgmail-profiler b/nbbuild/hudson/.hgmail-profiler deleted file mode 100644 index afe937a5273a..000000000000 --- a/nbbuild/hudson/.hgmail-profiler +++ /dev/null @@ -1,2 +0,0 @@ -[reposubs] -* = cvs@profiler.netbeans.org diff --git a/nbbuild/hudson/core-main b/nbbuild/hudson/core-main deleted file mode 100644 index eac1ca5210f5..000000000000 --- a/nbbuild/hudson/core-main +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -ANT_OPTS="$ANT_OPTS -Xmx1G" - -if [ ! -z $NB_PROXY_HOST ] && [ ! -z $NB_PROXY_PORT ]; then - ANT_OPTS="$ANT_OPTS -Dhttp.proxyHost=$NB_PROXY_HOST -Dhttp.proxyPort=$NB_PROXY_PORT" -fi -export ANT_OPTS - -ant build-nozip || exit -ant commit-validation -Dcontinue.after.failing.tests=true || exit -ant check-sigtests-release -Dfail.on.error=false || exit -ant check-sigtests-version -Dsigtest.fail.on.error=true || exit -ant -Dtest-unit-sys-prop.ignore.random.failures=true localtest || exit -ant -Dtest-unit-sys-prop.ignore.random.failures=true -Dtest.type=test-unit -Dtest.modules=\ -ant.freeform,\ -ant.htmlui,\ -api.java,\ -api.java.classpath,\ -api.progress,\ -api.progress.nb,\ -api.templates,\ -api.visual,\ -apisupport.ant,\ -apisupport.harness,\ -apisupport.project,\ -apisupport.refactoring,\ -apisupport.wizards,\ -autoupdate.services,\ -autoupdate.ui,\ -core.execution,\ -core.ide,\ -core.kit,\ -core.multiview,\ -core.netigso,\ -core.osgi,\ -core.output2,\ -core.startup,\ -core.ui,\ -core.windows,\ -debugger.jpda.js,\ -editor.mimelookup,\ -editor.mimelookup.impl,\ -extexecution,\ -favorites,\ -hudson,\ -hudson.git,\ -hudson.maven,\ -hudson.mercurial,\ -hudson.subversion,\ -hudson.tasklist,\ -ide.branding,\ -java.api.common,\ -java.freeform,\ -java.j2seplatform,\ -java.j2seproject,\ -java.platform,\ -java.project,\ -javahelp,\ -keyring.impl,\ -masterfs,\ -maven,\ -maven.apisupport,\ -maven.embedder,\ -maven.hints,\ -maven.indexer,\ -maven.junit,\ -maven.model,\ -maven.osgi,\ -nbjunit,\ -nbbrwsr,\ -netbinox,\ -o.apache.tools.ant.module,\ -o.n.bootstrap,\ -o.n.core,\ -o.n.insane,\ -o.n.swing.tabcontrol,\ -openide.actions,\ -openide.awt,\ -openide.compat,\ -openide.dialogs,\ -openide.execution,\ -openide.explorer,\ -openide.filesystems,\ -openide.filesystems.compat8,\ -openide.filesystems.nb,\ -openide.loaders,\ -openide.modules,\ -openide.nodes,\ -openide.options,\ -openide.text,\ -openide.util,\ -openide.util.lookup,\ -openide.util.ui,\ -openide.windows,\ -options.api,\ -options.keymap,\ -progress.ui,\ -project.ant,\ -project.libraries,\ -projectapi,\ -projectimport.eclipse.core,\ -projectui,\ -projectuiapi,\ -queries,\ -sendopts,\ -settings,\ -spi.navigator,\ -spi.quicksearch,\ -tasklist.todo,\ -tasklist.ui,\ -templates,\ -templatesui,\ -uihandler,\ -versioning,\ -versioning.masterfs test || exit -ant build-test-dist || exit diff --git a/nbbuild/hudson/initAppserver.sh b/nbbuild/hudson/initAppserver.sh deleted file mode 100644 index a8afdb5307bc..000000000000 --- a/nbbuild/hudson/initAppserver.sh +++ /dev/null @@ -1,131 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -## Script to init GlassFish application server for automated tests. -## If not installed or newer binary is available, it uninstalls GlassFish, -## and installs it. Then it always stops domain if running, kills all -## related processes, deletes domain and creates new domain. - -set -x - -################################################################### - -# Initialization - -AS_ROOT=/hudson/workdir/jobs/trunk/testappsrv -AS_BINARY=/hudson/glassfish-installer-v2ur1-b09d-linux.jar -AS_HOME=${AS_ROOT}/glassfish -AS_DOMAIN=domain1 -AS_PORT=8080 - -mkdir -p $AS_ROOT - -################################################################### - -cleanup() { - # check status all domains, stop running domains - for domain in `$AS_HOME/bin/asadmin list-domains | grep running | grep -v not` ; do - if [ $domain != "running" ]; then - echo "Stopping domain $domain." - $AS_HOME/bin/asadmin stop-domain $domain - fi - done - - # kill all App server processes - for pid in `ps -ef | grep $AS_HOME | grep -v grep | awk {'print $2'}` ; do - kill -9 $pid - done - - # delete and create new domain - COUNT=`$AS_HOME/bin/asadmin list-domains | grep $AS_DOMAIN | wc -l` - if [ "$COUNT" -eq 1 ]; then - echo "Deleting domain $AS_DOMAIN." - $AS_HOME/bin/asadmin delete-domain $AS_DOMAIN - ERROR_CODE=$? - if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Can't delete domain $AS_DOMAIN - trying to uninstall and install Glassfish." - uninstall - install - $AS_HOME/bin/asadmin delete-domain domain1 - fi - fi - echo "Creating domain $AS_DOMAIN." - echo AS_ADMIN_PASSWORD=adminadmin > $AS_HOME/passwd - echo AS_ADMIN_ADMINPASSWORD=adminadmin >> $AS_HOME/passwd - echo AS_ADMIN_USERPASSWORD=adminadmin >> $AS_HOME/passwd - echo AS_ADMIN_MASTERPASSWORD=adminadmin >> $AS_HOME/passwd - $AS_HOME/bin/asadmin create-domain --adminport 4848 --user admin --savemasterpassword=true --passwordfile $AS_HOME/passwd $AS_DOMAIN -} - -################################################################### - -uninstall() { - if [ -x $AS_HOME/bin/uninstall ]; then - $AS_HOME/bin/uninstall -silent - fi - - # This is a temp hack as the "uninstall" command is broken - if [ -d ${AS_HOME} ]; then - rm -rf ${AS_HOME} - fi -} - -################################################################### - -install() { - # install only if new binary is available - if [ -f ${AS_HOME}/version ]; then - AS_VERSION=`cat ${AS_HOME}/version` - if [ "${AS_BINARY}" = "${AS_VERSION}" ]; then - return - fi - fi - - uninstall - - cd ${AS_ROOT} - - TEMP_DISPLAY="${DISPLAY}" - unset DISPLAY - - # Creating statefile - echo "A" > ${AS_ROOT}/sunappserver_statefile - java -Xmx256m -jar ${AS_BINARY} < ${AS_ROOT}/sunappserver_statefile - ERROR_CODE=$? - rm -f ${AS_ROOT}/sunappserver_statefile - DISPLAY="${TEMP_DISPLAY}" - export DISPLAY - - if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Can't install Glassfish" - exit $ERROR_CODE; - fi - - # Setup Application Server - ant -f ${AS_HOME}/setup.xml -Dinstance.port=${AS_PORT} -Ddomain.name=${AS_DOMAIN} - - echo ${AS_BINARY} > ${AS_HOME}/version -} - -############################# MAIN ################################ - -install -cleanup - -############################## END ################################ diff --git a/nbbuild/hudson/javascript-tests b/nbbuild/hudson/javascript-tests deleted file mode 100644 index 58844b25a182..000000000000 --- a/nbbuild/hudson/javascript-tests +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ant || exit 2 -ant -f javascript.editing/build-javascript.xml runtests || exit 3 diff --git a/nbbuild/hudson/nbms-and-javadoc b/nbbuild/hudson/nbms-and-javadoc deleted file mode 100755 index eabe0bc1c1f4..000000000000 --- a/nbbuild/hudson/nbms-and-javadoc +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -keystore=$SECRET/NBstore -storepass=`cat $SECRET/storepass` -ant verify-libs-and-licenses || exit -ant -f autoupdate.services/build.xml # build first to ensure DTD validation works -ant -Dcluster.config=experimental \ - -Dkeystore=$keystore -Dstorepass=$storepass -Djavadoc.fail.on.error=false -Dnbms.fail.on.error=false \ - build-nonsigned-nbms || exit -ant -Dcluster.config=stableuc create-license-summary || exit -ant -Dcluster.config=experimental create-netbeans-import finish-build || exit - -rm -rv nbbuild/netbeans/ergonomics nbbuild/nbms/ergonomics # not going to have been built reasonably anyway -ant -Dcluster.config=minimal -Dzip.dir=`pwd`/nbbuild/dist zip-cluster-config || exit -ant -Dcluster.config=full -Dzip.dir=`pwd`/nbbuild/dist zip-cluster-config || exit -(cd nbbuild/netbeans; for cluster in *; do if [ -d $cluster/update_tracking ]; then zip -rq ../dist/$BUILD_TAG-$cluster.zip $cluster; fi; done) - -ant -Dtest.fail.on.error=false build-test-dist - -ant -Dtest.config=commit -Dcontinue.after.failing.tests=true -f o.n.core/build.xml test -ant -Dold.updates=file:${WORKSPACE}/nbbuild/build/prior-nbms/updates.xml generate-uc-catalog verify-update-descriptor || exit - -ant clean-untracked-files - -sh -x nbbuild/hudson/sigtests || exit 1 - -set +x - -for r in . contrib -do - output="`hg -R $r st`" - if [ -n "$output" ] - then - echo "Forbidden local modifications found -> The build will fail." - echo "(Needed to fix a job which modified files in the repository)" - echo "Modified files are:" - echo "$output" - hg -R $r diff - exit 1 - fi -done - -ant generate-golden-files generate-files-layout index-layer-paths summarize-hgmail || exit -generated=nbbuild/build/generated -cp -v nbbuild/netbeans/THIRDPARTYLICENSE-generated.txt $generated/external-libraries.txt || exit -prev_generated=nbbuild/build/prior-generated -if [ -d $prev_generated ]; then - # kits.txt is too verbose and changes too frequently to include in diff - diff -r -u --minimal --show-function-line='^[A-Z][A-Z]' --ignore-matching-lines=' [(]merged[)]$' -x kits.txt $prev_generated $generated > $generated.diff - if [ -s $generated.diff ]; then - (echo "${BUILD_URL}changes"; echo "${BUILD_URL}artifact/$generated/"; echo; cat $generated.diff) | mail -s "Golden file changes in $JOB_NAME build #$BUILD_NUMBER" api-changes@netbeans.org - fi -fi diff --git a/nbbuild/hudson/round-robin-build b/nbbuild/hudson/round-robin-build deleted file mode 100644 index 07cfa2ed886f..000000000000 --- a/nbbuild/hudson/round-robin-build +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -dobuild() { - RESULT=`pwd`/nbbuild/build/test-results.txt - export RESULT - rm -f $RESULT - - ant build-nozip $ANT_PARAM || exit 2 - ant commit-validation $ANT_PARAM || exit 3 - ant check-sigtests-release $ANT_PARAM || exit 35 -# ant build-test-dist $ANT_PARAM || exit 4 - # At least check that there are no cycles in the dep list, as e.g. in 2ca8e9e6fb71: - ant init-test-dist $ANT_PARAM || exit 4 - - testmodule openide.awt || exit 5 - - if ant check-sigtests-version $ANT_PARAM -Dsigtest.fail.on.error=true; then - echo Sigtest version check OK - else - echo *************************************************** - echo - echo More info at http://wiki.netbeans.org/SignatureTest - echo - echo *************************************************** - exit 6 - fi - - FAILED=`cat $RESULT | wc -l` - if [ "$FAILED" -gt 0 ]; then - echo "No push. Failed tests in following modules:" - cat $RESULT - exit 5 - fi - - # Clean up some to save on disk space: - rm -rf */build/classes */build/javahelp nbbuild/netbeans nbbuild/build/public-package-jars -} diff --git a/nbbuild/hudson/round-robin-push b/nbbuild/hudson/round-robin-push deleted file mode 100644 index 7b1ca92ff50f..000000000000 --- a/nbbuild/hudson/round-robin-push +++ /dev/null @@ -1,158 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -[ -n "$pop_url" ] || exit 101 -if [ -z "$pop_build_info" ]; then - pop_build_info="nbbuild/build/build_info" -fi -[ -n "$pop_job" ] || exit 103 - -[ -n "$push_url" ] || exit 113 -[ -n "$push_username" ] || exit 114 - - -testresult() { - if [ -z "$4" ]; then - FAILURES="0" - else - FAILURES="$4" - fi - - FILE="$1/TEST-hg.$2.xml" - echo '' >$FILE - echo '' >>$FILE - echo ' ' >>$FILE - echo ' ' >>$FILE - echo ' ' >>$FILE - if [ "$FAILURES" -gt "0" ]; then - echo ' ' >>$FILE - fi - echo ' ' >>$FILE - echo ' >$FILE - echo "$3" >>$FILE - echo ']]>' >>$FILE - echo ' ' >>$FILE - echo '' >>$FILE -} - -testmodule() { - if ant $ANT_PARAM -f $1/build.xml test-unit -Dtest-unit-sys-prop.ignore.random.failures=true; then - echo Test OK: $1 - else - echo $1 >>$RESULT - exit 5 - fi -} - -rollback() { - EXIT="$?" - if [ -n "$BASETIP" ]; then - echo "Script failed with exitcode $EXIT rolling back to $BASETIP" - hg update -C - hg --config extensions.mq= strip -n "$BASETIP" - hg pull -r "$BASETIP" - else - echo "No rollback, exitcode $EXIT" - fi -} - -if [ -z "$TMP" ]; then - TMP="/tmp" -fi - -ANT_OPTS="-Xmx512m" -export ANT_OPTS - -BASETIP=`hg log -r . --template '{node}'` -trap rollback EXIT - -hg up -C tip -hg --config extensions.purge= clean --all - -TESTDIR="nbbuild/build/test/results/" -mkdir -p $TESTDIR - -mkdir -p "nbbuild/build" -STATUS="nbbuild/build/build-info" -curl -H "Cache-Control: no-cache" $pop_job/buildStatus -D "$STATUS" -cat "$STATUS" - -echo Getting Build Info -HGINFO=`curl -vvvv -H "Cache-Control: no-cache" $pop_job/lastStableBuild/artifact/$pop_build_info` -echo Build info: $HGINFO -testresult "$TESTDIR" "build.info" "$HGINFO" -[ -n "$HGINFO" ] || exit 1 - -HGID=`echo "$HGINFO" | grep "Hg ID"` -echo Last build_info line: "$HGID" -HGTIP=`echo "$HGID" | cut -f 2 -d ":" | while read X; do echo $X; done` -echo Last OK revision: "$HGTIP" - -hg pull -r "$HGTIP" "$pop_url" || exit 5 -echo 'hg parent:' -hg parent -if [ `hg heads --template '{node|short}\n' | wc -l` = 1 ] -then - hg up || exit 6 -else - if hg --config ui.merge=internal:merge --config ui.interactive=1 merge "$HGTIP" < /dev/null; then - echo Merge OK. - else - echo Merge failed. - hg heads - exit 7 - fi - hg ci -u "$push_username"@netbeans.org -m "Merge of $pop_url" || exit 8 -fi -HGOUT=`hg out $push_url` -testresult "$TESTDIR" "outgoing.changes" "$HGOUT" - -OUT_COUNT=`hg out --no-merges --template 'change: {node|short}\n' $push_url | grep '^change: ' | wc -l` -if [ "$OUT_COUNT" -gt 0 ]; then - echo "Let the build start. There are $OUT_COUNT outgoing changes." -else - echo "No outgoing changes. No reason to do build." - echo >"nbbuild/no-outgoing-changes-no-build.zip" - if egrep "Location:.*/blue(_anime)?[.]" "$STATUS"; then - echo Build seems to be stable - testresult "$TESTDIR" "check.build.stable" "`cat $STATUS`" - else - echo Build is not stable - testresult "$TESTDIR" "check.build.stable" "`cat $STATUS`" "1" - echo >"nbbuild/downstream-builder-not-stable-no-push.zip" - fi - exit 0 -fi - -. `dirname $0`/round-robin-build - -if dobuild; then - for i in 1 2 3 4 5 6 7 8 9 10; do - if hg push -f "$push_url"; then - echo "Build and push successful" - unset BASETIP - exit 0 - fi - done - echo "Push failed" - exit 1 -else - echo "Failure, rolling back own commits to $BASETIP" - exit 1 -fi diff --git a/nbbuild/hudson/round-sync b/nbbuild/hudson/round-sync deleted file mode 100644 index 9b5fbabde7f7..000000000000 --- a/nbbuild/hudson/round-sync +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -[ -n "$push_username" ] || exit 102 -[ -n "$push_password" ] || exit 103 -[ -n "$push_repo" ] || exit 104 - -rollback() { - EXIT="$?" - if [ -n "$BASETIP" ]; then - echo "Script failed for these heads" - hg heads - echo "Script failed with exitcode $EXIT rolling back to $BASETIP" - hg update -C - hg --config extensions.mq= strip -n "$BASETIP" - hg pull -r "$BASETIP" - else - echo "No rollback, exitcode $EXIT" - fi -} - -BASETIP=`hg log -r . --template '{node}'` -trap rollback EXIT - -hg pull -r default -u http://hg.netbeans.org/"$push_repo" - -hg heads -HEADS=`hg heads --template "{branches}\n" | grep "^$" | wc -l` -if [ $HEADS = 2 ]; then - echo "2 heads, Need to merge" - hg --config ui.merge=internal:merge --config ui.interactive=1 merge < /dev/null || exit 8 - hg ci -u "$push_username"@netbeans.org -m "Automated merge with main-silver" -else - if [ $HEADS -gt 2 ]; then - echo "$HEADS heads, here is some diagnostic" - hg heads - fi -fi - -TIP=`hg log -r . --template '{node}'` - -if hg push -f -r $TIP https://"$push_username":"$push_password"@hg.netbeans.org/"$push_repo"; then - echo Push OK. -else - hg heads - hg incoming -r default http://hg.netbeans.org/"$push_repo" - echo Too many heads in default branch or there are some incoming changesets - exit 9 -fi -unset BASETIP -exit 0 diff --git a/nbbuild/hudson/sigtests b/nbbuild/hudson/sigtests deleted file mode 100644 index 867a549aec9b..000000000000 --- a/nbbuild/hudson/sigtests +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -if [ -z "$JOB_URL" ]; then - JOB_URL=http://deadlock.netbeans.org/job/nbms-and-javadoc/ -fi - -sigtest_prev=$WORKSPACE/nbbuild/build/prior-sigtest -if [ -d $sigtest_prev ] -then - echo SigTest: Previous Snapshots - ls $sigtest_prev - echo SigTest: Checking All Changes - ANT_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/ant-check-sigtests.hprof' ant -Dsigtest.basedir=$sigtest_prev check-sigtests - for report in `pwd`/nbbuild/build/sigtest/check-snapshot/*; do - if ! expr "$report" : ".*/TESTS-.*" && grep 'failures="1"' $report >/dev/null; then - sigtest_email=`cat $report | grep "^email:" | grep -v commit.mail | cut -c 8-` - if [ -z "$sigtest_email" ]; then - sigtest_email="api-changes@netbeans.org" - fi - content=`cat $report` - ( - echo "Code changes:"; - echo "${BUILD_URL}changes"; - echo "API changes:"; - echo "${BUILD_URL}artifact/nbbuild/build/sigtest/check-snapshot/html/index.html"; - echo "Failure output is available as StdErr output of sigtest test for appropriate module."; - # echo "${BUILD_URL}artifact/$sigtest_out/`basename $report`"; - echo; - expr "$content" : ".*CDATA\[\(.*\)\]\].*" - ) | mail -s "`basename $report` - sigchanges in $JOB_NAME build #$BUILD_NUMBER" $sigtest_email - fi - done - echo SigTest: Checking All Changes Done -else - echo SigTest: Did not find previous Snapshot -fi - -echo SigTest: Generating Golden Files -ant gen-sigtests || exit 1 -echo SigTest: Golden Files generated successfully - -echo SigTest: Finding Incompatible Changes -ant check-sigtests-release -Dfail.on.error=false || exit 1 -echo SigTest: Finding Incompatible Changes finished successfully diff --git a/nbbuild/hudson/team-private-repo b/nbbuild/hudson/team-private-repo deleted file mode 100644 index 9059a1899881..000000000000 --- a/nbbuild/hudson/team-private-repo +++ /dev/null @@ -1,134 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x -if [ "$1" != "" ] ; then - repository=$1 - echo $repository -fi - -if [ "$2" != "" ]; then - action=$2 -fi - -if [ "$3" != "" ]; then - push_username=$3 -fi - -if [ "$4" != "" ]; then - push_password=$4 -fi - -if [ "$action" = "build" -a "$action" = "sync" ] ; then - exit 101 -fi - -if [ "$push_username" = "" ] ; then - exit 102 -fi - -if [ "$push_password" = "" ] ; then - exit 103 -fi - -if [ "$repository" = "" ] ; then - exit 104 -fi - -ANT_OPTS="-Xmx512m" -export ANT_OPTS -HGMERGE=merge -export HGMERGE -/bin/pwd -rm -rf real.workspace -hg clone . real.workspace || exit 1 -cd real.workspace - -/bin/pwd - -testmodule() { - ant -f $1/build.xml test -Dtest-unit-sys-prop.ignore.random.failures=true -} - -if [ "$action" = "build" ]; then - hg pull http://hg.netbeans.org/$repository || exit 1 - hg up -C http://hg.netbeans.org/$repository || exit 1 - - ant build || exit 2 - ant commit-validation # || exit 3 -# testmodule openide.util || exit 4 -# testmodule openide.modules || exit 4 -# testmodule openide.filesystems || exit 4 -# masterfs is currently broken, Radek wants me to disable it until 6.1M2: -# ant -f masterfs|| exit 4 -# testmodule openide.nodes|| exit 4 -# testmodule openide.options || exit 4 -# testmodule openide.dialogs || exit 4 -# testmodule openide.awt || exit 4 -# testmodule openide.windows || exit 4 -# testmodule core.startup # || exit 4 -# testmodule openide.io || exit 4 -# if [ `hg out --template '{node|short}\n' http://hg.netbeans.org/$repository | wc -l` > 0 ]; then -# echo No outgoing changes -# exit 0 -# fi - -# for i in 1 2 3; do -# hg pull http://hg.netbeans.org/$repository || exit 5 -# if [ `hg heads --template '{node|short}\n' | wc -l` = 1 ] -# then -# hg up || exit 6 -# else -# hg merge || exit 7 -# hg ci -m 'Automated merge' || exit 8 -# fi -# hg out http://hg.netbeans.org/main -# hg in http://hg.netbeans.org/main -# hg push https://"$push_username":"$push_password"@hg.netbeans.org/main && exit 0 -# done -# exit 5 - exit 0 -fi - -if [ "$action" = "sync" ]; then - # update the latest tip of the private repository - hg fetch http://hg.netbeans.org/$repository - - # pulling new changes from main-golden - # not needed because the real.workspace is the latest main-golden - # hg fetch http://hg.netbeans.org/main-golden - - # Now build and run tests before push - ant build || exit 2 - ant commit-validation # || exit 3 - - # Just make sure that there are no new changes before push - hg out http://hg.netbeans.org/$repository - hg fetch http://hg.netbeans.org/$repository - - hg push https://"$push_username":"$push_password"@hg.netbeans.org/$repository - - # Now push to the test repo - # echo "Also for now push to testpush-repo:" - # hg fetch ../../testpush-repo - # hg push ../../testpush-repo - exit 0 -fi -# Something wrong here -exit 1 diff --git a/nbbuild/hudson/team-repo b/nbbuild/hudson/team-repo deleted file mode 100644 index 6103f41248a3..000000000000 --- a/nbbuild/hudson/team-repo +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -if [ -z $repository && -n $1 ]; then - repository = $1 -fi - -if [ -z $action && -n $2]; then - action = $2 -fi - -if [ -z $push_username && -n $3 ]; then - push_username = $3 -fi - -if [ -z $push_password && -n $4 ]; then - push_password = $4 -fi - -[ "$action" = "build" ] || [ "$action" = "sync" ] || exit 101 - -[ -n "$push_username" ] || exit 102 -[ -n "$push_password" ] || exit 103 - -[ -n "$repository" ] || exit 104 - -ANT_OPTS="-Xmx512m" -export ANT_OPTS -HGMERGE=merge -export HGMERGE - -rm -rf real.workspace -hg clone . real.workspace || exit 1 -cd real.workspace - -testmodule() { - ant -f $1/build.xml test -Dtest-unit-sys-prop.ignore.random.failures=true -} - -if [ "$action" = "build" ]; then -# hg fetch http://hg.netbeans.org/main || exit 1 -# hg pull http://hg.netbeans.org/main || exit 1 -# if [ `hg heads --template '{node|short}\n' | wc -l` = 1 ] -# then -# hg up || exit 6 -# else -# hg merge || exit 7 -# hg ci -m 'Automated merge' || exit 8 -# fi - - ant build || exit 2 - ant commit-validation # || exit 3 - testmodule openide.util || exit 4 - testmodule openide.modules || exit 4 - testmodule openide.filesystems || exit 4 -# masterfs is currently broken, Radek wants me to disable it until 6.1M2: -# ant -f masterfs|| exit 4 - testmodule openide.nodes|| exit 4 - testmodule openide.options || exit 4 - testmodule openide.dialogs || exit 4 - testmodule openide.awt || exit 4 - testmodule openide.windows || exit 4 - testmodule core.startup # || exit 4 -# testmodule openide.io || exit 4 - if [ `hg out --template '{node|short}\n' http://hg.netbeans.org/main | wc -l` > 0 ]; then - echo No outgoing changes -# exit 0 - fi - - for i in 1 2 3; do - hg pull http://hg.netbeans.org/main || exit 5 - if [ `hg heads --template '{node|short}\n' | wc -l` = 1 ] - then - hg up || exit 6 - else - hg merge || exit 7 - hg ci -m 'Automated merge' || exit 8 - fi - hg out http://hg.netbeans.org/main - hg in http://hg.netbeans.org/main - hg push https://"$push_username":"$push_password"@hg.netbeans.org/main && exit 0 - done - exit 5 -fi - -if [ "$action" = "sync" ]; then - HEADS=`hg heads --template "{node}\n" | wc -l` - if [ $HEADS = 2 ]; then - hg merge - hg ci -m "Automated merge" - hg up -C - fi - hg fetch http://hg.netbeans.org/$repository - hg push https://"$push_username":"$push_password"@hg.netbeans.org/$repository - exit 0 -fi - - - - diff --git a/nbbuild/hudson/test-platform b/nbbuild/hudson/test-platform deleted file mode 100644 index e536b06e6bce..000000000000 --- a/nbbuild/hudson/test-platform +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# XXX consider using lastStableBuild -BUILD=`wget http://deadlock.nbextras.org/hudson/job/trunk/lastSuccessfulBuild/buildNumber -O -` - -TESTDIST="http://deadlock.netbeans.org/job/test-compilation/lastSuccessfulBuild/artifact/nbbuild/build/testdist.zip" -PLATFORM="http://deadlock.netbeans.org/job/trunk/lastSuccessfulBuild/artifact/nbbuild/dist/zip/netbeans-hudson-trunk-$BUILD-platform.zip" - -[ -f `basename $TESTDIST` ] || wget $TESTDIST -[ -f `basename $PLATFORM` ] || wget $PLATFORM - - -rm -rf testdist -mkdir testdist -unzip testdist.zip -d testdist - -rm -rf netbeans -mkdir netbeans -unzip netbeans*platform*.zip -d netbeans -mkdir netbeans/etc -echo >netbeans/etc/netbeans.conf - -#-ant -f testdist/build.xml unit -Dnetbeans.dest.dir=`pwd`/netbeans -ant -f testdist/unit/unit-all-unit.xml runtests -Dnetbeans.dest.dir=`pwd`/netbeans $* - - - - - diff --git a/nbbuild/hudson/trunk b/nbbuild/hudson/trunk deleted file mode 100644 index 708c2e9aef38..000000000000 --- a/nbbuild/hudson/trunk +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ant -Dcontinue.after.failing.tests=true -Dtest.fail.on.error=false build-nozip commit-validation build-test-dist diff --git a/nbbuild/newbuild/JavaFXNBPlugin_checkout.sh b/nbbuild/newbuild/JavaFXNBPlugin_checkout.sh deleted file mode 100644 index be97cbec5281..000000000000 --- a/nbbuild/newbuild/JavaFXNBPlugin_checkout.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# This script is purposed -#to getting all needed sources -# to start Java FX Netbeans Plugin builds - - -#Check if there is the main repo -cd $WORKSPACE -if [ ! -d main ] ; -then -hg clone http://hg.netbeans.org/main -else - cd $WORKSPACE/main - if [ -d .hg ] - then - hg pull http://hg.netbeans.org/main - hg update -C - else - cd $WORKSPACE - hg clone http://hg.netbeans.org/main - fi -fi - -#Check if there is the repo main/contrib -cd $WORKSPACE/main - -if [ ! -d contrib ] ; -then -hg clone http://hg.netbeans.org/main/contrib -else - cd $WORKSPACE/main/contrib - if [ -d .hg ] - then - hg pull http://hg.netbeans.org/main/contrib - hg update -C - else - cd $WORKSPACE - hg clone http://hg.netbeans.org/maincontrib - fi -fi diff --git a/nbbuild/newbuild/build-all-components.sh b/nbbuild/newbuild/build-all-components.sh deleted file mode 100644 index f3f3dcb905ef..000000000000 --- a/nbbuild/newbuild/build-all-components.sh +++ /dev/null @@ -1,224 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -DIRNAME=`dirname $0` -cd ${DIRNAME} -SCRIPT_DIR=`pwd` -source init.sh - -#Clean old tests results -if [ -n $WORKSPACE ]; then - rm -rf $WORKSPACE/results -fi - -cd $NB_ALL - -################################################################### -# -# Build all the components -# -################################################################### - -mkdir -p nbbuild/netbeans - -#Build source packages -ant ${CLUSTER_CONFIG:--Dcluster.config=full} -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES -f nbbuild/build.xml -Dmerge.dependent.modules=false build-source-config -ERROR_CODE=$? - -create_test_result "build.source.package" "Build Source package" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build all source package" -# exit $ERROR_CODE; -else - mv nbbuild/build/*-src-* $DIST/zip/$BASENAME-src.zip -fi - -ant -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES -f nbbuild/build.xml -Dmerge.dependent.modules=false -Dcluster.config=platform build-source-config -ERROR_CODE=$? - -create_test_result "build.source.platform" "Build Platform Source package" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build basic platform source package" -# exit $ERROR_CODE; -else - mv nbbuild/build/*-src-* $DIST/zip/$BASENAME-platform-src.zip -fi - -#Build the NB IDE first - no validation tests! -ant $CLUSTER_CONFIG -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES -f nbbuild/build.xml build-nozip -Dbuild.compiler.debuglevel=${DEBUGLEVEL} -ERROR_CODE=$? - -create_test_result "build.IDE" "Build IDE" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build IDE" - exit $ERROR_CODE; -fi - -############### Commit validation tests ########################## -cp -rp $NB_ALL/nbbuild/netbeans $NB_ALL/nbbuild/netbeans-vanilla - -TESTS_STARTED=`date` -# Different JDK for tests because JVM crashes often (see 6598709, 6607038) -JDK_TESTS=$JDK_HOME -# standard NetBeans unit and UI validation tests -ant -v -f nbbuild/build.xml -Dlocales=$LOCALES -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER commit-validation -ERROR_CODE=$? - -create_test_result "test.commit-validation" "Commit Validation" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Commit validation failed" - #TEST_CODE=1; -fi - -if [ -n $WORKSPACE ]; then - cp -r $NB_ALL/nbbuild/build/test/results $WORKSPACE -fi - -echo TESTS STARTED: $TESTS_STARTED -echo TESTS FINISHED: `date` -if [ "${TEST_CODE}" = 1 ]; then - echo "ERROR: At least one of validation tests failed" - exit 1; -fi - -#Remove file created during commit validation -rm -rf $NB_ALL/nbbuild/netbeans/nb/servicetag -rm -rf $NB_ALL/nbbuild/netbeans/enterprise/config/GlassFishEE6 - -ant $CLUSTER_CONFIG -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES -f nbbuild/build.xml build-test-dist -Dtest.fail.on.error=false -ERROR_CODE=$? - -create_test_result "build.test.dist" "Build Test Distribution" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Building of Test Distrubution failed" - exit $ERROR_CODE; -else - mv nbbuild/build/testdist.zip $DIST/zip/testdist-${BUILDNUMBER}.zip -fi - -rm -rf $NB_ALL/nbbuild/netbeans -cp -rp $NB_ALL/nbbuild/netbeans-vanilla $NB_ALL/nbbuild/netbeans -cd $NB_ALL - -#Build all NBMs for stable UC - IDE + UC-only -ant ${CLUSTER_CONFIG:--Dcluster.config=stableuc} -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES -f nbbuild/build.xml build-nonsigned-nbms -Dbase.nbm.target.dir=${DIST}/uc2 -Dkeystore=$KEYSTORE -Dstorepass=$STOREPASS -Dbuild.compiler.debuglevel=${DEBUGLEVEL} -ERROR_CODE=$? - -create_test_result "build.NBMs" "Build all NBMs" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build all stable UC NBMs" - exit $ERROR_CODE; -fi - -cd $NB_ALL - -#Rebuild ODCS NBMs for stable UC with all available locales -ant ${CLUSTER_CONFIG:--Dcluster.config=odcs} -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES,de,es,fr,it,ko,zh_TW -f nbbuild/build.xml build-nonsigned-nbms -Dbase.nbm.target.dir=${DIST}/odcs -Dkeystore=$KEYSTORE -Dstorepass=$STOREPASS -Dbuild.compiler.debuglevel=${DEBUGLEVEL} -ERROR_CODE=$? - -create_test_result "build.NBMs" "Build ODCS NBMs" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build ODCS NBMs" - exit $ERROR_CODE; -fi - -mv ${DIST}/odcs/extra/org-netbeans-modules-odcs* ${DIST}/uc2/extra/ -mv ${DIST}/odcs/extra/org-netbeans-modules-team-server* ${DIST}/uc2/extra/ -rm -rf ${DIST}/odcs - -rm -rf $NB_ALL/nbbuild/netbeans -mv $NB_ALL/nbbuild/netbeans-vanilla $NB_ALL/nbbuild/netbeans - -cd $NB_ALL - -# Separate IDE nbms from stableuc nbms. -ant $CLUSTER_CONFIG -f nbbuild/build.xml move-ide-nbms -Dnbms.source.location=${DIST}/uc2 -Dnbms.target.location=${DIST}/uc -ERROR_CODE=$? - -create_test_result "get.ide.NBMs" "Extract IDE NBMs from all the built NBMs" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot extract IDE NBMs" - exit $ERROR_CODE; -fi - - -#Build 110n kit for HG files -ant $CLUSTER_CONFIG -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES -f build.xml hg-l10n-kit -Dl10n.kit=${DIST}/zip/hg-l10n-$BUILDNUMBER.zip -ERROR_CODE=$? - -create_test_result "build.hg.l10n" "Build 110n kit for HG files" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build l10n kits for HG files" -# exit $ERROR_CODE; -fi - -#Build l10n kit for IDE modules -ant $CLUSTER_CONFIG -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES -f build.xml l10n-kit -Dnbms.location=${DIST}/uc -Dl10n.kit=${DIST}/zip/ide-l10n-$BUILDNUMBER.zip -ERROR_CODE=$? - -create_test_result "build.modules.l10n" "Build l10n kit for IDE modules" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build l10n kits for IDE modules" -# exit $ERROR_CODE; -fi - -#Build l10n kit for stable uc modules -ant $CLUSTER_CONFIG -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -Dlocales=$LOCALES -f build.xml l10n-kit -Dnbms.location=${DIST}/uc2 -Dl10n.kit=${DIST}/zip/stableuc-l10n-$BUILDNUMBER.zip -ERROR_CODE=$? - -create_test_result "build.modules.l10n" "Build l10n kit for stable uc modules" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build l10n kits for stable uc modules" -# exit $ERROR_CODE; -fi - -cd nbbuild -#Build catalog for IDE NBMs -ant $CLUSTER_CONFIG -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -f build.xml generate-uc-catalog -Dnbms.location=${DIST}/uc -Dcatalog.file=${DIST}/uc/catalog.xml -ERROR_CODE=$? - -create_test_result "build.ide.catalog" "Build UC catalog for IDE modules" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build UC catalog for IDE module" - exit $ERROR_CODE; -fi - -#Build catalog for Stable UC NBMs -ant $CLUSTER_CONFIG -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -f build.xml generate-uc-catalog -Dnbms.location=${DIST}/uc2 -Dcatalog.file=${DIST}/uc2/catalog.xml -ERROR_CODE=$? - -create_test_result "build.stableuc.catalog" "Build UC catalog for stable UC modules" $ERROR_CODE -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot build UC catalog for stable UC modules" - exit $ERROR_CODE; -fi -cd .. - -cd $NB_ALL/nbbuild - -if [ ! -z $UC_NBMS_DIR ]; then - for UC_CLUSTER in $UC_EXTRA_CLUSTERS; do - cp -r ${UC_NBMS_DIR}/${UC_CLUSTER} ${DIST}/uc - done -fi - -#Remove the build helper files -rm -f netbeans/nb.cluster.* -#rm -f netbeans/build_info -#rm -rf netbeans/extra diff --git a/nbbuild/newbuild/build-mac-nbi.sh b/nbbuild/newbuild/build-mac-nbi.sh deleted file mode 100644 index f0f203fd59fa..000000000000 --- a/nbbuild/newbuild/build-mac-nbi.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -if [ ! -z $TIP ] ; then - echo Update to $TIP - hg up --rev $TIP -fi - -DIRNAME=`dirname $0` -cd ${DIRNAME} -SCRIPTS_DIR=`pwd` -source init.sh - -if [ -z $BUILD_NBJDK7 ]; then - BUILD_NBJDK7=0 -fi - -if [ -z "$SIGNING_IDENTITY" ]; then - SIGNING_IDENTITY=0 -fi - -if [ ! -z $SIGNING_PASSWORD ] ; then - security unlock-keychain -p $SIGNING_PASSWORD -fi - - if [ 1 -eq $ML_BUILD ] ; then - cd $NB_ALL/l10n - tar c src/*/other/installer/mac/* | ( cd $NB_ALL; tar x ) - cd $NB_ALL - fi - - -# Run new builds -sh $NB_ALL/installer/mac/newbuild/init.sh -sh $NB_ALL/installer/mac/newbuild/build.sh $MAC_PATH $BASENAME_PREFIX $BUILDNUMBER $BUILD_NBJDK7 "$SIGNING_IDENTITY" $LOCALES -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - NBI installers build failed" - exit $ERROR_CODE; -fi - -mkdir -p $DIST/bundles -cp -r $WORKSPACE/installer/mac/newbuild/dist_en/* $DIST/bundles -ERROR_CODE=$? -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Cannot copy installers" - exit $ERROR_CODE; -fi - -cd $DIST - -bash ${SCRIPTS_DIR}/files-info.sh bundles bundles/jdk -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Counting of MD5 sums and size failed" -fi - -if [ ! -z $SIGNING_PASSWORD ] ; then - security lock-keychain -fi diff --git a/nbbuild/newbuild/build-nbi.sh b/nbbuild/newbuild/build-nbi.sh deleted file mode 100644 index 681b87ffc317..000000000000 --- a/nbbuild/newbuild/build-nbi.sh +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -DIRNAME=`dirname $0` -cd ${DIRNAME} -SCRIPTS_DIR=`pwd` -source init.sh - -if [ -z $BUILD_NBJDK7 ]; then - BUILD_NBJDK7=0 -fi - -if [ -z $BUILD_NBJDK8 ]; then - BUILD_NBJDK8=0 -fi - -if [ -z $BUILD_NBJDK11 ]; then - BUILD_NBJDK11=0 -fi - -OUTPUT_DIR="$DIST/installers" -export OUTPUT_DIR - -if [ ! -z $NATIVE_MAC_MACHINE ] && [ ! -z $MAC_PATH ]; then - ssh $NATIVE_MAC_MACHINE rm -rf $MAC_PATH/installer - ERROR_CODE=$? - if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Connection to MAC machine $NATIVE_MAC_MACHINE failed, can't remove old scripts" - exit $ERROR_CODE; - fi - ssh $NATIVE_MAC_MACHINE mkdir -p $MAC_PATH/installer - cd $NB_ALL - gtar c nbbuild/installer/mac | ssh $NATIVE_MAC_MACHINE "( cd $MAC_PATH; tar x )" - - cd $NB_ALL/l10n - gtar c src/*/other/installer/mac/* | ssh $NATIVE_MAC_MACHINE "( cd $MAC_PATH; tar x)" - cd $NB_ALL - - ssh $NATIVE_MAC_MACHINE rm -rf $MAC_PATH/zip/* - ERROR_CODE=$? - if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Connection to MAC machine $NATIVE_MAC_MACHINE failed, can't remove old bits" - exit $ERROR_CODE; - fi - ssh $NATIVE_MAC_MACHINE mkdir -p $MAC_PATH/zip/moduleclusters - ls $DIST/zip/moduleclusters | xargs -I {} scp -q -v $DIST/zip/moduleclusters/{} $NATIVE_MAC_MACHINE:$MAC_PATH/zip/moduleclusters/ - - ERROR_CODE=$? - if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Connection to MAC machine $NATIVE_MAC_MACHINE failed, can't put the zips" - exit $ERROR_CODE; - fi - - - # Run new builds - sh $NB_ALL/nbbuild/installer/mac/newbuild/init.sh | ssh $NATIVE_MAC_MACHINE "cat > $MAC_PATH/nbbuild/installer/mac/newbuild/build-private.sh" - ssh $NATIVE_MAC_MACHINE chmod a+x $MAC_PATH/nbbuild/installer/mac/newbuild/build.sh - - BASE_COMMAND="$MAC_PATH/nbbuild/installer/mac/newbuild/build.sh $DIST $BASENAME_PREFIX $BUILDNUMBER $BINARY_NAME $INSTALLER_SIGN_IDENTITY_NAME $APPLICATION_SIGN_IDENTITY_NAME $NB_VER_NUMBER $LOCALES" - - ssh $NATIVE_MAC_MACHINE "$UNLOCK_COMMAND $BASE_COMMAND" > $MAC_LOG_NEW 2>&1 & - REMOTE_MAC_PID=$! - -fi -if [ ! -z $BUILD_MAC ]; then - # Run new builds - sh $NB_ALL/nbbuild/installer/mac/newbuild/init.sh | cat > $NB_ALL/nbbuild/installer/mac/newbuild/build-private.sh - chmod a+x $NB_ALL/nbbuild/installer/mac/newbuild/build.sh - - BASE_COMMAND="$NB_ALL/nbbuild/installer/mac/newbuild/build.sh $DIST $BASENAME_PREFIX $BUILDNUMBER $BINARY_NAME $INSTALLER_SIGN_IDENTITY_NAME $APPLICATION_SIGN_IDENTITY_NAME $NB_VER_NUMBER $LOCALES" - $BASE_COMMAND -fi -cd $NB_ALL/nbbuild/installer/infra/build - -bash build.sh -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - NBI installers build failed" - exit $ERROR_CODE; -fi - -if [ ! -z $NATIVE_MAC_MACHINE ] && [ ! -z $MAC_PATH ]; then - tail -f $MAC_LOG_NEW & - TAIL_PID=$! - - set +x - RUNNING_JOBS_COUNT=`ps --pid $REMOTE_MAC_PID | wc -l | tr " " "\n" | grep -v '^$'` - echo "Entering loop with count of running jobs: " $RUNNING_JOBS_COUNT - #Wait for the end of native mac build - while [ $RUNNING_JOBS_COUNT -ge 2 ]; do - #1 or more jobs - sleep 10 - RUNNING_JOBS_COUNT=`ps --pid $REMOTE_MAC_PID | wc -l | tr " " "\n" | grep -v '^$'` - echo "----> count of running jobs: " $RUNNING_JOBS_COUNT - done - set -x - echo "Will kill " $TAIL_PID - kill -s 9 $TAIL_PID -fi - -mv $OUTPUT_DIR/* $DIST -rmdir $OUTPUT_DIR - -#Check if Mac installer was OK, 10 "BUILD SUCCESSFUL" messages should be in Mac log -if [ ! -z $NATIVE_MAC_MACHINE ] && [ ! -z $MAC_PATH ]; then - - IS_NEW_MAC_FAILED=`cat $MAC_LOG_NEW | grep "BUILD FAILED" | wc -l | tr " " "\n" | grep -v '^$'` - IS_NEW_MAC_CONNECT=`cat $MAC_LOG_NEW | grep "Connection timed out" | wc -l | tr " " "\n" | grep -v '^$'` - - if [ $IS_NEW_MAC_FAILED -eq 0 ] && [ $IS_NEW_MAC_CONNECT -eq 0 ]; then - #copy the bits back - mkdir -p $DIST/bundles - - rsync -avz -e ssh $NATIVE_MAC_MACHINE:$MAC_PATH/nbbuild/installer/mac/newbuild/dist_en/* $DIST/bundles - ERROR_CODE=$? - if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Connection to MAC machine $NATIVE_MAC_MACHINE failed, can't get installers" - exit $ERROR_CODE; - fi - else - tail -100 $MAC_LOG_NEW - echo "ERROR: - Native Mac Installers build failed" - exit 1; - fi -fi - -if [ ! -z $BUILD_MAC ]; then - rsync -avz $NB_ALL/nbbuild/installer/mac/newbuild/dist_en/*.dmg $DIST/bundles - ERROR_CODE=$? - if [ $ERROR_CODE != 0 ]; then - exit $ERROR_CODE; - fi -fi -################################################################### -# -# Sign Windows ML installers -# -################################################################### - -if [ -z $DONT_SIGN_INSTALLER ]; then - - if [ -z $SIGN_CLIENT ]; then - echo "ERROR: SIGN_CLIENT not defined - Signing failed" - exit 1; - fi - - if [ -z $SIGN_USR ]; then - echo "ERROR: SIGN_USR not defined - Signing failed" - exit 1; - fi - - if [ -z $SIGN_PASS ]; then - echo "ERROR: SIGN_PASS not defined - Signing failed" - exit 1; - fi - - find $DIST/bundles -name "netbeans-*-windows.exe" | xargs -t -I [] java -Xmx2048m -jar $SIGN_CLIENT/Client.jar -file_to_sign [] -user $SIGN_USR -pass $SIGN_PASS -signed_location $DIST/bundles -sign_method microsoft - ERROR_CODE=$? - - if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Signing failed" - exit $ERROR_CODE; - fi - -fi - -cd $DIST - -bash ${SCRIPTS_DIR}/files-info.sh bundles zip zip/moduleclusters -ERROR_CODE=$? -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Counting of MD5 sums and size failed" -fi diff --git a/nbbuild/newbuild/build-source-zips.sh b/nbbuild/newbuild/build-source-zips.sh deleted file mode 100644 index 05f8e083495f..000000000000 --- a/nbbuild/newbuild/build-source-zips.sh +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -DIRNAME=`dirname $0` -cd ${DIRNAME} -source init.sh - -cd $NB_ALL - -#build source zip files for particular modules -ant -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -f nbbuild/build.xml build-source-zips -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Can't build source zips" - exit $ERROR_CODE; -fi - -################################################################### -# -# Deploy sources to the storage server -# -################################################################### - -if [ -n $BUILD_ID ]; then - mkdir -p $DIST_SERVER2/source-zips/${BUILD_ID} - cp -rp $NB_ALL/nbbuild/build/source-zips/* $DIST_SERVER2/source-zips/${BUILD_ID} - rm $DIST_SERVER2/source-zips/latest.old - mv $DIST_SERVER2/source-zips/latest $DIST_SERVER2/source-zips/latest.old - ln -s $DIST_SERVER2/source-zips/${BUILD_ID} $DIST_SERVER2/source-zips/latest -fi diff --git a/nbbuild/newbuild/build-unpacked-nbms.sh b/nbbuild/newbuild/build-unpacked-nbms.sh deleted file mode 100644 index 5b85d5f38853..000000000000 --- a/nbbuild/newbuild/build-unpacked-nbms.sh +++ /dev/null @@ -1,55 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -DIRNAME=`dirname $0` -cd ${DIRNAME} -source init.sh - -cd ${DIST}/zip - -nbsrc_file=`ls netbeans*platform-src.zip` -zip_file=`basename $nbsrc_file -platform-src.zip`.zip - -cd $NB_ALL - -cd nbbuild -cp ${DIST}/zip/${zip_file} . -unzip -oq ${zip_file} -cd .. - -#Build napackaged NBMs for stable UC - IDE + UC-only -ant -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -f nbbuild/build.xml build-nbms -Dcluster.config=stableuc -Duse.pack200=false -Dbase.nbm.target.dir=${DIST}/uc-unpackaged -Dkeystore=$KEYSTORE -Dstorepass=$STOREPASS -Dbuild.compiler.debuglevel=source,lines -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Can't build unpackaged all stable UC NBMs" - exit $ERROR_CODE; -fi - -cd nbbuild -Build catalog for unpackaged NBMs -ant -Dbuildnum=$BUILDNUM -Dbuildnumber=$BUILDNUMBER -f build.xml generate-uc-catalog -Dnbms.location=${DIST}/uc-unpackaged -Dcatalog.file=${DIST}/uc-unpackaged/catalog.xml -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Can't build stable UC catalog for unpackaged NBMs" - exit $ERROR_CODE; -fi -cd .. - diff --git a/nbbuild/newbuild/clean-all.sh b/nbbuild/newbuild/clean-all.sh deleted file mode 100644 index 28e91ab8ac73..000000000000 --- a/nbbuild/newbuild/clean-all.sh +++ /dev/null @@ -1,31 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -DIRNAME=`dirname $0` -cd ${DIRNAME} -source init.sh - -#Clean destination dirs -if [ -d $DIST ]; then - rm -rf $DIST -fi - -if [ -d $NB_ALL ]; then - rm -rf $NB_ALL -fi diff --git a/nbbuild/newbuild/files-info.sh b/nbbuild/newbuild/files-info.sh deleted file mode 100644 index 2794949873ad..000000000000 --- a/nbbuild/newbuild/files-info.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -counter=0; -output_file=./js/files.js -type digest >> /dev/null 2>&1 -if [ 0 -eq $? ] ; then - alg=`type -p digest` - alg="$alg -a md5" -else - type sha256sum >> /dev/null 2>&1 - if [ 0 -eq $? ] ; then - alg=`type -p sha256sum` - else - type gmd5sum >> /dev/null 2>&1 - if [ 0 -eq $? ] ; then - alg=`type -p gmd5sum` - else - type md5 >> /dev/null 2>&1 - if [ 0 -eq $? ] ; then - alg=`type -p md5` - alg="$alg -q" - fi - fi - fi -fi -if [ -z "$alg" ] ; then - echo "Cannot find MD5 calculating programm" - exit 1 -else - echo "...getting MD5 with the help of $alg" -fi - - -while [ $# != 0 ] ; do - echo "Target directory : $1" - for nextfile in `ls -1 "$1"` ; do - nextfile="$1"/"$nextfile" - if [ -f "$nextfile" ] ; then - if [ 0 -eq $counter ] ; then - mkdir -p `dirname "$output_file"` - rm -f "$output_file" - #echo "file_names = new Array();" >> "$output_file" - #echo "file_sizes = new Array();" >> "$output_file" - #echo "file_md5s = new Array();" >> "$output_file" - fi - name=`basename "$nextfile"` - echo - echo "... file : `basename $nextfile`" - size=`stat -Lc %s $nextfile 2>/dev/null` - echo "... size : $size" - md5=`$alg "$nextfile" | sed "s/ .*//g"` - echo "... md5 : $md5" - #echo "file_names["$counter"]=\"$1/$name\";" >> "$output_file" - #echo "file_sizes["$counter"]=$size;" >> "$output_file" - #echo "file_md5s["$counter"]=\"$md5\";" >> "$output_file" - echo "add_file(\"$1/$name\", $size, \"$md5\", \"en,$LOCALES\");" >> "$output_file" - counter=`expr $counter + 1` - fi - done - shift -done diff --git a/nbbuild/newbuild/generate_updatetracking_from_nbm.sh b/nbbuild/newbuild/generate_updatetracking_from_nbm.sh deleted file mode 100644 index 993bde8274c0..000000000000 --- a/nbbuild/newbuild/generate_updatetracking_from_nbm.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -unzip $1 -d tmp -find tmp/netbeans -name "*.jar.pack.gz" | xargs -I [] unpack200 -r [] [].jar -find tmp/netbeans -name "*.pack.gz.jar" | grep .pack.gz.jar | sed 's/\(.*\).pack.gz.jar/mv & \1/' | sh -ant -Dnbm.filename=$1 -f $BASE_DIR/main/nbbuild/build.xml refresh-update_tracking-ml -rm -rf tmp diff --git a/nbbuild/newbuild/init.sh b/nbbuild/newbuild/init.sh deleted file mode 100644 index 5817bd3a8780..000000000000 --- a/nbbuild/newbuild/init.sh +++ /dev/null @@ -1,189 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -#Initialize all the environment - -#Create test result xml file - call: -#create_test_result( testname, message, failures=0 ) -create_test_result() { - if [ -z "$3" ]; then - FAILURES="0" - else - FAILURES="$3" - fi - - mkdir -p $WORKSPACE/results - - FILE="$WORKSPACE/results/TEST-$1.xml" - echo '' >$FILE - echo '' >>$FILE - echo ' ' >>$FILE - echo ' ' >>$FILE - echo ' ' >>$FILE - if [ "$FAILURES" -gt "0" ]; then - echo ' ' >>$FILE - fi - echo ' ' >>$FILE - echo ' >$FILE - echo "$2" >>$FILE - echo ']]>' >>$FILE - echo ' ' >>$FILE - echo '' >>$FILE -} - -#NB_BRANCH default -if [ -z ${NB_BRANCH} ]; then - export NB_BRANCH=default -fi - -#L10N_BRANCH default -if [ -z ${L10N_BRANCH} ]; then - export L10N_BRANCH=default -fi - -#OTHER_LICENCES_BRANCH default -if [ -z ${OTHER_LICENCES_BRANCH} ]; then - export OTHER_LICENCES_BRANCH=default -fi - -#JAVAFX build 1/0 -if [ -z ${RUNJAVAFX} ]; then - export RUNJAVAFX=0 -fi - -#ML_BUILD yes/no 1/0 -if [ -z ${ML_BUILD} ]; then - export ML_BUILD=0 -fi -#EN_BUILD yes/no 1/0 -if [ -z ${EN_BUILD} ]; then - export EN_BUILD=1 -fi -if [ -z ${LOCALES} ]; then - export LOCALES=ja,zh_CN,pt_BR,ru -fi -if [ -z ${NB_VER_NUMBER} ]; then - export NB_VER_NUMBER=11 -fi -if [ -z ${UPLOAD_ML} ]; then - export UPLOAD_ML=0 -fi - -#GLASSFISH_BUILDS_HOST=http://jre.us.oracle.com -if [ -z ${GLASSFISH_BUILDS_HOST} ]; then - GLASSFISH_BUILDS_HOST=http://jre.us.oracle.com - export GLASSFISH_BUILDS_HOST -fi - -#JRE_BUILDS_HOST=http://jre.us.oracle.com -if [ -z ${JRE_BUILDS_HOST} ]; then - JRE_BUILDS_HOST=http://jre.us.oracle.com - export JRE_BUILDS_HOST -fi - -#JRE_BUILDS_PATH=http://jre.us.oracle.com -if [ -z ${JRE_BUILDS_PATH} ]; then - JRE_BUILDS_PATH=java/re/jdk/8u101/promoted/ - export JRE_BUILDS_PATH -fi - -#JDK_BUILDS_HOST=http://jre.us.oracle.com -if [ -z ${JDK_BUILDS_HOST} ]; then - JDK_BUILDS_HOST=https://java.se.oracle.com/ - export JDK_BUILDS_HOST -fi - -#JDK7_BUILDS_PATH=http://jre.us.oracle.com/java/re/jdk/7u75/promoted/all -if [ -z ${JDK7_BUILDS_PATH} ]; then - JDK7_BUILDS_PATH=java/re/jdk/7u75/promoted/ - export JDK7_BUILDS_PATH -fi - -#JDK8_BUILDS_PATH=http://jre.us.oracle.com/java/re/jdk/8u141/promoted/all/ -if [ -z ${JDK8_BUILDS_PATH} ]; then -# JDK8_BUILDS_PATH=java/re/jdk/8u141/promoted/ #for builds before 8u141 - JDK8_BUILDS_PATH=artifactory/re-release-local/jdk/8u171/b11/bundles/ - export JDK8_BUILDS_PATH -fi - -if [ -z ${JDK11_BUILDS_PATH} ]; then - JDK11_BUILDS_PATH=artifactory/re-release-local/jdk/11.0.1/13/bundles/ - export JDK11_BUILDS_PATH -fi - -if [ -z ${DEBUGLEVEL} ]; then - DEBUGLEVEL=source,lines,vars - export DEBUGLEVEL -fi - -if [ -z ${DONT_PACK_LOCALIZATION_JARS_ON_MAC} ]; then - DONT_PACK_LOCALIZATION_JARS_ON_MAC=y - export DONT_PACK_LOCALIZATION_JARS_ON_MAC -fi - -export ANT_OPTS=$ANT_OPTS" -Xmx2G" - -if [ -n ${JDK_HOME} ] && [ -z ${JAVA_HOME} ] ; then - export JAVA_HOME=$JDK_HOME -elif [ -n ${JAVA_HOME} ] && [ -z ${JDK_HOME} ]; then - export JDK_HOME=$JAVA_HOME -fi - -if [ -z ${DATESTAMP} ]; then - if [ -z ${BUILD_ID} ]; then - export DATESTAMP=`date -u +%Y%m%d%H%M` - else - #Use BUILD_ID from hudson, remove all "-" and "_" and cut it to 12 chars - export DATESTAMP=`echo ${BUILD_ID} | sed -e "s/[-_]//g" | cut -c 1-12` - fi -fi - -BUILDNUM=$BUILD_DESC -BUILDNUMBER=$DATESTAMP - -if [ -z $BASE_DIR ]; then - echo BASE_DIR variable not defined, using the default one: /space/NB-IDE - echo if you want to use another base dir for the whole build feel free - echo to define a BASE_DIR variable in your environment - - export BASE_DIR=/space/NB-IDE -fi - -if [ -z $NB_ALL ]; then - NB_ALL=$BASE_DIR/main -fi - -DIST=$BASE_DIR/dist -LOGS=$DIST/logs -BASENAME=$BUILDNUM -export BASENAME_PREFIX=$BUILD_DESC - -mkdir -p $DIST/zip -mkdir -p $LOGS - -#LOGS -IDE_BUILD_LOG=$LOGS/$BASENAME-build-ide.log -MOBILITY_BUILD_LOG=$LOGS/$BASENAME-build-mobility.log -NBMS_BUILD_LOC=$LOGS/$BASENAME-build-nbms.log -SCP_LOG=$LOGS/$BASENAME-scp.log -MAC_LOG=$LOGS/$BASENAME-native_mac.log -MAC_LOG_NEW=$LOGS/$BASENAME-native_mac_new.log -INSTALLER_LOG=$LOGS/$BASENAME-installers.log diff --git a/nbbuild/newbuild/pack-all-components.sh b/nbbuild/newbuild/pack-all-components.sh deleted file mode 100644 index d0e304034027..000000000000 --- a/nbbuild/newbuild/pack-all-components.sh +++ /dev/null @@ -1,145 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -DIRNAME=`dirname $0` -cd ${DIRNAME} -source init.sh - -pack_component() -{ - dist=$1 - base_name=$2 - component=$3 - filter=$4 - - if [ -z "$5" ]; then - options="-q -r" - else - options=$5 - fi - - zip $options $dist/$base_name-$component.zip $filter -} - -################################################################### -# -# Pack all the components -# -################################################################### - -pack_all_components() -{ - DIST_DIR=${1} - NAME=${2} - - mkdir $DIST_DIR/zip/moduleclusters - - cd $NB_ALL/nbbuild - - #Pack the distributions - ant zip-cluster-config -Dcluster.config=full -Dzip.name=$DIST_DIR/zip/$NAME.zip || exit 1 - #ant zip-cluster-config -Dcluster.config=platform -Dzip.name=$DIST_DIR/zip/$NAME-platform.zip || exit 1 - ant zip-cluster-config -Dcluster.config=basic -Dzip.name=$DIST_DIR/zip/$NAME-javase.zip || exit 1 - ant zip-cluster-config -Dcluster.config=standard -Dzip.name=$DIST_DIR/zip/$NAME-javaee.zip || exit 1 - ant zip-cluster-config -Dcluster.config=php -Dzip.name=$DIST_DIR/zip/$NAME-php.zip || exit 1 - ant zip-cluster-config -Dcluster.config=cnd -Dzip.name=$DIST_DIR/zip/$NAME-cpp.zip || exit 1 - - ln -s $NAME-php.zip $DIST_DIR/zip/$NAME-html.zip - - cd $NB_ALL/nbbuild/netbeans - - rm -rf extra - - pack_component $DIST_DIR/zip/moduleclusters $NAME xml "xml*" - rm -rf xml* - - pack_component $DIST_DIR/zip/moduleclusters $NAME javacard "javacard*" - rm -rf javacard* - - cd $NB_ALL/nbbuild - - #Pack all the NetBeans - pack_component $DIST_DIR/zip/moduleclusters $NAME all-in-one netbeans - - cd $NB_ALL/nbbuild/netbeans - - #Continue with individual component - pack_component $DIST_DIR/zip/moduleclusters $NAME dlight "dlight*" - rm -rf dlight* - - pack_component $DIST_DIR/zip/moduleclusters $NAME webcommon "webcommon*" - rm -rf webcommon* - - pack_component $DIST_DIR/zip/moduleclusters $NAME websvccommon "websvccommon*" - rm -rf websvccommon* - - pack_component $DIST_DIR/zip/moduleclusters $NAME groovy "groovy*" - rm -rf groovy* - - pack_component $DIST_DIR/zip/moduleclusters $NAME php "php*" - rm -rf php* - - pack_component $DIST_DIR/zip/moduleclusters $NAME profiler "profiler*" - rm -rf profiler* - - pack_component $DIST_DIR/zip/moduleclusters $NAME platform "platform*" - rm -rf platform* - - pack_component $DIST_DIR/zip/moduleclusters $NAME mobility "mobility*" - rm -rf mobility* - - pack_component $DIST_DIR/zip/moduleclusters $NAME identity "identity*" - rm -rf identity* - - pack_component $DIST_DIR/zip/moduleclusters $NAME ide "ide*" - rm -rf ide* - - pack_component $DIST_DIR/zip/moduleclusters $NAME extide "extide*" - rm -rf extide* - - pack_component $DIST_DIR/zip/moduleclusters $NAME harness "harness*" - rm -rf harness* - - pack_component $DIST_DIR/zip/moduleclusters $NAME enterprise "enterprise*" - rm -rf enterprise* - - pack_component $DIST_DIR/zip/moduleclusters $NAME ergonomics "ergonomics*" - rm -rf ergonomics* - - pack_component $DIST_DIR/zip/moduleclusters $NAME apisupport "apisupport*" - rm -rf apisupport* - - pack_component $DIST_DIR/zip/moduleclusters $NAME java "java*" - rm -rf java* - - pack_component $DIST_DIR/zip/moduleclusters $NAME cndext "cndext*" - rm -rf cndext* - - pack_component $DIST_DIR/zip/moduleclusters $NAME cnd "cnd*" - rm -rf cnd* - - pack_component $DIST_DIR/zip/moduleclusters $NAME python "python*" - rm -rf python* - rm -rf ruby* - - pack_component $DIST_DIR/zip/moduleclusters $NAME nb-etc "bin* etc* nb*" - pack_component $DIST_DIR/zip/moduleclusters $NAME nb-etc "*" "-q -u" -} - -pack_all_components $DIST $BASENAME diff --git a/nbbuild/newbuild/pack-base.sh b/nbbuild/newbuild/pack-base.sh deleted file mode 100644 index 239b7cbe2027..000000000000 --- a/nbbuild/newbuild/pack-base.sh +++ /dev/null @@ -1,43 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -DIRNAME=`dirname $0` -cd ${DIRNAME} -source init.sh - - -pack_component() -{ - dist=$1 - base_name=$2 - component=$3 - filter=$4 - zip -q -r $dist/$base_name-$component.zip $filter -} - -mkdir $DIST/zip/moduleclusters - -cd $NB_ALL/nbbuild -ant zip-cluster-config -Dcluster.config=basic -Dzip.name=$DIST/zip/$BASENAME-javase.zip || exit 1 -cd $NB_ALL/nbbuild/netbeans -pack_component $DIST/zip/moduleclusters $BASENAME ergonomics "ergonomics*" - -cp -r $DIST/zip /net/smetiste.czech/space/${BASE_FOR_JAVAFX} -touch /net/smetiste.czech/space/${BASE_FOR_JAVAFX}/ready - diff --git a/nbbuild/newbuild/push-remote-java-help.sh b/nbbuild/newbuild/push-remote-java-help.sh deleted file mode 100644 index f5174bcc5c1d..000000000000 --- a/nbbuild/newbuild/push-remote-java-help.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -hg pull -b $push_branch -hg up $push_branch -C -rm -rf usersguide/javahelp - -# mkdir -p usersguide/javahelp/org/netbeans/modules/usersguide -# cp -r -v $pull_path/org/netbeans/modules/usersguide/* usersguide/javahelp/org/netbeans/modules/usersguide/ -mkdir -p usersguide/javahelp - -cp -r -v $pull_path/* usersguide/javahelp/ - -hg add usersguide/javahelp -hg st usersguide/javahelp - -DELETED_FILES_COUNT=`hg st -d usersguide/javahelp | wc -l` -echo DELETED_FILES_COUNT: $DELETED_FILES_COUNT -if [ "$DELETED_FILES_COUNT" -gt 0 ]; then - hg st -d usersguide/javahelp | cut -c 3- | xargs hg rm -A -fi - -CHANGED_FILES_COUNT=`hg st -mar usersguide/javahelp | wc -l` -echo CHANGED_FILES_COUNT: $CHANGED_FILES_COUNT -if [ "$CHANGED_FILES_COUNT" -gt 0 ]; then - echo $CHANGED_FILES_COUNT changes found, let start the build and push. - ant clean build || exit 2 - echo Build succeed. - - # update to latest tip - hg pull -u - - # encode windows-like line-endings to unix-like - hg ci -m "new help files" -u "$commit_username" --config 'extensions.win32text=' --config 'encode.**=cleverencode:' - - # check count of really modified files for push - OUT_COUNT=`hg parent -v --template 'files: {files}'| grep '^files:' | wc -w` - echo OUT_COUNT: $OUT_COUNT - if [ "$OUT_COUNT" -gt 1 ]; then - echo "There are $OUT_COUNT outgoing changes, start pushing..." - hg push -b $push_branch -f $push_url - HG_RESULT=$? - if [ $HG_RESULT == 0 ]; then - echo Push succeed. - else - echo "Hg push failed: $HG_RESULT, rolling back the commit" - hg rollback - hg up -C - exit $HG_RESULT; - fi - else - echo "There are no outgoing changes, rolling back the commit" - hg rollback - hg up -C - fi -else - echo No changes found, no reason to push. - hg up -C -fi diff --git a/nbbuild/newbuild/trunk-cb.sh b/nbbuild/newbuild/trunk-cb.sh deleted file mode 100644 index b259bc7a2062..000000000000 --- a/nbbuild/newbuild/trunk-cb.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -#Initialize basic scructure -DIRNAME=`dirname $0` -cd ${DIRNAME} -TRUNK_CB_DIRNAME=`pwd` -export BUILD_DESC=trunk-cb -source init.sh - -################################################################### -# -# Clean remains from last build -# -################################################################### - -cd $BASE_DIR -rm -rf dist -ant clean - -################################################################### -# -# Build all the components -# -################################################################### - -cd $TRUNK_CB_DIRNAME -bash build-all-components.sh -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Build failed" - exit $ERROR_CODE; -fi - -################################################################### -# -# Pack all the components -# -################################################################### - -cd $TRUNK_CB_DIRNAME -bash pack-all-components.sh -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Packaging failed" - exit $ERROR_CODE; -fi diff --git a/nbbuild/newbuild/trunk-nightly.sh b/nbbuild/newbuild/trunk-nightly.sh deleted file mode 100644 index daac176d29aa..000000000000 --- a/nbbuild/newbuild/trunk-nightly.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -#Initialize basic structure -DIRNAME=`dirname $0` -cd ${DIRNAME} -TRUNK_NIGHTLY_DIRNAME=`pwd` - -if [ -z ${BUILD_DESC} ]; then - export BUILD_DESC=trunk-nightly -fi - -source init.sh - -rm -rf $DIST - -if [ ! -z $WORKSPACE ]; then - #I'm under hudson and have sources here, I need to clone them - #Clean obsolete sources first - rm -rf $NB_ALL - hg clone -U $WORKSPACE $NB_ALL - hg -R $NB_ALL update $NB_BRANCH -fi -TIP=`hg tip --template '{rev}'` -export TIP - -cd $NB_ALL -# clone and update l10n - hg clone -r $L10N_BRANCH $ML_REPO $NB_ALL/l10n - -hg clone -U $ML_REPO $NB_ALL/l10n -HG_ERROR_CODE=$? -if [ $HG_ERROR_CODE != 0 ]; then - echo "ERROR: $HG_ERROR_CODE - hg clone l10n failed" - exit $HG_ERROR_CODE; -fi - -hg -R $NB_ALL/l10n update $L10N_BRANCH - -# clone and update otherlicenses - hg clone -r $OTHER_LICENCES_BRANCH $OTHER_LICENCES_REPO $NB_ALL/otherlicenses -hg clone -U $OTHER_LICENCES_REPO $NB_ALL/otherlicenses -HG_ERROR_CODE=$? -if [ $HG_ERROR_CODE != 0 ]; then - echo "ERROR: $HG_ERROR_CODE - hg clone otherlicenses failed" - exit $HG_ERROR_CODE; -fi - -hg -R $NB_ALL/otherlicenses update $OTHER_LICENCES_BRANCH - -################################################################### -# -# Build all the components -# -################################################################### - -cd $TRUNK_NIGHTLY_DIRNAME -bash build-all-components.sh -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Build failed" - exit $ERROR_CODE; -fi - -################################################################### -# -# Pack all the components -# -################################################################### - -cd $TRUNK_NIGHTLY_DIRNAME -bash pack-all-components.sh -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - Packaging failed" - exit $ERROR_CODE; -fi - -################################################################### -# -# Deploy bits to the storage server -# -################################################################### - -if [ -n $BUILD_ID ]; then - mkdir -p $DIST_SERVER2/${BUILD_ID}/zip - cp -rp $DIST/* $DIST_SERVER2/${BUILD_ID} - if [ -n "${TESTING_SCRIPT}" ]; then - cd $NB_ALL - TIP_REV=`hg tip --template "{node}"` - ssh $TESTING_SCRIPT $TIP_REV - cd $DIRNAME - fi -fi - -if [ $UPLOAD_ML == 1 ]; then - cp $DIST/zip/$BASENAME-platform-src.zip $DIST/ml/zip/ - cp $DIST/zip/$BASENAME-src.zip $DIST/ml/zip/ - cp $DIST/zip/hg-l10n-$BUILDNUMBER.zip $DIST/ml/zip/ - cp $DIST/zip/ide-l10n-$BUILDNUMBER.zip $DIST/ml/zip/ - cp $DIST/zip/stable-UC-l10n-$BUILDNUMBER.zip $DIST/ml/zip/ - cp $DIST/zip/testdist-$BUILDNUMBER.zip $DIST/ml/zip/ -fi - -cd $TRUNK_NIGHTLY_DIRNAME - -bash build-nbi.sh -ERROR_CODE=$? - -if [ $ERROR_CODE != 0 ]; then - echo "ERROR: $ERROR_CODE - NBI installers build failed" - exit $ERROR_CODE; -fi - -if [ -n $BUILD_ID ]; then - mkdir -p $DIST_SERVER2/${BUILD_ID}/zip - cp -rp $DIST/* $DIST_SERVER2/${BUILD_ID} - rm $DIST_SERVER2/latest.old - mv $DIST_SERVER2/latest $DIST_SERVER2/latest.old - ln -s $DIST_SERVER2/${BUILD_ID} $DIST_SERVER2/latest - if [ $UPLOAD_ML == 0 -a $ML_BUILD != 0 ]; then - rm -r $DIST/ml - fi -fi - -if [ -z $DIST_SERVER ]; then - exit 0; -fi diff --git a/nbbuild/newbuild/upload-bits.sh b/nbbuild/newbuild/upload-bits.sh deleted file mode 100644 index 9bbdd22becc0..000000000000 --- a/nbbuild/newbuild/upload-bits.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x - -#Initialize basic scructure -DIRNAME=`dirname $0` -cd ${DIRNAME} -TRUNK_NIGHTLY_DIRNAME=`pwd` -export BUILD_DESC=trunk-nightly -source init.sh - -ssh -p 222 $DIST_SERVER mkdir -p $DIST_SERVER_PATH/.$DATESTAMP -scp -P 222 -q -r -v $DIST/* $DIST_SERVER:$DIST_SERVER_PATH/.$DATESTAMP > $SCP_LOG 2>&1 - -ssh -p 222 $DIST_SERVER mv $DIST_SERVER_PATH/.$DATESTAMP $DIST_SERVER_PATH/$DATESTAMP - -ssh -p 222 $DIST_SERVER rm $DIST_SERVER_PATH/latest.old -ssh -p 222 $DIST_SERVER mv $DIST_SERVER_PATH/latest $DIST_SERVER_PATH/latest.old -ssh -p 222 $DIST_SERVER ln -s $DIST_SERVER_PATH/$DATESTAMP $DIST_SERVER_PATH/latest diff --git a/nbbuild/production/instrumented-installer.sh b/nbbuild/production/instrumented-installer.sh deleted file mode 100644 index 96a5b87b068c..000000000000 --- a/nbbuild/production/instrumented-installer.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -x -cd ${WORKSPACE} -rm -rf installer nbi nbextracted zipdist dist -hg up - -cd $LAST_BITS - -BUILD_NUMBER=`ls | grep netbeans | cut -f 4 -d "-" | uniq` - -cd ${WORKSPACE} -#ssh $NATIVE_MAC_MACHINE rm -rf $MAC_PATH/installer -#ssh $NATIVE_MAC_MACHINE mkdir -p $MAC_PATH/installer -#gtar c installer/mac | ssh $NATIVE_MAC_MACHINE "( cd $MAC_PATH; tar x )" -#ssh $NATIVE_MAC_MACHINE rm -rf $MAC_PATH/zip/* - -EMMA_DIR=${WORKSPACE}/../emma -EMMA_SH="$EMMA_DIR/emma.sh" -EMMA_TXT="$EMMA_DIR/emma.txt" -EMMA_JAR="$EMMA_DIR/emma.jar" - -EXTRACTED_DIR=$BASE_DIR/nbextracted - -mkdir -p ${EXTRACTED_DIR} -NB_EXTRACTED=${EXTRACTED_DIR}/netbeans - -unzip -d ${EXTRACTED_DIR} ${LAST_BITS}/${BUILD_DESC}-${BUILD_NUMBER}-all-in-one.zip -mkdir ${NB_EXTRACTED}/emma-lib -chmod a+w ${NB_EXTRACTED}/emma-lib -cp ${EMMA_JAR} ${NB_EXTRACTED}/emma-lib/ -cp ${EMMA_TXT} ${NB_EXTRACTED}/emma-lib/netbeans_coverage.em - -cd ${BASE_DIR} -bash ${EMMA_SH} ${NB_EXTRACTED} ${NB_EXTRACTED}/emma-lib/netbeans_coverage.em ${EMMA_JAR} - -sed -i -e "s/^netbeans_default_options=\"/netbeans_default_options=\"--cp:p \"\\\\\"\"$\{NETBEANS_HOME\}\/emma-lib\/emma.jar\"\\\\\"\" -J-Demma.coverage.file=\"\\\\\"\"$\{NETBEANS_HOME\}\/emma-lib\/netbeans_coverage.ec\"\\\\\"\" -J-Dnetbeans.security.nocheck=true /" ${NB_EXTRACTED}/etc/netbeans.conf - -cp ${EMMA_JAR} ${NB_EXTRACTED}/platform?/lib/ -BASENAME=${BUILD_DESC}-${BUILD_NUMBER} -export DIST=${WORKSPACE}/dist/zip -mkdir -p ${DIST} -#cd ${NB_EXTRACTED} -#expat='extra' -#for c in platform ide java apisupport harness enterprise profiler mobility cnd identity gsf php groovy webcommon websvccommon; do -# find * | egrep "^$c[0-9]*/" | zip -q $DIST/$BASENAME-$c.zip -@ || exit -# expat="$expat|$c[0-9]*" -#done -#find * | egrep -v "^($expat)(/|$)" | zip -q $DIST/$BASENAME-nb7.0-etc.zip -@ || exit -cd ${EXTRACTED_DIR} -zip -q -r $DIST/$BASENAME-all-in-one.zip netbeans/* -cd ${WORKSPACE} - -rm -rf ${EXTRACTED_DIR} - -#ssh $NATIVE_MAC_MACHINE mkdir -p $MAC_PATH/zip/moduleclusters -#scp -q -v ${DIST}/*.zip $NATIVE_MAC_MACHINE:$MAC_PATH/zip/moduleclusters/ -#scp -q -v ${BASE_DIR}/../build-private.sh $NATIVE_MAC_MACHINE:$MAC_PATH/installer/mac/newbuild -#ssh $NATIVE_MAC_MACHINE sh $MAC_PATH/installer/mac/newbuild/build.sh $MAC_PATH/zip/moduleclusters ${BUILD_DESC} $BUILD_NUMBER 0 - -#cd ${BASE_DIR}/installer/infra/build -#bash build.sh - -#scp $NATIVE_MAC_MACHINE:$MAC_PATH/installer/mac/newbuild/dist/* ${WORKSPACE}/dist/installers/bundles diff --git a/nbbuild/travis/gensigtest.sh b/nbbuild/travis/gensigtest.sh deleted file mode 100755 index c1adf6a8fff5..000000000000 --- a/nbbuild/travis/gensigtest.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -e - -# test platform -echo Making sure platform is built -if ! ant -Dcluster.config=platform build >build.log 2>&1; then - tail -n 1000 build.log - exit 1 -fi -echo Generating signature files -if ! ant -Dcluster.config=platform gen-sigtests-release >gen.log 2>&1; then - tail -n 1000 gen.log - exit 2 -fi -echo Platform is OK - From f02cca6af5e2cbe2b90cd661665e7b3adb119f39 Mon Sep 17 00:00:00 2001 From: Eric Barboni Date: Wed, 18 Mar 2026 16:42:38 +0100 Subject: [PATCH 41/74] unit test bootstrap no securitymanager --- .github/workflows/main.yml | 3 + .../org/netbeans/nbbuild/CheckLicense.java | 6 +- nbbuild/build.properties | 4 + nbbuild/build.xml | 8 +- nbbuild/nbproject/project.xml | 8 +- .../netbeans/nbbuild/ArchQuestionsTest.java | 216 ++++---- .../org/netbeans/nbbuild/AutoUpdateTest.java | 214 ++++---- .../netbeans/nbbuild/CheckLicenseTest.java | 415 ++++++++-------- .../org/netbeans/nbbuild/CheckLinksTest.java | 42 +- .../netbeans/nbbuild/CreateModuleXMLTest.java | 71 +-- .../netbeans/nbbuild/FixDependenciesTest.java | 56 ++- .../nbbuild/FixTestDependenciesProject2.xml | 8 - .../FixTestDependenciesProjectPass.xml | 8 - .../nbbuild/InsertModuleAllTargetsTest.java | 10 +- .../org/netbeans/nbbuild/IsLockedTest.java | 2 +- .../nbbuild/JarWithModuleAttributesTest.java | 37 +- .../org/netbeans/nbbuild/LocFilesTest.java | 20 +- .../org/netbeans/nbbuild/MakeJNLPTest.java | 406 ++++++++------- .../netbeans/nbbuild/MakeMasterJNLPTest.java | 52 +- .../src/org/netbeans/nbbuild/MakeNBMTest.java | 86 ++-- .../nbbuild/ModuleDependenciesTest.java | 464 ++++++++++-------- .../org/netbeans/nbbuild/PathFileSetTest.java | 6 +- .../org/netbeans/nbbuild/PrintIconTest.java | 18 +- .../PublicPackagesInProjectizedXMLTest.java | 38 +- .../org/netbeans/nbbuild/RecursiveDeps.xml | 2 +- .../netbeans/nbbuild/RecursiveDepsTest.java | 12 +- .../netbeans/nbbuild/ShorterPathsTest.java | 34 +- .../src/org/netbeans/nbbuild/TestBase.java | 199 +------- .../org/netbeans/nbbuild/TestDepsTest.java | 22 +- 29 files changed, 1256 insertions(+), 1211 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 60f42848621d..39c497834aee 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -441,6 +441,9 @@ jobs: # - name: nb/updatecenters # run: ant $OPTS -f nb/updatecenters test + - name: nbbuild + run: ant $OPTS -f nbbuild localtest + # 5-6 min - name: Build nbms run: ant $OPTS build-nbms diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/CheckLicense.java b/nbbuild/antsrc/org/netbeans/nbbuild/CheckLicense.java index 7120bdbabe31..9b7b77b7bb57 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/CheckLicense.java +++ b/nbbuild/antsrc/org/netbeans/nbbuild/CheckLicense.java @@ -102,11 +102,9 @@ public Convert createConvert() { while ((line = br.readLine ()) != null) { if (line.indexOf (fragment) != -1) { // Found it. - if (fail != null && "whenpresent".equals(fail.getValue())) { - if (failMsg != null) { - log(failMsg, Project.MSG_ERR); - } + if (fail != null && "whenpresent".equals(fail.getValue())) { failMsg = "License found in " + f; + log(failMsg, Project.MSG_ERR); } break; } diff --git a/nbbuild/build.properties b/nbbuild/build.properties index 0b7917e6e355..2311f404f16c 100644 --- a/nbbuild/build.properties +++ b/nbbuild/build.properties @@ -21,6 +21,8 @@ test.dist.dir=build/testdist test.user.dir=testuserdir nb.run.validation=true build.compiler.debug=on + +bootstrap.jdk.release=11 # Options to pass to NetBeans when starting it with "ant tryme": tryme.arg.hack=-J-Dnetbeans.full.hack=true @@ -55,8 +57,10 @@ stop.when.clean.error=true test.unit.cp=\ ../platform/libs.junit4/external/junit-4.13.2.jar:\ + ../platform/libs.junit4/external/hamcrest-core-1.3.jar:\ netbeans/harness/modules/org-netbeans-modules-nbjunit.jar:\ netbeans/harness/modules/org-netbeans-insane.jar:\ + ${ant.home}/lib/ant-testutil.jar:\ ${ant.home}/lib/ant-junit.jar:\ ${ant.home}/lib/ant-junit4.jar:\ ${ant.home}/lib/ant-launcher.jar:\ diff --git a/nbbuild/build.xml b/nbbuild/build.xml index 7f4099c77b3b..d9917bbd3317 100644 --- a/nbbuild/build.xml +++ b/nbbuild/build.xml @@ -59,7 +59,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -1366,9 +1366,9 @@ It is possible to use -Ddebug.port=3234 -Ddebug.pause=y to start the system in d - + - + diff --git a/nbbuild/nbproject/project.xml b/nbbuild/nbproject/project.xml index b275928a62f2..976d1a4e0fe3 100644 --- a/nbbuild/nbproject/project.xml +++ b/nbbuild/nbproject/project.xml @@ -205,20 +205,20 @@ apache20-asf - + antsrc - ${ant.core.lib}:${nb_all}/platform/javahelp/external/jhall-2.0_05.jar:${nb_all}/nbbuild/external/json-simple-1.1.1.jar:${nb_all}/nbbuild/external/external/jsoup-1.15.3.jar + ${ant.core.lib}:${nb_all}/platform/javahelp/external/jhall-2.0_05.jar:${nb_all}/nbbuild/external/json-simple-1.1.1.jar:${nb_all}/nbbuild/external/jsoup-1.15.3.jar ${nb.build.dir}/antclasses ${nbantext.jar} - 1.8 + 11 test/unit/src ${test.unit.cp} ${nb.build.dir}/test/unit/classes - 1.8 + 11 diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/ArchQuestionsTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/ArchQuestionsTest.java index 8886f578ce3e..5a93fe91799e 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/ArchQuestionsTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/ArchQuestionsTest.java @@ -18,7 +18,7 @@ */ package org.netbeans.nbbuild; - +import org.apache.tools.ant.BuildFileRule; import java.io.File; import java.io.IOException; import java.io.StringReader; @@ -26,6 +26,7 @@ import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; +import org.junit.Rule; import org.w3c.dom.Document; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; @@ -38,18 +39,28 @@ public class ArchQuestionsTest extends TestBase implements EntityResolver { /** debug messages to show if necessary */ private List msg = new ArrayList<>(); - + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + + @Override + public void setUp() throws Exception { + super.setUp(); + System.clearProperty("arch.generate"); + System.clearProperty("arch.private.disable.validation.for.test.purposes"); + System.clearProperty("arch.org.openide.util.name"); + System.clearProperty("arch.org.openide.util.category"); + } public ArchQuestionsTest (String name) { super (name); } - + public void testGeneratePreferencesArch() throws Exception { java.io.File answers = extractResource("arch-preferences.xml"); java.io.File output = extractString(""); output.delete(); - - - + + + java.io.File f = extractString( "" + "" + @@ -58,12 +69,13 @@ public void testGeneratePreferencesArch() throws Exception { " " + "" + "" - + ); - execute(f, new String[] { }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue("File is generated", output.exists()); - + String content = readFile(output); if (content.indexOf("resources-preferences") == -1) { fail("resources-preferences shall be in output:\n" + content); @@ -73,7 +85,7 @@ public void testGeneratePreferencesArch() throws Exception { } } - + public void testGenerateArchFileWhenEmpty () throws Exception { java.io.File answers = extractString (""); answers.delete (); @@ -90,12 +102,14 @@ public void testGenerateArchFileWhenEmpty () throws Exception { "" ); - execute (f, new String[] { }); + + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("File is generated", answers.exists ()); - + String content = readFile(answers); - + if (content.indexOf("module=") >= 0) { fail("No mention of a module should be there anymore:\n" + content); } @@ -117,10 +131,12 @@ public void testGenerateArchFileWhenEmptyWithDefaultAnswerForNbDepsQuestion() th "" ); - execute (f, new String[] { }); + + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("File is generated", answers.exists ()); - + String res = readFile(answers); DocumentBuilderFactory fack = DocumentBuilderFactory.newInstance(); fack.setValidating(false); @@ -140,7 +156,7 @@ public void testGenerateArchFileWhenEmptyWithDefaultAnswerForNbDepsQuestion() th while (n != null) { n = n.getParentNode(); assertNotNull ("No parent node answer found: " + res, n); - + if (n.getNodeName().equals ("answer")) { String id = n.getAttributes().getNamedItem("id").getNodeValue(); if (id.equals ("dep-nb")) { @@ -151,10 +167,10 @@ public void testGenerateArchFileWhenEmptyWithDefaultAnswerForNbDepsQuestion() th } } } - + fail ("dep-nb question should have a defaultanswer: " + res); } - + public void testDoNotCorruptTheFileWhenItExists() throws Exception { java.io.File answers = extractString ( "\n" + @@ -174,7 +190,7 @@ public void testDoNotCorruptTheFileWhenItExists() throws Exception { ">\n" + "\n" + // "&api-questions;\n" + - // replaced by part of api-questions entity + // replaced by part of api-questions entity "\n" + "\n" + "\n" + @@ -200,7 +216,7 @@ public void testDoNotCorruptTheFileWhenItExists() throws Exception { "\n" + "\n" + " \n" + -// end of Arch-api-questionx.xmls +// end of Arch-api-questionx.xmls "\n" + "\n" + "\n" + @@ -211,9 +227,9 @@ public void testDoNotCorruptTheFileWhenItExists() throws Exception { "\n" + " \n" ); - + java.io.File output = extractString(""); - + java.io.File f = extractString ( "" + "" + @@ -225,15 +241,14 @@ public void testDoNotCorruptTheFileWhenItExists() throws Exception { "" ); - execute (f, new String[] { - "-Darch.generate=true", - "-Darch.private.disable.validation.for.test.purposes=true", - - }); + System.setProperty("arch.generate", "true"); + System.setProperty("arch.private.disable.validation.for.test.purposes", "true"); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("Answers still exists", answers.exists ()); assertTrue ("Output file generated", output.exists ()); - + String s1 = readFile(answers); if (s1.indexOf("answer id=\"arch-overall\"") == -1) { fail ("There should be a answer template for arch-overall in answers: " + s1); @@ -250,8 +265,8 @@ public void testDoNotCorruptTheFileWhenItExists() throws Exception { } } - - + + public void testIncludeAPIChangesDocumentIntoSetOfAnswersIfSpecified() throws Exception { java.io.File answers = extractString ( "\n" + @@ -271,7 +286,7 @@ public void testIncludeAPIChangesDocumentIntoSetOfAnswersIfSpecified() throws Ex ">\n" + "\n" + // "&api-questions;\n" + - // replaced by part of api-questions entity + // replaced by part of api-questions entity "\n" + "\n" + "\n" + @@ -297,7 +312,7 @@ public void testIncludeAPIChangesDocumentIntoSetOfAnswersIfSpecified() throws Ex "\n" + "\n" + " \n" + -// end of Arch-api-questionx.xmls +// end of Arch-api-questionx.xmls "\n" + "\n" + "\n" + @@ -308,7 +323,7 @@ public void testIncludeAPIChangesDocumentIntoSetOfAnswersIfSpecified() throws Ex "\n" + " \n" ); - + java.io.File apichanges = extractString( "\n" + "\n"; String script = createScript(); - - + + File fileScript = extractString(script); File fileTxt = extractString(txt); - - execute (fileScript, new String[] { - "-Ddir=" + fileTxt.getParent(), - "-Dinclude=" + fileTxt.getName(), - }); - - if (getStdOut().indexOf("Original Code") != - 1) { - fail("Original Code shall not be there: " + getStdOut()); + + System.setProperty("dir", fileTxt.getParentFile().getAbsolutePath() ); + System.setProperty("include", fileTxt.getName() ); + buildRule.configureProject(fileScript.getAbsolutePath()); + buildRule.executeTarget("all"); + if (buildRule.getFullLog().indexOf("Original Code") != - 1) { + fail("Original Code shall not be there: " + buildRule.getFullLog()); } String out = readFile(fileTxt); - + String[] arr = out.split("\n"); for (int i = 0; i < arr.length; i++) { if (arr[i].endsWith(" ")) { @@ -434,7 +445,7 @@ public void testWrongLineBeginningsWhenNoPrefix() throws Exception { if (arr[i].charAt(0) != ' ') { continue; } - + fail("This line seems to start with space:\n" + arr[i] + "\nwhich is wrong in whole output:\n" + out); } } @@ -447,9 +458,9 @@ private static String createScript() { "" + " \n" + " \n" + -" " + +" " + " \n" + -"\n" + +"\n" + " \n"; return script; } - + public void testReplacesTextSeparatedByNewLine() throws Exception { if (isWindows()) { return; @@ -506,15 +517,16 @@ public void testReplacesTextSeparatedByNewLine() throws Exception { File java = new File(tmp.getParentFile(), "MyTest.html"); tmp.renameTo(java); assertTrue("File exists", java.exists()); - - execute (f, new String[] { - "-Ddir=" + java.getParent(), - "-Dinclude=" + java.getName(), - }); - - if (getStdOut().indexOf("Code") != - 1) { - fail("Original Code shall not be there: " + getStdOut()); + + System.setProperty("dir", java.getParentFile().getAbsolutePath() ); + System.setProperty("include", java.getName() ); + + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + + if (buildRule.getFullLog().indexOf("Code") != - 1) { + fail("Original Code shall not be there: " + buildRule.getFullLog()); } String out = readFile(java); @@ -525,7 +537,7 @@ public void testReplacesTextSeparatedByNewLine() throws Exception { if (out.indexOf("Software", first + 25) == - 1) { fail("Original Software shall be there: " + out); } - + String[] lines = out.split("\n"); for (int i = 0; i < lines.length; i++) { if (lines[i].length() > 80) { @@ -535,10 +547,10 @@ public void testReplacesTextSeparatedByNewLine() throws Exception { fail("Ends with space: '" + lines[i] + "' in:\n" + out); } } - } - - - + } + + + public void testWorksOnEmptyFile() throws Exception { java.io.File f = extractResource("CheckLicenseAnt.xml"); @@ -546,19 +558,17 @@ public void testWorksOnEmptyFile() throws Exception { File html = new File(tmp.getParentFile(), "MyTest.html"); tmp.renameTo(html); assertTrue("File exists", html.exists()); - - - execute (f, new String[] { - "-Ddir=" + html.getParent(), - "-Dinclude=" + html.getName(), - }); - - if (getStdOut().indexOf(html.getPath()) != - 1) { - fail("file name shall not be there: " + getStdOut()); - } - - } - + + System.setProperty("dir", html.getParentFile().getAbsolutePath() ); + System.setProperty("include", html.getName() ); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + if (buildRule.getLog().indexOf(html.getPath()) != - 1) { + fail("file name shall not be there: " + buildRule.getLog()); + } + + } + public void testReplacePropertiesLicense() throws Exception { if (isWindows()) { return; @@ -569,42 +579,42 @@ public void testReplacePropertiesLicense() throws Exception { File html = new File(tmp.getParentFile(), "MyTest.html"); tmp.renameTo(html); assertTrue("File exists", html.exists()); - - - execute (f, new String[] { - "-verbose", - "-Ddir=" + html.getParent(), - "-Dinclude=" + html.getName(), - }); - - if (getStdOut().indexOf(html.getPath()) == - 1) { - fail("file name shall be there: " + getStdOut()); - } - - + + + System.setProperty("dir", html.getParentFile().getAbsolutePath() ); + System.setProperty("include", html.getName() ); + + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + + if (buildRule.getFullLog().indexOf(html.getPath()) == - 1) { + fail("file name shall be there: " + buildRule.getFullLog()); + } + + assertTrue("Still exists", html.exists()); - - + + String content = readFile(html); - + if (!content.startsWith("#")) { fail("Shall start with #:\n" + content); } - + { Matcher m = Pattern.compile(" *\\# *Ahoj *\\# *Jardo").matcher(content.replace('\n', ' ')); if (!m.find()) { fail("Replacement shall be there together with prefix:\n" + content); } } - + { Matcher m = Pattern.compile("^ *\\#New. *\\#Warning", Pattern.MULTILINE | Pattern.DOTALL).matcher(content); if (!m.find()) { fail("warning shall be there:\n" + content); } } - + { String[] lines = content.split("\n"); if (lines.length < 5) { @@ -622,13 +632,13 @@ public void testReplacePropertiesLicense() throws Exception { } } } - } + } private static boolean isWindows() { String name = System.getProperty("os.name"); return name != null && name.toLowerCase().indexOf("windows") >= 0; } - + public void testReplaceXMLLicense() throws Exception { java.io.File f = extractResource("CheckLicenseAnt.xml"); @@ -636,45 +646,43 @@ public void testReplaceXMLLicense() throws Exception { File xml = new File(tmp.getParentFile(), "MyTest.xml"); tmp.renameTo(xml); assertTrue("File exists", xml.exists()); - - - execute (f, new String[] { - "-verbose", - "-Ddir=" + xml.getParent(), - "-Dinclude=" + xml.getName(), - }); - - if (getStdOut().indexOf(xml.getPath()) == - 1) { - fail("file name shall be there: " + getStdOut()); - } - - + + + System.setProperty("dir", xml.getParentFile().getAbsolutePath() ); + System.setProperty("include", xml.getName() ); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + if (buildRule.getFullLog().indexOf(xml.getPath()) == - 1) { + fail("file name shall be there: " + buildRule.getFullLog()); + } + + assertTrue("Still exists", xml.exists()); - - + + String content = readFile(xml); - + if (!content.startsWith("<")) { fail("Shall start with <:\n" + content); } - + { Matcher m = Pattern.compile(" *Ahoj *Jardo").matcher(content.replace('\n', ' ')); if (!m.find()) { fail("Replacement shall be there together with prefix:\n" + content); } } - + { Matcher m = Pattern.compile("^ *New. *Warning", Pattern.MULTILINE | Pattern.DOTALL).matcher(content); if (!m.find()) { fail("warning shall be there:\n" + content); } } - } + } public void testProblemsWithTermEmulator() throws Exception { - String txt = + String txt = "/* \n" + " * Sun Public License Notice\n" + " *\n" + @@ -691,18 +699,17 @@ public void testProblemsWithTermEmulator() throws Exception { " * Contributor(s): Ivan Soleimanipour.\n" + " */\n"; String script = createScript(); - - + + File fileScript = extractString(script); File fileTxt = extractString(txt); - - execute (fileScript, new String[] { - "-Ddir=" + fileTxt.getParent(), - "-Dinclude=" + fileTxt.getName(), - }); - - if (getStdOut().indexOf("Original Code") != - 1) { - fail("Original Code shall not be there: " + getStdOut()); + + System.setProperty("dir", fileTxt.getParentFile().getAbsolutePath() ); + System.setProperty("include", fileTxt.getName() ); + buildRule.configureProject(fileScript.getAbsolutePath()); + buildRule.executeTarget("all"); + if (buildRule.getFullLog().indexOf("Original Code") != - 1) { + fail("Original Code shall not be there: " + buildRule.getFullLog()); } String out = readFile(fileTxt); @@ -713,7 +720,7 @@ public void testProblemsWithTermEmulator() throws Exception { } } - + public void testDoubleHtmlComments() throws Exception { java.io.File f = extractString(createScript()); @@ -734,20 +741,19 @@ public void testDoubleHtmlComments() throws Exception { File file = new File(tmp.getParentFile(), "MyTest.html"); tmp.renameTo(file); assertTrue("File exists", file.exists()); - - execute (f, new String[] { - "-Ddir=" + file.getParent(), - "-Dinclude=" + file.getName(), - }); - + + System.setProperty("dir", file.getParentFile().getAbsolutePath() ); + System.setProperty("include", file.getName() ); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String out = readFile(file); int first = out.indexOf("Sun Public"); if (first != - 1) { fail("Sun Public shall not be there:\n" + out); } - } - + } + public void testDoNotReplaceSpacesBeyondTheLicense() throws Exception { StringBuffer sb = new StringBuffer(); sb.append('A'); @@ -755,7 +761,7 @@ public void testDoNotReplaceSpacesBeyondTheLicense() throws Exception { sb.append(' '); } sb.append('B'); - + java.io.File license = extractString( "\n" + "\n" + @@ -764,22 +770,19 @@ public void testDoNotReplaceSpacesBeyondTheLicense() throws Exception { sb ); String script = createScript(); - - - execute ( - extractString(script), - new String[] { - "-Ddir=" + license.getParent(), - "-Dinclude=" + license.getName(), - }); - + + java.io.File scriptf = extractString(script); + System.setProperty("dir", license.getParentFile().getAbsolutePath() ); + System.setProperty("include", license.getName() ); + buildRule.configureProject(scriptf.getAbsolutePath()); + buildRule.executeTarget("all"); String out = readFile(license); if (out.indexOf("Sun Public") >= 0) { fail(out); } - + Matcher m = Pattern.compile("A( *)B").matcher(out); if (!m.find()) { fail("There should be long line:\n" + out); @@ -787,7 +790,7 @@ public void testDoNotReplaceSpacesBeyondTheLicense() throws Exception { if (m.group(1).length() != 10000) { fail("There should be 10000 spaces, but is only: " + m.group(1).length() + "\n" + out); } - } + } } - + diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/CheckLinksTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/CheckLinksTest.java index 5b32498a1d89..1eec9cceb985 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/CheckLinksTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/CheckLinksTest.java @@ -20,12 +20,19 @@ package org.netbeans.nbbuild; import java.io.File; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** Check the behaviour of CheckLinks. * * @author Jaroslav Tulach */ public class CheckLinksTest extends TestBase { + + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public CheckLinksTest (String name) { super (name); } @@ -49,7 +56,8 @@ public void testByDefaultAllURLsAreAllowed () throws Exception { "" ); // success - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); } @@ -73,9 +81,10 @@ public void testForbiddenExternalURLsAreCorrectlyReported () throws Exception { "" ); try { - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); fail ("This should fail as the URL is forbidden"); - } catch (ExecutionError ex) { + } catch (BuildException ex) { // ok, this should fail on exit code } } @@ -95,9 +104,10 @@ public void testForbiddenURLsInLinkElements() throws Exception { "" ); try { - execute(f, new String[] {}); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); fail(); - } catch (ExecutionError ex) {} + } catch (BuildException ex) {} } public void testAnyURLCanBeForbidden () throws Exception { @@ -120,9 +130,10 @@ public void testAnyURLCanBeForbidden () throws Exception { "" ); try { - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); fail ("This should fail as the URL is forbidden"); - } catch (ExecutionError ex) { + } catch (BuildException ex) { // ok, this should fail on exit code } } @@ -148,7 +159,8 @@ public void testIfAcceptedFirstThenItDoesNotMatterThatItIsForbiddenLater () thro "" ); // passes as .*sex.* is acceptable - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); } @@ -174,7 +186,8 @@ public void testSkipCommentedOutLinks () throws Exception { "" ); // passes as the forbidden URL is commented out - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); } @@ -198,7 +211,8 @@ public void testDocFilesRelativeLinks () throws Exception { "" ); // success - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); } @@ -222,9 +236,10 @@ public void testDocFilesInvalidLinks () throws Exception { ); // failure try { - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); fail ("This should fail as the link is broken"); - } catch (ExecutionError ex) { + } catch (BuildException ex) { // ok, this should fail on exit code } } @@ -250,7 +265,8 @@ public void testQueryComponent() throws Exception { "" + "" ); - execute(f, new String[] {}); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); } diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/CreateModuleXMLTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/CreateModuleXMLTest.java index 28a9513ada1f..637c8b55fdc7 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/CreateModuleXMLTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/CreateModuleXMLTest.java @@ -24,6 +24,9 @@ import java.util.jar.Manifest; import java.io.File; import java.io.IOException; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** Check behaviour of ModuleSelector. @@ -31,7 +34,9 @@ * @author Jaroslav Tulach */ public class CreateModuleXMLTest extends TestBase { - + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public CreateModuleXMLTest(String testName) { super(testName); } @@ -40,15 +45,15 @@ public void testIncludesAllModulesByDefault() throws Exception { Manifest m = createManifest (); m.getMainAttributes().putValue("OpenIDE-Module", "org.my.module"); File aModule = generateJar(new String[0], m); - + File output = new File(getWorkDir(), "output"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -57,15 +62,15 @@ public void testIncludesAllModulesByDefault() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); - + String[] files = output.list(); assertEquals("It one file", 1, files.length); assertEquals("Its name reflects the code name of the module", "org-my-module.xml_hidden", files[0]); - + } public void testGeneratesDataForDisabledModule() throws Exception { @@ -89,8 +94,8 @@ public void testGeneratesDataForDisabledModule() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); @@ -99,7 +104,7 @@ public void testGeneratesDataForDisabledModule() throws Exception { assertEquals("Its name reflects the code name of the module", "org-my-module.xml", files[0]); } - + public void testStartLevelFailsForNormalModules() throws Exception { Manifest m = createManifest (); m.getMainAttributes().putValue("OpenIDE-Module", "org.my.module"); @@ -122,8 +127,9 @@ public void testStartLevelFailsForNormalModules() throws Exception { "" ); try { - execute(f, new String[] { "-verbose" }); - } catch (ExecutionError ex) { + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + } catch (BuildException ex) { // OK return; } @@ -151,7 +157,9 @@ public void testStartLevelIsIgnoredForNormalModulesWhenRequested() throws Except "" + "" ); - execute (f, new String[] { "-verbose" }); + + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); @@ -159,11 +167,11 @@ public void testStartLevelIsIgnoredForNormalModulesWhenRequested() throws Except File[] files = output.listFiles(); assertEquals("It one file", 1, files.length); assertEquals("Its name reflects the code name of the module", "org-my-module.xml", files[0].getName()); - + String content = readFile(files[0]); assertFalse("startlevel tag is not there: " + content, content.contains("\"startlevel\"")); } - + public void testStartLevelOKForBundles() throws Exception { Manifest m = createManifest (); m.getMainAttributes().putValue("Bundle-SymbolicName", "org.my.module"); @@ -185,15 +193,15 @@ public void testStartLevelOKForBundles() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); File[] files = output.listFiles(); assertEquals("It one file", 1, files.length); assertEquals("Its name reflects the code name of the module", "org-my-module.xml", files[0].getName()); - + String content = readFile(files[0]); assertTrue("startlevel tag expected: " + content, content.contains("\"startlevel\"")); @@ -219,8 +227,8 @@ public void testEmptyStartLevelIsOKForNormalModules() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); @@ -253,7 +261,10 @@ public void testGenerateUpdateTrackingMode() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); + + + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); @@ -287,12 +298,12 @@ public void testGenerateUpdateTrackingMode() throws Exception { } } } - - + + private File createNewJarFile() throws IOException { File dir = new File(this.getWorkDir(), "modules"); dir.mkdirs(); - + int i = 0; for (;;) { File f = new File (dir, i++ + ".jar"); @@ -301,25 +312,25 @@ private File createNewJarFile() throws IOException { } } } - + protected final File generateJar (String[] content, Manifest manifest) throws IOException { File f = createNewJarFile (); - + JarOutputStream os; if (manifest != null) { os = new JarOutputStream (new FileOutputStream (f), manifest); } else { os = new JarOutputStream (new FileOutputStream (f)); } - + for (int i = 0; i < content.length; i++) { os.putNextEntry(new JarEntry (content[i])); os.closeEntry(); } os.closeEntry (); os.close(); - + return f; } - + } diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/FixDependenciesTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/FixDependenciesTest.java index 7c6dfbd7153a..38f53af853b2 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/FixDependenciesTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/FixDependenciesTest.java @@ -22,6 +22,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** Behaviour of fixing module dependencies. Knows how to replace old @@ -30,6 +32,9 @@ * @author Jaroslav Tulach */ public class FixDependenciesTest extends TestBase { + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public FixDependenciesTest (String name) { super (name); } @@ -56,7 +61,8 @@ public void testWrongIndentation() throws Exception { ); String input = readFile (xml); - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String result = readFile (xml); if (result.indexOf ("org.openide.util") == -1) { @@ -119,7 +125,9 @@ public void testCanFixXmlWsdlModel() throws Exception { ); - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + String result = readFile (xml); if (result.indexOf ("org.openide.util") == -1) { @@ -152,7 +160,8 @@ public void testCanParseCoreKit () throws Exception { ); String before = readFile(xml); - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String after = readFile(xml); assertEquals("No change", before, after); @@ -180,7 +189,9 @@ public void testCanParseOpenideUtil () throws Exception { ); String before = readFile(xml); - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + String after = readFile(xml); assertEquals("No change", before, after); @@ -220,7 +231,8 @@ public void testNoModuleDependenciesDoesNotCrash() throws Exception { ); String before = readFile(xml); - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String after = readFile(xml); assertEquals("No change", before, after); @@ -260,7 +272,8 @@ public void testReplaceOpenideDepWithSmallerOnes () throws Exception { "" ); - execute (f, new String[] { }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String result = readFile (xml); @@ -311,8 +324,8 @@ public void testReplaceOpenideUtilWithUtilAndLookup () throws Exception { "" ); - execute (f, new String[] { }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String result = readFile (xml); if (result.indexOf ("org.openide.util") == -1) { @@ -372,8 +385,8 @@ private void doDontReplaceNewerVersionOfItself(String version) throws Exception "" ); - execute (f, new String[] { }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String result = readFile (xml); if (result.indexOf ("org.openide.util") == -1) { @@ -464,8 +477,9 @@ public void testVerificationOfRemovedDependencies () throws Exception { "" ); - execute (f, new String[] { "-Dbuildscript=" + f.getPath () }); - + System.setProperty("buildscript", f.getAbsolutePath()); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String result = readFile (xml); if (result.indexOf ("org.openide.keep") == -1) { @@ -570,7 +584,9 @@ public void testBrokenCoreSettingsReplacement () throws Exception { assertNotNull ("Originally can be parsed", doc); - execute (f, new String[] { "-Dbuildscript=" + f.getPath () }); + System.setProperty("buildscript", f.getAbsolutePath()); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); doc = javax.xml.parsers.DocumentBuilderFactory.newInstance ().newDocumentBuilder ().parse (xml); @@ -644,7 +660,9 @@ public void testPropertiesAreNotInfluencedByPreviousExecution () throws Exceptio "" ); - execute (f, new String[] { "-Dbuildscript=" + f.getPath () }); + System.setProperty("buildscript", f.getAbsolutePath()); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String result = readFile (xml); @@ -728,8 +746,9 @@ public void testOnlyCompileTimeDependenciesCanBeRemoved () throws Exception { "" ); - execute (f, new String[] { "-Dbuildscript=" + f.getPath () }); - + System.setProperty("buildscript", f.getAbsolutePath()); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String result = readFile (xml); if (result.indexOf ("org.openide.keep") == -1) { @@ -785,8 +804,9 @@ public void testRuntimeDepOnOpenideIsSpecial () throws Exception { "" ); - execute (f, new String[] { "-Dbuildscript=" + f.getPath () }); - + System.setProperty("buildscript", f.getAbsolutePath()); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String result = readFile (xml); if (result.indexOf ("org.openide") > -1) { diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/FixTestDependenciesProject2.xml b/nbbuild/test/unit/src/org/netbeans/nbbuild/FixTestDependenciesProject2.xml index a10cb176fcb7..613e30f25ab2 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/FixTestDependenciesProject2.xml +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/FixTestDependenciesProject2.xml @@ -217,14 +217,6 @@ 6.5 - - org.openide.options - - - - 6.2 - - org.openide.src diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/FixTestDependenciesProjectPass.xml b/nbbuild/test/unit/src/org/netbeans/nbbuild/FixTestDependenciesProjectPass.xml index 31488c2d46bf..146d2087450f 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/FixTestDependenciesProjectPass.xml +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/FixTestDependenciesProjectPass.xml @@ -217,14 +217,6 @@ 6.5 - - org.openide.options - - - - 6.2 - - org.openide.src diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/InsertModuleAllTargetsTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/InsertModuleAllTargetsTest.java index 259486a1756f..a4de9ccf0487 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/InsertModuleAllTargetsTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/InsertModuleAllTargetsTest.java @@ -102,14 +102,14 @@ public void testInstallAllTargetWithClusters() { insert.setProject(p); insert.execute(); - + Object obj = p.getTargets().get("all-java.source.queries"); assertNotNull("Target found", obj); Target t = (Target)obj; Set s = depsToNames(t.getDependencies()); - assertEquals("Five dependencies: " + s, 5, s.size()); - assertEquals(new HashSet<>(Arrays.asList("init", "all-openide.dialogs", "all-openide.util", "all-openide.util.lookup", "all-api.annotations.common")), s); + assertEquals("Two dependencies: " + s, 2, s.size()); + assertEquals(new HashSet<>(Arrays.asList("init", "all-cluster-nb.cluster.java")), s); int callTargets = 0; for (Task task : t.getTasks()) { @@ -148,10 +148,10 @@ public void testInstallAllTargetWithoutClusters() { assertEquals("No call targes", 0, callTargets); } - private Set depsToNames(Enumeration en) { + private Set depsToNames(Enumeration en) { Set set = new HashSet<>(); while (en.hasMoreElements()) { - String dep = en.nextElement().toString(); + String dep = en.nextElement(); set.add(dep); } return set; diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/IsLockedTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/IsLockedTest.java index 489711f9eb82..532975aa18fd 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/IsLockedTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/IsLockedTest.java @@ -38,7 +38,7 @@ protected void setUp() throws Exception { condition = new IsLocked(); condition.setFile(file); } - + public void testCanLock() { assertFalse("Is not locked", condition.eval()); } diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/JarWithModuleAttributesTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/JarWithModuleAttributesTest.java index 066d76adc5b2..c2f54802154d 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/JarWithModuleAttributesTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/JarWithModuleAttributesTest.java @@ -21,16 +21,22 @@ import java.io.File; import java.util.jar.JarFile; import junit.framework.AssertionFailedError; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** Checks that javac.target gets reflected in the manifest. * * @author Jaroslav Tulach */ public class JarWithModuleAttributesTest extends TestBase { + + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public JarWithModuleAttributesTest (String name) { super (name); } - + public void testAddThereVersionFromJavacTarget() throws Exception { File output = new File(getWorkDir(), "output"); java.io.File manifest = extractString ( @@ -40,7 +46,7 @@ public void testAddThereVersionFromJavacTarget() throws Exception { "OpenIDE-Module-Layer: org/netbeans/modules/sendopts/layer.xml\n" ); File jar = new File(getWorkDir(), "x.jar"); - + java.io.File f = extractString ( "" + "" + @@ -59,8 +65,9 @@ public void testAddThereVersionFromJavacTarget() throws Exception { ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("JAR created", jar.isFile()); File extracted = new File(new File(output, "META-INF"), "MANIFEST.MF"); @@ -87,7 +94,7 @@ public void testKeepOldVersion() throws Exception { "OpenIDE-Module-Layer: org/netbeans/modules/sendopts/layer.xml\n" ); File jar = new File(getWorkDir(), "x.jar"); - + java.io.File f = extractString ( "" + "" + @@ -106,8 +113,9 @@ public void testKeepOldVersion() throws Exception { ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("JAR created", jar.isFile()); File extracted = new File(new File(output, "META-INF"), "MANIFEST.MF"); @@ -163,7 +171,8 @@ public void testKeepOldVersionForNetigso() throws Exception { ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("JAR created", jar.isFile()); @@ -218,7 +227,7 @@ public void testIgnoreWeirdJavacTarget() throws Exception { "OpenIDE-Module-Layer: org/netbeans/modules/sendopts/layer.xml\n" ); File jar = new File(getWorkDir(), "x.jar"); - + java.io.File f = extractString ( "" + "" + @@ -237,8 +246,9 @@ public void testIgnoreWeirdJavacTarget() throws Exception { ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("JAR created", jar.isFile()); File extracted = new File(new File(output, "META-INF"), "MANIFEST.MF"); @@ -277,7 +287,8 @@ public void testExportPackage() throws Exception { ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue ("JAR created", jar.isFile()); @@ -303,7 +314,7 @@ public void testExportPackage() throws Exception { fail("Unwanted dependency on org.netbeans.libs.osgi:\n" + req); } } - + private static void assertVersionAtLeast(String limit, String value) { int[] segLimit = segments(limit); int[] segValue = segments(value); diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/LocFilesTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/LocFilesTest.java index 5840dc646d09..34f6d6959814 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/LocFilesTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/LocFilesTest.java @@ -35,7 +35,7 @@ public class LocFilesTest extends NbTestCase { private File src; private File dist; private LocFiles task; - + public LocFilesTest(String n) { super(n); } @@ -47,7 +47,7 @@ protected void setUp() throws Exception { dist.mkdirs(); src = new File(getWorkDir(), "src"); src.mkdirs(); - + Project p = new Project(); task = new LocFiles(); task.setProject(p); @@ -57,7 +57,7 @@ protected void setUp() throws Exception { task.setSrc(src); task.setDestDir(dist); } - + public void testOpenideUtilLookup() throws Exception { createSource("cs/platform/org-openide-util-lookup/netbeans/lib/org-openide-util-lookup/org/openide/util/lookup/Bundle_cs.properties"); task.setCodeNameBase("org.openide.util.lookup"); @@ -81,7 +81,7 @@ public void testSettingsPatternsOnly() throws Exception { task.execute(); assertPattern("platform", "modules/locale/org-netbeans-modules-settings_cs.jar"); } - + public void testCoreWindows() throws Exception { final String pref = "cs/platform/org-netbeans-core-windows/org-netbeans-core-windows/org/netbeans/core/windows/"; createSource( @@ -94,7 +94,7 @@ public void testCoreWindows() throws Exception { ); task.setCodeNameBase("org.netbeans.core.windows"); task.execute(); - assertDist("platform/modules/locale/org-netbeans-core-windows_cs.jar", + assertDist("platform/modules/locale/org-netbeans-core-windows_cs.jar", "org/netbeans/core/windows/resources/Bundle_cs.properties", "org/netbeans/core/windows/actions/Bundle_cs.properties", "org/netbeans/core/windows/services/Bundle_cs.properties", @@ -104,7 +104,7 @@ public void testCoreWindows() throws Exception { ); assertPattern("platform", "modules/locale/org-netbeans-core-windows_cs.jar"); } - + public void testAutoupdateServices() throws Exception { final String pref = "cs/platform/autoupdate-services/autoupdate-services/org/netbeans/modules/autoupdate/"; createSource( @@ -115,18 +115,18 @@ public void testAutoupdateServices() throws Exception { ); task.setCodeNameBase("org.netbeans.modules.autoupdate.services"); task.execute(); - assertDist("platform/modules/locale/org-netbeans-modules-autoupdate-services_cs.jar", + assertDist("platform/modules/locale/org-netbeans-modules-autoupdate-services_cs.jar", "org/netbeans/modules/autoupdate/services/resources/Bundle_cs.properties", "org/netbeans/modules/autoupdate/services/Bundle_cs.properties", "org/netbeans/modules/autoupdate/updateprovider/Bundle_cs.properties" ); - assertDist("platform/modules/ext/locale/updater_cs.jar", + assertDist("platform/modules/ext/locale/updater_cs.jar", "org/netbeans/updater/Bundle_cs.properties" ); assertPattern("platform", "modules/locale/org-netbeans-modules-autoupdate-services_cs.jar"); assertPattern("platform", "modules/ext/locale/updater_cs.jar"); } - + public void testAnt() throws Exception { task.setLocales("ja"); task.setCluster("java"); @@ -174,7 +174,7 @@ private void assertPattern(String cluster, String file) { assertNotNull("Reference is found", ref); assertTrue("Right instance: " + ref, ref instanceof PatternSet); PatternSet ps = (PatternSet)ref; - + List arr = Arrays.asList(ps.getIncludePatterns(task.getProject())); assertTrue(file + " is there: " + arr, arr.contains(file)); } diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/MakeJNLPTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/MakeJNLPTest.java index 9537ab7b88e2..28796d015c4c 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/MakeJNLPTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/MakeJNLPTest.java @@ -38,16 +38,33 @@ import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** Is generation of Jnlp files correct? * * @author Jaroslav Tulach, Jesse Glick */ public class MakeJNLPTest extends TestBase { + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public MakeJNLPTest (String name) { super (name); } - + + @Override + protected void setUp() throws Exception { + super.setUp(); + System.clearProperty("test.output"); + System.clearProperty("test.parent"); + System.clearProperty("test.name"); + System.clearProperty("test.ks"); + System.clearProperty("test.ext"); + } + + private static void assertFilenames(File dir, String... contents) { assertTrue(dir + " is a directory", dir.isDirectory()); SortedSet expected = new TreeSet<>(Arrays.asList(contents)); @@ -64,10 +81,10 @@ private static void findFilenames(File dir, String prefix, Set names) { } } } - + public void testGenerateJNLPAndSignedJarForSimpleModule() throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.my.module/3"); File simpleJar = generateJar (new String[0], m); @@ -75,13 +92,13 @@ public void testGenerateJNLPAndSignedJarForSimpleModule() throws Exception { File parent = simpleJar.getParentFile (); File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -90,21 +107,22 @@ public void testGenerateJNLPAndSignedJarForSimpleModule() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertFilenames(output, "org-my-module.jnlp", "org-my-module/s0.jar"); - + File jnlp = new File(output, "org-my-module.jnlp"); String res = readFile (jnlp); - + assertTrue ("Component JNLP type: " + res, res.indexOf ("") >= 0); assertTrue ("We support all permissions by default: " + res, res.indexOf ("") >= 0); - + Matcher match = Pattern.compile(".*codebase=['\\\"]([^'\\\"]*)['\\\"]").matcher(res); assertTrue("codebase is there", match.find()); assertEquals("one group found", 1, match.groupCount()); String base = match.group(1); - + assertEquals("By default the dest directory is $$codebase: ", "$$codebase", base); CHECK_SIGNED: { @@ -146,8 +164,8 @@ public void testHandlesOSGi() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertFilenames(output, "org-my-module.jnlp", "org-my-module/s0.jar"); File jnlp = new File(output, "org-my-module.jnlp"); @@ -166,7 +184,7 @@ public void testHandlesOSGi() throws Exception { public void testGenerateJNLPAndUnSignedJarForSimpleModule() throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.my.module/3"); File simpleJar = generateJar (new String[0], m); @@ -174,13 +192,13 @@ public void testGenerateJNLPAndUnSignedJarForSimpleModule() throws Exception { File parent = simpleJar.getParentFile (); File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -189,21 +207,22 @@ public void testGenerateJNLPAndUnSignedJarForSimpleModule() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertFilenames(output, "org-my-module.jnlp", "org-my-module/s0.jar"); - + File jnlp = new File(output, "org-my-module.jnlp"); String res = readFile (jnlp); - + assertTrue ("Component JNLP type: " + res, res.indexOf ("") >= 0); assertTrue ("We support all permissions by default: " + res, res.indexOf ("") >= 0); - + Matcher match = Pattern.compile(".*codebase=['\\\"]([^'\\\"]*)['\\\"]").matcher(res); assertTrue("codebase is there", match.find()); assertEquals("one group found", 1, match.groupCount()); String base = match.group(1); - + assertEquals("By default the dest directory is $$codebase: ", "$$codebase", base); File jar = new File(output, "org-my-module/s0.jar"); @@ -215,7 +234,7 @@ public void testGenerateJNLPAndUnSignedJarForSimpleModule() throws Exception { fail ("File should not be signed: " + jar); } } - + } public void testGenerateMacOSOnlySimpleModule() throws Exception { @@ -232,10 +251,10 @@ public void testGenerateWindowsOSOnlySimpleModule() throws Exception { public void testGenerateSolarisOSOnlySimpleModule() throws Exception { doGenerateOSOnlySimpleModule("org.openide.modules.os.Solaris", ""); } - + private void doGenerateOSOnlySimpleModule(String tok, String find) throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Requires", tok + ", pepa.z.bota"); @@ -244,13 +263,13 @@ private void doGenerateOSOnlySimpleModule(String tok, String find) throws Except File parent = simpleJar.getParentFile (); File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -259,22 +278,23 @@ private void doGenerateOSOnlySimpleModule(String tok, String find) throws Except "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertFilenames(output, "org-my-module.jnlp", "org-my-module/s0.jar"); - + File jnlp = new File(output, "org-my-module.jnlp"); String res = readFile (jnlp); - + assertTrue ("Component JNLP type: " + res, res.indexOf ("") >= 0); assertTrue ("Resource is os dependant: " + res, res.indexOf (find) >= 0); assertTrue ("We support all permissions by default: " + res, res.indexOf ("") >= 0); - + Matcher match = Pattern.compile(".*codebase=['\\\"]([^'\\\"]*)['\\\"]").matcher(res); assertTrue("codebase is there", match.find()); assertEquals("one group found", 1, match.groupCount()); String base = match.group(1); - + assertEquals("By default the dest directory is $$codebase: ", "$$codebase", base); File jar = new File(output, "org-my-module/s0.jar"); @@ -286,11 +306,11 @@ private void doGenerateOSOnlySimpleModule(String tok, String find) throws Except fail ("File should not be signed: " + jar); } } - + } - + public void testTheLocalizedAutoupdateProblem() throws Exception { - String UTfile = + String UTfile = "" + "" + " " + @@ -303,22 +323,22 @@ public void testTheLocalizedAutoupdateProblem() throws Exception { " " + " " + ""; - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.netbeans.modules.autoupdate/1"); m.getMainAttributes ().putValue ("Class-Path", "ext/updater.jar"); File simpleJar = generateJar ("modules/", new String[0], m, null); File moduleJar = new File(simpleJar.getParentFile(), "org-netbeans-modules-autoupdate.jar"); simpleJar.renameTo(moduleJar); - + File p = simpleJar.getParentFile(); - + simpleJar = generateJar ("modules/locale/", new String[0], createManifest(), null); simpleJar.renameTo(new File(simpleJar.getParentFile(), "org-netbeans-modules-autoupdate_ja.jar")); simpleJar = generateJar ("modules/locale/", new String[0], createManifest(), null); simpleJar.renameTo(new File(simpleJar.getParentFile(), "org-netbeans-modules-autoupdate_zh_CN.jar")); - + simpleJar = generateJar ("modules/ext/", new String[0], createManifest(), null); simpleJar.renameTo(new File(simpleJar.getParentFile(), "updater.jar")); @@ -331,11 +351,11 @@ public void testTheLocalizedAutoupdateProblem() throws Exception { File xml = new File(p, "config/Modules/org-netbeans-modules-autoupdate.xml"); xml.getParentFile().mkdirs(); xml.createNewFile(); - + File updateTracking = new File(getWorkDir(), "update_tracking"); updateTracking.mkdirs(); assertTrue("Created", updateTracking.isDirectory()); - + File trackingFile = new File(updateTracking, "org-netbeans-modules-autoupdate.xml"); try (FileWriter w = new FileWriter(trackingFile)) { w.write(UTfile); @@ -343,13 +363,13 @@ public void testTheLocalizedAutoupdateProblem() throws Exception { File output = new File(getWorkDir(), "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -358,8 +378,9 @@ public void testTheLocalizedAutoupdateProblem() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertFilenames(output, "org-netbeans-modules-autoupdate.jnlp", "org-netbeans-modules-autoupdate/org-netbeans-modules-autoupdate.jar", "org-netbeans-modules-autoupdate/locale-org-netbeans-modules-autoupdate_zh_CN.jar", @@ -367,21 +388,21 @@ public void testTheLocalizedAutoupdateProblem() throws Exception { "org-netbeans-modules-autoupdate/ext-locale-updater_zh_CN.jar", "org-netbeans-modules-autoupdate/ext-locale-updater_ja.jar", "org-netbeans-modules-autoupdate/ext-updater.jar"); - + File jnlp = new File(output, "org-netbeans-modules-autoupdate.jnlp"); String res = readFile (jnlp); - - + + assertTrue ("Component JNLP type: " + res, res.indexOf ("") >= 0); assertTrue ("We support all permissions by default: " + res, res.indexOf ("") >= 0); - + Matcher match = Pattern.compile(".*codebase=['\\\"]([^'\\\"]*)['\\\"]").matcher(res); assertTrue("codebase is there", match.find()); assertEquals("one group found", 1, match.groupCount()); String base = match.group(1); - + assertEquals("By default the dest directory is $$codebase: ", "$$codebase", base); - + assertResource(res, "ja", "org-netbeans-modules-autoupdate/ext-locale-updater_ja.jar"); assertResource(res, "zh_CN", "org-netbeans-modules-autoupdate/ext-locale-updater_zh_CN.jar"); assertResource(res, "ja", "org-netbeans-modules-autoupdate/locale-org-netbeans-modules-autoupdate_ja.jar"); @@ -401,11 +422,11 @@ public void testTheLocalizedAutoupdateProblem() throws Exception { } fail ("File does not seem to be signed: " + jar); } - + } public void testGenerateJNLPForMissingRegularModule() throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.netbeans.core.startup"); File simpleJar = generateJar ("modules/", new String[0], m, null); @@ -416,11 +437,11 @@ public void testGenerateJNLPForMissingRegularModule() throws Exception { File parent = simpleJar.getParentFile (); File localizedJarCZ = generateJar("modules/locale/", new String[0], createManifest(), null); assertTrue("Successful rename", localizedJarCZ.renameTo(new File(localizedJarCZ.getParent(), "core_cs.jar"))); - + File updateTracking = new File(getWorkDir(), "update_tracking"); updateTracking.mkdirs(); assertTrue("Created", updateTracking.isDirectory()); - + File trackingFile = new File(updateTracking, "org-netbeans-core-startup.xml"); try (FileWriter w = new FileWriter(trackingFile)) { w.write( @@ -436,17 +457,17 @@ public void testGenerateJNLPForMissingRegularModule() throws Exception { "\n" ); } - - + + File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -455,16 +476,17 @@ public void testGenerateJNLPForMissingRegularModule() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertFilenames(output, "org-netbeans-core-startup.jnlp", "org-netbeans-core-startup/core.jar", "org-netbeans-core-startup/locale-core_cs.jar"); } - + public void testGenerateJNLPAndSignedJarForSimpleLocalizedModule() throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.my.module/3"); File simpleJar = generateJar ("modules/", new String[0], m, null); @@ -473,11 +495,11 @@ public void testGenerateJNLPAndSignedJarForSimpleLocalizedModule() throws Except File localizedJarCZ = generateJar("modules/locale/", new String[0], createManifest(), null); assertEquals("There need to have the same name", simpleJar.getName(), localizedJarCZ.getName()); assertTrue("Successful rename", localizedJarCZ.renameTo(new File(localizedJarCZ.getParent(), "0_cs.jar"))); - + File localizedJarZH = generateJar("modules/locale/", new String[0], createManifest(), null); assertEquals("There need to have the same name", simpleJar.getName(), localizedJarZH.getName()); assertTrue("Successful rename", localizedJarZH.renameTo(new File(localizedJarCZ.getParent(), "0_zh_CN.jar"))); - + File localizedJarJA = generateJar("modules/locale/", new String[0], createManifest(), null); assertEquals("There need to have the same name", simpleJar.getName(), localizedJarJA.getName()); assertTrue("Successful rename", localizedJarJA.renameTo(new File(localizedJarCZ.getParent(), "0_ja.jar"))); @@ -485,7 +507,7 @@ public void testGenerateJNLPAndSignedJarForSimpleLocalizedModule() throws Except File updateTracking = new File(getWorkDir(), "update_tracking"); updateTracking.mkdirs(); assertTrue("Created", updateTracking.isDirectory()); - + File trackingFile = new File(updateTracking, "org-my-module.xml"); try (FileWriter w = new FileWriter(trackingFile)) { w.write( @@ -501,17 +523,17 @@ public void testGenerateJNLPAndSignedJarForSimpleLocalizedModule() throws Except "\n" ); } - - + + File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -520,7 +542,8 @@ public void testGenerateJNLPAndSignedJarForSimpleLocalizedModule() throws Except "" + "" ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertFilenames(output, "org-my-module.jnlp", "org-my-module/0.jar", @@ -530,17 +553,17 @@ public void testGenerateJNLPAndSignedJarForSimpleLocalizedModule() throws Except File jnlp = new File(output, "org-my-module.jnlp"); String res = readFile (jnlp); - + assertTrue ("Component JNLP type: " + res, res.indexOf ("") >= 0); assertTrue ("We support all permissions by default: " + res, res.indexOf ("") >= 0); - + Matcher match = Pattern.compile(".*codebase=['\\\"]([^'\\\"]*)['\\\"]").matcher(res); assertTrue("codebase is there", match.find()); assertEquals("one group found", 1, match.groupCount()); String base = match.group(1); - + assertEquals("By default the dest directory is $$codebase: ", "$$codebase", base); - + assertResource(res, "cs", "org-my-module/locale-0_cs.jar"); assertResource(res, "ja", "org-my-module/locale-0_ja.jar"); assertResource(res, "zh_CN", "org-my-module/locale-0_zh_CN.jar"); @@ -549,7 +572,7 @@ public void testGenerateJNLPAndSignedJarForSimpleLocalizedModule() throws Except if (!jar.getName().endsWith(".jar")) { continue; } - + JarFile signed = new JarFile(jar); Enumeration it = signed.entries(); while (it.hasMoreElements()) { @@ -563,7 +586,7 @@ public void testGenerateJNLPAndSignedJarForSimpleLocalizedModule() throws Except } public void testGenerateJNLPForMissingCoreIssue103301() throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.netbeans.core.startup"); File simpleJar = generateJar ("core/", new String[0], m, null); @@ -574,11 +597,11 @@ public void testGenerateJNLPForMissingCoreIssue103301() throws Exception { File parent = simpleJar.getParentFile (); File localizedJarCZ = generateJar("core/locale/", new String[0], createManifest(), null); assertTrue("Successful rename", localizedJarCZ.renameTo(new File(localizedJarCZ.getParent(), "core_cs.jar"))); - + File updateTracking = new File(getWorkDir(), "update_tracking"); updateTracking.mkdirs(); assertTrue("Created", updateTracking.isDirectory()); - + File trackingFile = new File(updateTracking, "org-netbeans-core-startup.xml"); try (FileWriter w = new FileWriter(trackingFile)) { w.write( @@ -594,17 +617,17 @@ public void testGenerateJNLPForMissingCoreIssue103301() throws Exception { "\n" ); } - - + + File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -613,16 +636,17 @@ public void testGenerateJNLPForMissingCoreIssue103301() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertFilenames(output, "org-netbeans-core-startup.jnlp", "org-netbeans-core-startup/core.jar", "org-netbeans-core-startup/locale-core_cs.jar"); } - + public void testGenerateJNLPAndUnSignedJarForSimpleLocalizedModule() throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.my.module/3"); File simpleJar = generateJar ("modules/", new String[0], m, null); @@ -631,11 +655,11 @@ public void testGenerateJNLPAndUnSignedJarForSimpleLocalizedModule() throws Exce File localizedJarCZ = generateJar("modules/locale/", new String[0], createManifest(), null); assertEquals("There need to have the same name", simpleJar.getName(), localizedJarCZ.getName()); assertTrue("Successful rename", localizedJarCZ.renameTo(new File(localizedJarCZ.getParent(), "0_cs.jar"))); - + File localizedJarZH = generateJar("modules/locale/", new String[0], createManifest(), null); assertEquals("There need to have the same name", simpleJar.getName(), localizedJarZH.getName()); assertTrue("Successful rename", localizedJarZH.renameTo(new File(localizedJarCZ.getParent(), "0_zh_CN.jar"))); - + File localizedJarJA = generateJar("modules/locale/", new String[0], createManifest(), null); assertEquals("There need to have the same name", simpleJar.getName(), localizedJarJA.getName()); assertTrue("Successful rename", localizedJarJA.renameTo(new File(localizedJarCZ.getParent(), "0_ja.jar"))); @@ -643,7 +667,7 @@ public void testGenerateJNLPAndUnSignedJarForSimpleLocalizedModule() throws Exce File updateTracking = new File(getWorkDir(), "update_tracking"); updateTracking.mkdirs(); assertTrue("Created", updateTracking.isDirectory()); - + File trackingFile = new File(updateTracking, "org-my-module.xml"); try (FileWriter w = new FileWriter(trackingFile)) { w.write( @@ -659,17 +683,17 @@ public void testGenerateJNLPAndUnSignedJarForSimpleLocalizedModule() throws Exce "\n" ); } - - + + File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -678,7 +702,8 @@ public void testGenerateJNLPAndUnSignedJarForSimpleLocalizedModule() throws Exce "" + "" ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertFilenames(output, "org-my-module.jnlp", "org-my-module/0.jar", @@ -688,17 +713,17 @@ public void testGenerateJNLPAndUnSignedJarForSimpleLocalizedModule() throws Exce File jnlp = new File(output, "org-my-module.jnlp"); String res = readFile (jnlp); - + assertTrue ("Component JNLP type: " + res, res.indexOf ("") >= 0); assertTrue ("We support all permissions by default: " + res, res.indexOf ("") >= 0); - + Matcher match = Pattern.compile(".*codebase=['\\\"]([^'\\\"]*)['\\\"]").matcher(res); assertTrue("codebase is there", match.find()); assertEquals("one group found", 1, match.groupCount()); String base = match.group(1); - + assertEquals("By default the dest directory is $$codebase: ", "$$codebase", base); - + assertResource(res, "cs", "org-my-module/locale-0_cs.jar"); assertResource(res, "ja", "org-my-module/locale-0_ja.jar"); assertResource(res, "zh_CN", "org-my-module/locale-0_zh_CN.jar"); @@ -707,7 +732,7 @@ public void testGenerateJNLPAndUnSignedJarForSimpleLocalizedModule() throws Exce if (!jar.getName().endsWith(".jar")) { continue; } - + JarFile signed = new JarFile(jar); Enumeration it = signed.entries(); while (it.hasMoreElements()) { @@ -718,16 +743,16 @@ public void testGenerateJNLPAndUnSignedJarForSimpleLocalizedModule() throws Exce } } } - + private static void assertResource(String where, String locale, String file) { where = where.replace('\n', ' '); Matcher match = Pattern.compile(".*.*").matcher(where); assertTrue("File really referenced " + file + " in locale " + locale + "\n" + where, match.find()); } - + public void testOneCanChangeTheCodeBase() throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.my.module/3"); File simpleJar = generateJar (new String[0], m); @@ -735,13 +760,13 @@ public void testOneCanChangeTheCodeBase() throws Exception { File parent = simpleJar.getParentFile (); File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -750,22 +775,23 @@ public void testOneCanChangeTheCodeBase() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertFilenames(output, "org-my-module.jnlp", "org-my-module/s0.jar"); - + File jnlp = new File(output, "org-my-module.jnlp"); String res = readFile (jnlp); - + assertTrue ("Component JNLP type: " + res, res.indexOf ("") >= 0); assertTrue ("We support all permissions by default: " + res, res.indexOf ("") >= 0); - + Matcher match = Pattern.compile(".*codebase=['\\\"]([^'\\\"]*)['\\\"]").matcher(res); assertTrue("codebase is there", match.find()); assertEquals("one group found", 1, match.groupCount()); String base = match.group(1); - + assertEquals("By default the codebases can be changed: ", "http://www.my.org/", base); } @@ -775,7 +801,7 @@ public void testGenerateJNLPAndSignedJarForModuleWithClassPath() throws Exceptio "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -784,13 +810,13 @@ public void testGenerateJNLPAndSignedJarForModuleWithClassPath() throws Exceptio "" + "" ); - + assertFilenames(output, "aaa-my-module.jnlp", "aaa-my-module/ext-t0.jar", "aaa-my-module/s0.jar"); - + File jnlp = new File(output, "aaa-my-module.jnlp"); String res = readFile (jnlp); - + Matcher m = Pattern.compile("").matcher(res); for (int x = 0; x < 2; x++) { assertTrue("Matches at least one" + "(" + x + ")", m.find()); @@ -798,18 +824,18 @@ public void testGenerateJNLPAndSignedJarForModuleWithClassPath() throws Exceptio File f = new File (jnlp.getParentFile(), m.group(1)); assertTrue("The file " + f + " exists" + "(" + x + ")", f.exists()); } - + } public void testGenerateJNLPAndSignedJarForModuleWithClassPathAndSignedJar() throws Exception { File ks = generateKeystore("external", "netbeans-test"); - + File output = doClassPathModuleCheck( "" + "" + " " + "" + - " " + + " " + " \n" + " " + " " + @@ -819,11 +845,11 @@ public void testGenerateJNLPAndSignedJarForModuleWithClassPathAndSignedJar() thr "" + "" ); - + assertFilenames(output, "aaa-my-module.jnlp", "aaa-my-module/s0.jar", "aaa-my-module/ext-t0.jar", "aaa-my-module-ext-t0.jnlp"); - + JarFile f = new JarFile(new File(output, "aaa-my-module/ext-t0.jar")); Enumeration en = f.entries(); StringBuffer sb = new StringBuffer(); @@ -843,45 +869,45 @@ public void testGenerateJNLPAndSignedJarForModuleWithClassPathAndSignedJar() thr if (cnt == 0) { fail("Signed with wrong file:\n" + sb); } - + File jnlp = new File(output, "aaa-my-module.jnlp"); - + String res = readFile (jnlp); int first = res.indexOf("jar href"); assertEquals("Just one jar href ", -1, res.indexOf("jar href", first + 1)); - + String extRes = readFile(new File(output, "aaa-my-module-ext-t0.jnlp")); - + Matcher m = Pattern.compile("(.*)").matcher(extRes); assertTrue("title is there: " + extRes, m.find()); assertEquals("Name of file is used for title", "t0", m.group(1)); } - + public void testInformationIsTakenFromLocalizedBundle() throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.my.module/3"); - + Properties props = new Properties(); props.put("OpenIDE-Module-Name", "Module Build Harness"); props.put("OpenIDE-Module-Display-Category", "Developing NetBeans"); props.put("OpenIDE-Module-Short-Description", "Lets you build external plug-in modules from sources."); props.put("OpenIDE-Module-Long-Description", "XXX"); - + File simpleJar = generateJar (null, new String[0], m, props); File parent = simpleJar.getParentFile (); File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -890,35 +916,36 @@ public void testInformationIsTakenFromLocalizedBundle() throws Exception { "" + "" ); - execute (f, new String[] { }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertFilenames(output, "org-my-module.jnlp", "org-my-module/s0.jar"); - + File jnlp = new File(output, "org-my-module.jnlp"); String res = readFile (jnlp); int infoBegin = res.indexOf(""); int infoEnd = res.indexOf(""); - + if (infoEnd == -1 || infoBegin == -1) { fail ("Both information tags must be present: " + res); } - + String info = res.substring(infoBegin, infoEnd); - + if (info.indexOf("Module Build Harness") == -1) { fail("Title should be there with Module Build Harness inside itself: " + info); } - + if (info.indexOf("Lets you build external plug-in modules from sources.") == -1) { fail("one-line should be there with 'lets you...' inside itself: " + info); } - + if (info.indexOf("XXX") == -1) { fail("short should be there with XXX inside itself: " + info); } } - + public void testGenerateJNLPFailsForModulesWithExtraFiles() throws Exception { doCompareJNLPFileWithUpdateTracking(true, null, ""); } @@ -931,14 +958,14 @@ public void testGenerateJNLPSucceedsWhenExtraFileIsExcluded() throws Exception { public void testGenerateJNLPSucceedsWhenModuleAutoDepsArePresent() throws Exception { doCompareJNLPFileWithUpdateTracking(false, "config/ModuleAutoDeps/aaa-my-module.xml", " verifyexcludes=' none ' "); } - + private void doCompareJNLPFileWithUpdateTracking(boolean useNonModule, String fakeEntry, String extraScript) throws Exception { File nonModule = generateJar (new String[0], createManifest()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "aaa.my.module/3"); File module = generateJar (new String[0], m); - + File updateTracking = new File(getWorkDir(), "update_tracking"); updateTracking.mkdirs(); assertTrue("Created", updateTracking.isDirectory()); @@ -946,7 +973,7 @@ private void doCompareJNLPFileWithUpdateTracking(boolean useNonModule, String fa File enableXML = new File(new File(getWorkDir(), "config"), "Modules"); enableXML.getParentFile().mkdirs(); enableXML.createNewFile(); - + File trackingFile = new File(updateTracking, "aaa-my-module.xml"); try (FileWriter w = new FileWriter(trackingFile)) { w.write( @@ -961,15 +988,15 @@ private void doCompareJNLPFileWithUpdateTracking(boolean useNonModule, String fa "\n" ); } - - - + + + String script = "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -979,22 +1006,29 @@ private void doCompareJNLPFileWithUpdateTracking(boolean useNonModule, String fa ""; assertEquals("Both modules in the same dir", module.getParentFile(), nonModule.getParentFile()); - + File output = new File(getWorkDir(), "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString (script); try { - execute (f, new String[] { - "-Dtest.output=" + output, - "-Dtest.parent=" + module.getParent(), + System.setProperty("test.output", output.getAbsolutePath()); + System.setProperty("test.parent", module.getParentFile().getAbsolutePath()); + System.setProperty("test.name", module.getName()); + System.setProperty("test.ks", ks.getAbsolutePath()); + + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + /*execute (f, new String[] { + "-Dtest.output=" + output, + "-Dtest.parent=" + module.getParent(), "-Dtest.name=" + module.getName(), "-Dtest.ks=" + ks, - }); + });*/ if (useNonModule) { - fail("The task has to fail"); + fail("The task has to fail"); } - + assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); @@ -1003,7 +1037,7 @@ private void doCompareJNLPFileWithUpdateTracking(boolean useNonModule, String fa String[] files = ext.getParentFile().list(); assertEquals("Two files are there", 2, files.length); - } catch (ExecutionError ex) { + } catch (BuildException ex) { if (!useNonModule) { throw ex; } else { @@ -1018,46 +1052,53 @@ private void doCompareJNLPFileWithUpdateTracking(boolean useNonModule, String fa assertEquals("Output dir is empty as nothing has been generated", 0, files.length); } } - + } private File doClassPathModuleCheck(String script) throws Exception { Manifest m; File extJar = generateJar ("modules/ext", new String[0], createManifest(), null); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "aaa.my.module/3"); m.getMainAttributes ().putValue ("Class-Path", "ext/" + extJar.getName()); File simpleJar = generateJar ("modules", new String[0], m, null); File parent = simpleJar.getParentFile (); - + File output = new File(parent, "output"); File ks = generateKeystore("jnlp", "netbeans-test"); - + java.io.File f = extractString (script); - execute (f, new String[] { - "-Dtest.output=" + output, - "-Dtest.parent=" + parent, +/* execute (f, new String[] { + "-Dtest.output=" + output, + "-Dtest.parent=" + parent, "-Dtest.name=" + simpleJar.getName(), "-Dtest.ks=" + ks, "-Dtest.ext=" + extJar - }); - + });*/ + System.setProperty("test.output", output.getAbsolutePath()); + System.setProperty("test.parent", parent.getAbsolutePath()); + System.setProperty("test.name", simpleJar.getName()); + System.setProperty("test.ks", ks.getAbsolutePath()); + System.setProperty("test.ext", extJar.getAbsolutePath()); + + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); return output; } - - + + private File createNewJarFile(String prefix) throws IOException { if (prefix == null) { prefix = "modules"; } String ss = prefix.substring(prefix.length()-1); - + File dir = new File(this.getWorkDir(), prefix); dir.mkdirs(); - + int i = 0; for (;;) { File f = new File (dir, ss + i++ + ".jar"); @@ -1066,43 +1107,43 @@ private File createNewJarFile(String prefix) throws IOException { } } } - + protected final File generateJar (String[] content, Manifest manifest) throws IOException { return generateJar(null, content, manifest, null); } - + protected final File generateJar (String prefix, String[] content, Manifest manifest, Properties props) throws IOException { File f = createNewJarFile (prefix); - + if (props != null) { manifest.getMainAttributes().putValue("OpenIDE-Module-Localizing-Bundle", "some/fake/prop/name/Bundle.properties"); } - + try (JarOutputStream os = new JarOutputStream (new FileOutputStream (f), manifest)) { if (props != null) { os.putNextEntry(new JarEntry("some/fake/prop/name/Bundle.properties")); props.store(os, "# properties for the module"); os.closeEntry(); } - - + + for (int i = 0; i < content.length; i++) { os.putNextEntry(new JarEntry (content[i])); os.closeEntry(); } os.closeEntry (); } - + return f; } - + @SuppressWarnings("SleepWhileInLoop") private File generateKeystore(String alias, String password) throws Exception { - Error lastEx = null; + BuildException lastEx = null; for (int i = 0; i < 10; i++) { File where = new File(getWorkDir(), "key" + i + ".ks"); - String script = + String script = "" + "" + "" + @@ -1111,13 +1152,15 @@ private File generateKeystore(String alias, String password) throws Exception { "keystore='" + where + "' \n" + "storepass='" + password + "' \n" + "dname='CN=A NetBeans Friend, OU=NetBeans, O=netbeans.org, C=US' \n" + + "keyalg='DSA' \n" + "/>\n" + "\n"; java.io.File f = extractString (script); try { - execute (f, new String[] { }); - } catch (ExecutionError ex) { + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + } catch (BuildException ex) { Logger.getAnonymousLogger().log(Level.WARNING, "Failed for " + i, ex); lastEx = ex; if (ex.getMessage().indexOf("CKR_KEY_SIZE_RANGE") >= 0) { @@ -1156,7 +1199,8 @@ public void testIndirectJars() throws Exception { "" + "" ); - execute(f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertFilenames(output, "me.jnlp", "me/s0.jar", "me/lib-b0.jar"); File jnlp = new File(output, "me.jnlp"); String res = readFile(jnlp); diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/MakeMasterJNLPTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/MakeMasterJNLPTest.java index 5477b47859ff..8acd5deaf4f4 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/MakeMasterJNLPTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/MakeMasterJNLPTest.java @@ -25,16 +25,22 @@ import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import java.util.jar.Manifest; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** Is generation of Jnlp files correct? * * @author Jaroslav Tulach */ public class MakeMasterJNLPTest extends TestBase { + + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public MakeMasterJNLPTest (String name) { super (name); } - + public void testOSGiModule() throws Exception { int cnt = 3; Manifest m; @@ -68,7 +74,8 @@ public void testOSGiModule() throws Exception { "" ); while (cnt-- > 0) { - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); } assertTrue ("Output exists", output.exists ()); @@ -91,17 +98,17 @@ public void testOSGiModule() throws Exception { assertExt(res1, "org.my.module"); assertExt(res2, "org.second.module"); } - + public void testGenerateReferenceFilesOnce() throws Exception { doGenerateReferenceFiles(1); } public void testGenerateReferenceFilesThrice() throws Exception { doGenerateReferenceFiles(3); } - + private void doGenerateReferenceFiles(int cnt) throws Exception { Manifest m; - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.my.module/3"); File simpleJar = generateJar (new String[0], m); @@ -109,18 +116,18 @@ private void doGenerateReferenceFiles(int cnt) throws Exception { m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.second.module/3"); File secondJar = generateJar (new String[0], m); - + File parent = simpleJar.getParentFile (); assertEquals("They are in the same folder", parent, secondJar.getParentFile()); - + File output = new File(parent, "output"); - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + " " + " " + @@ -131,36 +138,37 @@ private void doGenerateReferenceFiles(int cnt) throws Exception { "" ); while (cnt-- > 0) { - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); } - + assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); - + String[] files = output.list(); assertEquals("It has two files", 2, files.length); java.util.Arrays.sort(files); - + assertEquals("The res1 file: " + files[0], "org-my-module.ref", files[0]); assertEquals("The res2 file: "+ files[1], "org-second-module.ref", files[1]); - + File r1 = new File(output, "org-my-module.ref"); String res1 = readFile (r1); File r2 = new File(output, "org-second-module.ref"); String res2 = readFile (r2); - + assertExt(res1, "org.my.module"); assertExt(res2, "org.second.module"); } - + private static void assertExt(String res, String module) { int ext = res.indexOf(""; w.write(UTfile); } - + java.io.File f = extractString ( "" + "" + " " + "" + - " " + + " " + " " + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Output exists", output.exists ()); assertTrue ("Output directory created", output.isDirectory()); - + String[] files = output.list(); assertEquals("It has the nbm file", 1, files.length); - + if (!files[0].endsWith("x.nbm")) { fail("Not the right one: " + files[0]); } long time = output.listFiles()[0].lastModified(); - + // wait a while so the NBM file has different timestamp // if recreated Thread.sleep(1300); // execute once again - execute (f, new String[] { "-debug", "-Ddo.fail=true"}); - + System.setProperty("do.fail","true"); + buildRule.configureProject(f.getAbsolutePath(),Project.MSG_DEBUG); + buildRule.executeTarget("all"); + long newTime = output.listFiles()[0].lastModified(); - - assertEquals("The file has not been modified:\n" + getStdOut(), time, newTime); - - + + assertEquals("The file has not been modified:\n" + buildRule.getFullLog(), time, newTime); + + CHECK_SIGNED: { File jar = output.listFiles()[0]; JarFile signed = new JarFile(jar); @@ -129,18 +145,18 @@ public void testGenerateNBMForSimpleModule() throws Exception { } fail ("File does not seem to be signed: " + jar); } - + } - + private File createNewJarFile(String prefix) throws IOException { if (prefix == null) { prefix = "modules"; } String ss = prefix.substring(prefix.length()-1); - + File dir = new File(this.getWorkDir(), prefix); dir.mkdirs(); - + int i = 0; for (;;) { File f = new File (dir, ss + i++ + ".jar"); @@ -149,40 +165,40 @@ private File createNewJarFile(String prefix) throws IOException { } } } - + protected final File generateJar (String[] content, Manifest manifest) throws IOException { return generateJar(null, content, manifest, null); } - + protected final File generateJar (String prefix, String[] content, Manifest manifest, Properties props) throws IOException { File f = createNewJarFile (prefix); - + if (props != null) { manifest.getMainAttributes().putValue("OpenIDE-Module-Localizing-Bundle", "some/fake/prop/name/Bundle.properties"); } - + try (JarOutputStream os = new JarOutputStream (new FileOutputStream (f), manifest)) { if (props != null) { os.putNextEntry(new JarEntry("some/fake/prop/name/Bundle.properties")); props.store(os, "# properties for the module"); os.closeEntry(); } - - + + for (int i = 0; i < content.length; i++) { os.putNextEntry(new JarEntry (content[i])); os.closeEntry(); } os.closeEntry (); } - + return f; } - + private File generateKeystore(String alias, String password) throws Exception { File where = new File(getWorkDir(), "key.ks"); - - String script = + + String script = "" + "" + "" + @@ -191,13 +207,15 @@ private File generateKeystore(String alias, String password) throws Exception { "keystore='" + where + "' \n" + "storepass='" + password + "' \n" + "dname='CN=A NetBeans Friend, OU=NetBeans, O=netbeans.org, C=US' \n" + + "keyalg='DSA' \n" + "/>\n" + "\n"; - + java.io.File f = extractString (script); try { - execute (f, new String[] { }); - } catch (ExecutionError err) { + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + } catch (BuildException err) { if (err.getMessage().indexOf("java.security.ProviderException") != -1) { // common error on Sun OS: // org.netbeans.nbbuild.PublicPackagesInProjectizedXMLTest$ExecutionError: Execution has to finish without problems was: 1 @@ -209,7 +227,7 @@ private File generateKeystore(String alias, String password) throws Exception { return null; } } - + return where; } diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/ModuleDependenciesTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/ModuleDependenciesTest.java index 0d29aa765485..5e00945e56ca 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/ModuleDependenciesTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/ModuleDependenciesTest.java @@ -28,6 +28,8 @@ import java.util.jar.Manifest; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** Check the behaviour ModuleDependencies task that prints out info about * module dependencies, etc. @@ -35,6 +37,17 @@ * @author Jaroslav Tulach */ public class ModuleDependenciesTest extends TestBase { + + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + + @Override + protected void setUp() throws Exception { + super.setUp(); + System.clearProperty("limit"); + } + + public ModuleDependenciesTest (String name) { super (name); } @@ -60,14 +73,14 @@ public void testJustMakeSureWeAreAbleToParseTheStructure () throws Exception { ); execute (f, new String[] { }); }*/ - + public void testPublicPackagesOfAModuleThatDoesNotDefineThem () throws Exception { File notAModule = generateJar (new String[] { "not/X.class", "not/resource/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); File withoutPkgs = generateJar (new String[] { "DefaultPkg.class", "is/X.class", "is/too/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "is.there.*, is.recursive.**"); @@ -77,13 +90,13 @@ public void testPublicPackagesOfAModuleThatDoesNotDefineThem () throws Exception m.getMainAttributes ().putValue ("OpenIDE-Module", "my.very.public.module/10"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "-"); File allPkgs = generateJar (new String[] { "not/very/A.class", "not/very/B.class", "not/very/sub/Root.class", "not/res/X.jpg"}, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); assertEquals ("All parents are the same 3", parent, allPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -106,12 +119,13 @@ public void testPublicPackagesOfAModuleThatDoesNotDefineThem () throws Exception "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); - + assertEquals ("No not package", -1, res.indexOf ("not")); assertTrue ("Some of is pkgs: " + res, res.indexOf ("is\n") >= 0); assertEquals ("No default pkg", -1, res.indexOf ("\n\n")); @@ -121,12 +135,12 @@ public void testPublicPackagesOfAModuleThatDoesNotDefineThem () throws Exception public void testPublicPackagesInAModuleThatDeclaresFriendsAreNotCounted() throws Exception { File notAModule = generateJar (new String[] { "not/X.class", "not/resource/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Friends", "my.very.public.module"); File withoutPkgs = generateJar (new String[] { "DefaultPkg.class", "just/friend/X.class", "just/friend/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "friend.there.*, friend.recursive.**"); @@ -137,13 +151,13 @@ public void testPublicPackagesInAModuleThatDeclaresFriendsAreNotCounted() throws m.getMainAttributes ().putValue ("OpenIDE-Module", "my.very.public.module/10"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "-"); File allPkgs = generateJar (new String[] { "not/very/A.class", "not/very/B.class", "not/very/sub/Root.class", "not/res/X.jpg"}, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); assertEquals ("All parents are the same 3", parent, allPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); File friendPkg = extractString (""); @@ -169,24 +183,25 @@ public void testPublicPackagesInAModuleThatDeclaresFriendsAreNotCounted() throws "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); - + if (!res.isEmpty()) { fail("No public packages:\n'" + res + "'"); } - + // now friend packages res = readFile(friendPkg); - + Matcher match = Pattern.compile("MODULE ([^ ]*)").matcher(res); assertTrue("One MODULE is there: " + res, match.find()); int fst = match.start(); assertEquals("my.another.module", match.group(1)); - + assertTrue("Second MODULE is there: " + res, match.find()); int snd = match.start(); assertEquals("my.module", match.group(1)); @@ -194,19 +209,19 @@ public void testPublicPackagesInAModuleThatDeclaresFriendsAreNotCounted() throws match = Pattern.compile(" FRIEND my.very.public.module \\(ahoj\\)").matcher(res); assertTrue("One FRIEND is there: " + res, match.find()); assertTrue("Second FRIEND is there: " + res, match.find()); - + assertTrue("FriendPkg1\n" + res, res.indexOf("just.friend") >= snd); assertTrue("FriendPkg2\n" + res, res.indexOf("friend.there") >= fst); - + } public void testThereCanBeLimitOnNumberOfFriends() throws Exception { File notAModule = generateJar (new String[] { "not/X.class", "not/resource/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Friends", "my.very.public.module"); File withoutPkgs = generateJar (new String[] { "DefaultPkg.class", "just/friend/X.class", "just/friend/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "friend.there.*, friend.recursive.**"); @@ -217,13 +232,13 @@ public void testThereCanBeLimitOnNumberOfFriends() throws Exception { m.getMainAttributes ().putValue ("OpenIDE-Module", "my.very.public.module/10"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "-"); File allPkgs = generateJar (new String[] { "not/very/A.class", "not/very/B.class", "not/very/sub/Root.class", "not/res/X.jpg"}, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); assertEquals ("All parents are the same 3", parent, allPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); File friendPkg = extractString (""); @@ -251,17 +266,18 @@ public void testThereCanBeLimitOnNumberOfFriends() throws Exception { "" ); // this should succeed now, as the limit applies only to intercluster relations - #87076 - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); } public void testThereCanBeLimitOnNumberOfFriendsAmongGroups() throws Exception { File notAModule = generateJar (new String[] { "not/X.class", "not/resource/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Friends", "my.very.public.module"); File myModule = generateJar (new String[] { "DefaultPkg.class", "just/friend/X.class", "just/friend/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "friend.there.*, friend.recursive.**"); @@ -272,13 +288,13 @@ public void testThereCanBeLimitOnNumberOfFriendsAmongGroups() throws Exception { m.getMainAttributes ().putValue ("OpenIDE-Module", "my.very.public.module/10"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "-"); File myVeryPublicModule = generateJar (new String[] { "not/very/A.class", "not/very/B.class", "not/very/sub/Root.class", "not/res/X.jpg"}, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, myModule.getParentFile ()); assertEquals ("All parents are the same 2", parent, myAnotherModule.getParentFile ()); assertEquals ("All parents are the same 3", parent, myVeryPublicModule.getParentFile ()); - - + + File friendPkg = extractString (""); friendPkg.delete (); assertFalse ("Is gone", friendPkg.exists ()); @@ -307,8 +323,9 @@ public void testThereCanBeLimitOnNumberOfFriendsAmongGroups() throws Exception { "" ); - execute (f, new String[] { "-verbose", "-Dlimit=1" }); - + System.setProperty("limit", "1"); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); String res = readFile (friendPkg); assertEquals( @@ -321,15 +338,15 @@ public void testThereCanBeLimitOnNumberOfFriendsAmongGroups() throws Exception { " PACKAGE friend.there\n" + "", res); } - + public void testThereExternalsAreCountedAsWell() throws Exception { File notAModule = generateJar (new String[] { "not/X.class", "not/resource/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Friends", "my.very.public.module"); File myModule = generateJar (new String[] { "DefaultPkg.class", "just/friend/X.class", "just/friend/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "friend.there.*, friend.recursive.**"); @@ -340,13 +357,13 @@ public void testThereExternalsAreCountedAsWell() throws Exception { m.getMainAttributes ().putValue ("OpenIDE-Module", "my.very.public.module/10"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "-"); File myVeryPublicModule = generateJar (new String[] { "not/very/A.class", "not/very/B.class", "not/very/sub/Root.class", "not/res/X.jpg"}, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, myModule.getParentFile ()); assertEquals ("All parents are the same 2", parent, myAnotherModule.getParentFile ()); assertEquals ("All parents are the same 3", parent, myVeryPublicModule.getParentFile ()); - - + + File friendPkg = extractString (""); friendPkg.delete (); assertFalse ("Is gone", friendPkg.exists ()); @@ -369,8 +386,10 @@ public void testThereExternalsAreCountedAsWell() throws Exception { "" ); - execute (f, new String[] { "-verbose", "-Dlimit=1" }); - + System.setProperty("limit", "1"); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + String res = readFile (friendPkg); assertEquals( @@ -383,19 +402,19 @@ public void testThereExternalsAreCountedAsWell() throws Exception { " PACKAGE friend.there\n" + "", res); } - + public void testPublicPackagesOfAModuleThatDoesNotDefineThemButTheyAreProvidedByModuleTheModuleDependsOn () throws Exception { File notAModule = generateJar (new String[] { "is/cp/X.class", "not/cp/resource/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("Class-Path", notAModule.getName ()); File withoutPkgs = generateJar (new String[] { "DefaultPkg.class", "is/X.class", "is/too/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -416,32 +435,33 @@ public void testPublicPackagesOfAModuleThatDoesNotDefineThemButTheyAreProvidedBy "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); - + assertEquals ("No not package", -1, res.indexOf ("not")); assertTrue ("Some of is pkgs: " + res, res.indexOf ("is\n") >= 0); assertTrue ("is/too pkgs: " + res, res.indexOf ("is.too\n") >= 0); assertEquals ("No default pkg", -1, res.indexOf ("\n\n")); assertTrue ("is/cp is there as well as the withoutPkgs module depends on notAModule: " + res, res.indexOf ("is.cp\n") >= 0); } - + public void testPublicPackagesForOneCluster() throws Exception { Manifest m1 = createManifest (); m1.getMainAttributes ().putValue ("OpenIDE-Module", "my.ignored.module/3"); File ignoreModule = generateJar (new String[] { "DefaultPkg.class", "is2/X.class", "is2/too/MyClass.class", "not/as/it/is/resource/X.xml" }, m1); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); File withoutPkgs = generateJar (new String[] { "DefaultPkg.class", "is/X.class", "is/too/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + File parent = ignoreModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -466,12 +486,13 @@ public void testPublicPackagesForOneCluster() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); - + assertEquals ("No not package", -1, res.indexOf ("not")); assertEquals ("No is2 package", -1, res.indexOf ("is2")); assertTrue ("Some of is pkgs: " + res, res.indexOf ("is\n") >= 0); @@ -483,20 +504,20 @@ public void testSharedPackagesForOneCluster() throws Exception { Manifest m0 = createManifest (); m0.getMainAttributes ().putValue ("OpenIDE-Module", "my.huge.module/3"); File hugeModule = generateJar (new String[] { "not/X.class", "is/too/MyClass.class", }, m0); - - + + Manifest m1 = createManifest (); m1.getMainAttributes ().putValue ("OpenIDE-Module", "my.ignored.module/3"); File ignoreModule = generateJar (new String[] { "not/X.class" }, m1); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); File withoutPkgs = generateJar (new String[] { "is/too/MyClass.class" }, m); - + File parent = ignoreModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -522,25 +543,26 @@ public void testSharedPackagesForOneCluster() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); - + assertEquals ("No not package:\n" + res, -1, res.indexOf ("not")); assertTrue ("is/too pkgs: " + res, res.indexOf ("is.too\n") >= 0); assertEquals ("No default pkg:\n" + res, -1, res.indexOf ("\n\n")); } - + public void testNameOfModuleWithoutMajorVersionDoesNotContainSlash () throws Exception { Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module"); File module = generateJar (new String[] { "something" }, m); - + File parent = module.getParentFile (); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -560,35 +582,36 @@ public void testNameOfModuleWithoutMajorVersionDoesNotContainSlash () throws Exc "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); assertEquals ("Starts with MODULE", 0, res.indexOf ("MODULE")); assertTrue ("module name is there" + res, res.indexOf ("my.module") > 0); assertEquals ("no slash is there", -1, res.indexOf ('/')); } - - + + public void testGenerateListOfModules () throws Exception { File notAModule = generateJar (new String[] { "not/X.class", "not/resource/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); File withoutPkgs = generateJar (new String[] { "DefaultPkg.class", "is/X.class", "is/too/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "is.there.*, is.recursive.**"); File withPkgs = generateJar (new String[] { "is/there/A.class", "not/there/B.class", "is/recursive/Root.class", "is/recursive/sub/Under.class", "not/res/X.jpg"}, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -610,36 +633,37 @@ public void testGenerateListOfModules () throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); StringTokenizer tok = new StringTokenizer (res, "\n\r"); - + assertEquals ("We have two modules: " + res, 2, tok.countTokens ()); assertEquals ("First contains another module, as it is sooner in alphabet\n" + res, "MODULE my.another.module/3 (ahoj)", tok.nextToken ()); assertEquals ("Second the next one" + res, "MODULE my.module/3 (ahoj)", tok.nextToken ()); assertFalse ("No next tokens", tok.hasMoreElements ()); } - + public void testGenerateListOfForOneCluster () throws Exception { File notAModule = generateJar (new String[] { "not/X.class", "not/resource/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); File withoutPkgs = generateJar (new String[] { "DefaultPkg.class", "is/X.class", "is/too/MyClass.class", "not/as/it/is/resource/X.xml" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Public-Packages", "is.there.*, is.recursive.**"); File withPkgs = generateJar (new String[] { "is/there/A.class", "not/there/B.class", "is/recursive/Root.class", "is/recursive/sub/Under.class", "not/res/X.jpg"}, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -665,35 +689,36 @@ public void testGenerateListOfForOneCluster () throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); StringTokenizer tok = new StringTokenizer(res, "\n\r"); assertEquals("Should be empty:\n" + res, 0, tok.countTokens()); } - + public void testGenerateModuleDependencies () throws Exception { Manifest openideManifest = createManifest (); openideManifest.getMainAttributes ().putValue ("OpenIDE-Module", "org.openide/1"); File openide = generateJar (new String[] { "notneeded" }, openideManifest); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "org.openide/1 > 4.17"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "my.module/3, org.openide/1 > 4.17"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = openide.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -719,10 +744,11 @@ public void testGenerateModuleDependencies () throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int y = res.indexOf ("MODULE", 1); if (y <= 0) { @@ -733,13 +759,13 @@ public void testGenerateModuleDependencies () throws Exception { // f1 is later due to algebraic sorting of modules!!!! StringTokenizer f2 = new StringTokenizer (res.substring (0, y), "\r\n"); StringTokenizer f1 = new StringTokenizer (res.substring (y), "\r\n"); - + assertEquals ("One line + one dep for f1\n" + res, 2, f1.countTokens ()); f1.nextToken (); String dep1 = f1.nextToken (); assertTrue (dep1, dep1.startsWith (" REQUIRES")); assertTrue ("on " + dep1, dep1.indexOf ("org.openide") >= 0); - + assertEquals ("One line + two dep for f2", 3, f2.countTokens ()); f2.nextToken (); String dep2 = f2.nextToken (); @@ -748,29 +774,29 @@ public void testGenerateModuleDependencies () throws Exception { dep2 = f2.nextToken (); assertTrue (dep2, dep2.startsWith (" REQUIRES")); assertTrue ("on " + dep2, dep2.indexOf ("org.openide") >= 0); - + } - + public void testGenerateModuleDependenciesInOneClusterOnly() throws Exception { Manifest openideManifest = createManifest (); openideManifest.getMainAttributes ().putValue ("OpenIDE-Module", "org.openide/1"); File openide = generateJar (new String[] { "notneeded" }, openideManifest); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "org.openide/1 > 4.17"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "my.module/3, org.openide/1 > 4.17"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = openide.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -796,10 +822,11 @@ public void testGenerateModuleDependenciesInOneClusterOnly() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int y = res.indexOf ("MODULE"); if (y < 0) { @@ -808,7 +835,7 @@ public void testGenerateModuleDependenciesInOneClusterOnly() throws Exception { assertEquals ("No other", -1, res.indexOf ("MODULE", y + 1)); StringTokenizer f2 = new StringTokenizer (res, "\r\n"); - + assertEquals ("One line + two dep for f2", 3, f2.countTokens ()); f2.nextToken (); String dep2 = f2.nextToken (); @@ -817,29 +844,29 @@ public void testGenerateModuleDependenciesInOneClusterOnly() throws Exception { dep2 = f2.nextToken (); assertTrue (dep2, dep2.startsWith (" REQUIRES")); assertTrue ("on " + dep2, dep2.indexOf ("org.openide") >= 0); - + } public void testImplementationModuleDependenciesAreRegularDepsAsWell () throws Exception { Manifest openideManifest = createManifest (); openideManifest.getMainAttributes ().putValue ("OpenIDE-Module", "org.openide/1"); File openide = generateJar (new String[] { "notneeded" }, openideManifest); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "org.openide/1 > 4.17"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "my.module/3 = Ahoj, org.openide/1 > 4.17"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = openide.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -865,10 +892,11 @@ public void testImplementationModuleDependenciesAreRegularDepsAsWell () throws E "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int x = res.indexOf ("MODULE"); assertEquals ("The file starts with MODULE", 0, x); @@ -881,13 +909,13 @@ public void testImplementationModuleDependenciesAreRegularDepsAsWell () throws E // f1 is later due to algebraic sorting of modules!!!! StringTokenizer f2 = new StringTokenizer (res.substring (0, y), "\r\n"); StringTokenizer f1 = new StringTokenizer (res.substring (y), "\r\n"); - + assertEquals ("One line + one dep for f1\n" + res, 2, f1.countTokens ()); f1.nextToken (); String dep1 = f1.nextToken (); assertTrue (dep1, dep1.startsWith (" REQUIRES")); assertTrue ("on " + dep1, dep1.indexOf ("org.openide") >= 0); - + assertEquals ("One line + two dep for f2", 3, f2.countTokens ()); f2.nextToken (); String dep2 = f2.nextToken (); @@ -896,24 +924,24 @@ public void testImplementationModuleDependenciesAreRegularDepsAsWell () throws E dep2 = f2.nextToken (); assertTrue (dep2, dep2.startsWith (" REQUIRES")); assertTrue ("on " + dep2, dep2.indexOf ("org.openide") >= 0); - + } public void testGenerateImplementationModuleDependencies () throws Exception { Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "my.module/3 = Ahoj"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = withoutPkgs.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -934,10 +962,11 @@ public void testGenerateImplementationModuleDependencies () throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int x = res.indexOf ("MODULE"); assertEquals ("The file starts with MODULE", 0, x); @@ -945,7 +974,7 @@ public void testGenerateImplementationModuleDependencies () throws Exception { assertEquals ("No other:\n" + res, -1, y); StringTokenizer f1 = new StringTokenizer (res, "\r\n"); - + assertEquals ("One line + one dep for f1\n" + res, 2, f1.countTokens ()); String modulename = f1.nextToken (); assertTrue ("module is ", modulename.indexOf ("my.another.module") >= 0); @@ -953,28 +982,28 @@ public void testGenerateImplementationModuleDependencies () throws Exception { assertTrue (dep1, dep1.startsWith (" REQUIRES")); assertTrue ("on " + dep1, dep1.indexOf ("my.module") >= 0); } - - + + public void testCanOutputJustDependenciesBetweenClusters () throws Exception { Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.openidex/1"); File openide = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "org.openidex/1"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "my.module/3 = Ahoj, org.openidex/1"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = withoutPkgs.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -1000,10 +1029,11 @@ public void testCanOutputJustDependenciesBetweenClusters () throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int x = res.indexOf ("GROUP"); assertEquals ("The file starts with GROUP", 0, x); @@ -1011,7 +1041,7 @@ public void testCanOutputJustDependenciesBetweenClusters () throws Exception { assertEquals ("No other:\n" + res, -1, y); StringTokenizer f1 = new StringTokenizer (res, "\r\n"); - + assertEquals ("One line + dep on openide\n" + res, 2, f1.countTokens ()); String groupname = f1.nextToken (); assertTrue ("group is " + res, groupname.indexOf ("others") >= 0); @@ -1019,27 +1049,27 @@ public void testCanOutputJustDependenciesBetweenClusters () throws Exception { assertTrue (dep1, dep1.startsWith (" REQUIRES")); assertTrue ("on openide module" + dep1, dep1.indexOf ("org.openide") >= 0); } - + public void testCanOutputJustDependenciesBetweenClustersForOneCluster() throws Exception { Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.openidex/1"); File openide = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "org.openidex/1"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "my.module/3 = Ahoj, org.openidex/1"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = withoutPkgs.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -1069,10 +1099,11 @@ public void testCanOutputJustDependenciesBetweenClustersForOneCluster() throws E "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int x = res.indexOf ("GROUP"); assertEquals ("The file starts with GROUP", 0, x); @@ -1080,7 +1111,7 @@ public void testCanOutputJustDependenciesBetweenClustersForOneCluster() throws E assertEquals ("No other:\n" + res, -1, y); StringTokenizer f1 = new StringTokenizer (res, "\r\n"); - + assertEquals ("One line + dep on openide and the other module\n" + res, 3, f1.countTokens ()); String groupname = f1.nextToken (); assertTrue ("group is " + res, groupname.indexOf ("others") >= 0); @@ -1091,22 +1122,22 @@ public void testCanOutputJustDependenciesBetweenClustersForOneCluster() throws E assertTrue (dep2, dep2.startsWith (" REQUIRES")); assertTrue ("on openide module" + dep2, dep2.indexOf ("org.openide") >= 0); } - + public void testCanOutputJustImplDependenciesBetweenClusters () throws Exception { Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.openidex/1"); File openide = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "org.netbeans.core/1"); File core = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "org.openidex/1"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "my.module/3 = Ahoj, org.openidex/1"); @@ -1116,13 +1147,13 @@ public void testCanOutputJustImplDependenciesBetweenClusters () throws Exception m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module.dependingoncore/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "org.netbeans.core/1 = Ahoj, my.module/3 > 4.17"); File coredepender = generateJar (new String[] { "notneeded" }, m); - - + + File parent = withoutPkgs.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -1154,10 +1185,11 @@ public void testCanOutputJustImplDependenciesBetweenClusters () throws Exception "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int x = res.indexOf ("GROUP"); assertEquals ("The file starts with GROUP", 0, x); @@ -1165,7 +1197,7 @@ public void testCanOutputJustImplDependenciesBetweenClusters () throws Exception assertEquals ("No other:\n" + res, -1, y); StringTokenizer f1 = new StringTokenizer (res, "\r\n"); - + assertEquals ("One line + dep on openide\n" + res, 2, f1.countTokens ()); String groupname = f1.nextToken (); assertTrue ("group is " + res, groupname.indexOf ("rest") >= 0); @@ -1173,23 +1205,23 @@ public void testCanOutputJustImplDependenciesBetweenClusters () throws Exception assertTrue (dep1, dep1.startsWith (" REQUIRES")); assertTrue ("on openide module" + dep1, dep1.indexOf ("org.netbeans.core") >= 0); } - + public void testRangeDependencyNeedsToBeParsed () throws Exception { Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "org.openidex/1"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Module-Dependencies", "my.module/2-3 = Ahoj, org.openidex/1-2 > 4.17"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = withoutPkgs.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -1210,10 +1242,11 @@ public void testRangeDependencyNeedsToBeParsed () throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int x = res.indexOf ("MODULE"); assertEquals ("The file starts with MODULE", 0, x); @@ -1221,7 +1254,7 @@ public void testRangeDependencyNeedsToBeParsed () throws Exception { assertEquals ("No other:\n" + res, -1, y); StringTokenizer f1 = new StringTokenizer (res, "\r\n"); - + assertEquals ("One line + one dep for f1\n" + res, 2, f1.countTokens ()); String modulename = f1.nextToken (); assertTrue ("module is ", modulename.indexOf ("my.another.module") >= 0); @@ -1235,17 +1268,17 @@ public void testGenerateProvidesRequiresDependencies () throws Exception { m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Provides", "my.token"); File withoutPkgs = generateJar (new String[] { "notneeded" }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/7"); m.getMainAttributes ().putValue ("OpenIDE-Module-Requires", "my.token"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = withoutPkgs.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -1266,10 +1299,11 @@ public void testGenerateProvidesRequiresDependencies () throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int x = res.indexOf ("MODULE"); assertEquals ("The file starts with MODULE", 0, x); @@ -1277,7 +1311,7 @@ public void testGenerateProvidesRequiresDependencies () throws Exception { assertEquals ("No other module: " + res, -1, y); StringTokenizer f1 = new StringTokenizer (res, "\r\n"); - + assertEquals ("One line + one dep for f1\n" + res, 2, f1.countTokens ()); String modulename = f1.nextToken (); assertTrue ("module name contains another " + modulename, modulename.indexOf ("my.another.module") > 0); @@ -1291,10 +1325,10 @@ public void testSpecialDependenciesArePrintedWithoutSearchingForAppropriateModul m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("OpenIDE-Module-Requires", "org.openide.modules.os.MacOSX"); File withPkgs = generateJar (new String[] { "some content"}, m); - + File parent = withPkgs.getParentFile (); - - + + File output = extractString (""); File output2 = extractString (""); output.delete (); @@ -1316,43 +1350,44 @@ public void testSpecialDependenciesArePrintedWithoutSearchingForAppropriateModul "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); int x = res.indexOf ("MODULE"); assertEquals ("The file starts with MODULE:" + res, 0, x); assertEquals ("No other", -1, res.indexOf ("MODULE", x + 1)); StringTokenizer f1 = new StringTokenizer (res, "\r\n"); - + assertEquals ("One line + one dep for f1\n" + res, 2, f1.countTokens ()); String modname = f1.nextToken (); assertTrue ("Name: " + modname, modname.indexOf ("my.another.module") > 0); String dep1 = f1.nextToken (); assertTrue (dep1, dep1.startsWith (" REQUIRES")); assertTrue ("on " + dep1, dep1.indexOf ("org.openide.modules.os.MacOSX") >= 0); - + } - + public void testPrintNamesOfPackagesSharedBetweenMoreModules() throws Exception { File notAModule = generateJar (new String[] { "org/shared/not/X.class", "org/shared/yes/X.html" }, createManifest ()); - + Manifest m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.module/3"); File withoutPkgs = generateJar (new String[] { "org/shared/yes/Bla.class", "org/shared/not/sub/MyClass.class", }, m); - + m = createManifest (); m.getMainAttributes ().putValue ("OpenIDE-Module", "my.another.module/3"); m.getMainAttributes ().putValue ("Class-Path", notAModule.getName ()); File withPkgs = generateJar (new String[] { "org/shared/not/res/X.jpg"}, m); - + File parent = notAModule.getParentFile (); assertEquals ("All parents are the same 1", parent, withoutPkgs.getParentFile ()); assertEquals ("All parents are the same 2", parent, withPkgs.getParentFile ()); - - + + File output = extractString (""); output.delete (); assertFalse ("Is gone", output.exists ()); @@ -1374,12 +1409,13 @@ public void testPrintNamesOfPackagesSharedBetweenMoreModules() throws Exception "" + "" ); - execute (f, new String[] { "-verbose" }); - + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); + assertTrue ("Result generated", output.exists ()); - + String res = readFile (output); - + assertEquals("No not package: '" + res + "'", -1, res.indexOf("org.shared.not")); assertEquals ("No default pkg", -1, res.indexOf ("\n\n")); assertEquals ("No ork pkg", -1, res.indexOf ("org\n")); @@ -1397,10 +1433,10 @@ private File createNewJarFile() throws IOException { } } } - + private File generateJar(String[] content, Manifest manifest) throws IOException { File f = createNewJarFile (); - + try (JarOutputStream os = new JarOutputStream (new FileOutputStream (f), manifest)) { for (int i = 0; i < content.length; i++) { os.putNextEntry(new JarEntry (content[i])); @@ -1408,8 +1444,8 @@ private File generateJar(String[] content, Manifest manifest) throws IOException } os.closeEntry (); } - + return f; } - + } diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/PathFileSetTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/PathFileSetTest.java index 310c706ec8f0..bfef7c2ece6d 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/PathFileSetTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/PathFileSetTest.java @@ -21,16 +21,14 @@ import java.io.File; import java.io.IOException; -import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; -import java.util.StringTokenizer; import org.apache.tools.ant.BuildEvent; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.BuildListener; -import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Project; import org.apache.tools.ant.types.Path; +import org.apache.tools.ant.types.Resource; import org.apache.tools.ant.types.resources.FileResource; import org.apache.tools.ant.types.selectors.FilenameSelector; import org.junit.AfterClass; @@ -109,7 +107,7 @@ protected void tearDown() { private void executeAndCheckResults(String[] expected) throws BuildException, IOException { String[] output = new String[pfs.size()]; int j = 0; - for (Iterator it = pfs.iterator(); it.hasNext(); j++) { + for (Iterator it = pfs.iterator(); it.hasNext(); j++) { FileResource fileResource = (FileResource) it.next(); String path = fileResource.getFile().getAbsolutePath().replace('\\', '/'); output[j] = path; diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/PrintIconTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/PrintIconTest.java index cdef3853e7a0..68b28451a127 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/PrintIconTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/PrintIconTest.java @@ -24,6 +24,8 @@ import java.io.InputStream; import java.io.OutputStream; import java.util.Arrays; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** * @author Jaroslav Tulach @@ -33,7 +35,9 @@ public class PrintIconTest extends TestBase { public PrintIconTest(String testName) { super(testName); } - + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + // For some reason, TestBase.extractResource does not work in this test: private File extractCountedResource(String resource) throws Exception { File f; @@ -77,7 +81,8 @@ public void testPrintOutSameIcons() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue("Exists: " + out, out.canRead()); @@ -125,7 +130,8 @@ public void testDuplicatesFromTheSameSet() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue("Exists: " + out, out.canRead()); @@ -179,7 +185,8 @@ private void doBrokenImageTest(String res) throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue("Exists: " + out, out.canRead()); @@ -228,7 +235,8 @@ public void testPrintExtra() throws Exception { "" + "" ); - execute (f, new String[] { "-verbose" }); + buildRule.configureProject(f.getAbsolutePath()); + buildRule.executeTarget("all"); assertTrue("Exists: " + out, out.canRead()); diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/PublicPackagesInProjectizedXMLTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/PublicPackagesInProjectizedXMLTest.java index 94e406863ddd..a36b929d28ed 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/PublicPackagesInProjectizedXMLTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/PublicPackagesInProjectizedXMLTest.java @@ -19,11 +19,19 @@ package org.netbeans.nbbuild; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; + /** Check the behaviour of in project.xml modules. * * @author Jaroslav Tulach */ public class PublicPackagesInProjectizedXMLTest extends TestBase { + + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public PublicPackagesInProjectizedXMLTest (String name) { super (name); } @@ -43,9 +51,12 @@ public void testPackageCannotContainComma () throws Exception { "" ); try { - execute ("GarbageUnderPackages.xml", new String[] { "-Dproject.file=" + f }); + System.setProperty("project.file", f.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("GarbageUnderPackages.xml")); + buildRule.executeTarget("all"); + fail ("This should fail as the public package definition contains comma"); - } catch (ExecutionError ex) { + } catch (BuildException ex) { // ok, this should fail on exit code } } @@ -65,9 +76,11 @@ public void testPackageCannotContainStar () throws Exception { "" ); try { - execute ("GarbageUnderPackages.xml", new String[] { "-Dproject.file=" + f }); + System.setProperty("project.file", f.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("GarbageUnderPackages.xml")); + buildRule.executeTarget("all"); fail ("This should fail as the public package definition contains *"); - } catch (ExecutionError ex) { + } catch (BuildException ex) { // ok, this should fail on exit code } } @@ -87,9 +100,11 @@ public void testPublicPackagesCannotContainGarbageSubelements () throws Exceptio "" ); try { - execute ("GarbageUnderPackages.xml", new String[] { "-Dproject.file=" + f }); + System.setProperty("project.file", f.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("GarbageUnderPackages.xml")); + buildRule.executeTarget("all"); fail ("This should fail as the public package definition contains *"); - } catch (ExecutionError ex) { + } catch (BuildException ex) { // ok, this should fail on exit code } } @@ -108,7 +123,10 @@ public void testItIsPossibleToDefineSubpackages () throws Exception { "
" + "" ); - execute ("GarbageUnderPackages.xml", new String[] { "-Dproject.file=" + f, "-Dexpected.public.packages=org.hello.**" }); + System.setProperty("project.file", f.getAbsolutePath()); + System.setProperty("expected.public.packages", "org.hello.**"); + buildRule.configureProject(getBuildFileInClassPath("GarbageUnderPackages.xml")); + buildRule.executeTarget("all"); } /* DISABLED because of fix for #52135: @@ -149,7 +167,11 @@ public void testSubpackagesDoNotWorkForJavadocNowButThisWorksWhenSpecifiedByHand " " + "" ); - execute ("GarbageUnderPackages.xml", new String[] { "-Djavadoc.pac=some", "-Dproject.file=" + f, "withjavadoc" }); + System.setProperty("project.file", f.getAbsolutePath()); + System.setProperty("javadoc.pac", "some"); + buildRule.configureProject(getBuildFileInClassPath("GarbageUnderPackages.xml")); + buildRule.executeTarget("withjavadoc"); + } } diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/RecursiveDeps.xml b/nbbuild/test/unit/src/org/netbeans/nbbuild/RecursiveDeps.xml index ac15fa3fb93b..21d0fd35adf4 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/RecursiveDeps.xml +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/RecursiveDeps.xml @@ -20,7 +20,7 @@ --> - + diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/RecursiveDepsTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/RecursiveDepsTest.java index 414c02ef8a66..1e52eb45a09e 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/RecursiveDepsTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/RecursiveDepsTest.java @@ -23,13 +23,18 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import org.apache.tools.ant.BuildFileRule; +import org.apache.tools.ant.Project; +import org.junit.Rule; /** * * @author pzajac */ public class RecursiveDepsTest extends TestBase { - + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public RecursiveDepsTest(java.lang.String testName) { super(testName); } @@ -43,7 +48,10 @@ protected void setUp() throws Exception { public void testDepsTest () throws Exception { // create test File projectxml = extractFile(RecursiveDepsTest.class.getResourceAsStream("RecursiveDepsProject.xml"),"project.xml"); - execute ("RecursiveDeps.xml", new String[] { "-verbose", "-Dproject.file=" + projectxml, "recursive-deps" }); + System.setProperty("project.file", projectxml.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("RecursiveDeps.xml")); + buildRule.executeTarget("recursive-deps"); + } private File extractFile(InputStream is, String fileName) throws IOException { diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/ShorterPathsTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/ShorterPathsTest.java index bd0670dbc346..c3ac0541cd05 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/ShorterPathsTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/ShorterPathsTest.java @@ -29,13 +29,17 @@ import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import java.util.jar.Manifest; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** * * @author pzajac */ public class ShorterPathsTest extends TestBase { - + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public ShorterPathsTest(java.lang.String testName) { super(testName); } @@ -57,14 +61,12 @@ public void testShorterPaths() throws Exception { } - execute("ShorterPathsTest.xml", new String[]{ - "-verbose", - "-Dtest.ext.lib=" + extlib.getPath(), - "-Dtest.modules.dir=" + modules.getPath(), - "-Dextra.test.libs.dir=" + extraLibsDir.getPath(), - "-Dtest.properties=" + testProperties.getPath(), - "all" - }); + System.setProperty("test.ext.lib", extlib.getAbsolutePath()); + System.setProperty("test.modules.dir", modules.getAbsolutePath()); + System.setProperty("extra.test.libs.dir", extraLibsDir.getAbsolutePath()); + System.setProperty("test.properties", testProperties.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("ShorterPathsTest.xml")); + buildRule.executeTarget("all"); File extralibCopy = new File(extraLibsDir, "extlib.jar"); assertTrue("No extra library has been copied", extralibCopy.exists()); @@ -112,14 +114,12 @@ public void testClassPathExtensions() throws Exception { File extlib = new File(getWorkDir(), "extlib.jar"); generateJar(extlib, new String[]{"a/b/c/Class1.class", "a/b/c/Class2.class"}, m); - execute("ShorterPathsTest.xml", new String[]{ - "-verbose", - "-Dtest.ext.lib=" + extlib.getPath(), - "-Dtest.modules.dir=" + modules.getPath(), - "-Dextra.test.libs.dir=" + extraLibsDir.getPath(), - "-Dtest.properties=" + testProperties.getPath(), - "all" - }); + System.setProperty("test.ext.lib", extlib.getAbsolutePath()); + System.setProperty("test.modules.dir", modules.getAbsolutePath()); + System.setProperty("extra.test.libs.dir", extraLibsDir.getAbsolutePath()); + System.setProperty("test.properties", testProperties.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("ShorterPathsTest.xml")); + buildRule.executeTarget("all"); File extralibCopy = new File(extraLibsDir, "extlib.jar"); assertTrue("Extra library not copied.", extralibCopy.exists()); File classPathExtensionCopy = new File(extraLibsDir, cpExtensionRelativePath); diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/TestBase.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/TestBase.java index 9fc0634100a9..18ccad4b9884 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/TestBase.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/TestBase.java @@ -58,7 +58,11 @@ protected final String readFile(java.io.File f) throws java.io.IOException { return new String(data); } - + protected final String getBuildFileInClassPath(String filename) { + // Hack to find where classes + return getDataDir().getAbsolutePath().replace("data", "classes") + + File.separator + "org" + File.separator + "netbeans" + File.separator + "nbbuild" + File.separator+ filename; + } protected final Manifest createManifest() { Manifest m = new Manifest(); m.getMainAttributes().putValue(java.util.jar.Attributes.Name.MANIFEST_VERSION.toString(), "1.0"); @@ -103,196 +107,5 @@ protected final void extractResource(File f, String res) throws Exception { os.write(ch); } } - } - - protected final void execute(String res, String... args) throws Exception { - execute(extractResource(res), args); - } - - private static ByteArrayOutputStream out, err; - - protected final String getStdOut() { - return out.toString(); - } - - protected final String getStdErr() { - return err.toString(); - } - - protected final void execute(File f, String[] args) throws Exception { - // we need security manager to prevent System.exit - if (!(System.getSecurityManager() instanceof MySecMan)) { - out = new java.io.ByteArrayOutputStream(); - err = new java.io.ByteArrayOutputStream(); - System.setOut(new java.io.PrintStream(out)); - System.setErr(new java.io.PrintStream(err)); - - System.setSecurityManager(new MySecMan()); - } - - MySecMan sec = (MySecMan) System.getSecurityManager(); - - // Jesse claims that this is not the right way how the execution - // of an ant script should be invoked: - // - // better IMHO to just run the task directly - // (setProject() and similar, configure its bean properties, and call - // execute()), or just make a new Project and initialize it. - // ant.Main.main is not intended for embedded use. Then you could get rid - // of the SecurityManager stuff, would be cleaner I think. - // - // If I had to write this once again, I would try to follow the - // "just make a new Project and initialize it", but as this works - // for me now, I leave it for the time when somebody really - // needs that... - - List arr = new ArrayList<>(); - arr.add("-f"); - arr.add(f.toString()); - arr.addAll(Arrays.asList(args)); - - - out.reset(); - err.reset(); - - try { - sec.setActive(true); - org.apache.tools.ant.Main.main(arr.toArray(new String[0])); - } catch (MySecExc ex) { - assertNotNull("The only one to throw security exception is MySecMan and should set exitCode", sec.exitCode); - ExecutionError.assertExitCode("Execution has to finish without problems", sec.exitCode); - } finally { - sec.setActive(false); - } - } - - protected static final class ExecutionError extends AssertionFailedError { - public final int exitCode; - public ExecutionError(String msg, int e) { - super(msg); - this.exitCode = e; - } - private static void assertExitCode(String msg, int e) { - if (e != 0) { - throw new ExecutionError( - msg + " was: " + e + "\nOutput: " + out.toString() - + "\nError: " + err.toString(), - e); - } - } - } - - private static class MySecExc extends SecurityException { - @Override - public void printStackTrace() { - } - @Override - public void printStackTrace(PrintStream ps) { - } - @Override - public void printStackTrace(PrintWriter ps) { - } - } - - private static class MySecMan extends SecurityManager { - public Integer exitCode; - private boolean active; - @Override - public void checkExit(int status) { - if (active) { - exitCode = status; - throw new MySecExc(); - } - } - @Override - public void checkPermission(Permission perm, Object context) { - } - @Override - public void checkPermission(Permission perm) { - /* - if (perm instanceof RuntimePermission) { - if (perm.getName ().equals ("setIO")) { - throw new MySecExc (); - } - } - */ - } - @Override - public void checkMulticast(InetAddress maddr) { - } - @Override - public void checkAccess(ThreadGroup g) { - } - @Override - public void checkWrite(String file) { - } - @Override - public void checkLink(String lib) { - } - @Override - public void checkExec(String cmd) { - } - @Override - public void checkDelete(String file) { - } - @Override - public void checkPackageAccess(String pkg) { - } - @Override - public void checkPackageDefinition(String pkg) { - } - @Override - public void checkPropertyAccess(String key) { - } - @Override - public void checkRead(String file) { - } - @Override - public void checkSecurityAccess(String target) { - } - @Override - public void checkWrite(FileDescriptor fd) { - } - @Override - public void checkListen(int port) { - } - @Override - public void checkRead(FileDescriptor fd) { - } - @SuppressWarnings("deprecation") - @Override - public void checkMulticast(InetAddress maddr, byte ttl) { - } - @Override - public void checkAccess(Thread t) { - } - @Override - public void checkConnect(String host, int port, Object context) { - } - @Override - public void checkRead(String file, Object context) { - } - @Override - public void checkConnect(String host, int port) { - } - @Override - public void checkAccept(String host, int port) { - } - @Override - public void checkSetFactory() { - } - @Override - public void checkCreateClassLoader() { - } - @Override - public void checkPrintJobAccess() { - } - @Override - public void checkPropertiesAccess() { - } - void setActive(boolean b) { - active = b; - } - } // end of MySecMan - + } } diff --git a/nbbuild/test/unit/src/org/netbeans/nbbuild/TestDepsTest.java b/nbbuild/test/unit/src/org/netbeans/nbbuild/TestDepsTest.java index 661124fdc7dc..89409a68df50 100644 --- a/nbbuild/test/unit/src/org/netbeans/nbbuild/TestDepsTest.java +++ b/nbbuild/test/unit/src/org/netbeans/nbbuild/TestDepsTest.java @@ -23,6 +23,8 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import org.apache.tools.ant.BuildFileRule; +import org.junit.Rule; /** * @@ -30,6 +32,9 @@ */ public class TestDepsTest extends TestBase { + @Rule + public final BuildFileRule buildRule = new BuildFileRule(); + public TestDepsTest(java.lang.String testName) { super(testName); } @@ -37,23 +42,30 @@ public TestDepsTest(java.lang.String testName) { @Override protected void setUp() throws Exception { super.setUp(); + System.clearProperty("project.file"); ModuleListParserTest.deleteCaches(); } public void testDepsTest () throws Exception { // create test File projectxml = extractFile(TestDepsTest.class.getResourceAsStream("TestDepsProject.xml"),"project.xml"); - execute ("TestDeps.xml", new String[] { "-verbose", "-Dproject.file=" + projectxml, "test-deps" }); + System.setProperty("project.file", projectxml.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("TestDeps.xml")); + buildRule.executeTarget("test-deps"); } + public void testDepsNoTestDeps() throws Exception { File projectxml = extractFile(TestDepsTest.class.getResourceAsStream("TestDepsProjectNoTestDeps.xml"),"project.xml"); - execute ("TestDeps.xml", new String[] { "-verbose", "-Dproject.file=" + projectxml, "test-deps-no-test-deps" }); - + System.setProperty("project.file", projectxml.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("TestDeps.xml")); + buildRule.executeTarget("test-deps-no-test-deps"); } + public void testMisingModuleEntryTestDeps() throws Exception { File projectxml = extractFile(TestDepsTest.class.getResourceAsStream("TestDepsMissingModuleEntry.xml"),"project.xml"); - execute ("TestDeps.xml", new String[] { "-verbose", "-Dproject.file=" + projectxml, "test-deps-missing-module-entry-test-deps" }); - + System.setProperty("project.file", projectxml.getAbsolutePath()); + buildRule.configureProject(getBuildFileInClassPath("TestDeps.xml")); + buildRule.executeTarget("test-deps-missing-module-entry-test-deps"); } private File extractFile(InputStream is, String fileName) throws IOException { From aff751a55f6aa5e38ecd44af07c8641691d0cf12 Mon Sep 17 00:00:00 2001 From: Laszlo Kishalmi Date: Fri, 13 Mar 2026 13:37:22 -0700 Subject: [PATCH 42/74] Enable Plain Text Spellchecker for Markdown --- .../netbeans/modules/markdown/MarkdownDataObject.java | 2 +- .../org/netbeans/modules/markdown/resources/layer.xml | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java b/ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java index a536cf30696a..c828c9fc27cf 100644 --- a/ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java +++ b/ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java @@ -120,7 +120,7 @@ protected int associateLookup() { @MultiViewElement.Registration( displayName = "#LBL_Markdown_EDITOR", iconBase = "org/netbeans/modules/markdown/markdown.png", - mimeType = "text/markdown", + mimeType = MarkdownDataObject.MIME_TYPE, persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED, preferredID = "Markdown", position = 1000 diff --git a/ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml b/ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml index ce8cd46c12c5..80c0ed6087d4 100644 --- a/ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml +++ b/ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml @@ -23,6 +23,16 @@ + + + + + + + + + + From 1b847e9d3aaa880e04afecad09f068e3b3746d47 Mon Sep 17 00:00:00 2001 From: Ondro Mihalyi Date: Thu, 26 Mar 2026 02:48:09 +0100 Subject: [PATCH 43/74] Adjust GlassFish plugin for changes in GlassFish 7.1 --- .../glassfish/common/GlassfishInstance.java | 10 ++++ .../modules/glassfish/common/StartTask.java | 40 +++++++++++++- .../glassfish/common/ui/Bundle.properties | 3 ++ .../common/ui/InstanceLocalPanel.java | 1 + .../glassfish/common/ui/InstancePanel.form | 36 +++++++++++-- .../glassfish/common/ui/InstancePanel.java | 53 +++++++++++++++++-- .../common/ui/InstanceRemotePanel.java | 2 + .../glassfish/spi/GlassfishModule.java | 3 ++ 8 files changed, 140 insertions(+), 8 deletions(-) diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/GlassfishInstance.java b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/GlassfishInstance.java index 85a31e4baee9..c0e89c8f139e 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/GlassfishInstance.java +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/GlassfishInstance.java @@ -1198,6 +1198,16 @@ public String getGlassfishRoot() { return properties.get(GlassfishModule.GLASSFISH_FOLDER_ATTR); } + /** + * Get additional JVM options configured for this server instance. + *

+ * @return Additional JVM options string, or empty string if not set. + */ + public String getAdditionalLauncherJvmOptions() { + String value = properties.get(GlassfishModule.JVM_OPTIONS_ATTR); + return value != null ? value : ""; + } + @Override public String getDisplayName() { return properties.get(GlassfishModule.DISPLAY_NAME_ATTR); diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/StartTask.java b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/StartTask.java index 49b13101e6fd..736592dc8ff4 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/StartTask.java +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/StartTask.java @@ -45,6 +45,7 @@ import org.netbeans.modules.glassfish.tooling.TaskState; import org.netbeans.modules.glassfish.tooling.TaskStateListener; import org.netbeans.modules.glassfish.tooling.data.GlassFishServerStatus; +import org.netbeans.modules.glassfish.tooling.data.GlassFishVersion; import org.netbeans.modules.glassfish.tooling.data.StartupArgs; import org.netbeans.modules.glassfish.tooling.data.StartupArgsEntity; import org.netbeans.modules.glassfish.tooling.server.FetchLogSimple; @@ -672,6 +673,10 @@ private StartupArgs createProcessDescriptor() throws ProcessCreationException { // append other options from startup extenders, e.g. for profiling appendStartupExtenderParams(optList); + // append module path args required for GlassFish 7.1+ + appendGlassFish71PlusArgs(optList); + // append additional JVM options configured for this instance + appendConfiguredJvmOptions(optList); return new StartupArgsEntity( glassfishArgs, @@ -730,7 +735,7 @@ private void appendDebugOptions(List optList) throws ProcessCreationExce private void appendStartupExtenderParams(List optList) { for (StartupExtender args : StartupExtender.getExtenders( - Lookups.singleton(support.getInstanceProvider().getInstance(instance.getProperty("url"))), + Lookups.singleton(support.getInstanceProvider().getInstance(instance.getProperty("url"))), getMode(instance.getProperty(GlassfishModule.JVM_MODE)))) { for (String arg : args.getArguments()) { String[] argSplitted = arg.trim().split("\\s+(?=-)"); @@ -739,6 +744,39 @@ private void appendStartupExtenderParams(List optList) { } } + /** + * Appends module path arguments required for GlassFish 7.1 and later. + *

+ * GlassFish 7.1+ requires {@code --module-path} and {@code --add-modules} + * JVM arguments to boot correctly. + *

+ * @param optList JVM options list to append arguments to. + */ + private void appendGlassFish71PlusArgs(List optList) { + GlassFishVersion version = instance.getVersion(); + if (version != null && GlassFishVersion.ge(version, GlassFishVersion.GF_7_1_0)) { + String glassfishRoot = instance.getGlassfishRoot(); + if (glassfishRoot != null) { + optList.add("--module-path"); + optList.add(glassfishRoot + "/lib/bootstrap"); + optList.add("--add-modules"); + optList.add("ALL-MODULE-PATH"); + } + } + } + + /** + * Appends additional JVM options configured for this server instance. + *

+ * @param optList JVM options list to append arguments to. + */ + private void appendConfiguredJvmOptions(List optList) { + String jvmOptions = instance.getAdditionalLauncherJvmOptions().trim(); + if (!jvmOptions.isEmpty()) { + optList.addAll(Arrays.asList(Utilities.parseParameters(jvmOptions))); + } + } + private String selectDebugPort() throws IOException { int debugPort = 9009; ServerSocket t = null; diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/Bundle.properties b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/Bundle.properties index 9cca0d01edbe..e757ff870cdd 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/Bundle.properties +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/Bundle.properties @@ -161,3 +161,6 @@ InstancePanel.installationLocationField.text= InstancePanel.domainsFolderField.text= InstancePanel.userNameField.text= InstancePanel.hostRemoteField.text= + +InstanceLocalPanel.additionalLauncherJvmOptionsLabel=Additional Launcher JVM Options: +InstancePanel.additionalLauncherJvmOptionsField.text= diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstanceLocalPanel.java b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstanceLocalPanel.java index a872e033d6d6..cebfb1e40eb4 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstanceLocalPanel.java +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstanceLocalPanel.java @@ -139,6 +139,7 @@ protected void enableFields() { super.enableFields(); hostLocalField.setEnabled(true); localIpCB.setEnabled(true); + additionalLauncherJvmOptionsField.setEnabled(true); } } diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstancePanel.form b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstancePanel.form index 9c51fe14984b..f626912092b3 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstancePanel.form +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstancePanel.form @@ -98,17 +98,22 @@ - + - + + + + + + @@ -174,7 +179,12 @@ - + + + + + + @@ -424,5 +434,25 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstancePanel.java b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstancePanel.java index f57acb981dcc..60ca2bd3eeac 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstancePanel.java +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstancePanel.java @@ -448,6 +448,31 @@ protected void storeTarget() { } } + /** + * Additional Launcher JVM options field initialization. + *

+ * Initialize JVM options field with value stored in GlassFish instance object. + */ + protected void initAdditionalLauncherJvmOptions() { + additionalLauncherJvmOptionsField.setText(instance.getAdditionalLauncherJvmOptions()); + } + + /** + * JVM options field storage. + *

+ * Store JVM options when form field value differs from GlassFish instance property. + */ + protected void storeJvmOptions() { + String jvmOptions = additionalLauncherJvmOptionsField.getText().trim(); + if (!jvmOptions.equals(instance.getAdditionalLauncherJvmOptions())) { + if (jvmOptions.isEmpty()) { + instance.removeProperty(GlassfishModule.JVM_OPTIONS_ATTR); + } else { + instance.putProperty(GlassfishModule.JVM_OPTIONS_ATTR, jvmOptions); + } + } + } + /** * Administrator user credentials storage. *

@@ -512,6 +537,7 @@ protected void disableAllFields() { showPassword.setEnabled(false); preserveSessions.setEnabled(false); startDerby.setEnabled(false); + additionalLauncherJvmOptionsField.setEnabled(false); } /** @@ -526,6 +552,7 @@ protected void initFormFields() { initDomainAndTarget(); initCredentials(); initCheckBoxes(); + initAdditionalLauncherJvmOptions(); updatePasswordVisibility(); // do the magic according to loopback checkbox localIpCBActionPerformed(null); @@ -542,6 +569,7 @@ protected void storeFormFields() { storeTarget(); storeCredentials(); storeCheckBoxes(); + storeJvmOptions(); } /** @@ -614,6 +642,8 @@ private void initComponents() { passwordField = new javax.swing.JPasswordField(); hostRemoteLabel = new javax.swing.JLabel(); hostRemoteField = new javax.swing.JTextField(); + jvmOptionsLabel = new javax.swing.JLabel(); + additionalLauncherJvmOptionsField = new javax.swing.JTextField(); setName(org.openide.util.NbBundle.getMessage(InstancePanel.class, "InstanceLocalPanel.displayName")); // NOI18N setPreferredSize(new java.awt.Dimension(602, 304)); @@ -717,6 +747,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { hostRemoteField.setText(org.openide.util.NbBundle.getMessage(InstancePanel.class, "InstancePanel.hostRemoteField.text")); // NOI18N + jvmOptionsLabel.setLabelFor(additionalLauncherJvmOptionsField); + org.openide.awt.Mnemonics.setLocalizedText(jvmOptionsLabel, org.openide.util.NbBundle.getMessage(InstancePanel.class, "InstanceLocalPanel.additionalLauncherJvmOptionsLabel")); // NOI18N + + additionalLauncherJvmOptionsField.setText(org.openide.util.NbBundle.getMessage(InstancePanel.class, "InstancePanel.additionalLauncherJvmOptionsField.text")); // NOI18N + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( @@ -763,14 +798,18 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(passwordField))))) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(jdbcDriverDeployment, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 265, Short.MAX_VALUE) + .addComponent(jdbcDriverDeployment, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 327, Short.MAX_VALUE) .addComponent(httpMonitor, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(commetSupport, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(preserveSessions, javax.swing.GroupLayout.DEFAULT_SIZE, 319, Short.MAX_VALUE) + .addComponent(preserveSessions, javax.swing.GroupLayout.DEFAULT_SIZE, 387, Short.MAX_VALUE) .addComponent(startDerby, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(showPassword, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addComponent(showPassword, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addGroup(layout.createSequentialGroup() + .addComponent(jvmOptionsLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(additionalLauncherJvmOptionsField, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))) .addContainerGap()) ); @@ -828,7 +867,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jdbcDriverDeployment) .addComponent(startDerby)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jvmOptionsLabel) + .addComponent(additionalLauncherJvmOptionsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(82, Short.MAX_VALUE)) ); }// //GEN-END:initComponents @@ -873,6 +916,7 @@ private void localIpCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIR }//GEN-LAST:event_localIpCBActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables + protected javax.swing.JTextField additionalLauncherJvmOptionsField; protected javax.swing.JCheckBox commetSupport; protected javax.swing.JTextField dasPortField; protected javax.swing.JLabel dasPortLabel; @@ -890,6 +934,7 @@ private void localIpCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIR protected javax.swing.JTextField installationLocationField; protected javax.swing.JLabel installationLocationLabel; protected javax.swing.JCheckBox jdbcDriverDeployment; + protected javax.swing.JLabel jvmOptionsLabel; protected javax.swing.JCheckBox localIpCB; protected javax.swing.JPasswordField passwordField; protected javax.swing.JLabel passwordLabel; diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstanceRemotePanel.java b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstanceRemotePanel.java index 47e330fbba53..294f159d8bfc 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstanceRemotePanel.java +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/ui/InstanceRemotePanel.java @@ -49,6 +49,8 @@ public InstanceRemotePanel(final GlassfishInstance instance) { localIpCB.setVisible(false); domainLabel.setVisible(true); domainField.setVisible(true); + jvmOptionsLabel.setVisible(false); + additionalLauncherJvmOptionsField.setVisible(false); } // Implemented abstract methods // diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/spi/GlassfishModule.java b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/spi/GlassfishModule.java index 570e2ccb9aa3..8ff1b9a47f5e 100644 --- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/spi/GlassfishModule.java +++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/spi/GlassfishModule.java @@ -98,6 +98,9 @@ public interface GlassfishModule { /** Key to mark properties already imported into NetBeans 7.3 and fixed. */ public static final String NB73_IMPORT_FIXED = "nb73ImportFixed"; + /** Additional JVM options to pass when starting the server. */ + public static final String JVM_OPTIONS_ATTR = "jvmOptions"; // NOI18N + /** Properties fetching timeout [ms]. */ public static final int PROPERTIES_FETCH_TIMEOUT = 10000; From 1be05814967aff81a639026a4634d5bcf511ffa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Mon, 26 Jan 2026 21:15:17 +0100 Subject: [PATCH 44/74] Form Editor: When designing form larger than design area scrolling the form needs to available --- .../netbeans/modules/form/HandleLayer.java | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/java/form/src/org/netbeans/modules/form/HandleLayer.java b/java/form/src/org/netbeans/modules/form/HandleLayer.java index 6f58248b8ac5..bc1cc7a7e3fa 100644 --- a/java/form/src/org/netbeans/modules/form/HandleLayer.java +++ b/java/form/src/org/netbeans/modules/form/HandleLayer.java @@ -1231,15 +1231,26 @@ private void selectTabInUnknownTabbedPane(RADVisualComponent metacomp, Point p) } } Component[] clicked = getDeepestComponentsAt(formDesigner.getComponentLayer(), p); - if (clicked != null && clicked.length > 0 && clicked[0] instanceof JTabbedPane) { - JTabbedPane tabbedPane = (JTabbedPane)clicked[0]; - p = convertPointToComponent(p, tabbedPane); - for (int i=0,n=tabbedPane.getTabCount(); i < n; i++) { - Rectangle rect = tabbedPane.getBoundsAt(i); - if (rect != null && rect.contains(p)) { - tabbedPane.setSelectedIndex(i); - break; + if (clicked != null && clicked.length > 0) { + Point pointInComponent = convertPointToComponent(p, clicked[0]); + if (clicked[0] instanceof JTabbedPane tabbedPane) { + for (int i = 0, n = tabbedPane.getTabCount(); i < n; i++) { + Rectangle rect = tabbedPane.getBoundsAt(i); + if (rect != null && rect.contains(pointInComponent)) { + tabbedPane.setSelectedIndex(i); + break; + } + } + } else if (clicked[0] instanceof JScrollBar scrollbar) { + double position; + if (scrollbar.getOrientation() == JScrollBar.VERTICAL) { + double offset = scrollbar.getVisibleAmount() * (((double) scrollbar.getHeight()) / scrollbar.getMaximum()); + position = ((double) pointInComponent.y - (offset / 2)) / (scrollbar.getHeight() - offset); + } else { + double offset = scrollbar.getVisibleAmount() * (((double) scrollbar.getWidth()) / scrollbar.getMaximum()); + position = ((double) pointInComponent.x - (offset / 2)) / (scrollbar.getWidth() - offset); } + scrollbar.setValue((int) (scrollbar.getMaximum() * position)); } } } From 060d57f961d315b2ea083ce2dc5f0c444ad3593c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Wed, 25 Mar 2026 23:52:58 +0100 Subject: [PATCH 45/74] Adjust flag name translation for SYNCHRONIZED_OR_ACC_SUPER and VOLATILE_OR_ACC_BRIDGE Closes: #9294 --- .../modules/java/source/pretty/VeryPretty.java | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java b/java/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java index abf9f78a4d64..2f6a72220103 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java @@ -2901,17 +2901,7 @@ else if (addSpace) needSpace(); } } - - private static final String[] flagLowerCaseNames = new String[FlagsEnum.values().length]; - - static { - for (FlagsEnum flag : FlagsEnum.values()) { - flagLowerCaseNames[flag.ordinal()] = flag.name().toLowerCase(Locale.ENGLISH); - } - flagLowerCaseNames[FlagsEnum.NON_SEALED.ordinal()] = "non-sealed"; - flagLowerCaseNames[FlagsEnum.TRANSIENT_OR_ACC_VARARGS.ordinal()] = "transient"; //TODO: there should be a test in java.source.base for this - } - + /** * Workaround for defect #239258. Prints flag names converted to lowercase in ENGLISH locale to * avoid weird Turkish I > i-without-dot-above conversion. @@ -2925,7 +2915,8 @@ public static String flagNames(long flags) { String sep = ""; // NOI18N for (FlagsEnum flag : Flags.asFlagSet(flags)) { buf.append(sep); - String fname = flagLowerCaseNames[flag.ordinal()]; + // Since JDK26 javac FlagsEnum#toString is usable for printing + String fname = flag.toString(); buf.append(fname); sep = " "; // NOI18N } From f71f9394ba948112a6d3dc021d302850e6aad3f1 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Tue, 31 Mar 2026 23:26:05 +0200 Subject: [PATCH 46/74] Switch CI from 26ea to ga --- .github/workflows/main.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 39c497834aee..86a6e602b316 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -145,7 +145,7 @@ jobs: timeout-minutes: 40 strategy: matrix: - java: [ '21', '25', '26-ea' ] + java: [ '21', '25', '26' ] exclude: - java: ${{ github.event_name == 'pull_request' && 'nothing' || '25' }} fail-fast: false @@ -250,7 +250,7 @@ jobs: java: [ '21' ] include: - os: ubuntu-latest - java: 26-ea + java: 26 fail-fast: false steps: @@ -861,7 +861,7 @@ jobs: timeout-minutes: 50 strategy: matrix: - java: [ '21', '25', '26-ea' ] + java: [ '21', '25', '26' ] exclude: - java: ${{ github.event_name == 'pull_request' && 'nothing' || '25' }} fail-fast: false @@ -1478,10 +1478,10 @@ jobs: timeout-minutes: 60 strategy: matrix: - java: [ '21', '26-ea' ] + java: [ '21', '26' ] config: [ 'batch1', 'batch2' ] exclude: - - java: ${{ github.event_name == 'pull_request' && 'nothing' || '26-ea' }} + - java: ${{ github.event_name == 'pull_request' && 'nothing' || '26' }} fail-fast: false steps: @@ -1535,7 +1535,7 @@ jobs: timeout-minutes: 60 strategy: matrix: - java: [ '21', '25', '26-ea' ] + java: [ '21', '25', '26' ] exclude: - java: ${{ github.event_name == 'pull_request' && 'nothing' || '25' }} fail-fast: false From 44325de83594144a495f13cf284da11624ed1ba9 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Wed, 1 Apr 2026 10:18:24 +0200 Subject: [PATCH 47/74] CI: update remaining ant tests for JDK 21 added missing jms flag --- .github/workflows/main.yml | 16 ++++------------ .../nbproject/project.properties | 3 +++ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 86a6e602b316..af1115ba929a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -943,6 +943,9 @@ jobs: # - name: java/ant.grammar # run: ant $OPTS -f java/ant.grammar test + - name: extide/o.apache.tools.ant.module + run: ant $OPTS -f extide/o.apache.tools.ant.module test + - name: java/gradle.test run: ant $OPTS -f java/gradle.test test @@ -958,22 +961,11 @@ jobs: if: ${{ matrix.java == '21' || matrix.java == '25' }} run: ant $OPTS -f java/gradle.dependencies test - # TODO next are JDK 21 or 25 incompatibe steps + # TODO next are JDK 25 incompatibe steps - name: java/java.mx.project if: ${{ matrix.java == '21' }} run: .github/retry.sh ant $OPTS -f java/java.mx.project test - - name: Set up JDK 17 for ant - uses: actions/setup-java@v5 - if: ${{ matrix.java == '21' }} - with: - java-version: 17 - distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} - - - name: extide/o.apache.tools.ant.module - if: ${{ matrix.java == '21' }} - run: ant $OPTS -f extide/o.apache.tools.ant.module test - - name: apisupport.ant if: ${{ matrix.java == '21' }} run: ant $OPTS -f apisupport/apisupport.ant test diff --git a/extide/o.apache.tools.ant.module/nbproject/project.properties b/extide/o.apache.tools.ant.module/nbproject/project.properties index 974a127d36fd..d567390351f8 100644 --- a/extide/o.apache.tools.ant.module/nbproject/project.properties +++ b/extide/o.apache.tools.ant.module/nbproject/project.properties @@ -55,3 +55,6 @@ test.config.stableBTD.excludes=\ **/TargetListerTest.class,\ **/AntProjectChildrenTest.class,\ **/AntLoggerTest.class + +# java.lang.IllegalAccessError: class com.sun.tools.javac.main.Main (in unnamed module @0x75d433d1) cannot access class jdk.internal.opt.CommandLine$UnmatchedQuote (in module jdk.internal.opt) ... +test.jms.flags=--add-exports=jdk.internal.opt/jdk.internal.opt=ALL-UNNAMED From 25b58a404bd89f975eb4c382f8a5aa3d89d4120b Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 15 Mar 2026 01:10:38 +0100 Subject: [PATCH 48/74] Add the maven action toolbar config to OptionsExport config/Actions/Maven/* contains the toolbar config files --- java/maven/src/org/netbeans/modules/maven/layer.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/maven/src/org/netbeans/modules/maven/layer.xml b/java/maven/src/org/netbeans/modules/maven/layer.xml index f60bb1b4c745..4b5d4986fa33 100644 --- a/java/maven/src/org/netbeans/modules/maven/layer.xml +++ b/java/maven/src/org/netbeans/modules/maven/layer.xml @@ -205,7 +205,7 @@ - + From e728a95a5108891b8065784b3f458032a5a35844 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sat, 28 Mar 2026 07:02:56 +0100 Subject: [PATCH 49/74] Move Splash initialization to EDT and make it no longer modal - about 100ms faster startup (main method duration measured) and technically more correct anyway - use JFrame to get double buffering (no progress bar flicker during repaint) and we can use the opportunity to initialize swing asynchronously while NB is busy bootstrapping. - other change: splash window is no longer modal - code renovations most changes come from the fact that the model needed to be extracted from UI code so that it can be updated from any thread while the UI paints on EDT. --- .../src/org/netbeans/core/startup/Main.java | 22 +- .../org/netbeans/core/startup/NbEvents.java | 24 +- .../src/org/netbeans/core/startup/Splash.java | 581 +++++++++--------- 3 files changed, 296 insertions(+), 331 deletions(-) diff --git a/platform/core.startup/src/org/netbeans/core/startup/Main.java b/platform/core.startup/src/org/netbeans/core/startup/Main.java index f75009e6d088..1703c990e9a8 100644 --- a/platform/core.startup/src/org/netbeans/core/startup/Main.java +++ b/platform/core.startup/src/org/netbeans/core/startup/Main.java @@ -19,7 +19,6 @@ package org.netbeans.core.startup; -import java.beans.Introspector; import java.io.File; import java.io.IOException; import java.lang.reflect.InvocationTargetException; @@ -89,7 +88,7 @@ public static void initUICustomizations() { return; } - Class uiClass = CLIOptions.uiClass; + Class uiClass = CLIOptions.uiClass; // try again loading L&F class, this time with full module system. if (CLIOptions.uiClassName != null && CLIOptions.uiClass == null) { // try again @@ -163,7 +162,7 @@ public static ModuleSystem getModuleSystem(boolean init) { SystemFileSystem.registerMutex(moduleSystem.getManager().mutex()); } catch (IOException ioe) { // System will be screwed up. - throw (IllegalStateException) new IllegalStateException("Module system cannot be created").initCause(ioe); // NOI18N + throw new IllegalStateException("Module system cannot be created", ioe); // NOI18N } StartLog.logProgress ("ModuleSystem created"); // NOI18N } @@ -316,7 +315,6 @@ static void start (String[] args) throws SecurityException { level.run(); } - Splash.getInstance().setRunning(false); Splash.getInstance().dispose(); StartLog.logProgress ("Splash hidden"); // NOI18N StartLog.logEnd ("Preparation"); // NOI18N @@ -347,7 +345,7 @@ private static void rm(File f) { } /** Loads a class from available class loaders. */ - private static final Class getKlass(String cls) { + private static Class getKlass(String cls) { try { ClassLoader loader; ModuleSystem ms = moduleSystem; @@ -380,7 +378,7 @@ public boolean shouldDoAnImport () { return classname != null && !installed.exists (); } - + @Override public void run() { // This module is included in our distro somewhere... may or may not be turned on. // Whatever - try running some classes from it anyway. @@ -400,16 +398,12 @@ public void run() { } else { LOG.log(Level.WARNING, null, ex); } - } catch (Exception e) { + } catch (Exception | LinkageError e) { // If exceptions are thrown, notify them - something is broken. LOG.log(Level.WARNING, null, e); - } catch (LinkageError e) { - // These too... - LOG.log(Level.WARNING, null, e); } } - public boolean canContinue () { if (shouldDoAnImport ()) { try { @@ -440,7 +434,6 @@ public boolean canContinue () { } } - ImportHandler handler = new ImportHandler (); return handler.canContinue (); @@ -493,12 +486,9 @@ public void run() { } else { LOG.log(Level.WARNING, null, ex); } - } catch (Exception ex) { + } catch (Exception | LinkageError ex) { // If exceptions are thrown, notify them - something is broken. LOG.log(Level.WARNING, null, ex); - } catch (LinkageError ex) { - // These too... - LOG.log(Level.WARNING, null, ex); } } diff --git a/platform/core.startup/src/org/netbeans/core/startup/NbEvents.java b/platform/core.startup/src/org/netbeans/core/startup/NbEvents.java index e5318e8f742c..3f842c53f1ba 100644 --- a/platform/core.startup/src/org/netbeans/core/startup/NbEvents.java +++ b/platform/core.startup/src/org/netbeans/core/startup/NbEvents.java @@ -19,7 +19,6 @@ package org.netbeans.core.startup; -import java.awt.Component; import java.awt.Desktop; import java.awt.Dimension; import java.awt.EventQueue; @@ -27,6 +26,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -51,7 +51,6 @@ import org.openide.modules.SpecificationVersion; import org.openide.util.NbBundle.Messages; import org.openide.util.NbCollections; -import org.openide.util.RequestProcessor; /** Report events to the performance logger, status text/splash screen, * console, and so on. @@ -333,9 +332,8 @@ private void notify(String text, boolean warn) { private static final class Notifier implements Runnable { private static boolean showDialog = true; - private boolean warn; + private final boolean warn; private String text; - private static RequestProcessor RP = new RequestProcessor("Notify About Module System"); // NOI18N public Notifier(String text, boolean type) { this.warn = type; @@ -347,7 +345,11 @@ void show() { if (EventQueue.isDispatchThread()) { run(); } else { - RP.post(this, 0, Thread.MIN_PRIORITY).waitFinished (); + try { + EventQueue.invokeAndWait(this); + } catch (InterruptedException | InvocationTargetException ex) { + logger.log(Level.SEVERE, "Notifier failed", ex); // NOI18N + } } } } @@ -362,17 +364,9 @@ void show() { int type = warn ? JOptionPane.WARNING_MESSAGE : JOptionPane.INFORMATION_MESSAGE; String msg = warn ? MSG_warning() : MSG_info(); - Splash out = Splash.getInstance(); - final Component c = out.getComponent() == null ? null : out.getComponent(); try { UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName ()); - } catch (ClassNotFoundException ex) { - logger.log(Level.INFO, null, ex); - } catch (InstantiationException ex) { - logger.log(Level.INFO, null, ex); - } catch (IllegalAccessException ex) { - logger.log(Level.INFO, null, ex); - } catch (UnsupportedLookAndFeelException ex) { + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { logger.log(Level.INFO, null, ex); } JTextPane tp = new JTextPane (); @@ -423,7 +417,7 @@ void show() { Object [] options = new JButton [] {continueButton, exitButton}; op.setOptions (options); op.setInitialValue (options [1]); - JDialog d = op.createDialog (c, msg); + JDialog d = op.createDialog(Splash.getInstance().getComponent(), msg); d.setResizable (true); d.pack(); d.setVisible (true); diff --git a/platform/core.startup/src/org/netbeans/core/startup/Splash.java b/platform/core.startup/src/org/netbeans/core/startup/Splash.java index 1338029986e6..416381f3ee15 100644 --- a/platform/core.startup/src/org/netbeans/core/startup/Splash.java +++ b/platform/core.startup/src/org/netbeans/core/startup/Splash.java @@ -19,81 +19,102 @@ package org.netbeans.core.startup; -import java.awt.*; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Frame; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.GraphicsEnvironment; +import java.awt.Image; +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.SplashScreen; +import java.awt.Toolkit; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.io.DataOutputStream; import java.io.IOException; -import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.MissingResourceException; +import java.util.NoSuchElementException; import java.util.ResourceBundle; import java.util.StringTokenizer; import java.util.logging.Level; import java.util.logging.Logger; -import javax.accessibility.Accessible; import javax.imageio.ImageIO; -import static javax.swing.SwingConstants.BOTTOM; -import static javax.swing.SwingConstants.LEFT; -import javax.swing.*; +import javax.swing.Icon; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JTabbedPane; +import javax.swing.KeyStroke; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; +import javax.swing.WindowConstants; import org.netbeans.Stamps; import org.netbeans.Util; -import org.openide.util.Exceptions; import org.openide.util.ImageUtilities; import org.openide.util.NbBundle; import org.openide.util.Utilities; +import static javax.swing.SwingConstants.BOTTOM; +import static javax.swing.SwingConstants.LEFT; + /** A class that encapsulates all the splash screen things. */ +@SuppressWarnings("AccessingNonPublicFieldOfAnotherObject") public final class Splash implements Stamps.Updater { - private static Splash splash; - + private static volatile Splash splash; + + private volatile SplashPainter painter; + private JFrame frame; + private SplashComponent comp; + private final Progress progress; + /** is there progress bar in splash or not */ private static final boolean noBar = Boolean.getBoolean("netbeans.splash.nobar") || !Boolean.parseBoolean(NbBundle.getMessage(Splash.class, "SplashShowProgressBar")); public static Splash getInstance() { - if (splash == null) { - splash = new Splash(); + if (splash != null) { + return splash; + } + synchronized (Splash.class) { + if (splash == null) { + splash = new Splash(); + } + return splash; } - return splash; - } - - public static void showAboutDialog (java.awt.Frame parent, javax.swing.JComponent info) { - createAboutDialog (parent, info).setVisible(true); } - - private static JDialog createAboutDialog (java.awt.Frame parent, javax.swing.JComponent info) { - SplashDialog splashDialog = new SplashDialog (parent, info); - return splashDialog; + + @Deprecated(forRemoval = true) + public static void showAboutDialog(Frame parent, JComponent info) { + new SplashDialog(parent, info).setVisible(true); } // Copied from MainWindow: - private static final String ICON_16 = "org/netbeans/core/startup/frame.gif"; // NOI18N - private static final String ICON_32 = "org/netbeans/core/startup/frame32.gif"; // NOI18N - private static final String ICON_48 = "org/netbeans/core/startup/frame48.gif"; // NOI18N - private static final String ICON_256 = "org/netbeans/core/startup/frame256.png"; // NOI18N - private static final String ICON_512 = "org/netbeans/core/startup/frame512.png"; // NOI18N - private static final String ICON_1024 = "org/netbeans/core/startup/frame1024.png"; // NOI18N - private void initFrameIcons (Frame f) { - f.setIconImages(Arrays.asList( - ImageUtilities.loadImage(ICON_16, true), - ImageUtilities.loadImage(ICON_32, true), - ImageUtilities.loadImage(ICON_48, true), - ImageUtilities.loadImage(ICON_256, true), - ImageUtilities.loadImage(ICON_512, true), - ImageUtilities.loadImage(ICON_1024, true))); + private void initFrameIcons(Frame f) { + f.setIconImages(List.of( + ImageUtilities.loadImage("org/netbeans/core/startup/frame.gif", true), // NOI18N + ImageUtilities.loadImage("org/netbeans/core/startup/frame32.gif", true), // NOI18N + ImageUtilities.loadImage("org/netbeans/core/startup/frame48.gif", true), // NOI18N + ImageUtilities.loadImage("org/netbeans/core/startup/frame256.png", true), // NOI18N + ImageUtilities.loadImage("org/netbeans/core/startup/frame512.png", true), // NOI18N + ImageUtilities.loadImage("org/netbeans/core/startup/frame1024.png", true)) // NOI18N + ); } - - private Frame frame; - private SplashPainter painter; - private SplashComponent comp; - private SplashScreen splashScreen; /** * Indicate if we should try to take advantage of java's "-splash" parameter, which allows * the splash screen to be displayed at an earlier stage in the app startup sequence. See the @@ -115,70 +136,76 @@ private void initFrameIcons (Frame f) { private static final boolean USE_LAUNCHER_SPLASH = false; private Splash() { + this.progress = new Progress(); Stamps s = Stamps.getModulesJARs(); if (!CLIOptions.isNoSplash() && !GraphicsEnvironment.isHeadless()) { if (USE_LAUNCHER_SPLASH && !s.exists("splash.png")) { s.scheduleSave(this, "splash.png", false); } - try { - splashScreen = SplashScreen.getSplashScreen(); - if (splashScreen != null) { - Graphics2D graphics = splashScreen.createGraphics(); - painter = new SplashPainter(graphics, null, false); - } - } catch (RuntimeException x) { - Exceptions.printStackTrace(x); - } - if (painter == null) { - comp = new SplashComponent(false); - painter = comp.painter; - } } } - final int getMaxSteps() { - return painter.maxSteps; + int getMaxSteps() { + return progress.maxSteps; } - final int getProgress() { - return painter.progress; + int getProgress() { + return progress.progress; } /** Enables or disables splash component and its progress * animation */ - public void setRunning(boolean running) { - if (CLIOptions.isNoSplash()) { + public void setRunning(boolean show) { + if (CLIOptions.isNoSplash() || GraphicsEnvironment.isHeadless()) { return; } - if (comp == null) { - // ignore all manipulations - return; - } - - if (running) { - if (frame == null) { - frame = new Frame(NbBundle.getMessage(Splash.class, "LBL_splash_window_title")); // e.g. for window tray display - //#215320 - frame.setType(Window.Type.POPUP); - initFrameIcons(frame); // again, only for possible window tray display - frame.setUndecorated(true); - // add splash component - frame.setLayout(new BorderLayout()); - frame.add(comp, BorderLayout.CENTER); - frame.setResizable(false); - - int width = Integer.parseInt(NbBundle.getMessage(Splash.class, "SPLASH_WIDTH")); - int height = Integer.parseInt(NbBundle.getMessage(Splash.class, "SPLASH_HEIGHT")); - frame.setPreferredSize(new Dimension(width, height)); - - SwingUtilities.invokeLater(new SplashRunner(frame, true)); - } + if (show) { + onEDT(() -> { + if (painter == null) { + try { + SplashScreen splashScreen = SplashScreen.getSplashScreen(); + if (splashScreen != null) { + painter = new SplashPainter(progress, splashScreen.createGraphics(), null, false); + } + } catch (IllegalStateException splashAlreadyClosed) {} + if (painter == null) { + comp = new SplashComponent(progress, false); + painter = comp.painter; + } + if (comp == null) { + return; + } + } + if (frame == null) { + frame = new JFrame(NbBundle.getMessage(Splash.class, "LBL_splash_window_title")); // e.g. for window tray display + initFrameIcons(frame); // again, only for possible window tray display + frame.setUndecorated(true); + // add splash component + frame.setLayout(new BorderLayout()); + frame.add(comp, BorderLayout.CENTER); + frame.setResizable(false); + + int width = Integer.parseInt(NbBundle.getMessage(Splash.class, "SPLASH_WIDTH")); + int height = Integer.parseInt(NbBundle.getMessage(Splash.class, "SPLASH_HEIGHT")); + frame.setPreferredSize(new Dimension(width, height)); + center(frame); + + frame.setVisible(true); + frame.toFront(); + } + }); } else { - SwingUtilities.invokeLater(new SplashRunner(frame, false)); + onEDT(() -> { + if (frame != null) { + frame.setVisible(false); + frame.dispose(); + frame = null; + } + }); } } - + public void dispose() { setRunning(false); splash = null; @@ -188,11 +215,7 @@ public void increment(int steps) { if (noBar || CLIOptions.isNoSplash()) { return; } - -//System.out.println("Splash.increment ("+steps+"), "+comp); - if (painter != null) { - painter.increment(steps); - } + progress.increment(painter, steps); } public Component getComponent() { @@ -201,12 +224,11 @@ public Component getComponent() { /** Updates text in splash window */ - public void print(String s) { - if (CLIOptions.isNoSplash() || painter == null) { + public void print(String text) { + if (CLIOptions.isNoSplash()) { return; } - - painter.setText(s); + progress.setText(painter, text); } /** Adds specified numbers of steps to a progress @@ -215,13 +237,9 @@ public void addToMaxSteps(int steps) { if (noBar || CLIOptions.isNoSplash()) { return; } - - if (painter != null) { - painter.addToMaxSteps(steps); - } + progress.incrementMaxSteps(steps); } -//**************************************************************************** /** * Standard way how to place the window to the center of the screen. */ @@ -265,17 +283,91 @@ public void flushCaches(DataOutputStream os) throws IOException { @Override public void cacheReady() { } + + private static void onEDT(Runnable edtAction) { + if (SwingUtilities.isEventDispatchThread()) { + edtAction.run(); + } else { + SwingUtilities.invokeLater(edtAction); + } + } + + private static class Progress { + + private volatile int progress = 0; + private volatile int maxSteps = 0; + private volatile int barStart = 0; + private volatile int barLength = 0; + private volatile String text; + + private void increment(SplashPainter painter, int steps) { + if (steps <= 0) { + return; + } + progress += steps; + if (progress > maxSteps) { + progress = maxSteps; + } else if (maxSteps > 0 && painter != null) { + int bl = painter.bar.width * progress / maxSteps - barStart; + if (bl > 1 || barStart % 2 == 0) { + barLength = bl; + onEDT(() -> { + /* Don't try to be smart about which section of the bar to repaint. + There can be tricky rounding issues on HiDPI screens with non-integral + scaling factors (e.g. 150%). */ + painter.repaint(painter.bar); + }); + } + } + } + + /** + * Adds space for given number of steps. + * It also alters progress to preserve ratio between completed and total + * number of steps. + */ + private void incrementMaxSteps(int steps) { + if (steps == 0) { + return; + } + if (maxSteps == 0) { + int prog = progress / steps; + maxSteps = steps; + progress = prog; + } else { + int max = maxSteps + steps; + int prog = progress * max / maxSteps; + maxSteps = max; + progress = prog; + } + // do repaint on next increment + } + + /** + * Defines the single line of text this component will display. + */ + private void setText(SplashPainter painter, String text) { + if (text != null && text.equals(this.text)) { + return; + } + this.text = text; + if (painter == null) { + return; + } + onEDT(() -> { + painter.setText(this.text); + }); + } + } /** * This class implements double-buffered splash screen component. */ - private static class SplashComponent extends JComponent implements Accessible { - final SplashPainter painter; + private static class SplashComponent extends JComponent { + private final SplashPainter painter; - public SplashComponent(boolean about) { - painter = new SplashPainter( - (Graphics2D)getGraphics(), this, about - ); + public SplashComponent(Progress model, boolean about) { + painter = new SplashPainter(model, (Graphics2D)getGraphics(), this, about); } /** @@ -298,19 +390,11 @@ public void paint(Graphics graphics) { public boolean isOpaque() { return true; } - - @Override - public String toString() { - return "SplashComponent - " - + "progress: " + painter.progress + "/" + painter.maxSteps - + " text: " + painter.text; - } } private static final class TextBox { final Rectangle bounds; final Color color; - final int textSize; final Font font; final FontMetrics fm; final int horizontalAlignment; @@ -318,12 +402,11 @@ private static final class TextBox { final Rectangle effectiveBounds = new Rectangle(); private TextBox( - Rectangle bounds, Color color, int textSize, Font font, FontMetrics fontMetrics, + Rectangle bounds, Color color, Font font, FontMetrics fontMetrics, int horizontalAlignment) { this.bounds = bounds; this.color = color; - this.textSize = textSize; this.font = font; this.fm = fontMetrics; this.horizontalAlignment = horizontalAlignment; @@ -362,7 +445,7 @@ public static TextBox parse(Graphics graphics, JComponent comp, ResourceBundle b Color color = Color.BLACK; try { Integer rgb = Integer.decode(bundle.getString(prefix + "Color")); // NOI18N - color = new Color(rgb.intValue()); + color = new Color(rgb); } catch (NumberFormatException nfe) { //IZ 37515 - NbBundle.DEBUG causes startup to fail; use default value Util.err.warning("Number format exception " + //NOI18N @@ -373,27 +456,16 @@ public static TextBox parse(Graphics graphics, JComponent comp, ResourceBundle b try { String sizeStr = bundle.getString(prefix + "FontSize"); size = Integer.parseInt(sizeStr); - } catch (MissingResourceException e) { - //ignore - use default size - } catch (NumberFormatException nfe) { + } catch (MissingResourceException | NumberFormatException e) { //ignore - use default size } int horizontalAlignment = LEFT; try { - switch (bundle.getString(prefix + "HorizontalAlignment").toLowerCase(Locale.US)) { - case "left": - horizontalAlignment = SwingConstants.LEFT; - break; - case "center": - horizontalAlignment = SwingConstants.CENTER; - break; - case "right": - horizontalAlignment = SwingConstants.RIGHT; - break; - default: - // Ignore; use default - Util.err.warning( - "Invalid horizontal alignment for splash screen text box"); //NOI18N + switch (bundle.getString(prefix + "HorizontalAlignment").toLowerCase(Locale.ROOT)) { + case "left" -> horizontalAlignment = SwingConstants.LEFT; + case "center" -> horizontalAlignment = SwingConstants.CENTER; + case "right" -> horizontalAlignment = SwingConstants.RIGHT; + default -> Util.err.warning("Invalid horizontal alignment for splash screen text box"); //NOI18N } } catch (MissingResourceException e) { // Ignore; use default @@ -405,85 +477,76 @@ public static TextBox parse(Graphics graphics, JComponent comp, ResourceBundle b } else { fontMetrics = graphics.getFontMetrics(font); } - return new TextBox(bounds, color, size, font, fontMetrics, horizontalAlignment); + return new TextBox(bounds, color, font, fontMetrics, horizontalAlignment); } } private static class SplashPainter { - TextBox statusBox; + private final TextBox statusBox; // May be null. - TextBox versionBox; - Color color_bar; - Color color_edge; - Color color_corner; - private Rectangle dirty = new Rectangle(); - private Rectangle bar = new Rectangle(); - private Rectangle bar_inc = new Rectangle(); - private int progress = 0; - private int maxSteps = 0; - private int barStart = 0; - private int barLength = 0; - private Icon image; - private String text; - private Graphics2D graphics; + private final TextBox versionBox; + private final Color color_bar; + private final Color color_edge; + private final Color color_corner; + private final Rectangle bar; + private final Icon image; private final JComponent comp; - private final boolean about; + private final Progress model; + + private Rectangle dirty; + private Graphics2D graphics; /** * Creates a new splash screen component. * param about true is this component will be used in about dialog */ - public SplashPainter(Graphics graphics, JComponent comp, boolean about) { + public SplashPainter(Progress model, Graphics graphics, JComponent comp, boolean about) { + this.model = model; this.graphics = (Graphics2D) graphics; this.comp = comp; - this.about = about; - } - - final void init() throws MissingResourceException, NumberFormatException { - assert SwingUtilities.isEventDispatchThread(); - // check if init has already been called - if (statusBox != null) { - return; - } - // 100 is allocated for module system that will adjust this when number - // of existing modules is known - maxSteps = 140; ResourceBundle bundle = NbBundle.getBundle(Splash.class); - statusBox = TextBox.parse(graphics, comp, bundle, "SplashRunningText", false); - versionBox = TextBox.parse(graphics, comp, bundle, "SplashVersionText", true); - StringTokenizer st = new StringTokenizer( - bundle.getString("SplashProgressBarBounds"), " ,"); // NOI18N + this.statusBox = TextBox.parse(graphics, comp, bundle, "SplashRunningText", false); + this.versionBox = TextBox.parse(graphics, comp, bundle, "SplashVersionText", true); + this.bar = new Rectangle(); + this.dirty = new Rectangle(); + + Color color_bar_tmp; + Color color_edge_tmp; + Color color_corner_tmp; try { - bar = new Rectangle(Integer.parseInt(st.nextToken()), - Integer.parseInt(st.nextToken()), - Integer.parseInt(st.nextToken()), - Integer.parseInt(st.nextToken())); - Integer rgb = Integer.decode(bundle.getString("SplashProgressBarColor")); // NOI18N - color_bar = new Color(rgb.intValue()); - rgb = Integer.decode(bundle.getString("SplashProgressBarEdgeColor")); // NOI18N - color_edge = new Color(rgb.intValue()); - rgb = Integer.decode(bundle.getString("SplashProgressBarCornerColor")); // NOI18N - color_corner = new Color(rgb.intValue()); - } catch (NumberFormatException nfe) { + StringTokenizer st = new StringTokenizer(bundle.getString("SplashProgressBarBounds"), " ,"); // NOI18N + bar.setBounds( + Integer.parseInt(st.nextToken()), + Integer.parseInt(st.nextToken()), + Integer.parseInt(st.nextToken()), + Integer.parseInt(st.nextToken()) + ); + color_bar_tmp = new Color(Integer.decode(bundle.getString("SplashProgressBarColor"))); // NOI18N + color_edge_tmp = new Color(Integer.decode(bundle.getString("SplashProgressBarEdgeColor"))); // NOI18N + color_corner_tmp = new Color(Integer.decode(bundle.getString("SplashProgressBarCornerColor"))); // NOI18N + } catch (NumberFormatException | NoSuchElementException ex) { //IZ 37515 - NbBundle.DEBUG causes startup to fail - provide some useless values Util.err.warning("Number format exception " + //NOI18N "loading splash screen parameters."); //NOI18N - Logger.getLogger("global").log(Level.WARNING, null, nfe); - color_bar = Color.ORANGE; - color_edge = Color.BLUE; - color_corner = Color.GREEN; - bar = new Rectangle(0, 0, 80, 10); + Logger.getLogger("global").log(Level.WARNING, null, ex); + color_bar_tmp = Color.ORANGE; + color_edge_tmp = Color.BLUE; + color_corner_tmp = Color.GREEN; + bar.setBounds(0, 0, 80, 10); } + color_bar = color_bar_tmp; + color_edge = color_edge_tmp; + color_corner = color_corner_tmp; image = loadContentIcon(about); - if (comp != null) - comp.setFont(statusBox.font); + if (comp != null) { + comp.setFont(statusBox.font); + } } long next; - @SuppressWarnings("CallToThreadDumpStack") final void repaint(Rectangle r) { if (comp != null) { comp.repaint(r); @@ -491,51 +554,33 @@ final void repaint(Rectangle r) { if (next < System.currentTimeMillis()) { paint(); try { - Splash s = splash; - if (s != null) { - s.splashScreen.update(); + SplashScreen ss = SplashScreen.getSplashScreen(); + if (ss != null) { + ss.update(); } - } catch (Exception ex) { - ex.printStackTrace(); - } + } catch (IllegalStateException splashAlreadyClosed) {} next = System.currentTimeMillis() + 200; } } } - /** - * Defines the single line of text this component will display. - */ - public void setText(final String text) { - // trying to set again the same text? - if (text != null && text.equals(this.text)) { + private void setText(String text) { + if (text == null) { + repaint(dirty); return; } - // run in AWT, there were problems with accessing font metrics - // from now AWT thread - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - init(); - if (text == null) { - repaint(dirty); - return; - } - - if (statusBox.fm == null) { - return; - } + if (statusBox.fm == null) { + return; + } - adjustText(text); + adjustText(text); - statusBox.layout(text, null); - dirty = dirty.union(statusBox.effectiveBounds); - // update screen (assume repaint manager optimizes unions;) - repaint(dirty); - dirty = new Rectangle(statusBox.effectiveBounds); - } - }); + statusBox.layout(text, null); + dirty = dirty.union(statusBox.effectiveBounds); + // update screen (assume repaint manager optimizes unions;) + repaint(dirty); + dirty = new Rectangle(statusBox.effectiveBounds); } /** @@ -565,7 +610,7 @@ private void adjustText(String text) { else newString = newText + " " + element; // NOI18N if (statusBox.fm.stringWidth(newString + "...") > statusBox.bounds.width) { // NOI18N - this.text = newText + "..."; // NOI18N + model.text = newText + "..."; // NOI18N break; } else newText = newString; @@ -575,13 +620,13 @@ private void adjustText(String text) { // very loong text without spaces that exceeds available space is used // it can happen in multibyte environment (such as japanese) if (newText == null) { - this.text = ""; + model.text = ""; newString = ""; newText = ""; for (int i = 0; i < text.length(); i++) { newString += text.charAt(i); if (statusBox.fm.stringWidth(newString + "...") > statusBox.bounds.width) { // NOI18N - this.text = newText + "..."; // NOI18N + model.text = newText + "..."; // NOI18N break; } else { newText = newString; @@ -589,54 +634,7 @@ private void adjustText(String text) { } } } else - this.text = text; - } - - public void increment(int steps) { - if (steps <= 0) { - return; - } - progress += steps; - if (progress > maxSteps) { - progress = maxSteps; - } else if (maxSteps > 0) { - int bl = bar.width * progress / maxSteps - barStart; - if (bl > 1 || barStart % 2 == 0) { - barLength = bl; - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - init(); - /* Don't try to be smart about which section of the bar to repaint. - There can be tricky rounding issues on HiDPI screens with non-integral - scaling factors (e.g. 150%). */ - repaint(bar); - } - }); - } - } - } - - - /** Adds space for given number of steps. - * It also alters progress to preserve ratio between completed and total - * number of steps. - */ - final void addToMaxSteps(int steps) { - if (steps == 0) { - return; - } - if (maxSteps == 0) { - int prog = progress / steps; - maxSteps = steps; - progress = prog; - } else { - int max = maxSteps + steps; - int prog = progress * max / maxSteps; - maxSteps = max; - progress = prog; - } - // do repaint on next increment + model.text = text; } void paint() { @@ -651,6 +649,12 @@ void paint() { String buildNumber = System.getProperty("netbeans.buildnumber"); versionBox.layout(NbBundle.getMessage(TopLogging.class, "currentVersion", buildNumber), graphics); } + + String text = model.text; + int maxSteps = model.maxSteps; + int barStart = model.barStart; + int barLength = model.barLength; + if (text != null) { statusBox.layout(text, graphics); } @@ -671,32 +675,33 @@ void paint() { graphics.drawLine(bar.x, bar.y + bar.height / 2, bar.x, bar.y + bar.height / 2); graphics.drawLine(bar.x + barStart + barLength, bar.y + bar.height / 2, bar.x + barStart + barLength, bar.y + bar.height / 2); } - barStart += barLength; - barLength = 0; + model.barStart += barLength; + model.barLength = 0; } } } /* A simplified version of org.openide.awt.GraphicsUtils.configureDefaultRenderingHints. (We can't use the org.openide.awt module here.) */ + @SuppressWarnings("unchecked") public static void configureDefaultRenderingHints(Graphics2D graphics) { - Map ret = - (Map) (Toolkit.getDefaultToolkit().getDesktopProperty("awt.font.desktophints")); + Map ret = (Map) Toolkit.getDefaultToolkit().getDesktopProperty("awt.font.desktophints"); if (ret == null) { - ret = new HashMap(); + ret = new HashMap<>(); ret.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); } graphics.addRenderingHints(ret); } + // unused about dialog private static class SplashDialog extends JDialog implements ActionListener { /** generated Serialized Version UID */ static final long serialVersionUID = 5185644855500178404L; - private final SplashComponent splashComponent = new SplashComponent(true); + private final SplashComponent splashComponent = new SplashComponent(new Progress(), true); /** Creates a new SplashDialog */ - public SplashDialog (java.awt.Frame parent, javax.swing.JComponent infoPanel) { + public SplashDialog(Frame parent, JComponent infoPanel) { super (parent, true); JPanel splashPanel = new JPanel(); @@ -730,28 +735,4 @@ public void actionPerformed(ActionEvent e) { } } - private static class SplashRunner implements Runnable { - - private Window splashWindow; - private boolean visible; - - public SplashRunner(Window splashWindow, boolean visible) { - this.splashWindow = splashWindow; - this.visible = visible; - } - - @Override - public void run() { - if (visible) { - Splash.center(splashWindow); - splashWindow.setVisible(true); - splashWindow.toFront (); - } - else { - splashWindow.setVisible (false); - splashWindow.dispose (); - } - } - } - } From 9758a6f8d761b78499f4570df828ed53f86b2087 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Fri, 27 Mar 2026 08:19:04 +0100 Subject: [PATCH 50/74] [GITHUB-6925] Fixing debugger tests. --- .github/workflows/main.yml | 15 +-- .../nbproject/project.xml | 21 ++-- .../jpda/truffle/DebugAllBaseTest.java | 72 ------------- .../jpda/truffle/DebugPythonTest.java | 86 --------------- .../debugger/jpda/truffle/DebugRTest.java | 85 --------------- .../debugger/jpda/truffle/DebugRubyTest.java | 100 ------------------ .../debugger/jpda/truffle/JPDATestCase.java | 21 +++- .../api/debugger/jpda/JPDASupport.java | 40 ------- 8 files changed, 36 insertions(+), 404 deletions(-) delete mode 100644 java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugPythonTest.java delete mode 100644 java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugRTest.java delete mode 100644 java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugRubyTest.java diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index af1115ba929a..c52765488fdd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1567,8 +1567,8 @@ jobs: - name: debugger.jpda.projectsui run: ant $OPTS -f java/debugger.jpda.projectsui test -# - name: debugger.jpda.truffle -# run: ant $OPTS -f java/debugger.jpda.truffle test + - name: debugger.jpda.truffle + run: ant $OPTS -f java/debugger.jpda.truffle test - name: debugger.jpda.ui run: ant $OPTS -f java/debugger.jpda.ui test-unit @@ -2552,9 +2552,7 @@ jobs: timeout-minutes: 60 strategy: matrix: - # TODO uses GraalVM 17 / 22.3.1 which is the last known release which offers all required language extensions - # GraalVM based on JDK 21+ doesn't support the 'gu' tool anymore - extensions are now regular application dependencies - graal: [ '22.3.1' ] + graal: [ '21.0.2' ] fail-fast: false steps: @@ -2573,14 +2571,11 @@ jobs: - name: Setup GraalVM ${{ matrix.graal }} run: | - URL=https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${{ matrix.graal }}/graalvm-ce-java17-linux-amd64-${{ matrix.graal }}.tar.gz + URL=https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${{ matrix.graal }}/graalvm-community-jdk-${{ matrix.graal }}_linux-x64_bin.tar.gz curl -L $URL | tar -xz - GRAALVM=`pwd`/graalvm-ce-java17-${{ matrix.graal }} + GRAALVM=$(realpath graalvm-community-openjdk-*) echo "JAVA_HOME=$GRAALVM" >> $GITHUB_ENV - - name: Setup GraalVM Languages (python, R, ruby and js) - run: $JAVA_HOME/bin/gu install --no-progress python R ruby js - - name: platform/core.network run: ant $OPTS -f platform/core.network test diff --git a/java/debugger.jpda.truffle/nbproject/project.xml b/java/debugger.jpda.truffle/nbproject/project.xml index 3d345abe7907..1c82b5032a4c 100644 --- a/java/debugger.jpda.truffle/nbproject/project.xml +++ b/java/debugger.jpda.truffle/nbproject/project.xml @@ -258,6 +258,12 @@ unit + + org.netbeans.api.debugger.jpda + + + + org.netbeans.core.startup @@ -266,25 +272,22 @@ org.netbeans.libs.freemarker + + org.netbeans.libs.graaljs + org.netbeans.libs.javacapi - org.netbeans.modules.debugger.jpda - - + org.netbeans.libs.junit4 + - org.netbeans.api.debugger.jpda - + org.netbeans.modules.debugger.jpda - - org.netbeans.libs.junit4 - - org.netbeans.modules.nbjunit diff --git a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugAllBaseTest.java b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugAllBaseTest.java index 029aa1215e61..f5a6f85d0498 100644 --- a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugAllBaseTest.java +++ b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugAllBaseTest.java @@ -63,18 +63,6 @@ public void testBreakpoints_JS() throws Exception { runBreakpointsTest(JS_LAUNCHER); } - public void testBreakpoints_Python() throws Exception { - runBreakpointsTest(PYTHON_LAUNCHER); - } - - public void testBreakpoints_R() throws Exception { - runBreakpointsTest(RSCRIPT_LAUNCHER); - } - - public void testBreakpoints_Ruby() throws Exception { - runBreakpointsTest(RUBY_LAUNCHER); - } - private void runBreakpointsTest(String launcher) throws Exception { File source = getScriptSourceFileForLauncher(launcher); DebuggerManager dm = DebuggerManager.getDebuggerManager(); @@ -99,18 +87,6 @@ public void testBreakpointsConditional_JS() throws Exception { runBreakpointsConditionalTest(JS_LAUNCHER); } - public void testBreakpointsConditional_Python() throws Exception { - runBreakpointsConditionalTest(PYTHON_LAUNCHER); - } - - public void testBreakpointsConditional_R() throws Exception { - runBreakpointsConditionalTest(RSCRIPT_LAUNCHER); - } - - public void testBreakpointsConditional_Ruby() throws Exception { - runBreakpointsConditionalTest(RUBY_LAUNCHER); - } - public void runBreakpointsConditionalTest(String launcher) throws Exception { File source = getScriptSourceFileForLauncher(launcher); DebuggerManager dm = DebuggerManager.getDebuggerManager(); @@ -141,18 +117,6 @@ public void testSteps_JS() throws Exception { runStepsTest(JS_LAUNCHER); } - public void testSteps_Python() throws Exception { - runStepsTest(PYTHON_LAUNCHER); - } - - public void testSteps_R() throws Exception { - runStepsTest(RSCRIPT_LAUNCHER); - } - - public void testSteps_Ruby() throws Exception { - runStepsTest(RUBY_LAUNCHER); - } - public void runStepsTest(String launcher) throws Exception { File source = getScriptSourceFileForLauncher(launcher); DebuggerManager dm = DebuggerManager.getDebuggerManager(); @@ -177,18 +141,6 @@ public void testEval_JS() throws Exception { runEvalTest(JS_LAUNCHER); } - public void testEval_Python() throws Exception { - runEvalTest(PYTHON_LAUNCHER); - } - - public void testEval_R() throws Exception { - runEvalTest(RSCRIPT_LAUNCHER); - } - - public void testEval_Ruby() throws Exception { - runEvalTest(RUBY_LAUNCHER); - } - public void runEvalTest(String launcher) throws Exception { File source = getScriptSourceFileForLauncher(launcher); DebuggerManager dm = DebuggerManager.getDebuggerManager(); @@ -226,18 +178,6 @@ public void testLocalVariables_JS() throws Exception { runLocalVariablesTest(JS_LAUNCHER); } - public void testLocalVariables_Python() throws Exception { - runLocalVariablesTest(PYTHON_LAUNCHER); - } - - public void testLocalVariables_R() throws Exception { - runLocalVariablesTest(RSCRIPT_LAUNCHER); - } - - public void testLocalVariables_Ruby() throws Exception { - runLocalVariablesTest(RUBY_LAUNCHER); - } - public void runLocalVariablesTest(String launcher) throws Exception { File source = getScriptSourceFileForLauncher(launcher); DebuggerManager dm = DebuggerManager.getDebuggerManager(); @@ -286,18 +226,6 @@ public void testObjectProperties_JS() throws Exception { runObjectPropertiesTest(JS_LAUNCHER); } - public void testObjectProperties_Python() throws Exception { - runObjectPropertiesTest(PYTHON_LAUNCHER); - } - - public void testObjectProperties_R() throws Exception { - runObjectPropertiesTest(RSCRIPT_LAUNCHER); - } - - public void testObjectProperties_Ruby() throws Exception { - runObjectPropertiesTest(RUBY_LAUNCHER); - } - public void runObjectPropertiesTest(String launcher) throws Exception { File source = getScriptSourceFileForLauncher(launcher); DebuggerManager dm = DebuggerManager.getDebuggerManager(); diff --git a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugPythonTest.java b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugPythonTest.java deleted file mode 100644 index c67cffd477ba..000000000000 --- a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugPythonTest.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.debugger.jpda.truffle; - -import java.io.File; -import java.net.URL; -import junit.framework.Test; - -import org.netbeans.api.debugger.DebuggerManager; -import org.netbeans.api.debugger.jpda.JPDADebugger; -import org.netbeans.modules.debugger.jpda.truffle.breakpoints.TruffleLineBreakpoint; -import org.netbeans.modules.debugger.jpda.truffle.frames.TruffleStackFrame; -import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleVariable; -import org.netbeans.modules.debugger.jpda.truffle.vars.impl.TruffleScope; -import org.netbeans.modules.javascript2.debug.breakpoints.JSLineBreakpoint; - -public class DebugPythonTest extends JPDATestCase { - - public DebugPythonTest(String name) { - super(name); - } - - public static Test suite() { - return createSuite(DebugPythonTest.class); - } - - public void testPythonTypes() throws Exception { - DebuggerManager dm = DebuggerManager.getDebuggerManager(); - File source = new File(sourceRoot, "org/netbeans/modules/debugger/jpda/truffle/scripts/Types.py"); - URL url = source.toURI().toURL(); - String sourcePath = source.getAbsolutePath(); - int debugLine = 39; - String methodName = "typesTest"; - JSLineBreakpoint lb1 = new TruffleLineBreakpoint(url, debugLine); - dm.addBreakpoint(lb1); - runScriptUnderJPDA("python", source.getAbsolutePath(), support -> { - JPDADebugger debugger = support.getDebugger(); - TruffleStackFrame frame = checkStoppedAtScript(debugger.getCurrentThread(), sourcePath, debugLine); - assertEquals("Bad method name", methodName, frame.getMethodName()); - checkVariableTypes(frame.getScopes()); - support.doContinue(); - }); - } - - private static void checkVariableTypes(TruffleScope[] scopes) { - assertTrue(scopes.length >= 1); - TruffleVariable[] variables = scopes[0].getVariables(); - checkVar(variables[0], "a", "list", "[1, 2, 3, 42]"); - - checkVar(variables[1], "b1", "bool", "True"); - checkVar(variables[2], "b2", "bool", "False"); - - checkVar(variables[3], "i", "int", "42"); - checkVar(variables[4], "s", "str", "'string'"); - checkVar(variables[5], "n", "NoneType", "None"); - checkVar(variables[6], "f", "function", null); - assertTrue(variables[6].getValue().toString(), variables[6].getValue().toString().contains("Callable")); - checkVar(variables[7], "d", "datetime", null); - checkVar(variables[8], "map", "dict", null); - } - - private static void checkVar(TruffleVariable variable, String name, String type, String value) { - assertEquals("Name", name, variable.getName()); - assertEquals("Type of " + name, type, variable.getType()); - if (value != null) { - assertEquals("Value of " + name, value, variable.getValue()); - } - } - -} diff --git a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugRTest.java b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugRTest.java deleted file mode 100644 index 89bb8f75e932..000000000000 --- a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugRTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.debugger.jpda.truffle; - -import java.io.File; -import java.net.URL; -import junit.framework.Test; - -import org.netbeans.api.debugger.DebuggerManager; -import org.netbeans.api.debugger.jpda.JPDADebugger; -import org.netbeans.modules.debugger.jpda.truffle.breakpoints.TruffleLineBreakpoint; -import org.netbeans.modules.debugger.jpda.truffle.frames.TruffleStackFrame; -import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleVariable; -import org.netbeans.modules.debugger.jpda.truffle.vars.impl.TruffleScope; -import org.netbeans.modules.javascript2.debug.breakpoints.JSLineBreakpoint; - -public class DebugRTest extends JPDATestCase { - - public DebugRTest(String name) { - super(name); - } - - public static Test suite() { - return createSuite(DebugRTest.class); - } - - public void testRTypes() throws Exception { - DebuggerManager dm = DebuggerManager.getDebuggerManager(); - File source = new File(sourceRoot, "org/netbeans/modules/debugger/jpda/truffle/scripts/Types.r"); - URL url = source.toURI().toURL(); - String sourcePath = source.getAbsolutePath(); - int debugLine = 38; - String methodName = "typesTest"; - JSLineBreakpoint lb1 = new TruffleLineBreakpoint(url, debugLine); - dm.addBreakpoint(lb1); - runScriptUnderJPDA("Rscript", source.getAbsolutePath(), support -> { - JPDADebugger debugger = support.getDebugger(); - TruffleStackFrame frame = checkStoppedAtScript(debugger.getCurrentThread(), sourcePath, debugLine); - assertTrue("Bad method name: " + frame.getMethodName(), frame.getMethodName().contains(methodName)); - checkVariableTypes(frame.getScopes()); - support.doContinue(); - }); - } - - private static void checkVariableTypes(TruffleScope[] scopes) { - assertEquals(1, scopes.length); - TruffleVariable[] variables = scopes[0].getVariables(); - - checkVar(variables[0], "a", "double", "[1] 1 2 3 42"); - checkVar(variables[1], "b1", "logical", "[1] TRUE"); - checkVar(variables[2], "b2", "logical", "[1] FALSE"); - - checkVar(variables[3], "i", "double", "[1] 42"); - checkVar(variables[4], "s", "character", "[1] \"string\""); - checkVar(variables[5], "n", "NULL", "NULL"); - checkVar(variables[6], "f", "closure", "function() {\n\n}"); - checkVar(variables[7], "d", "double", null); - checkVar(variables[8], "map", "environment", null); - } - - private static void checkVar(TruffleVariable variable, String name, String type, String value) { - assertEquals("Name", name, variable.getName()); - assertEquals("Type of " + name, type, variable.getType()); - if (value != null) { - assertEquals("Value of " + name, value, variable.getValue()); - } - } - -} diff --git a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugRubyTest.java b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugRubyTest.java deleted file mode 100644 index 0897675c23e6..000000000000 --- a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugRubyTest.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.debugger.jpda.truffle; - -import java.io.File; -import java.net.URL; -import junit.framework.Test; - -import org.netbeans.api.debugger.DebuggerManager; -import org.netbeans.api.debugger.jpda.JPDADebugger; -import org.netbeans.modules.debugger.jpda.truffle.breakpoints.TruffleLineBreakpoint; -import org.netbeans.modules.debugger.jpda.truffle.frames.TruffleStackFrame; -import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleVariable; -import org.netbeans.modules.debugger.jpda.truffle.vars.impl.TruffleScope; -import org.netbeans.modules.javascript2.debug.breakpoints.JSLineBreakpoint; - -public class DebugRubyTest extends JPDATestCase { - - public DebugRubyTest(String name) { - super(name); - } - - public static Test suite() { - return createSuite(DebugRubyTest.class); - } - - public void testRubyTypes() throws Exception { - DebuggerManager dm = DebuggerManager.getDebuggerManager(); - File source = new File(sourceRoot, "org/netbeans/modules/debugger/jpda/truffle/scripts/Types.ruby"); - URL url = source.toURI().toURL(); - String sourcePath = source.getAbsolutePath(); - int debugLine = 46; - String methodName = "typesTest"; - JSLineBreakpoint lb1 = new TruffleLineBreakpoint(url, debugLine); - dm.addBreakpoint(lb1); - runScriptUnderJPDA("ruby", source.getAbsolutePath(), support -> { - JPDADebugger debugger = support.getDebugger(); - TruffleStackFrame frame = checkStoppedAtScript(debugger.getCurrentThread(), sourcePath, debugLine); - assertTrue("Bad method name: " + frame.getMethodName(), frame.getMethodName().contains(methodName)); - checkVariableTypes(frame.getScopes()); - support.doContinue(); - }); - } - - private static void checkVariableTypes(TruffleScope[] scopes) { - assertEquals(1, scopes.length); - TruffleVariable[] variables = scopes[0].getVariables(); - assertEquals("self", variables[0].getName()); - checkVar(variables[1], "a1", "Array", "[]"); - checkVar(variables[2], "a2", "Array", "[1, 2, [3, 4]]"); - - checkVar(variables[3], "b1", "", "true"); - checkVar(variables[4], "b2", "", "false"); - - checkVar(variables[5], "null", "NilClass", "nil"); - - checkVar(variables[6], "i1", "", "0"); - checkVar(variables[7], "i2", "", "42"); - checkVar(variables[8], "i3", "", "42.42"); - checkVar(variables[9], "i4", "", "-0.0"); - checkVar(variables[10], "i5", "", "-Infinity"); - checkVar(variables[11], "i6", "", "Infinity"); - checkVar(variables[12], "i7", "", "-Infinity"); - checkVar(variables[13], "i8", "", "NaN"); - - checkVar(variables[14], "nc", "Complex", "(2+3i)"); - checkVar(variables[15], "nr", "Rational", "(11/2)"); - checkVar(variables[16], "f", "Method", null); - assertTrue(variables[16].getValue().toString(), variables[16].getValue().toString().contains("Callable")); - checkVar(variables[17], "d", "Time", null); - checkVar(variables[18], "str", "String", "\"A String\""); - checkVar(variables[19], "symbol", "Symbol", ":symbolic"); - checkVar(variables[20], "hash", "Hash", "{:a=>1, \"b\"=>2}"); - } - - private static void checkVar(TruffleVariable variable, String name, String type, String value) { - assertEquals("Name", name, variable.getName()); - assertEquals("Type of " + name, type, variable.getType()); - if (value != null) { - assertEquals("Value of " + name, value, variable.getValue()); - } - } - -} diff --git a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/JPDATestCase.java b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/JPDATestCase.java index a8d16ac5b191..2438a6ef306d 100644 --- a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/JPDATestCase.java +++ b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/JPDATestCase.java @@ -19,9 +19,13 @@ package org.netbeans.modules.debugger.jpda.truffle; import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.Map; import java.util.logging.Level; import junit.framework.Test; import junit.framework.TestCase; +import org.netbeans.api.debugger.jpda.DebuggerStartException; import org.netbeans.api.debugger.jpda.JPDADebugger; import org.netbeans.api.debugger.jpda.JPDASupport; import org.netbeans.api.debugger.jpda.JPDAThread; @@ -39,6 +43,10 @@ public abstract class JPDATestCase extends NbTestCase { + private static final Map LAUNCHER_TO_MAIN_CLASS = Map.of( + "js", "com.oracle.truffle.js.shell.JSLauncher" + ); + protected final File sourceRoot = new File(System.getProperty("test.dir.src")); protected static Test createSuite(Class clazz) { @@ -80,10 +88,10 @@ protected final File getJavaSourceFile(String javaFileName) { } protected final void runScriptUnderJPDA(String launcher, String scriptPath, ThrowableConsumer supportConsumer) throws Exception { - assertTrue("'"+launcher+"' launcher not available", JPDASupport.isLauncherAvailable(launcher)); + assertTrue("does not have launcher - main class mapping", LAUNCHER_TO_MAIN_CLASS.containsKey(launcher)); // Translate script path from source dir to target dir: scriptPath = getBinariesPath(scriptPath); - JPDASupport support = JPDASupport.attachScript(launcher, scriptPath); + JPDASupport support = attachScript(launcher, scriptPath); run(support, supportConsumer, false); } @@ -133,6 +141,15 @@ protected static TruffleVariable findVariable(TruffleScope scope, String name) { return null; } + public static JPDASupport attachScript(String launcher, String path) throws IOException, DebuggerStartException { + return JPDASupport.attach(LAUNCHER_TO_MAIN_CLASS.get(launcher), + new String[] {path}, + Arrays.stream(System.getProperty("java.class.path") + .split(File.pathSeparator)) + .map(loc -> new File(loc)) + .toArray(File[]::new)); + } + @FunctionalInterface protected interface ThrowableConsumer { diff --git a/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/JPDASupport.java b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/JPDASupport.java index 0a2112f4696c..e9d174defc9f 100644 --- a/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/JPDASupport.java +++ b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/JPDASupport.java @@ -209,50 +209,10 @@ public static JPDASupport attach (String[] vmArgs, String mainClass, String[] ar return new JPDASupport (jpdaDebugger, pio); } - public static JPDASupport attachScript(String launcher, String path) throws IOException, DebuggerStartException { - String [] cmdArray = new String [] { - launcherPath(launcher), - "--jvm", - "--vm.agentlib:jdwp=transport=dt_socket,suspend=y,server=y", - path - }; - Process process = Runtime.getRuntime ().exec (cmdArray); - String line = readLine (process.getInputStream ()); - int port = Integer.parseInt (line.substring (line.lastIndexOf (':') + 1).trim ()); - ProcessIO pio = new ProcessIO (process); - pio.go(); - - VirtualMachineManager vmm = Bootstrap.virtualMachineManager(); - List aconnectors = vmm.attachingConnectors(); - AttachingConnector connector = null; - for (Iterator i = aconnectors.iterator(); i.hasNext();) { - AttachingConnector ac = (AttachingConnector) i.next(); - Transport t = ac.transport (); - if (t != null && t.name().equals("dt_socket")) { - connector = ac; - break; - } - } - if (connector == null) { - throw new RuntimeException("No attaching socket connector available"); - } - - JPDADebugger jpdaDebugger = JPDADebugger.attach ( - "localhost", - port, - new Object[]{} - ); - return new JPDASupport(jpdaDebugger, pio); - } - private static String launcherPath(String launcher) { return System.getProperty("java.home") + File.separatorChar + "bin" + File.separatorChar + launcher; } - public static boolean isLauncherAvailable(String launcher) { - return Files.exists(Paths.get(launcherPath(launcher))); - } - // public interface ........................................................ public void doContinue () { From 2a75ea9c3aab0c6a19de818f11484e3c53a3e7e8 Mon Sep 17 00:00:00 2001 From: Nicola Isotta Date: Thu, 2 Apr 2026 20:37:55 +0200 Subject: [PATCH 51/74] CDI: fix injection warning for jakarta predefined bean classes The warning said "No enabled eligible for injection beans are found", because the filter class did not check "jakarta." namespace --- .../modules/web/beans/impl/model/EnableBeansFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EnableBeansFilter.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EnableBeansFilter.java index 91e5d79bc67c..63daff030323 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EnableBeansFilter.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EnableBeansFilter.java @@ -190,7 +190,7 @@ DependencyInjectionResult filter(AtomicBoolean cancel){ //no implementation on classpath/sources or it's fileterd by common logic(for usual beans) //first check if we have a class in white list (i.e. must be implemented in ee7 environment) String nm = myResult.getVariableType().toString(); - if(nm.startsWith("javax.") || nm.startsWith("java.")) {//NOI18N + if(nm.startsWith("javax.") || nm.startsWith("java.") || nm.startsWith("jakarta.")) {//NOI18N InjectableResultImpl res = handleEESpecificImplementations(getResult(), firstElement, enabledTypes); if(res != null) { return res; From 8e55b054e99ec91967d053707cf6818777ab7f27 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Thu, 2 Apr 2026 12:54:02 +0200 Subject: [PATCH 52/74] CI: Remove GraalVM job the tests can run on regular JDKs, GraalVM's polyglot features became dependencies in pasts. the modules are already covered by the java, debugger, ide, profiler and platform jobs (only the nashorn module needed to be moved). --- .github/workflows/main.yml | 67 ++------------------------------------ 1 file changed, 3 insertions(+), 64 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c52765488fdd..fa0ccef5fa12 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,9 +112,6 @@ env: # 'Gradle' or 'Maven' will activate lsp tests too due to test dependencies on project API (ProjectViewTest, LspBrokenReferencesImplTest, ...) test_lsp: ${{ contains(github.event.pull_request.labels.*.name, 'LSP') || contains(github.event.pull_request.labels.*.name, 'Gradle') || contains(github.event.pull_request.labels.*.name, 'Maven') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} - # 'GraalVM' label for tests requirering GraalVM - test_graalvm: ${{ contains(github.event.pull_request.labels.*.name, 'GraalVM') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} - # 'Ant', 'Gradle', 'Maven' and 'MX' labels trigger the build-tools job test_build_tools: ${{ contains(github.event.pull_request.labels.*.name, 'Ant') || contains(github.event.pull_request.labels.*.name, 'Gradle') || contains(github.event.pull_request.labels.*.name, 'Maven') || contains(github.event.pull_request.labels.*.name, 'MX') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} @@ -1349,6 +1346,9 @@ jobs: - name: java.module.graph run: ant $OPTS -f java/java.module.graph test + - name: java/nashorn.execution + run: ant $OPTS -f java/nashorn.execution test + - name: java.navigation run: ant $OPTS -f java/java.navigation test @@ -2543,66 +2543,6 @@ jobs: paths: "./*/*/build/test/*/results/TEST-*.xml" - graalvm-test: - name: GraalVM ${{ matrix.graal }} Tests - # equals env.test_graalvm == 'true' - if: ${{ contains(github.event.pull_request.labels.*.name, 'GraalVM') || contains(github.event.pull_request.labels.*.name, 'ci:all-tests') || github.event_name != 'pull_request' }} - needs: base-build - runs-on: ubuntu-latest - timeout-minutes: 60 - strategy: - matrix: - graal: [ '21.0.2' ] - fail-fast: false - - steps: - - name: Setup Xvfb - run: | - echo "DISPLAY=:99.0" >> $GITHUB_ENV - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & - - - name: Download Build - uses: actions/download-artifact@v8 - with: - name: build.tar.zst - - - name: Extract - run: tar --zstd -xf build.tar.zst - - - name: Setup GraalVM ${{ matrix.graal }} - run: | - URL=https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${{ matrix.graal }}/graalvm-community-jdk-${{ matrix.graal }}_linux-x64_bin.tar.gz - curl -L $URL | tar -xz - GRAALVM=$(realpath graalvm-community-openjdk-*) - echo "JAVA_HOME=$GRAALVM" >> $GITHUB_ENV - - - name: platform/core.network - run: ant $OPTS -f platform/core.network test - - - name: platform/api.scripting - run: ant $OPTS -f platform/api.scripting test - - - name: ide/libs.graalsdk - run: ant $OPTS -f ide/libs.graalsdk test - - - name: webcommon/libs.graaljs - run: ant $OPTS -f webcommon/libs.graaljs test - - - name: profiler/profiler.oql - run: ant $OPTS -f profiler/profiler.oql test - - - name: java/nashorn.execution - run: ant $OPTS -f java/nashorn.execution test - - - name: java/debugger.jpda.truffle - run: .github/retry.sh ant $OPTS -f java/debugger.jpda.truffle test - - - name: Create Test Summary - uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4 - if: failure() - with: - paths: "./*/*/build/test/*/results/TEST-*.xml" - # cleanup job depends on everything so that it is forced to run last even if a long job fails early. # 'paperwork' is left out intentionally, since it doesn't run unit tests (hopefully doesn't need restarts) # and shouldn't prevent cleanup on validation failure - which might be common during dev time @@ -2630,7 +2570,6 @@ jobs: - versioning-test - lsp-test - mysql-db-test - - graalvm-test # cleanup if the primary build job succeeded and # * nothing else failed (allows manual restarts) From 43be477d3420d460cc495513ac2a82b940a01398 Mon Sep 17 00:00:00 2001 From: Neil C Smith Date: Tue, 31 Mar 2026 18:25:46 +0100 Subject: [PATCH 53/74] Move setting of awtAppClassName from MainWindow to Main Move the setting of awtAppClassName for XToolkit into Main so that it is set before splash and import dialogs are created. This fixes issues with duplicate dock icons caused by incorrect WM_CLASS derived from this field value. --- nb/ide.branding/build.xml | 1 + .../core/startup/Bundle_nb.properties | 1 + .../netbeans/core/startup/Bundle.properties | 3 +++ .../src/org/netbeans/core/startup/Main.java | 23 ++++++++++++++++++- .../core/windows/view/ui/MainWindow.java | 16 ------------- 5 files changed, 27 insertions(+), 17 deletions(-) diff --git a/nb/ide.branding/build.xml b/nb/ide.branding/build.xml index 29cd0a8544b6..6dc67cd50a03 100644 --- a/nb/ide.branding/build.xml +++ b/nb/ide.branding/build.xml @@ -42,6 +42,7 @@ Contributor(s): Vincent Brabant, Maxym Mykhalchuk + getKlass(String cls) { try { @@ -361,6 +364,24 @@ private static Class getKlass(String cls) { } } + // moved from MainWindow::init to handle splash, etc. + private static void configureAWTAppClassName() { + Toolkit toolkit = Toolkit.getDefaultToolkit(); + Class xtoolkit = toolkit.getClass(); + if (xtoolkit.getName().equals("sun.awt.X11.XToolkit")) { //NOI18N + // TODO those add --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED + + //#183739 / JDK-6528430 - provide proper app name on Linux + try { + final Field awtAppClassName = xtoolkit.getDeclaredField("awtAppClassName"); //NOI18N + awtAppClassName.setAccessible(true); + awtAppClassName.set(null, NbBundle.getMessage(Main.class, "AWT_AppClassName", "").strip()); //NOI18N + } catch (Exception x) { + Logger.getLogger(Main.class.getName()).log(Level.FINE, "can't change X11 application name", x); + } + } + } + /** Does import of userdir. Made non-private just for testing purposes. * * @return true if the execution should continue or false if it should diff --git a/platform/core.windows/src/org/netbeans/core/windows/view/ui/MainWindow.java b/platform/core.windows/src/org/netbeans/core/windows/view/ui/MainWindow.java index 8320bfd81f0c..c78d4fb33a9d 100755 --- a/platform/core.windows/src/org/netbeans/core/windows/view/ui/MainWindow.java +++ b/platform/core.windows/src/org/netbeans/core/windows/view/ui/MainWindow.java @@ -23,7 +23,6 @@ import java.awt.*; import java.awt.event.*; import java.io.File; -import java.lang.reflect.Field; import java.util.*; import java.util.List; import java.util.logging.Level; @@ -116,21 +115,6 @@ public static void init() { if (mainMenuBar == null) { mainMenuBar = createMenuBar(); ToolbarPool.getDefault().waitFinished(); - - Toolkit toolkit = Toolkit.getDefaultToolkit(); - Class xtoolkit = toolkit.getClass(); - if (xtoolkit.getName().equals("sun.awt.X11.XToolkit")) { //NOI18N - // TODO those add --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED - - //#183739 / JDK-6528430 - provide proper app name on Linux - try { - final Field awtAppClassName = xtoolkit.getDeclaredField("awtAppClassName"); //NOI18N - awtAppClassName.setAccessible(true); - awtAppClassName.set(null, NbBundle.getMessage(MainWindow.class, "CTL_MainWindow_Title_No_Project", "").strip()); //NOI18N - } catch (Exception x) { - LOGGER.log(Level.FINE, "can't change X11 application name", x); - } - } } logLookAndFeelUsage(); From aca7ea9f79a55f90e3f28cb69229dcc3d28ca5e4 Mon Sep 17 00:00:00 2001 From: Yann Dameron Date: Mon, 30 Mar 2026 13:42:26 +0200 Subject: [PATCH 54/74] Netigso: Fix parsing of complex Export-Package manifest entries. Export-Package entries are not just comma separated values, but can contain parameters, which themselves can contain commas in quoted strings. These cases need to be handled correctly. --- .../org/netbeans/core/netigso/Netigso.java | 49 ++++++++++++++++++- .../netbeans/core/netigso/NetigsoTest.java | 23 +++++++++ 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/platform/core.netigso/src/org/netbeans/core/netigso/Netigso.java b/platform/core.netigso/src/org/netbeans/core/netigso/Netigso.java index 7db6c84dae73..61e6de2d4249 100644 --- a/platform/core.netigso/src/org/netbeans/core/netigso/Netigso.java +++ b/platform/core.netigso/src/org/netbeans/core/netigso/Netigso.java @@ -27,16 +27,17 @@ import java.io.InputStream; import java.net.URL; import java.security.ProtectionDomain; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.StringTokenizer; import java.util.concurrent.atomic.AtomicBoolean; import java.util.jar.JarEntry; import java.util.jar.JarFile; @@ -291,7 +292,7 @@ protected Set createLoader(ModuleInfo m, ProxyClassLoader pcl, File jar) } } if (exported instanceof String) { - for (String p : exported.toString().split(",")) { // NOI18N + for (String p : splitExportPackages(exported.toString())) { pkgs.add(extractBundleName(p)); } } @@ -800,4 +801,48 @@ private static Set findRecursivePkgs(Module m, PackageExport packageExpo public final byte[] patchBC(ClassLoader l, String className, ProtectionDomain pd, byte[] arr) { return patchByteCode(l, className, pd, arr); } + + static List splitExportPackages(String exportPkg) { + List elements = new ArrayList<>(); + StringBuilder buffer = new StringBuilder(); + boolean inQuotedString = false; + for (int i = 0; i < exportPkg.length(); i++) { + char nextChar = exportPkg.charAt(i); + switch(nextChar) { + case '"' -> { + inQuotedString = ! inQuotedString; + buffer.append(nextChar); + } + case ',' -> { + if (inQuotedString) { + buffer.append(nextChar); + } else { + elements.add(buffer.toString()); + buffer.setLength(0); + } + } + case '\\' -> { + buffer.append(nextChar); + if (inQuotedString) { + if((i + 1) == exportPkg.length()) { + throw new IllegalStateException("Invalid escape sequence"); + } + nextChar = exportPkg.charAt(i + 1); + i++; + if (nextChar == '"' || nextChar == '\\') { + buffer.append(nextChar); + } else { + throw new IllegalStateException("Invalid escape sequence"); + } + } + } + default -> buffer.append(nextChar); + } + } + if(! buffer.isEmpty()){ + elements.add(buffer.toString()); + } + return elements; + } + } diff --git a/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoTest.java b/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoTest.java index 8d0d896f7064..c440c9a9482a 100644 --- a/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoTest.java +++ b/platform/core.netigso/test/unit/src/org/netbeans/core/netigso/NetigsoTest.java @@ -22,6 +22,7 @@ import java.io.File; import java.util.Arrays; import java.util.HashSet; +import java.util.List; import org.netbeans.MockModuleInstaller; import org.netbeans.MockEvents; import org.netbeans.Module; @@ -213,4 +214,26 @@ public void testNonNumericVersionNumberIsOK() throws Exception { mgr.mutexPrivileged().exitWriteAccess(); } } + + public void testSplitExportPackages() { + String exportPkgs = "a.b," + + "a.b.c;version=\"1.0.0\";uses:=\"x.y.z,x.y.z.k\"," + + "a.b.c.d;version=\"1.0.0\"," + + "a.b.c.e;version=\"1.0.0\";uses:=\"x.y.z\""; + List result = Netigso.splitExportPackages(exportPkgs); + assertEquals(4, result.size()); + assertEquals("a.b", result.get(0)); + assertEquals("a.b.c;version=\"1.0.0\";uses:=\"x.y.z,x.y.z.k\"", result.get(1)); + assertEquals("a.b.c.d;version=\"1.0.0\"", result.get(2)); + assertEquals("a.b.c.e;version=\"1.0.0\";uses:=\"x.y.z\"", result.get(3)); + + // Test that the \" are ignored. + exportPkgs = "x.y.z,a.b.c;a=\"\\\"\",d.e.f"; + result = Netigso.splitExportPackages(exportPkgs); + assertEquals(3, result.size()); + assertEquals("x.y.z", result.get(0)); + assertEquals("a.b.c;a=\"\\\"\"", result.get(1)); + assertEquals("d.e.f", result.get(2)); + } + } From 1d857329190a054cc14375a58ae1ad2f04b43cca Mon Sep 17 00:00:00 2001 From: Eric Barboni Date: Wed, 1 Apr 2026 17:50:29 +0200 Subject: [PATCH 55/74] make jnlp build process runnable again --- extide/gradle/nbproject/project.properties | 4 ++ harness/apisupport.harness/release/jnlp.xml | 1 + .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 + .../nbproject/project.properties | 6 +++ .../nbproject/project.properties | 49 ++++++++++++++++++- .../antsrc/org/netbeans/nbbuild/MakeJNLP.java | 2 +- .../org/netbeans/nbbuild/VerifyJNLP.java | 2 +- nbbuild/build.xml | 8 +-- 9 files changed, 65 insertions(+), 11 deletions(-) diff --git a/extide/gradle/nbproject/project.properties b/extide/gradle/nbproject/project.properties index 1552015ba9f1..915efb60fe9a 100644 --- a/extide/gradle/nbproject/project.properties +++ b/extide/gradle/nbproject/project.properties @@ -43,3 +43,7 @@ extra.module.files=\ # It shall be built on the lowest language level that the Gradle integration supports tooling.javac.release=8 tooling.gradle.version=8.11.1 + +jnlp.verify.excludes=modules/gradle/nb-tooling.gradle,\ + modules/gradle/daemon-loader/build.gradle,\ + modules/gradle/daemon-loader/settings.gradle \ No newline at end of file diff --git a/harness/apisupport.harness/release/jnlp.xml b/harness/apisupport.harness/release/jnlp.xml index cd1251a27927..65a8d554e415 100644 --- a/harness/apisupport.harness/release/jnlp.xml +++ b/harness/apisupport.harness/release/jnlp.xml @@ -127,6 +127,7 @@ keystore="${jnlp.signjar.keystore}" storepass="${jnlp.signjar.password}" dname="${jnlp.signjar.vendor}" + keyalg="DSA" /> diff --git a/java/java.j2seplatform/nbproject/project.properties b/java/java.j2seplatform/nbproject/project.properties index 58cc3858b25b..de1e50252779 100644 --- a/java/java.j2seplatform/nbproject/project.properties +++ b/java/java.j2seplatform/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 extra.module.files=modules/ext/org-netbeans-modules-java-j2seplatform-probe.jar jnlp.indirect.jars=modules/ext/org-netbeans-modules-java-j2seplatform-probe.jar - +jnlp.verify.excludes=scripts/J2SEPlatformProbe.java javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/java/java.mx.project/nbproject/project.properties b/java/java.mx.project/nbproject/project.properties index cd517610d949..c1408b97c9bc 100644 --- a/java/java.mx.project/nbproject/project.properties +++ b/java/java.mx.project/nbproject/project.properties @@ -24,3 +24,5 @@ requires.nb.javac=true test.run.args=-Dorg.netbeans.modules.java.mx.project.test.mxpath=${basedir}/test/unit/data/mx/mx test.jms.flags=--add-opens=java.base/java.net=ALL-UNNAMED + +jnlp.verify.excludes=org.eclipse.jdt.core.prefs \ No newline at end of file diff --git a/java/java.openjdk.project/nbproject/project.properties b/java/java.openjdk.project/nbproject/project.properties index a785a66d13dd..785365aff6c1 100644 --- a/java/java.openjdk.project/nbproject/project.properties +++ b/java/java.openjdk.project/nbproject/project.properties @@ -28,3 +28,9 @@ test.config.default.excludes=**/ModulesHintTest.class # remove default compiler JMS flags to fix "WARNING: Unknown module: jdk.compiler specified to --add-opens" warnings jms-compiler.flags.jvm= + +jnlp.verify.excludes=scripts/build-generic.xml,\ + scripts/build-langtools.xml,\ + modules/ext/fakeJdkClasses.zip,\ + patterns/project-marker-jdk,\ + scripts/build-langtools-consol.xml \ No newline at end of file diff --git a/java/maven.embedder/nbproject/project.properties b/java/maven.embedder/nbproject/project.properties index e9ef864fccad..3f5b9a9b17a8 100644 --- a/java/maven.embedder/nbproject/project.properties +++ b/java/maven.embedder/nbproject/project.properties @@ -29,8 +29,53 @@ javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml jnlp.indirect.files=modules/ext/maven/rootpackage/default-report.xml,modules/ext/maven/settings.xml # Will not be able to run bundled Maven, but embedder should work and should be able to specify external Maven: -jnlp.verify.excludes=maven/NOTICE,maven/bin/mvnDebug,maven/bin/m2.conf,maven/LICENSE,maven/README.txt,maven/conf/settings.xml,maven/bin/mvnyjp,maven/bin/mvn,maven/bin/mvn.bat,maven/bin/mvnDebug.bat,maven/lib/ext/README.txt, maven/lib/maven-settings-builder.license, maven/lib/org.eclipse.sisu.inject.license, maven/lib/wagon-http.license, maven/lib/maven-compat.license, maven/lib/org.eclipse.sisu.plexus.license, maven/lib/maven-artifact.license, maven/lib/maven-settings.license, maven/lib/maven-model.license, maven/lib/maven-embedder.license, maven/lib/maven-builder-support.license, maven/lib/aether-util.license, maven/lib/maven-model-builder.license, maven/lib/wagon-provider-api.license, maven/lib/wagon-file.license, maven/lib/slf4j-api.license, maven/lib/aether-impl.license, maven/lib/aether-transport-wagon.license, maven/lib/plexus-cipher.license, maven/bin/mvnDebug.cmd, maven/conf/logging/simplelogger.properties, maven/lib/plexus-sec-dispatcher.license, maven/bin/mvn.cmd, maven/lib/maven-aether-provider.license, maven/lib/aether-api.license, maven/lib/cdi-api.license, maven/lib/aether-spi.license, maven/lib/commons-lang3.license, maven/lib/jsr250-api.license, maven/lib/jsoup.license, maven/lib/maven-repository-metadata.license, maven/lib/wagon-http-shared.license, maven/lib/maven-core.license, maven/lib/maven-plugin-api.license, maven/lib/aether-connector-basic.license, maven/lib/slf4j-simple.license, maven/conf/toolchains.xml -# gen-sigtest fails with: +jnlp.verify.excludes=maven/lib/ext/hazelcast/README.txt,\ + maven/lib/org.eclipse.sisu.plexus.license,\ + maven/lib/asm.license,\ + maven/boot/plexus-classworlds.license,\ + maven/NOTICE,\ + maven/lib/plexus-utils.license,\ + maven/bin/m2.conf,\ + maven/lib/ext/redisson/README.txt,\ + maven/README.txt,\ + maven/lib/slf4j-api.license,\ + maven/bin/mvnDebug.cmd,\ + maven/lib/ext/README.txt,\ + maven/conf/logging/simplelogger.properties,\ + maven/bin/mvn.cmd,\ + maven/bin/mvnDebug,\ + maven/lib/jansi-native/Windows/x86_64/jansi.dll,\ + maven/lib/jspecify.license,\ + maven/LICENSE,\ + maven/lib/jansi-2.4.2.jar,\ + maven/lib/commons-cli.license,\ + maven/lib/commons-codec.license,\ + maven/lib/aopalliance.license,\ + maven/lib/error_prone_annotations.license,\ + maven/lib/guice.license,\ + maven/lib/gson.license,\ + maven/lib/org.eclipse.sisu.inject.license,\ + maven/lib/jansi-native/Windows/arm64/jansi.dll,\ + maven/lib/failureaccess.license,\ + maven/lib/javax.annotation-api.license,\ + maven/lib/httpcore.license,\ + maven/lib/plexus-interpolation.license,\ + maven/lib/jcl-over-slf4j.license,\ + maven/lib/jansi-native/Windows/x86/jansi.dll,\ + maven/lib/plexus-cipher.license,\ + maven/lib/plexus-sec-dispatcher.license,\ + maven/conf/settings.xml,\ + maven/lib/jansi-native/README.txt,\ + maven/lib/jansi.license,\ + maven/bin/mvnyjp,\ + maven/bin/mvn,\ + maven/lib/guava.license,\ + maven/lib/plexus-component-annotations.license,\ + maven/lib/javax.inject.license,\ + maven/lib/httpclient.license,\ + maven/conf/toolchains.xml + + # gen-sigtest fails with: # Fatal error: class junit.framework.TestCase not found sigtest.gen.fail.on.error=false diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/MakeJNLP.java b/nbbuild/antsrc/org/netbeans/nbbuild/MakeJNLP.java index 7129fe598f8f..8a7f43d1e1dc 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/MakeJNLP.java +++ b/nbbuild/antsrc/org/netbeans/nbbuild/MakeJNLP.java @@ -250,7 +250,7 @@ private void signOrCopy(File from, File to) { to.getParentFile().mkdirs(); } getSignTask().setSignedjar(to); - getSignTask().setDigestAlg("SHA1"); + getSignTask().setDigestAlg("SHA256"); getSignTask().execute(); } else if (to != null) { Copy copy = (Copy)getProject().createTask("copy"); diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/VerifyJNLP.java b/nbbuild/antsrc/org/netbeans/nbbuild/VerifyJNLP.java index 77aef90ffed8..6a179cc817ed 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/VerifyJNLP.java +++ b/nbbuild/antsrc/org/netbeans/nbbuild/VerifyJNLP.java @@ -217,7 +217,7 @@ public InputSource resolveEntity(String publicId, String systemId) throws SAXExc break; // just check one representative file } } - } catch (IOException x) { + } catch (SecurityException | IOException x) { error(jnlp, results, "Signatures", "error examining signatures in " + f + ": " + x); } } diff --git a/nbbuild/build.xml b/nbbuild/build.xml index d9917bbd3317..68fa98f5693a 100644 --- a/nbbuild/build.xml +++ b/nbbuild/build.xml @@ -370,6 +370,7 @@ metabuild.hash=${metabuild.hash} keystore="${jnlp.signjar.keystore}" storepass="${jnlp.signjar.password}" dname="${jnlp.signjar.vendor}" + keyalg="DSA" /> @@ -385,12 +386,7 @@ metabuild.hash=${metabuild.hash} - - - - - - + From 9738f02f9751434e881b3290cda251310af16f8e Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 29 Mar 2026 05:24:25 +0200 Subject: [PATCH 56/74] Improve startup cache loading performance - use Data*Streams instead of Object*Streams - simplify file format (no XML) - code renovation and other minor optimizations results in 4x faster cache loading times (readCache() and calculateParents() methods) minor: - ModuleManager.EnableContext: List -> Set for field solely used for contains() in inner loop - Module: data loading can synchronize on instance instead of class (DATA_LOCK no longer static) note: The IO utility class calls Dependency#create using MethodHandle to avoid having to make it public API or introduce a split package. --- .../org/netbeans/core/startup/ModuleList.java | 149 ++++++++++++------ .../netbeans/core/startup/ModuleSystem.java | 41 ++--- .../src/org/netbeans/DepUtil.java | 89 +++++++++++ .../src/org/netbeans/Module.java | 43 ++--- .../src/org/netbeans/ModuleData.java | 97 ++++++------ .../src/org/netbeans/ModuleManager.java | 11 +- .../src/org/netbeans/NetigsoModule.java | 5 +- .../src/org/netbeans/Stamps.java | 78 +++------ .../src/org/netbeans/StandardModule.java | 48 +++--- .../src/org/netbeans/StandardModuleData.java | 19 +-- .../unit/src/org/netbeans/DepUtilTest.java | 57 +++++++ .../src/org/openide/modules/Dependency.java | 17 +- 12 files changed, 402 insertions(+), 252 deletions(-) create mode 100644 platform/o.n.bootstrap/src/org/netbeans/DepUtil.java create mode 100644 platform/o.n.bootstrap/test/unit/src/org/netbeans/DepUtilTest.java diff --git a/platform/core.startup/src/org/netbeans/core/startup/ModuleList.java b/platform/core.startup/src/org/netbeans/core/startup/ModuleList.java index e1595f153ea2..24de5bf21cca 100644 --- a/platform/core.startup/src/org/netbeans/core/startup/ModuleList.java +++ b/platform/core.startup/src/org/netbeans/core/startup/ModuleList.java @@ -24,13 +24,12 @@ import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.CharArrayWriter; +import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PushbackInputStream; @@ -67,6 +66,7 @@ import org.openide.filesystems.FileSystem; import org.openide.filesystems.FileSystem.AtomicAction; import org.openide.filesystems.FileUtil; +import org.netbeans.DepUtil; import org.openide.modules.Dependency; import org.openide.modules.InstalledFileLocator; import org.openide.modules.SpecificationVersion; @@ -111,7 +111,7 @@ final class ModuleList implements Stamps.Updater { /** to fire events with */ private final Events ev; /** map from code name (base)s to statuses of modules on disk */ - private final Map statuses = new HashMap(100); + private final Map statuses = new HashMap<>(100); /** whether the initial round has been triggered or not */ private boolean triggered = false; /** listener for changes in modules, etc.; see comment on class Listener */ @@ -197,8 +197,7 @@ private File findJarByName(String jar, String name) throws IOException { for (File candidate : jars) { int candidateMajor = -1; SpecificationVersion candidateSpec = null; - JarFile jf = new JarFile(candidate); - try { + try (JarFile jf = new JarFile(candidate)) { java.util.jar.Attributes attr = jf.getManifest().getMainAttributes(); String codename = attr.getValue("OpenIDE-Module"); if (codename != null) { @@ -211,8 +210,6 @@ private File findJarByName(String jar, String name) throws IOException { if (sv != null) { candidateSpec = new SpecificationVersion(sv); } - } finally { - jf.close(); } if (newest == null || candidateMajor > major || (spec != null && candidateSpec != null && candidateSpec.compareTo(spec) > 0)) { newest = candidate; @@ -434,7 +431,10 @@ private Object processStatusParam(String k, String v) throws NumberFormatExcepti /** Just checks that all the right stuff is there. */ - private void sanityCheckStatus(Map m) throws IOException { + private static void sanityCheckStatus(Map m) throws IOException { + if (m.isEmpty()) { + throw new IOException("Must define properties"); // NOI18N + } String jar = (String) m.get("jar"); // NOI18N if (jar == null) { throw new IOException("Must define jar param"); // NOI18N @@ -612,7 +612,7 @@ private String readTo(InputStream is, char delim) throws IOException { } } - final Map> readCache() { + final Map> readCache() { InputStream is = Stamps.getModulesJARs().asStream("all-modules.dat"); // NOI18N if (is == null) { // schedule write for later @@ -620,30 +620,14 @@ final Map> readCache() { return null; } LOG.log(Level.FINEST, "Reading cache all-modules.dat"); - try { - ObjectInputStream ois = new ObjectInputStream(is); - - Map> ret = new HashMap>(1333); - while (is.available() > 0) { - Map prop = readStatus(ois, false); - if (prop == null) { - LOG.log(Level.CONFIG, "Cache is invalid all-modules.dat"); - return null; - } - Set deps; - try { - deps = (Set) ois.readObject(); - } catch (ClassNotFoundException ex) { - throw new IOException(ex); - } - prop.put("deps", deps); - String cnb = (String)prop.get("name"); // NOI18N - ret.put(cnb, prop); + try (DataInputStream dis = new DataInputStream(is)) { + Map> cache = new HashMap<>(1333); + while (dis.available() > 0) { + Map props = readProps(dis); + props.put("deps", readDeps(dis)); + cache.put((String) props.get("name"), props); } - - - is.close(); - return ret; + return cache; } catch (IOException ex) { LOG.log(Level.INFO, "Cannot read cache", ex); writeCache(); @@ -651,6 +635,49 @@ final Map> readCache() { } } + private static Set readDeps(DataInputStream is) throws IOException { + int depCount = is.readInt(); + if (depCount < 0) { + throw new IOException("negative count"); + } else if (depCount == 0) { + return Set.of(); + } + Set deps = new HashSet<>((int) Math.ceil(depCount / 0.75)); + for (int i = 0; i < depCount; i++) { + deps.add(DepUtil.read(is)); + } + return deps; + } + + /// @see #computeProperties(org.netbeans.Module) + private static Map readProps(DataInputStream is) throws IOException { + int propCount = is.readByte(); + if (propCount < 0) { + throw new IOException("negative count"); + } + Map props = new HashMap<>((int) Math.ceil(propCount / 0.75)); + for (int i = 0; i < propCount; i++) { + String entry = is.readUTF(); + int split = entry.indexOf('='); // ok, since keys don't contain '=' + String key = entry.substring(0, split); + String value = entry.substring(split + 1, entry.length()); + // must match computeProperties() + try { + Object val = switch (key) { + case "name", "jar" -> value; + case "enabled", "autoload", "eager", "reloadable" -> Boolean.valueOf(value); + case "startlevel" -> Integer.valueOf(value); + default -> throw new IOException("unknown key " + key); + }; + props.put(key, val); + } catch (IllegalArgumentException ex) { + throw new IOException("unexpected value", ex); + } + } + sanityCheckStatus(props); + return props; + } + final void writeCache() { Stamps.getModulesJARs().scheduleSave(this, "all-modules.dat", false); } @@ -661,14 +688,23 @@ public void cacheReady() { @Override public void flushCaches(DataOutputStream os) throws IOException { - ObjectOutputStream oss = new ObjectOutputStream(os); for (Module m : mgr.getModules()) { if (m.isFixed()) { continue; } - Map prop = computeProperties(m); - writeStatus(prop, oss); - oss.writeObject(m.getDependencies()); + // props + Map props = computeProperties(m); + os.writeByte(props.size()); + for (Entry prop : props.entrySet()) { + os.writeUTF(prop.getKey() + "=" + prop.getValue()); + } + + // deps + Set deps = m.getDependencies(); + os.writeInt(deps.size()); + for (Dependency dep : deps) { + DepUtil.write(dep, os); + } } } @@ -694,7 +730,7 @@ private void writeStatus(Map m, OutputStream os) throws IOExcept // Use TreeMap to sort the keys by name; since the module status files might // be version-controlled we want to avoid gratuitous format changes. - for (Map.Entry entry: new TreeMap(m).entrySet()) { + for (Map.Entry entry : new TreeMap<>(m).entrySet()) { String name = entry.getKey(); if ( name.equals("name") || // NOI18N @@ -749,11 +785,8 @@ public void run() throws IOException { LOG.fine("ModuleList: (re)writing " + nue.file); FileLock lock = nue.file.lock(); try { - OutputStream os = nue.file.getOutputStream(lock); - try { + try (OutputStream os = nue.file.getOutputStream(lock)) { writeStatus(nue.diskProps, os); - } finally { - os.close(); } } finally { lock.releaseLock(); @@ -944,12 +977,14 @@ private void moduleChanged(Module m, DiskStatus status) { } } - /** Compute what properties we would want to store in XML + /** + * Compute what properties we would want to store in XML (or the startup cache) * for this module. I.e. 'name', 'reloadable', etc. + * @see #readProps(java.io.DataInputStream) */ - private Map computeProperties(Module m) { + private Map computeProperties(Module m) { if (m.isFixed() || ! m.isValid()) throw new IllegalArgumentException("fixed or invalid: " + m); // NOI18N - Map p = new HashMap(); + Map p = new HashMap<>(8); p.put("name", m.getCodeNameBase()); // NOI18N if (!m.isAutoload() && !m.isEager()) { p.put("enabled", m.isEnabled()); // NOI18N @@ -960,8 +995,7 @@ private Map computeProperties(Module m) { if (m.getStartLevel() > 0) { p.put("startlevel", m.getStartLevel()); // NOI18N } - if (m.getHistory() instanceof ModuleHistory) { - ModuleHistory hist = (ModuleHistory) m.getHistory(); + if (m.getHistory() instanceof ModuleHistory hist) { p.put("jar", hist.getJar()); // NOI18N } return p; @@ -990,6 +1024,7 @@ private final class Listener implements PropertyChangeListener, ErrorHandler, En // Property change coming from ModuleManager or some known Module. private boolean listening = true; + @Override public void propertyChange(PropertyChangeEvent evt) { if (! triggered) throw new IllegalStateException("Property change before trigger()"); // NOI18N // REMEMBER this is inside *read* mutex, it is forbidden to even attempt @@ -1036,15 +1071,19 @@ public void propertyChange(PropertyChangeEvent evt) { // SAX stuff. + @Override public void warning(SAXParseException e) throws SAXException { LOG.log(Level.WARNING, null, e); } + @Override public void error(SAXParseException e) throws SAXException { throw e; } + @Override public void fatalError(SAXParseException e) throws SAXException { throw e; } + @Override public InputSource resolveEntity(String pubid, String sysid) throws SAXException, IOException { if (pubid.equals(PUBLIC_ID)) { if (VALIDATE_XML) { @@ -1062,6 +1101,7 @@ public InputSource resolveEntity(String pubid, String sysid) throws SAXException // Changes in Modules/ folder. + @Override public void fileDeleted(FileEvent ev) { if (isOurs(ev)) { if (LOG.isLoggable(Level.FINE)) { @@ -1073,6 +1113,7 @@ public void fileDeleted(FileEvent ev) { fileDeleted0(fo.getName(), fo.getExt()/*, ev.getTime()*/); } + @Override public void fileDataCreated(FileEvent ev) { if (isOurs(ev)) { if (LOG.isLoggable(Level.FINE)) { @@ -1084,6 +1125,7 @@ public void fileDataCreated(FileEvent ev) { fileCreated0(fo.getName(), fo.getExt()/*, ev.getTime()*/); } + @Override public void fileRenamed(FileRenameEvent ev) { if (isOurs(ev)) { throw new IllegalStateException("I don't rename anything! " + ev); // NOI18N @@ -1124,6 +1166,7 @@ private void fileDeleted0(String name, String ext/*, long time*/) { } // else ignore } + @Override public void fileChanged(FileEvent ev) { if (isOurs(ev)) { if (LOG.isLoggable(Level.FINE)) { @@ -1150,9 +1193,11 @@ public void fileChanged(FileEvent ev) { } // else ignore } + @Override public void fileFolderCreated(FileEvent ev) { // ignore } + @Override public void fileAttributeChanged(FileAttributeEvent ev) { // ignore } @@ -1549,7 +1594,7 @@ public void run() { Map> cache = readCache(); String[] names; if (cache != null) { - names = cache.keySet().toArray(new String[cache.size()]); + names = cache.keySet().toArray(String[]::new); } else { FileObject[] children = folder.getChildren(); List arr = new ArrayList(children.length); @@ -1572,7 +1617,7 @@ public void run() { LOG.fine("Strange file encountered in modules folder: " + f); } } - names = arr.toArray(new String[0]); + names = arr.toArray(String[]::new); } ev.log(Events.MODULES_FILE_SCANNED, names.length); XMLReader reader = null; @@ -1635,12 +1680,12 @@ public void run() { } ModuleHistory history = new ModuleHistory(jar, "loaded from " + f); // NOI18N Boolean reloadableB = (Boolean) props.get("reloadable"); // NOI18N - boolean reloadable = reloadableB != null ? reloadableB.booleanValue() : false; - boolean enabled = enabledB != null ? enabledB.booleanValue() : false; + boolean reloadable = reloadableB != null ? reloadableB : false; + boolean enabled = enabledB != null ? enabledB : false; Boolean autoloadB = (Boolean) props.get("autoload"); // NOI18N - boolean autoload = autoloadB != null ? autoloadB.booleanValue() : false; + boolean autoload = autoloadB != null ? autoloadB : false; Boolean eagerB = (Boolean) props.get("eager"); // NOI18N - boolean eager = eagerB != null ? eagerB.booleanValue() : false; + boolean eager = eagerB != null ? eagerB : false; NbInstaller.register(name, props.get("deps")); // NOI18N Integer startLevel = (Integer)props.get("startlevel"); // NOI18N Module m = createModule(jarFile, history, reloadable, autoload, eager, startLevel); diff --git a/platform/core.startup/src/org/netbeans/core/startup/ModuleSystem.java b/platform/core.startup/src/org/netbeans/core/startup/ModuleSystem.java index 7408107ffa43..90355763b664 100644 --- a/platform/core.startup/src/org/netbeans/core/startup/ModuleSystem.java +++ b/platform/core.startup/src/org/netbeans/core/startup/ModuleSystem.java @@ -19,7 +19,6 @@ package org.netbeans.core.startup; -import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.io.IOException; @@ -84,11 +83,9 @@ public ModuleSystem(FileSystem systemFileSystem) throws IOException { final void init(FileSystem systemFileSystem) throws IOException { if (Boolean.getBoolean("org.netbeans.core.startup.ModuleSystem.CULPRIT")) Thread.dumpStack(); // NOI18N - PropertyChangeListener l = new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent ev) { - if (ModuleManager.PROP_CLASS_LOADER.equals(ev.getPropertyName())) { - org.netbeans.core.startup.MainLookup.systemClassLoaderChanged(mgr.getClassLoader()); - } + PropertyChangeListener l = (evt) -> { + if (ModuleManager.PROP_CLASS_LOADER.equals(evt.getPropertyName())) { + org.netbeans.core.startup.MainLookup.systemClassLoaderChanged(mgr.getClassLoader()); } }; mgr.addPropertyChangeListener(l); @@ -135,7 +132,7 @@ public Events getEvents() { public List getModuleJars () { mgr.mutexPrivileged().enterReadAccess(); try { - List l = new ArrayList(); + List l = new ArrayList<>(); for (Module m: mgr.getEnabledModules()) { l.addAll(m.getAllJars()); } @@ -158,7 +155,7 @@ public void loadBootModules() { // Keep a list of manifest URL bases which we know we do not need to // parse. Some of these manifests might be signed, and if so, we do not // want to touch them, as it slows down startup quite a bit. - Set ignoredJars = new HashSet(); + Set ignoredJars = new HashSet<>(); String javaHome = System.getProperty("java.home"); // NOI18N if (javaHome != null) { File lib = new File(new File(javaHome).getParentFile(), "lib"); // NOI18N @@ -173,7 +170,7 @@ public void loadBootModules() { mgr.mutexPrivileged().enterWriteAccess(); ev.log(Events.START_LOAD_BOOT_MODULES); try { - bootModules = new HashSet(10); + bootModules = new HashSet<>(10); ClassLoader upperLoader = ModuleSystem.class.getClassLoader(); // wrap alien loader, so it can be used among parent loaders of module (instanceof ProxyClassLoader) ClassLoader loader = new JarClassLoader(Collections.emptyList(), new ClassLoader[] { Module.class.getClassLoader() }); @@ -183,7 +180,7 @@ public void loadBootModules() { ev.log(Events.PERF_TICK, "got all manifests"); // NOI18N // There will be duplicates: cf. #32576. - Set checkedManifests = new HashSet(); + Set checkedManifests = new HashSet<>(); // process libs in 2 passes; first, process bootstrap libraries in platform/libs, creating // FixedModules with a classloader that only loads from those libs. @@ -284,16 +281,16 @@ public void readList() { } finally { mgr.mutexPrivileged().exitWriteAccess(); } - ev.log(Events.PERF_END, "ModuleSystem.readList"); // NOI18N + ev.log(Events.PERF_END, "ModuleSystem.readList"); // NOI18N } /** Install read modules. */ public void restore() { - ev.log(Events.PERF_START, "ModuleSystem.restore"); // NOI18N + ev.log(Events.PERF_START, "ModuleSystem.restore"); // NOI18N mgr.mutexPrivileged().enterWriteAccess(); try { - Set toTrigger = new HashSet(bootModules/*Collections.EMPTY_SET*/); + Set toTrigger = new HashSet<>(bootModules/*Collections.EMPTY_SET*/); list.trigger(toTrigger); mgr.releaseModuleManifests(); } finally { @@ -312,9 +309,7 @@ public void restore() { public boolean shutDown(final Runnable midHook) { try { return shutDownAsync(midHook).get(); - } catch (InterruptedException ex) { - Exceptions.printStackTrace(ex); - } catch (ExecutionException ex) { + } catch (InterruptedException | ExecutionException ex) { Exceptions.printStackTrace(ex); } return false; @@ -333,12 +328,9 @@ public boolean shutDown(final Runnable midHook) { */ public Future shutDownAsync(final Runnable midHook) { mgr.mutexPrivileged().enterWriteAccess(); - Runnable both = new Runnable() { - @Override - public void run() { - midHook.run(); - Stamps.getModulesJARs().shutdown(); - } + Runnable both = () -> { + midHook.run(); + Stamps.getModulesJARs().shutdown(); }; Future res; try { @@ -370,7 +362,7 @@ final void deployTestModule(File jar) throws IOException { // The test module: Module tm = null; // Anything that needs to be turned back on later: - Set toReenable = new HashSet(); + Set toReenable = new HashSet<>(); // First see if this refers to an existing module. // (If so, make sure it is reloadable.) for (Module m : mgr.getModules()) { @@ -406,7 +398,7 @@ final void deployTestModule(File jar) throws IOException { tm = mgr.create(jar, new ModuleHistory(jar.getAbsolutePath()), true, false, false); } catch (DuplicateException dupe2) { // Should not happen. - throw (IOException) new IOException(dupe2.toString()).initCause(dupe2); + throw new IOException(dupe2); } } } @@ -514,6 +506,7 @@ public static void markForRestart() throws UnsupportedOperationException { */ private static final class QuietEvents extends Events { QuietEvents() {} + @Override protected void logged(String message, Object[] args) {} } diff --git a/platform/o.n.bootstrap/src/org/netbeans/DepUtil.java b/platform/o.n.bootstrap/src/org/netbeans/DepUtil.java new file mode 100644 index 000000000000..5dc92408eff0 --- /dev/null +++ b/platform/o.n.bootstrap/src/org/netbeans/DepUtil.java @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.netbeans; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; +import java.lang.invoke.MethodHandle; +import java.lang.invoke.MethodHandles; +import java.lang.reflect.Method; +import org.openide.modules.Dependency; + +public final class DepUtil { + + private static final MethodHandle create; + + // This is here to avoid having to make #create public or to export it via package-private split-package. + static { + try { + Method createMethod = Dependency.class.getDeclaredMethod("create", String.class, String.class, int.class, int.class); + createMethod.setAccessible(true); + create = MethodHandles.publicLookup().unreflect(createMethod); + } catch (ReflectiveOperationException ex) { + throw new IllegalStateException("can't access " + Dependency.class.getName() + "#create", ex); + } + } + + private DepUtil() {} + + /** + * Reads a dependency from a stream. + *

+ * Custom persistence for faster/ephemeral serialization. + *

+ * Note: Do not use for long term persistence, format may change between releases. + * @see #write(org.openide.modules.Dependency, java.io.DataOutput) + */ + public static Dependency read(DataInput is) throws IOException { + int type = is.readByte(); + int comp = is.readByte(); + String name = is.readUTF(); + if (name == null || name.isEmpty()) { + throw new IOException("name expected"); + } + String version = is.readUTF(); + if (version.isEmpty()) { + version = null; + } + try { + return (Dependency) create.invokeExact(name, version, type, comp); + } catch (RuntimeException | Error ex) { + throw ex; + } catch (Throwable ex) { + throw new IllegalStateException("could not invoke Dependendy#create", ex); + } + } + + /** + * Writes this dependency to a stream. + *

+ * Custom persistence for faster/ephemeral serialization. + *

+ * Note: Do not use for long term persistence, format may change between releases. + * @see #read(java.io.DataInput) + */ + public static void write(Dependency dep, DataOutput os) throws IOException { + os.writeByte(dep.getType()); + os.writeByte(dep.getComparison()); + os.writeUTF(dep.getName().strip()); + os.writeUTF(dep.getVersion() != null ? dep.getVersion().strip() : ""); + } +} diff --git a/platform/o.n.bootstrap/src/org/netbeans/Module.java b/platform/o.n.bootstrap/src/org/netbeans/Module.java index ff81bba3e10a..c040a503f8ce 100644 --- a/platform/o.n.bootstrap/src/org/netbeans/Module.java +++ b/platform/o.n.bootstrap/src/org/netbeans/Module.java @@ -20,17 +20,19 @@ package org.netbeans; import java.io.DataInput; +import java.io.DataInputStream; import java.io.DataOutput; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.ObjectInput; -import java.io.ObjectInputStream; -import java.io.ObjectOutput; -import java.lang.reflect.Method; import java.net.URL; import java.security.CodeSource; -import java.util.*; +import java.util.Arrays; +import java.util.Collections; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.jar.Manifest; import java.util.logging.Level; import java.util.logging.Logger; @@ -80,7 +82,7 @@ public abstract class Module extends ModuleInfo { private ModuleData data; private NbInstrumentation instr; - private static final Object DATA_LOCK = new Object(); + private final Object DATA_LOCK = new Object(); /** Use ModuleManager.create as a factory. */ protected Module(ModuleManager mgr, Events ev, Object history, boolean reloadable, boolean autoload, boolean eager) throws IOException { @@ -115,7 +117,7 @@ protected Module(ModuleManager mgr, Events ev, Object history, ClassLoader class enabled = false; } - ModuleData createData(ObjectInput in, Manifest mf) throws IOException { + ModuleData createData(DataInput in, Manifest mf) throws IOException { if (in != null) { return new ModuleData(in); } else { @@ -123,7 +125,7 @@ ModuleData createData(ObjectInput in, Manifest mf) throws IOException { } } - final void writeData(ObjectOutput out) throws IOException { + final void writeData(DataOutput out) throws IOException { data().write(out); } @@ -136,6 +138,9 @@ final ModuleData data() { } final ModuleData dataWithCheck() throws InvalidException { + if (data != null) { + return data; + } synchronized (DATA_LOCK) { if (data != null) { return data; @@ -143,10 +148,8 @@ final ModuleData dataWithCheck() throws InvalidException { Util.err.log(Level.FINE, "Initialize data {0}", getJarFile()); // NOI18N InputStream is = mgr.dataFor(getJarFile()); if (is != null) { - try { - ObjectInputStream ois = new ObjectInputStream(is); + try (DataInputStream ois = new DataInputStream(is)) { ModuleData mine = createData(ois, null); - ois.close(); assert data == null; data = mine; return mine; @@ -286,8 +289,9 @@ public final boolean provides(String token) { @Override public Set getDependencies() { - return new HashSet(Arrays.asList(getDependenciesArray())); + return new HashSet<>(Arrays.asList(getDependenciesArray())); } + public final Dependency[] getDependenciesArray() { Dependency[] dependenciesA; try { @@ -317,8 +321,8 @@ public String getBuildVersion() { public @Override boolean owns(Class clazz) { ClassLoader cl = clazz.getClassLoader(); - if (cl instanceof Util.ModuleProvider) { - return ((Util.ModuleProvider) cl).getModule() == this; + if (cl instanceof Util.ModuleProvider mp) { + return mp.getModule() == this; } if (cl != classloader) { return false; @@ -341,11 +345,8 @@ static String findClasspathModuleCodeName(Class clazz) { loc = new URL("jar:" + loc + "!/"); } URL manifest = new URL(loc, "META-INF/MANIFEST.MF"); - InputStream is = manifest.openStream(); - try { + try (InputStream is = manifest.openStream()) { return new Manifest(is).getMainAttributes().getValue("OpenIDE-Module"); - } finally { - is.close(); } } catch (IOException x) { Logger.getLogger(Module.class.getName()).log(Level.FINE, null, x); @@ -500,7 +501,7 @@ public void releaseManifest() {} public Set getProblems() { // cannot use Union2 without being binary-incompatible if (! isValid()) throw new IllegalStateException("Not valid: " + this); // NOI18N if (isEnabled()) return Collections.emptySet(); - Set problems = new HashSet(); + Set problems = new HashSet<>(); for (Union2 problem : mgr.missingDependencies(this)) { if (problem.hasFirst()) { problems.add(problem.first()); @@ -561,8 +562,8 @@ public Enumeration findResources(String resources) { try { // #149136 ClassLoader cl = getClassLoader(); - if (cl instanceof ProxyClassLoader) { - return ((ProxyClassLoader) cl).findResources(resources); + if (cl instanceof ProxyClassLoader pcl) { + return pcl.findResources(resources); } //TODO: other ClassLoaders - what can we expect here? can fallback to getResources for JVM classloaders, and nothing else should be here? throw new IllegalStateException("Unexpected ClassLoader: " + cl + "."); diff --git a/platform/o.n.bootstrap/src/org/netbeans/ModuleData.java b/platform/o.n.bootstrap/src/org/netbeans/ModuleData.java index 9e9f32710eee..676e0b2d32c9 100644 --- a/platform/o.n.bootstrap/src/org/netbeans/ModuleData.java +++ b/platform/o.n.bootstrap/src/org/netbeans/ModuleData.java @@ -21,8 +21,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -91,7 +89,7 @@ class ModuleData { if (verifyCNBs) { Dependency.create(Dependency.TYPE_MODULE, codeName); } - codeNameRelease = (cnParse[1] != null) ? ((Integer) cnParse[1]).intValue() : -1; + codeNameRelease = (cnParse[1] != null) ? (Integer) cnParse[1] : -1; if (cnParse[2] != null) { throw new NumberFormatException(codeName); } @@ -120,7 +118,7 @@ class ModuleData { publicPackages = ZERO_PACKAGE_ARRAY; } else { StringTokenizer tok = new StringTokenizer(exportsS, ", "); // NOI18N - List exports = new ArrayList(Math.max(tok.countTokens(), 1)); + List exports = new ArrayList<>(Math.max(tok.countTokens(), 1)); while (tok.hasMoreTokens()) { String piece = tok.nextToken(); if (piece.endsWith(".*")) { // NOI18N @@ -148,7 +146,7 @@ class ModuleData { if (exports.isEmpty()) { throw new IllegalArgumentException("Illegal OpenIDE-Module-Public-Packages: " + exportsS); // NOI18N } - publicPackages = exports.toArray(new Module.PackageExport[0]); + publicPackages = exports.toArray(Module.PackageExport[]::new); } } else { // XXX new link? @@ -166,7 +164,7 @@ class ModuleData { String friends = attr.getValue("OpenIDE-Module-Friends"); // NOI18N if (friends != null) { StringTokenizer tok = new StringTokenizer(friends, ", "); // NOI18N - set = new HashSet(); + set = new HashSet<>(); while (tok.hasMoreTokens()) { String piece = tok.nextToken(); if (piece.indexOf('/') != -1) { @@ -209,7 +207,7 @@ class ModuleData { } catch (IllegalArgumentException iae) { throw (InvalidException) new InvalidException("While parsing " + codeName + " a dependency attribute: " + iae.toString()).initCause(iae); // NOI18N } - this.coveredPackages = new HashSet(); + this.coveredPackages = new HashSet<>(); this.agentClass = attr.getValue("Agent-Class"); } @@ -242,41 +240,53 @@ class ModuleData { this.publicPackages = null; this.provides = computeProvides(m, mf.getMainAttributes(), false, true); this.dependencies = computeImported(mf.getMainAttributes()); - this.coveredPackages = new HashSet(); + this.coveredPackages = new HashSet<>(); this.agentClass = getMainAttribute(mf, "Agent-Class"); // NOI18N this.fragmentHostCodeName = null; } - ModuleData(ObjectInput dis) throws IOException { - try { - this.codeName = dis.readUTF(); - this.codeNameBase = dis.readUTF(); - this.codeNameRelease = dis.readInt(); - this.coveredPackages = readStrings(dis, new HashSet(), true); - this.dependencies = (Dependency[]) dis.readObject(); - this.implVersion = dis.readUTF(); - this.buildVersion = dis.readUTF(); - this.provides = readStrings(dis); - this.friendNames = readStrings(dis, new HashSet(), false); - this.specVers = new SpecificationVersion(dis.readUTF()); - this.publicPackages = Module.PackageExport.read(dis); - this.agentClass = dis.readUTF(); - String s = dis.readUTF(); - if (s != null) { - s = s.trim(); - } - this.fragmentHostCodeName = s == null || s.isEmpty() ? null : s; - } catch (ClassNotFoundException cnfe) { - throw new IOException(cnfe); + ModuleData(DataInput dis) throws IOException { + this.codeName = dis.readUTF(); + this.codeNameBase = dis.readUTF(); + this.codeNameRelease = dis.readInt(); + this.coveredPackages = readStrings(dis, new HashSet<>(), true); + this.dependencies = readDeps(dis); + this.implVersion = dis.readUTF(); + this.buildVersion = dis.readUTF(); + this.provides = readStrings(dis); + this.friendNames = readStrings(dis, new HashSet<>(), false); + this.specVers = new SpecificationVersion(dis.readUTF()); + this.publicPackages = Module.PackageExport.read(dis); + this.agentClass = dis.readUTF(); + String s = dis.readUTF(); + if (s != null) { + s = s.trim(); + } + this.fragmentHostCodeName = s == null || s.isEmpty() ? null : s; + } + + private static Dependency[] readDeps(DataInput dis) throws IOException { + int count = Math.max(dis.readInt(), 0); + Dependency[] deps = new Dependency[count]; + for (int i = 0; i < deps.length; i++) { + deps[i] = DepUtil.read(dis); } + return deps; } - void write(ObjectOutput dos) throws IOException { + void write(DataOutput dos) throws IOException { dos.writeUTF(codeName); dos.writeUTF(codeNameBase); dos.writeInt(codeNameRelease); writeStrings(dos, coveredPackages); - dos.writeObject(dependencies); + if (dependencies == null) { + dos.writeInt(0); + } else { + dos.writeInt(dependencies.length); + for (Dependency dep : dependencies) { + DepUtil.write(dep, dos); + } + } dos.writeUTF(implVersion); dos.writeUTF(buildVersion); writeStrings(dos, provides); @@ -291,7 +301,7 @@ private Dependency[] computeImported(Attributes attr) { String pkgs = attr.getValue("Import-Package"); // NOI18N List arr = null; if (pkgs != null) { - arr = new ArrayList(); + arr = new ArrayList<>(); StringTokenizer tok = createTokenizer(pkgs); // NOI18N while (tok.hasMoreElements()) { String dep = beforeSemicolon(tok); @@ -301,7 +311,7 @@ private Dependency[] computeImported(Attributes attr) { String recomm = attr.getValue("Require-Bundle"); // NOI18N if (recomm != null) { if (arr == null) { - arr = new ArrayList(); + arr = new ArrayList<>(); } StringTokenizer tok = createTokenizer(recomm); // NOI18N while (tok.hasMoreElements()) { @@ -309,7 +319,7 @@ private Dependency[] computeImported(Attributes attr) { arr.addAll(Dependency.create(Dependency.TYPE_RECOMMENDS, "cnb." + dep)); // NOI18N } } - return arr == null ? null : arr.toArray(new Dependency[0]); + return arr == null ? null : arr.toArray(Dependency[]::new); } private static StringTokenizer createTokenizer(String osgiDep) { @@ -355,7 +365,7 @@ private String[] computeExported(boolean useOSGi, Collection arr, Attrib private String[] computeProvides( Module forModule, Attributes attr, boolean verifyCNBs, boolean useOSGi ) throws InvalidException, IllegalArgumentException { - Set arr = new LinkedHashSet(); + Set arr = new LinkedHashSet<>(); // Token provides String providesS = attr.getValue("OpenIDE-Module-Provides"); // NOI18N if (providesS != null) { @@ -394,11 +404,11 @@ private String[] computeProvides( private Dependency[] initDeps(Module forModule, Set knownDeps, Attributes attr) throws IllegalStateException, IllegalArgumentException { if (knownDeps != null) { - return knownDeps.toArray(new Dependency[0]); + return knownDeps.toArray(Dependency[]::new); } // deps - Set deps = new HashSet(20); + Set deps = new HashSet<>(20); // First convert IDE/1 -> org.openide/1, so we never have to deal with // "IDE deps" internally: @SuppressWarnings(value = "deprecation") @@ -428,7 +438,7 @@ private Dependency[] initDeps(Module forModule, Set knownDeps, Attributes att deps.addAll(Dependency.create(Dependency.TYPE_NEEDS, attr.getValue("OpenIDE-Module-Needs"))); // NOI18N deps.addAll(Dependency.create(Dependency.TYPE_RECOMMENDS, attr.getValue("OpenIDE-Module-Recommends"))); // NOI18N forModule.refineDependencies(deps); - return deps.toArray(new Dependency[0]); + return deps.toArray(Dependency[]::new); } final String getFragmentHostCodeName() { @@ -496,13 +506,12 @@ private > T readStrings( } return set; } - private String[] readStrings(ObjectInput dis) throws IOException { - List arr = new ArrayList(); + private String[] readStrings(DataInput dis) throws IOException { + List arr = new ArrayList<>(); readStrings(dis, arr, false); - return arr.toArray(new String[0]); + return arr.toArray(String[]::new); } - private void writeStrings(DataOutput dos, Collection set) - throws IOException { + private void writeStrings(DataOutput dos, Collection set) throws IOException { if (set == null) { dos.writeInt(0); return; @@ -512,7 +521,7 @@ private void writeStrings(DataOutput dos, Collection set) dos.writeUTF(s); } } - private void writeStrings(ObjectOutput dos, String[] provides) throws IOException { + private void writeStrings(DataOutput dos, String[] provides) throws IOException { writeStrings(dos, Arrays.asList(provides)); } diff --git a/platform/o.n.bootstrap/src/org/netbeans/ModuleManager.java b/platform/o.n.bootstrap/src/org/netbeans/ModuleManager.java index 615b59c6069e..01bf8a1d6d80 100644 --- a/platform/o.n.bootstrap/src/org/netbeans/ModuleManager.java +++ b/platform/o.n.bootstrap/src/org/netbeans/ModuleManager.java @@ -29,7 +29,6 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.ObjectOutputStream; import java.lang.ref.Reference; import java.lang.ref.WeakReference; import java.net.URL; @@ -1272,10 +1271,10 @@ public void enable(Set modules) throws IllegalArgumentException, Invalid * from other objects, that can't be compatibly passed 'willEnable' info. */ static class EnableContext { - final List willEnable; + final Set willEnable; public EnableContext(List willEnable) { - this.willEnable = willEnable; + this.willEnable = new HashSet<>(willEnable); } } @@ -2546,9 +2545,9 @@ public void flushCaches(DataOutputStream os) throws IOException { os.writeUTF(m.getCodeNameBase()); ByteArrayOutputStream data = new ByteArrayOutputStream(); - ObjectOutputStream dos = new ObjectOutputStream(data); - m.writeData(dos); - dos.close(); + try (DataOutputStream dos = new DataOutputStream(data)) { + m.writeData(dos); + } byte[] arr = data.toByteArray(); os.writeInt(arr.length); diff --git a/platform/o.n.bootstrap/src/org/netbeans/NetigsoModule.java b/platform/o.n.bootstrap/src/org/netbeans/NetigsoModule.java index 29eb2aea9bcf..63f9466d02a8 100644 --- a/platform/o.n.bootstrap/src/org/netbeans/NetigsoModule.java +++ b/platform/o.n.bootstrap/src/org/netbeans/NetigsoModule.java @@ -19,9 +19,9 @@ package org.netbeans; +import java.io.DataInput; import java.io.File; import java.io.IOException; -import java.io.ObjectInput; import java.net.URL; import java.util.Collections; import java.util.Enumeration; @@ -30,7 +30,6 @@ import java.util.jar.Manifest; import java.util.logging.Level; import java.util.logging.Logger; -import org.openide.util.Enumerations; import org.openide.util.Exceptions; /** Special module for representing OSGi bundles @@ -51,7 +50,7 @@ public NetigsoModule(Manifest mani, File jar, ModuleManager mgr, Events ev, Obje } @Override - ModuleData createData(ObjectInput in, Manifest mf) throws IOException { + ModuleData createData(DataInput in, Manifest mf) throws IOException { if (in != null) { return new ModuleData(in); } else { diff --git a/platform/o.n.bootstrap/src/org/netbeans/Stamps.java b/platform/o.n.bootstrap/src/org/netbeans/Stamps.java index b5b083a8efbd..fc926d682e76 100644 --- a/platform/o.n.bootstrap/src/org/netbeans/Stamps.java +++ b/platform/o.n.bootstrap/src/org/netbeans/Stamps.java @@ -46,7 +46,6 @@ import java.util.List; import java.util.Locale; import java.util.Random; -import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; @@ -183,8 +182,7 @@ private ByteBuffer asByteBuffer(String cache, boolean direct, boolean mmap) { return null; } - try { - FileChannel fc = new FileInputStream(cacheFile).getChannel(); + try (FileChannel fc = new FileInputStream(cacheFile).getChannel()) { ByteBuffer master; if (mmap) { master = fc.map(FileChannel.MapMode.READ_ONLY, 0, len[0]); @@ -198,9 +196,6 @@ private ByteBuffer asByteBuffer(String cache, boolean direct, boolean mmap) { } master.flip(); } - - fc.close(); - return master; } catch (IOException ex) { LOG.log(Level.WARNING, "Cannot read cache " + cacheFile, ex); // NOI18N @@ -309,17 +304,16 @@ private static AtomicLong stamp(boolean checkStampFile) { private static void stamp(boolean checkStampFile, AtomicLong result, AtomicReference newestFile) { StringBuilder sb = new StringBuilder(); - Set processedDirs = new HashSet(); String[] relativeDirs = Clusters.relativeDirsWithHome(); String home = System.getProperty ("netbeans.home"); // NOI18N if (home != null) { - long stamp = stampForCluster (new File (home), result, newestFile, processedDirs, checkStampFile, true, null); + long stamp = stampForCluster (new File (home), result, newestFile, checkStampFile, true, null); sb.append(relativeDirs[0]).append('=').append(stamp).append('\n'); } String[] drs = Clusters.dirs(); for (int i = 0; i < drs.length; i++) { final File clusterDir = new File(drs[i]); - long stamp = stampForCluster(clusterDir, result, newestFile, processedDirs, checkStampFile, true, null); + long stamp = stampForCluster(clusterDir, result, newestFile, checkStampFile, true, null); if (stamp != -1) { sb.append("cluster.").append(relativeDirs[i + 1]).append('=').append(stamp).append('\n'); } @@ -327,7 +321,7 @@ private static void stamp(boolean checkStampFile, AtomicLong result, AtomicRefer File user = Places.getUserDirectory(); if (user != null) { AtomicInteger crc = new AtomicInteger(); - stampForCluster(user, result, newestFile, new HashSet(), false, false, crc); + stampForCluster(user, result, newestFile, false, false, crc); sb.append("user=").append(result.longValue()).append('\n'); sb.append("crc=").append(crc.intValue()).append('\n'); sb.append("locale=").append(Locale.getDefault()).append('\n'); @@ -352,7 +346,7 @@ observed to contain absolute paths to the NetBeans install directory (netbeans.h } private static long stampForCluster( - File cluster, AtomicLong result, AtomicReference newestFile, Set hashSet, + File cluster, AtomicLong result, AtomicReference newestFile, boolean checkStampFile, boolean createStampFile, AtomicInteger crc ) { File stamp = new File(cluster, ".lastModified"); // NOI18N @@ -436,12 +430,10 @@ private static boolean compareAndUpdateFile(File file, String content, AtomicLon try { byte[] expected = content.getBytes(StandardCharsets.UTF_8); byte[] read = new byte[expected.length]; - FileInputStream is = null; boolean areCachesOK; boolean writeFile; long lastMod; - try { - is = new FileInputStream(file); + try (FileInputStream is = new FileInputStream(file)) { int len = is.read(read); areCachesOK = len == read.length && is.available() == 0 && Arrays.equals(expected, read); writeFile = !areCachesOK; @@ -451,16 +443,12 @@ private static boolean compareAndUpdateFile(File file, String content, AtomicLon areCachesOK = true; writeFile = true; lastMod = result.get(); - } finally { - if (is != null) { - is.close(); - } } if (writeFile) { file.getParentFile().mkdirs(); - FileOutputStream os = new FileOutputStream(file); - os.write(expected); - os.close(); + try (FileOutputStream os = new FileOutputStream(file)) { + os.write(expected); + } if (areCachesOK) { file.setLastModified(lastMod); } @@ -492,7 +480,6 @@ private static void deleteCache(File cacheFile) throws IOException { LOG.log(Level.INFO, "cannot rename (#{0}): {1}", new Object[]{i, cacheFile}); // NOI18N // try harder System.gc(); - System.runFinalization(); LOG.info("after GC"); // NOI18N if (r == null) { r = new Random(); @@ -558,12 +545,8 @@ static void checkPopulateCache() { if (is == null) { return; } - ZipInputStream zip = null; - FileOutputStream os = null; - try { - byte[] arr = new byte[4096]; + try (ZipInputStream zip = new ZipInputStream(is)) { LOG.log(Level.FINE, "Found populate.zip about to extract it into {0}", cache); - zip = new ZipInputStream(is); for (;;) { ZipEntry en = zip.getNextEntry(); if (en == null) { @@ -574,17 +557,10 @@ static void checkPopulateCache() { } File f = new File(cache, en.getName().replace('/', File.separatorChar)); f.getParentFile().mkdirs(); - os = new FileOutputStream(f); - for (;;) { - int len = zip.read(arr); - if (len == -1) { - break; - } - os.write(arr, 0, len); + try (FileOutputStream os = new FileOutputStream(f)) { + zip.transferTo(os); } - os.close(); } - zip.close(); } catch (IOException ex) { LOG.log(Level.INFO, "Failed to populate {0}", cache); } @@ -598,22 +574,12 @@ private static boolean clustersChanged() { final String clustersCache = "all-clusters.dat"; // NOI18N File f = fileImpl(clustersCache, null, -1); // no timestamp check if (f != null) { - DataInputStream dis = null; - try { - dis = new DataInputStream(new FileInputStream(f)); + try (DataInputStream dis = new DataInputStream(new FileInputStream(f))) { if (Clusters.compareDirs(dis)) { return false; } } catch (IOException ex) { return clustersChanged = true; - } finally { - if (dis != null) { - try { - dis.close(); - } catch (IOException ex) { - LOG.log(Level.INFO, null, ex); - } - } } } else { // missing cluster file signals caches are OK, for @@ -708,12 +674,10 @@ public boolean store(AtomicInteger delay) { LOG.log(Level.FINE, "Storing cache {0}", cacheFile); os = new FileOutputStream(cacheFile, append); //append new entries only - DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(this, 1024 * 1024)); - - this.delay = delay; - - updater.flushCaches(dos); - dos.close(); + try (DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(this, 1024 * 1024))) { + this.delay = delay; + updater.flushCaches(dos); + } LOG.log(Level.FINE, "Done Storing cache {0}", cacheFile); } catch (IOException ex) { LOG.log(Level.WARNING, "Error saving cache {0}", cacheFile); @@ -953,8 +917,7 @@ static void writeRelativePath(String path, DataOutput dos) throws IOException { private static void produceRelativePath(String path, Object out) throws IOException { if (path.isEmpty()) { - if (out instanceof DataOutput) { - DataOutput dos = (DataOutput)out; + if (out instanceof DataOutput dos) { dos.writeUTF(path); } return; @@ -964,7 +927,7 @@ private static void produceRelativePath(String path, Object out) throws IOExcept } int cnt = 0; for (String p : Clusters.dirs()) { - if (testWritePath(path, p, "" + cnt, out)) { + if (testWritePath(path, p, Integer.toString(cnt), out)) { return; } cnt++; @@ -988,8 +951,7 @@ private static boolean testWritePath(String path, String prefix, String codeName return false; } private static void doWritePath(String codeName, String relPath, Object out) throws IOException { - if (out instanceof DataOutput) { - DataOutput dos = (DataOutput) out; + if (out instanceof DataOutput dos) { dos.writeUTF(codeName); dos.writeUTF(relPath); } else { diff --git a/platform/o.n.bootstrap/src/org/netbeans/StandardModule.java b/platform/o.n.bootstrap/src/org/netbeans/StandardModule.java index 5d770d8460be..9eb0b47f2f1b 100644 --- a/platform/o.n.bootstrap/src/org/netbeans/StandardModule.java +++ b/platform/o.n.bootstrap/src/org/netbeans/StandardModule.java @@ -24,10 +24,10 @@ // INTERACTIONS SHOULD GO ELSEWHERE. // (NbBundle.getLocalizedValue is OK here.) +import java.io.DataInput; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.ObjectInput; import java.security.AllPermission; import java.security.CodeSource; import java.security.PermissionCollection; @@ -93,7 +93,7 @@ public StandardModule(ModuleManager mgr, Events ev, File jar, Object history, bo } @Override - ModuleData createData(ObjectInput in, Manifest mf) throws IOException { + ModuleData createData(DataInput in, Manifest mf) throws IOException { if (in != null) { return new StandardModuleData(in); } else { @@ -132,6 +132,7 @@ ModuleData createData(ObjectInput in, Manifest mf) throws IOException { * explicitly suppressed from this list; should only be used for * documented localizable attributes such as OpenIDE-Module-Name etc. */ + @Override public Object getLocalizedAttribute(String attr) { String locb = getManifest().getMainAttributes().getValue("OpenIDE-Module-Localizing-Bundle"); // NOI18N boolean usingLoader = false; @@ -164,11 +165,8 @@ public Object getLocalizedAttribute(String attr) { try { // check if the jar file still exists (see issue 82480) if (jar != null && jar.isFile ()) { - JarFile jarFile = new JarFile(jar, false); - try { + try (JarFile jarFile = new JarFile(jar, false)) { loadLocalizedProps(jarFile, getManifest()); - } finally { - jarFile.close(); } } else { Util.err.log(Level.FINE, "Cannot get localized attr {0} from module {1} (missing or deleted JAR file: {2})", new Object[] {attr, getCodeNameBase(), jar}); @@ -203,6 +201,7 @@ public Object getLocalizedAttribute(String attr) { } } + @Override public boolean isFixed() { return false; } @@ -252,13 +251,10 @@ private void loadManifest() throws IOException { jarBeingOpened = physicalJar; // might be null ensurePhysicalJar(); jarBeingOpened = physicalJar; // might have changed - JarFile jarFile = new JarFile(physicalJar, false); - try { + try (JarFile jarFile = new JarFile(physicalJar, false)) { Manifest m = jarFile.getManifest(); if (m == null) throw new IOException("No manifest found in " + physicalJar); // NOI18N manifest = m; - } finally { - jarFile.close(); } } else { jarBeingOpened = jar; @@ -346,11 +342,8 @@ private void loadLocalizedProps(JarFile jarFile, Manifest m) throws IOException // May not be present in base JAR: might only be in e.g. default locale variant. if (bundleFile != null) { localizedProps = new Properties(); - InputStream is = jarFile.getInputStream(bundleFile); - try { + try (InputStream is = jarFile.getInputStream(bundleFile)) { localizedProps.load(is); - } finally { - is.close(); } } } @@ -373,23 +366,17 @@ private void loadLocalizedProps(JarFile jarFile, Manifest m) throws IOException File localeJar = pair.file; String suffix = pair.suffix; String rsrc = name + suffix + ext; - JarFile localeJarFile = new JarFile(localeJar, false); - try { + try (JarFile localeJarFile = new JarFile(localeJar, false)) { ZipEntry bundleFile = localeJarFile.getEntry(rsrc); // Need not exist in all locale variants. if (bundleFile != null) { if (localizedProps == null) { localizedProps = new Properties(); } // else append and overwrite base-locale values - InputStream is = localeJarFile.getInputStream(bundleFile); - try { + try (InputStream is = localeJarFile.getInputStream(bundleFile)) { localizedProps.load(is); - } finally { - is.close(); } } - } finally { - localeJarFile.close(); } } } @@ -437,6 +424,7 @@ public List getAllJars() { * Must be called from within a write mutex. * @param r whether the module should be considered reloadable */ + @Override public void setReloadable(boolean r) { getManager().assertWritable(); if (reloadable != r) { @@ -449,6 +437,7 @@ public void setReloadable(boolean r) { * If an exception is thrown, the module is considered * to be in an invalid state. */ + @Override public void reload() throws IOException { // Probably unnecessary but just in case: destroyPhysicalJar(); @@ -468,6 +457,7 @@ public void reload() throws IOException { /** Turn on the classloader. Passed a list of parent modules to use. * The parents should already have had their classloaders initialized. */ + @Override protected void classLoaderUp(Set parents) throws IOException { if (Util.err.isLoggable(Level.FINE)) { Util.err.fine("classLoaderUp on " + this + " with parents " + parents); @@ -533,7 +523,7 @@ protected void classLoaderUp(Set parents) throws IOException { classloader = createNewClassLoader(classp, loaders); } catch (IllegalArgumentException iae) { // Should not happen, but just in case. - throw (IOException) new IOException(iae.toString()).initCause(iae); + throw new IOException(iae); } } } @@ -551,13 +541,15 @@ protected ClassLoader getParentLoader(Module parent) { } /** Turn off the classloader and release all resources. */ + @Override protected void classLoaderDown() { - if (classloader instanceof ProxyClassLoader) { - ((ProxyClassLoader)classloader).destroy(); + if (classloader instanceof ProxyClassLoader pcl) { + pcl.destroy(); } classloader = null; } /** Should be called after turning off the classloader of one or more modules & GC'ing. */ + @Override protected void cleanup() { if (isEnabled()) throw new IllegalStateException("cleanup on enabled module: " + this); // NOI18N if (classloader != null) throw new IllegalStateException("cleanup on module with classloader: " + this); // NOI18N @@ -566,6 +558,7 @@ protected void cleanup() { } /** Notify the module that it is being deleted. */ + @Override public void destroy() { moduleJARs.remove(jar); } @@ -609,6 +602,7 @@ public OneModuleClassLoader(List classp, ClassLoader[] parents) throws Ill super(classp, parents, false, StandardModule.this); } + @Override public Module getModule() { return StandardModule.this; } @@ -681,8 +675,8 @@ public Module getModule() { return false; } Module other; - if (parent instanceof Util.ModuleProvider) { - other = ((Util.ModuleProvider)parent).getModule(); + if (parent instanceof Util.ModuleProvider mp) { + other = mp.getModule(); } else { other = null; } diff --git a/platform/o.n.bootstrap/src/org/netbeans/StandardModuleData.java b/platform/o.n.bootstrap/src/org/netbeans/StandardModuleData.java index 8ec3d96791cc..9daa11d2ba50 100644 --- a/platform/o.n.bootstrap/src/org/netbeans/StandardModuleData.java +++ b/platform/o.n.bootstrap/src/org/netbeans/StandardModuleData.java @@ -22,10 +22,8 @@ import java.io.DataOutput; import java.io.File; import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; -import java.io.UnsupportedEncodingException; import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -47,7 +45,7 @@ final class StandardModuleData extends ModuleData { * different modules try to load the same extension (which would cause them * to both load their own private copy, which may not be intended). */ - private static final Map> extensionOwners = new HashMap>(); + private static final Map> extensionOwners = new HashMap<>(); /** Set of locale-variants JARs for this module (or null). * Added explicitly to classloader, and can be used by execution engine. */ @@ -80,12 +78,7 @@ public StandardModuleData(Manifest mf, StandardModule forModule) throws InvalidE if (classPath != null) { StringTokenizer tok = new StringTokenizer(classPath); while (tok.hasMoreTokens()) { - String ext; - try { - ext = URLDecoder.decode(tok.nextToken(), "UTF-8"); - } catch (UnsupportedEncodingException ex) { - throw new IllegalStateException(ex); - } + String ext = URLDecoder.decode(tok.nextToken(), StandardCharsets.UTF_8); File extfile; if (ext.equals("${java.home}/lib/ext/jfxrt.jar")) { // NOI18N // special handling on JDK7 @@ -158,7 +151,7 @@ public StandardModuleData(Manifest mf, StandardModule forModule) throws InvalidE } } - public StandardModuleData(ObjectInput dis) throws IOException { + public StandardModuleData(DataInput dis) throws IOException { super(dis); localeVariants = readFiles(dis); localeExtensions = readFiles(dis); @@ -166,7 +159,7 @@ public StandardModuleData(ObjectInput dis) throws IOException { } @Override - void write(ObjectOutput dos) throws IOException { + void write(DataOutput dos) throws IOException { super.write(dos); writeFiles(dos, localeVariants); writeFiles(dos, localeExtensions); @@ -175,7 +168,7 @@ void write(ObjectOutput dos) throws IOException { private static Set readFiles(DataInput is) throws IOException { int size = is.readInt(); - Set set = new HashSet(); + Set set = new HashSet<>((int) Math.ceil(size / 0.75)); while (size-- > 0) { set.add(new File(Stamps.readRelativePath(is))); } diff --git a/platform/o.n.bootstrap/test/unit/src/org/netbeans/DepUtilTest.java b/platform/o.n.bootstrap/test/unit/src/org/netbeans/DepUtilTest.java new file mode 100644 index 000000000000..4d24b29576a7 --- /dev/null +++ b/platform/o.n.bootstrap/test/unit/src/org/netbeans/DepUtilTest.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import org.junit.Test; +import org.openide.modules.Dependency; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/** + * @author mbien + */ +public class DepUtilTest { + + @Test + public void testInstanceCreationAndIO() throws Exception { + + Dependency referenceDep = Dependency.create(Dependency.TYPE_MODULE, "org.foo.bar/1 > 1.1").iterator().next(); + + try (ByteArrayOutputStream buffer = new ByteArrayOutputStream()) { + + try (DataOutputStream dos = new DataOutputStream(buffer)) { + DepUtil.write(referenceDep, dos); + } + assertTrue(buffer.size() > 0); + + try (DataInputStream dis = new DataInputStream(new ByteArrayInputStream(buffer.toByteArray()))) { + Dependency readDep = DepUtil.read(dis); + assertEquals(referenceDep, readDep); + } + + } + + } + +} diff --git a/platform/openide.modules/src/org/openide/modules/Dependency.java b/platform/openide.modules/src/org/openide/modules/Dependency.java index f30b589bea03..93f7e7067689 100644 --- a/platform/openide.modules/src/org/openide/modules/Dependency.java +++ b/platform/openide.modules/src/org/openide/modules/Dependency.java @@ -24,10 +24,10 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.StringTokenizer; import java.util.regex.Pattern; -import org.openide.util.BaseUtilities; /** A dependency a module can have. Since version 7.10 this class is * {@link Serializable}. @@ -115,6 +115,7 @@ public final class Dependency implements Serializable { /** Implementation version of the Java VM. */ public static final String VM_IMPL = System.getProperty("java.vm.version"); // NOI18N + private final int type; private final int comparison; private final String name; @@ -179,7 +180,13 @@ private static void checkCodeName(String codeName, boolean slashOK) private static final Pattern FQN = Pattern.compile( "(?:\\p{javaJavaIdentifierStart}\\p{javaJavaIdentifierPart}*)(?:[.]\\p{javaJavaIdentifierPart}+)*" // NOI18N ); - + + // internally used via reflection. See org.netbeans.DepUtil + @SuppressWarnings("unused") + static Dependency create(String name, String version, int type, int comparison) { + return new Dependency(type, name, comparison, version); + } + /** Parse dependencies from tags. Since version 7.32 it can parse * code names that contain numbers like * org.apache.servicemix.specs.jsr303_api_1.0.0. @@ -390,8 +397,7 @@ public boolean equals(Object o) { Dependency d = (Dependency) o; - return (type == d.type) && (comparison == d.comparison) && name.equals(d.name) && - BaseUtilities.compareObjects(version, d.version); + return (type == d.type) && (comparison == d.comparison) && name.equals(d.name) && Objects.equals(version, d.version); } /** Overridden to hash by contents. */ @@ -522,15 +528,18 @@ public DependencyKey(Dependency d) { //System.err.println("Key for " + d + " is " + this); } + @Override public int hashCode() { return name.hashCode(); } + @Override public boolean equals(Object o) { return (o instanceof DependencyKey) && ((DependencyKey) o).name.equals(name) && (((DependencyKey) o).type == type); } + @Override public String toString() { return "DependencyKey[" + name + "," + type + "]"; // NOI18N } From c6ba237056a8a5ed0326cbeea03508b049705e00 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 10 Mar 2026 20:02:06 +0100 Subject: [PATCH 57/74] Improving code completion in presence of local classes. --- .../java/completion/JavaCompletionTask.java | 44 ++-- .../1.8/LocalClass.pass | 1 + .../1.8/LocalClassConstructor.pass | 2 + .../1.8/LocalRecordPattern.pass | 1 + .../JavaCompletionTask121FeaturesTest.java | 55 +++++ .../JavaCompletionTaskAdvancedTest.java | 31 +++ java/java.source.base/apichanges.xml | 15 +- .../nbproject/project.properties | 2 +- .../api/java/source/TreeUtilities.java | 29 ++- .../api/java/source/TreeUtilitiesTest.java | 41 ++++ .../netbeans/lib/nbjavac/services/NBAttr.java | 81 ++++--- nbbuild/javadoctools/apichanges-1.1.dtd | 211 ++++++++++++++++++ 12 files changed, 467 insertions(+), 46 deletions(-) create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalClass.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalClassConstructor.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalRecordPattern.pass create mode 100644 nbbuild/javadoctools/apichanges-1.1.dtd diff --git a/java/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java b/java/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java index ab43b4c26038..cce5ec31232a 100644 --- a/java/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java +++ b/java/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java @@ -1869,9 +1869,13 @@ private void insideMemberSelect(Env env) throws IOException { if (el != null && (el.getKind().isClass() || el.getKind().isInterface())) { if (parent.getKind() == Tree.Kind.NEW_CLASS && ((NewClassTree) parent).getIdentifier() == fa && prefix != null) { String typeName = controller.getElementUtilities().getElementName(el, true) + "." + prefix; //NOI18N - TypeMirror tm = controller.getTreeUtilities().parseType(typeName, env.getScope().getEnclosingClass()); + TypeMirror tm = controller.getTreeUtilities().parseType(typeName, env.getScope()); if (tm != null && tm.getKind() == TypeKind.DECLARED) { - addMembers(env, tm, ((DeclaredType) tm).asElement(), EnumSet.of(CONSTRUCTOR), null, inImport, insideNew, false, false, switchItemAdder); + TypeElement te = (TypeElement) ((DeclaredType) tm).asElement(); + addMembers(env, tm, te, EnumSet.of(CONSTRUCTOR), null, inImport, insideNew, false, false, switchItemAdder); + if (shouldExcludeTypeInNewClass(te, env)) { + env.addToExcludes(te); + } } } } @@ -1917,9 +1921,13 @@ private void insideMemberSelect(Env env) throws IOException { if (el != null && el.getKind() == PACKAGE) { if (parent.getKind() == Tree.Kind.NEW_CLASS && ((NewClassTree) parent).getIdentifier() == fa && prefix != null) { String typeName = controller.getElementUtilities().getElementName(el, true) + "." + prefix; //NOI18N - TypeMirror tm = controller.getTreeUtilities().parseType(typeName, env.getScope().getEnclosingClass()); + TypeMirror tm = controller.getTreeUtilities().parseType(typeName, env.getScope()); if (tm != null && tm.getKind() == TypeKind.DECLARED) { - addMembers(env, tm, ((DeclaredType) tm).asElement(), EnumSet.of(CONSTRUCTOR), null, inImport, insideNew, false, false, switchItemAdder); + TypeElement te = (TypeElement) ((DeclaredType) tm).asElement(); + addMembers(env, tm, te, EnumSet.of(CONSTRUCTOR), null, inImport, insideNew, false, false, switchItemAdder); + if (shouldExcludeTypeInNewClass(te, env)) { + env.addToExcludes(te); + } } } if (exs != null && !exs.isEmpty()) { @@ -2051,7 +2059,7 @@ private void insideMethodInvocation(Env env) throws IOException { if (path.getParentPath().getLeaf().getKind() == Kind.CONSTANT_CASE_LABEL) { CompilationController controller = env.getController(); controller.toPhase(Phase.RESOLVED); - TypeMirror tm = controller.getTreeUtilities().parseType(fullName(mi.getMethodSelect()), env.getScope().getEnclosingClass()); + TypeMirror tm = controller.getTreeUtilities().parseType(fullName(mi.getMethodSelect()), env.getScope()); if (tm != null && tm.getKind() == TypeKind.DECLARED) { TypeElement te = (TypeElement) ((DeclaredType) tm).asElement(); if (te.getKind() == RECORD) { @@ -2062,7 +2070,7 @@ private void insideMethodInvocation(Env env) throws IOException { if (ts != null && (ts.token().id() == JavaTokenId.LPAREN || ts.token().id() == JavaTokenId.COMMA)) { if (componentType.getKind() == TypeKind.DECLARED) { if (prefix != null) { - TypeMirror ptm = controller.getTreeUtilities().parseType(prefix, env.getScope().getEnclosingClass()); + TypeMirror ptm = controller.getTreeUtilities().parseType(prefix, env.getScope()); if (ptm != null && ptm.getKind() == TypeKind.DECLARED) { TypeElement pte = (TypeElement) ((DeclaredType) ptm).asElement(); if (pte != null && pte.getKind() == RECORD) { @@ -2135,12 +2143,11 @@ private void insideNewClass(Env env) throws IOException { ? controller.getTypes().getDeclaredType(tel) : null; TypeElement toExclude = null; if (nc.getIdentifier().getKind() == Tree.Kind.IDENTIFIER && prefix != null) { - TypeMirror tm = controller.getTreeUtilities().parseType(prefix, env.getScope().getEnclosingClass()); + TypeMirror tm = controller.getTreeUtilities().parseType(prefix, env.getScope()); if (tm != null && tm.getKind() == TypeKind.DECLARED) { TypeElement te = (TypeElement) ((DeclaredType) tm).asElement(); addMembers(env, tm, te, EnumSet.of(CONSTRUCTOR), base, false, true, false); - if ((te.getTypeParameters().isEmpty() || SourceVersion.RELEASE_5.compareTo(controller.getSourceVersion()) > 0) - && !hasAccessibleInnerClassConstructor(te, env.getScope(), controller.getTrees())) { + if (shouldExcludeTypeInNewClass(te, env)) { toExclude = te; } } @@ -2227,6 +2234,13 @@ private void insideNewClass(Env env) throws IOException { } } + private boolean shouldExcludeTypeInNewClass(TypeElement te, Env env) throws IOException { + CompilationController controller = env.getController(); + + return (te.getTypeParameters().isEmpty() || SourceVersion.RELEASE_5.compareTo(controller.getSourceVersion()) > 0) + && !hasAccessibleInnerClassConstructor(te, env.getScope(), controller.getTrees()); + } + private void insideTry(Env env) throws IOException { CompilationController controller = env.getController(); TokenSequence last = findLastNonWhitespaceToken(env, env.getPath().getLeaf(), env.getOffset()); @@ -2550,7 +2564,7 @@ private void insideCase(Env env) throws IOException { } else { if (env.getController().getSourceVersion().compareTo(RELEASE_21) >= 0) { if (prefix != null) { - TypeMirror ptm = controller.getTreeUtilities().parseType(prefix, env.getScope().getEnclosingClass()); + TypeMirror ptm = controller.getTreeUtilities().parseType(prefix, env.getScope()); if (ptm != null && ptm.getKind() == TypeKind.DECLARED) { TypeElement pte = (TypeElement) ((DeclaredType) ptm).asElement(); if (pte != null && pte.getKind() == RECORD) { @@ -2754,7 +2768,7 @@ private void insideTypeCheck(Env env) throws IOException { TokenSequence ts = findLastNonWhitespaceToken(env, iot, env.getOffset()); if (ts != null && ts.token().id() == JavaTokenId.INSTANCEOF) { if (prefix != null && controller.getSourceVersion().compareTo(RELEASE_21) >= 0) { - TypeMirror tm = controller.getTreeUtilities().parseType(prefix, env.getScope().getEnclosingClass()); + TypeMirror tm = controller.getTreeUtilities().parseType(prefix, env.getScope()); if (tm != null && tm.getKind() == TypeKind.DECLARED) { TypeElement te = (TypeElement) ((DeclaredType) tm).asElement(); if (te != null && te.getKind() == RECORD) { @@ -3485,7 +3499,7 @@ private void insideDeconstructionRecordPattern(final Env env) throws IOException TypeMirror componentType = recordComponents.get(size - 1).getAccessor().getReturnType(); if (componentType.getKind() == TypeKind.DECLARED) { if (prefix != null) { - TypeMirror ptm = controller.getTreeUtilities().parseType(prefix, env.getScope().getEnclosingClass()); + TypeMirror ptm = controller.getTreeUtilities().parseType(prefix, env.getScope()); if (ptm != null && ptm.getKind() == TypeKind.DECLARED) { TypeElement pte = (TypeElement) ((DeclaredType) ptm).asElement(); if (pte != null && pte.getKind() == RECORD) { @@ -4088,6 +4102,9 @@ private void addMembers(final Env env, final TypeMirror type, final Element elem ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() { @Override public boolean accept(Element e, TypeMirror t) { + if (env.getExcludes() != null && env.getExcludes().contains(e)) { + return false; + } switch (simplifyElementKind(e.getKind())) { case FIELD: if (!startsWith(env, e.getSimpleName().toString())) { @@ -4876,7 +4893,6 @@ public boolean accept(Element e, TypeMirror t) { private void addAttributeValues(Env env, Element element, AnnotationMirror annotation, ExecutableElement member) throws IOException { CompilationController controller = env.getController(); TreeUtilities tu = controller.getTreeUtilities(); - ElementUtilities eu = controller.getElementUtilities(); for (javax.annotation.processing.Completion completion : SourceUtils.getAttributeValueCompletions(controller, element, annotation, member, env.getPrefix())) { String value = completion.getValue().trim(); if (value.length() > 0 && startsWith(env, value)) { @@ -4889,7 +4905,7 @@ private void addAttributeValues(Env env, Element element, AnnotationMirror annot CharSequence fqn = ((TypeElement) ((DeclaredType) type).asElement()).getQualifiedName(); if (JAVA_LANG_CLASS.contentEquals(fqn)) { String name = value.endsWith(".class") ? value.substring(0, value.length() - 6) : value; //NOI18N - TypeMirror tm = tu.parseType(name, eu.outermostTypeElement(element)); + TypeMirror tm = tu.parseType(name, env.getScope()); typeElement = tm != null && tm.getKind() == TypeKind.DECLARED ? (TypeElement) ((DeclaredType) tm).asElement() : null; if (typeElement != null && startsWith(env, typeElement.getSimpleName().toString())) { env.addToExcludes(typeElement); diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalClass.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalClass.pass new file mode 100644 index 000000000000..7bb37ba9f300 --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalClass.pass @@ -0,0 +1 @@ +Local diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalClassConstructor.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalClassConstructor.pass new file mode 100644 index 000000000000..c6fa3f783203 --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalClassConstructor.pass @@ -0,0 +1,2 @@ +Local() +Local(int i) diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalRecordPattern.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalRecordPattern.pass new file mode 100644 index 000000000000..1e457e4850ac --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/LocalRecordPattern.pass @@ -0,0 +1 @@ +Local(int i) diff --git a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java index 9d9d3d65c6e3..c0dbd977465f 100644 --- a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java +++ b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java @@ -64,6 +64,61 @@ public void testRecordPatternCompletion_5() throws Exception { performTest("RecordPattern", 1107, null, "AutoCompletion_RecordPattern_5.pass", SOURCE_LEVEL); } + public void testRecordPatternLocalClass1() throws Exception { + performTest("Method", 935, + """ + record Local(int i) {} + Object o = null; + switch (o) { + case Loc""", + "LocalClass.pass", + SOURCE_LEVEL); + } + + public void testRecordPatternLocalClass2() throws Exception { + performTest("Method", 935, + """ + record Local(int i) {} + Object o = null; + switch (o) { + case Local""", + "LocalRecordPattern.pass", + SOURCE_LEVEL); + } + + public void testRecordPatternLocalClass3() throws Exception { + performTest("Method", 935, + """ + record Local(int i) {} + Object o = null; + boolean b = o instanceof Local""", + "LocalRecordPattern.pass", + SOURCE_LEVEL); + } + + public void testRecordPatternLocalClass4() throws Exception { + performTest("Method", 935, + """ + record Local(int i) {} + record Box(Local l) {} + Object o = null; + boolean b = o instanceof Box(Local""", + "LocalRecordPattern.pass", + SOURCE_LEVEL); + } + + public void testRecordPatternLocalClass5() throws Exception { + performTest("Method", 935, + """ + record Local(int i) {} + record Box(Local l) {} + Object o = null; + switch (o) { + case Box(Local""", + "LocalRecordPattern.pass", + SOURCE_LEVEL); + } + public void testCaseLabels_1() throws Exception { performTest("SwitchPatternMatching", 971, null, "AutoCompletion_CaseLabels_PatternMatchingSwitch_1.pass", SOURCE_LEVEL); } diff --git a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java index 192cb88986f5..b6f7190a5b4b 100644 --- a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java +++ b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java @@ -958,4 +958,35 @@ public void testGenericMethod1() throws Exception { public void testGenericMethod2() throws Exception { performTest("GenericMethodInvocation", 1231, "run2(\"\", arg", "GenericMethodInvocation2.pass"); } + + public void testLocalClassConstructor1() throws Exception { + performTest("Method", 935, + """ + class Local { + Local() {} + Local(int i) {} + } + new Local""", + "LocalClassConstructor.pass"); + } + + public void testLocalClassConstructor2() throws Exception { + performTest("Method", 935, + """ + class LocalOuter { + static class Local { + Local() {} + Local(int i) {} + } + } + new LocalOuter.Local""", + "LocalClassConstructor.pass"); + } + + public void testConstructorFromPackage() throws Exception { + performTest("Method", 935, + """ + new java.lang.String""", + "stringConstructors.pass"); + } } diff --git a/java/java.source.base/apichanges.xml b/java/java.source.base/apichanges.xml index 358112a16e48..29d550edfa18 100644 --- a/java/java.source.base/apichanges.xml +++ b/java/java.source.base/apichanges.xml @@ -19,12 +19,25 @@ under the License. --> - + Java Source API + + + Adding TreeUtilities.parseType(String, Scope) method overload + + + + + + Adding TreeUtilities.parseType(String, Scope) method overload + to support more exact type parsing. + + + API Support for module imports diff --git a/java/java.source.base/nbproject/project.properties b/java/java.source.base/nbproject/project.properties index 923ec707672b..d977f1c852c0 100644 --- a/java/java.source.base/nbproject/project.properties +++ b/java/java.source.base/nbproject/project.properties @@ -23,7 +23,7 @@ javadoc.name=Java Source Base javadoc.title=Java Source Base javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=2.83.0 +spec.version.base=2.84.0 test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\ ${o.n.core.dir}/lib/boot.jar:\ diff --git a/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java b/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java index ed3fe7a274ed..1f2d439a0078 100644 --- a/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java +++ b/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java @@ -700,6 +700,26 @@ public TypeMirror parseType(String expr, TypeElement scope) { } } + /**Parses given type in given context. + * + * @param expr type specification + * @param scope in which simple names should be resolved + * @return parsed {@link TypeMirror} or null if the given specification cannot be parsed + * @since 2.84 + */ + public TypeMirror parseType(String expr, Scope scope) { + Env env = getEnv(scope); + if (scope instanceof NBScope && ((NBScope)scope).areAccessibilityChecksDisabled()) { + NBResolve.instance(info.impl.getJavacTask().getContext()).disableAccessibilityChecks(); + } + try { + Tree type = parseType(expr); + return attributeTree(info.impl.getJavacTask(), env.toplevel, (JCTree) type, scope, true, new ArrayList<>()); + } finally { + NBResolve.instance(info.impl.getJavacTask().getContext()).restoreAccessbilityChecks(); + } + } + /**Parses given type in given context. * * @param expr type specification @@ -922,7 +942,7 @@ public TypeMirror attributeTree(Tree tree, Scope scope) { NBResolve.instance(info.impl.getJavacTask().getContext()).disableAccessibilityChecks(); } try { - return attributeTree(info.impl.getJavacTask(), env.toplevel, (JCTree) tree, scope, new ArrayList<>()); + return attributeTree(info.impl.getJavacTask(), env.toplevel, (JCTree) tree, scope, false, new ArrayList<>()); } finally { NBResolve.instance(info.impl.getJavacTask().getContext()).restoreAccessbilityChecks(); } @@ -949,7 +969,7 @@ public TypeMirror reattributeTree(Tree tree, Scope scope) { NBResolve.instance(info.impl.getJavacTask().getContext()).disableAccessibilityChecks(); } try { - return attributeTree(info.impl.getJavacTask(), env.toplevel, (JCTree)tree, scope, new ArrayList<>()); + return attributeTree(info.impl.getJavacTask(), env.toplevel, (JCTree)tree, scope, false, new ArrayList<>()); } finally { NBResolve.instance(info.impl.getJavacTask().getContext()).restoreAccessbilityChecks(); } @@ -968,7 +988,7 @@ public Scope reattributeTreeTo(Tree tree, Scope scope, Tree to) { } //from org/netbeans/modules/java/hints/spiimpl/Utilities.java: - private static TypeMirror attributeTree(JavacTaskImpl jti, CompilationUnitTree cut, Tree tree, Scope scope, final List> errors) { + private static TypeMirror attributeTree(JavacTaskImpl jti, CompilationUnitTree cut, Tree tree, Scope scope, boolean attributeAsType, final List> errors) { Log log = Log.instance(jti.getContext()); JavaFileObject prev = log.useSource(new DummyJFO()); Log.DiagnosticHandler discardHandler = log.new DiscardDiagnosticHandler() { @@ -986,6 +1006,9 @@ public void reportReady(JCDiagnostic diag) { try { Attr attr = Attr.instance(jti.getContext()); Env env = getEnv(scope); + if (attributeAsType) { + return attr.attribType((JCTree) tree, env); + } if (tree instanceof JCExpression) return attr.attribExpr((JCTree) tree,env, Type.noType); return attr.attribStat((JCTree) tree,env); diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java index 97041a85f6fc..1063b4cb11d7 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java @@ -46,6 +46,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.function.Function; import java.util.regex.Pattern; import javax.lang.model.SourceVersion; import javax.lang.model.element.Element; @@ -899,4 +900,44 @@ private void test(Runnable r) { StatementTree tree = info.getTreeUtilities().parseStatement("{ return super.test(p); }", new SourcePositions[1]); info.getTreeUtilities().attributeTree(tree, scope); } + + public void testParseType() throws Exception { + this.sourceLevel = "21"; + + String code = """ + package test; + public class Test { + static class Param {} + private void test(Runnable r) { + record Local(T t) {} + int ma|rk; + } + } + """; + + prepareTest("Test", code.replace("|", "")); + + int pos = code.indexOf("|"); + TreePath tp = info.getTreeUtilities().pathFor(pos); + Scope scope = info.getTrees().getScope(tp); + Function type2String = + type -> type.getKind() + ":" + type.toString(); + TypeElement topLevel = info.getTopLevelElements().get(0); + assertEquals("DECLARED:test.Test.Param", + type2String.apply(info.getTreeUtilities().parseType("Param", topLevel))); + assertEquals("DECLARED:test.Test.Param", + type2String.apply(info.getTreeUtilities().parseType("Param", scope))); + assertEquals("DECLARED:test.Test.Param", + type2String.apply(info.getTreeUtilities().parseType("Param", topLevel))); + assertEquals("DECLARED:test.Test.Param", + type2String.apply(info.getTreeUtilities().parseType("Param", scope))); + assertEquals("ERROR:Local", + type2String.apply(info.getTreeUtilities().parseType("Local", topLevel))); + assertEquals("DECLARED:Local", + type2String.apply(info.getTreeUtilities().parseType("Local", scope))); + assertEquals("ERROR:Local", + type2String.apply(info.getTreeUtilities().parseType("Local", topLevel))); + assertEquals("DECLARED:Local", + type2String.apply(info.getTreeUtilities().parseType("Local", scope))); + } } diff --git a/java/lib.nbjavac/src/org/netbeans/lib/nbjavac/services/NBAttr.java b/java/lib.nbjavac/src/org/netbeans/lib/nbjavac/services/NBAttr.java index beb38b2aaa33..dfba5c8319e8 100644 --- a/java/lib.nbjavac/src/org/netbeans/lib/nbjavac/services/NBAttr.java +++ b/java/lib.nbjavac/src/org/netbeans/lib/nbjavac/services/NBAttr.java @@ -25,17 +25,19 @@ import com.sun.tools.javac.comp.Env; import com.sun.tools.javac.tree.JCTree; import com.sun.tools.javac.tree.JCTree.JCBlock; +import com.sun.tools.javac.tree.JCTree.JCCase; import com.sun.tools.javac.tree.JCTree.JCCatch; import com.sun.tools.javac.tree.JCTree.JCClassDecl; import com.sun.tools.javac.tree.JCTree.JCExpression; import com.sun.tools.javac.tree.JCTree.JCMethodDecl; +import com.sun.tools.javac.tree.JCTree.JCSwitch; +import com.sun.tools.javac.tree.JCTree.JCSwitchExpression; import com.sun.tools.javac.tree.JCTree.JCVariableDecl; import com.sun.tools.javac.tree.TreeMaker; +import com.sun.tools.javac.tree.TreeScanner; import com.sun.tools.javac.util.Context; import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition; import com.sun.tools.javac.util.List; -import java.lang.invoke.MethodHandles; -import java.lang.invoke.MethodType; /** * @@ -113,38 +115,15 @@ public void visitCatch(JCCatch that) { private boolean fullyAttribute; private Env fullyAttributeResult; + @Override protected void breakTreeFound(Env env) { if (fullyAttribute) { fullyAttributeResult = env; } else { - try { - MethodHandles.lookup() - .findSpecial(Attr.class, "breakTreeFound", MethodType.methodType(void.class, Env.class), NBAttr.class) - .invokeExact(this, env); - } catch (Throwable ex) { - sneakyThrows(ex); - } + super.breakTreeFound(env); } } - protected void breakTreeFound(Env env, Type result) { - if (fullyAttribute) { - fullyAttributeResult = env; - } else { - try { - MethodHandles.lookup() - .findSpecial(Attr.class, "breakTreeFound", MethodType.methodType(void.class, Env.class, Type.class), NBAttr.class) - .invokeExact(this, env, result); - } catch (Throwable ex) { - sneakyThrows(ex); - } - } - } - - private void sneakyThrows(Throwable t) throws T { - throw (T) t; - } - public Env attributeAndCapture(JCTree tree, Env env, JCTree to) { try { fullyAttribute = true; @@ -158,4 +137,52 @@ public Env attributeAndCapture(JCTree tree, Env env, J fullyAttribute = false; } } + + @Override + public Env attribExprToTree(JCTree expr, Env env, JCTree tree) { + return super.attribExprToTree(expr, env, workaroundTreeTarget(expr, tree)); + } + + @Override + public Env attribStatToTree(JCTree stmt, Env env, JCTree tree) { + return super.attribStatToTree(stmt, env, workaroundTreeTarget(stmt, tree)); + } + + private JCTree workaroundTreeTarget(JCTree root, JCTree toTree) { + if (!(toTree instanceof JCCase)) { + return toTree; + } + //workaround for a bug in javac: if toTree is JCCase, it is never found + //slightly incorrectly, but more acceptable: stop after the switch + class Result extends RuntimeException { + private final JCTree newToTree; + + public Result(JCTree newTarget) { + this.newToTree = newTarget; + } + } + try { + new TreeScanner() { + @Override + public void visitSwitch(JCSwitch tree) { + if (tree.cases.contains(toTree)) { + throw new Result(tree); + } + super.visitSwitch(tree); + } + + @Override + public void visitSwitchExpression(JCSwitchExpression tree) { + if (tree.cases.contains(toTree)) { + throw new Result(tree); + } + super.visitSwitchExpression(tree); + } + }.scan(root); + + return toTree; + } catch (Result r) { + return r.newToTree; + } + } } diff --git a/nbbuild/javadoctools/apichanges-1.1.dtd b/nbbuild/javadoctools/apichanges-1.1.dtd new file mode 100644 index 000000000000..f49c07db2a39 --- /dev/null +++ b/nbbuild/javadoctools/apichanges-1.1.dtd @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + +%xhtml; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 94cfa52d21b4e63508f479278060241814b11780 Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Fri, 27 Feb 2026 19:15:01 +0530 Subject: [PATCH 58/74] FISH-12969 Payara Server Startup Fails in Apache NetBeans IDE Due to the CRaCCheckpointTo Option --- .../org-netbeans-modules-payara-tooling.sig | 5 +- .../payara/tooling/data/JDKVersion.java | 48 +++++++++++++++---- .../payara/tooling/server/ServerTasks.java | 11 ++++- 3 files changed, 49 insertions(+), 15 deletions(-) diff --git a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig index ebeedaa36b2a..08cc94f11239 100644 --- a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig +++ b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.26 +#Version 2.27 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable @@ -1238,6 +1238,7 @@ CLSS public final org.netbeans.modules.payara.tooling.data.JDKVersion meth public boolean equals(java.lang.Object) meth public boolean ge(org.netbeans.modules.payara.tooling.data.JDKVersion) meth public boolean gt(org.netbeans.modules.payara.tooling.data.JDKVersion) +meth public boolean isOptionSupported(org.netbeans.modules.payara.tooling.server.parser.JvmConfigReader$JvmOption,java.lang.String) meth public boolean le(org.netbeans.modules.payara.tooling.data.JDKVersion) meth public boolean lt(org.netbeans.modules.payara.tooling.data.JDKVersion) meth public int hashCode() @@ -1248,8 +1249,6 @@ meth public java.util.Optional getUpdate() meth public java.util.Optional getVM() meth public java.util.Optional getVendor() meth public short getMajor() -meth public static boolean isCorrectJDK(java.util.Optional,java.util.Optional) -meth public static boolean isCorrectJDK(org.netbeans.modules.payara.tooling.data.JDKVersion,java.util.Optional,java.util.Optional,java.util.Optional) meth public static org.netbeans.modules.payara.tooling.data.JDKVersion getDefaultPlatformVersion() meth public static org.netbeans.modules.payara.tooling.data.JDKVersion toValue(java.lang.String) meth public static org.netbeans.modules.payara.tooling.data.JDKVersion toValue(java.lang.String,java.lang.String) diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/JDKVersion.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/JDKVersion.java index a0dc61ad806b..a00b831da4e9 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/JDKVersion.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/JDKVersion.java @@ -19,6 +19,7 @@ package org.netbeans.modules.payara.tooling.data; import java.util.Optional; +import org.netbeans.modules.payara.tooling.server.parser.JvmConfigReader; public final class JDKVersion { @@ -283,24 +284,51 @@ public static JDKVersion getDefaultPlatformVersion() { return IDE_JDK_VERSION; } - public static boolean isCorrectJDK(JDKVersion jdkVersion, Optional vendorOrVM, Optional minVersion, Optional maxVersion) { + public boolean isOptionSupported( + JvmConfigReader.JvmOption jvmOption, + String javaHome) { + boolean correctJDK = true; - if (vendorOrVM.isPresent()) { - correctJDK = jdkVersion.getVendor().map(vendor -> vendor.contains(vendorOrVM.get())).orElse(false) - || jdkVersion.getVM().map(vm -> vm.contains(vendorOrVM.get())).orElse(false); + if (jvmOption.vendorOrVM.isPresent()) { + correctJDK + = this.getVendor() + .map(v -> v.contains(jvmOption.vendorOrVM.get())) + .orElse(false) + || this.getVM() + .map(vm -> vm.contains(jvmOption.vendorOrVM.get())) + .orElse(false); } - if (correctJDK && minVersion.isPresent()) { - correctJDK = jdkVersion.ge(minVersion.get()); + + if (correctJDK && jvmOption.minVersion.isPresent()) { + correctJDK = this.ge(jvmOption.minVersion.get()); } - if (correctJDK && maxVersion.isPresent()) { - correctJDK = jdkVersion.le(maxVersion.get()); + + if (correctJDK && jvmOption.maxVersion.isPresent()) { + correctJDK = this.le(jvmOption.maxVersion.get()); + } + + if (correctJDK + && jvmOption.option != null + && jvmOption.option.matches("^-XX:[+-]?CRaC.*")) { + + correctJDK = this.isCRaCSupported(javaHome); } return correctJDK; } - public static boolean isCorrectJDK(Optional minVersion, Optional maxVersion) { - return isCorrectJDK(IDE_JDK_VERSION, Optional.empty(), minVersion, maxVersion); + /** + * Checks whether the given JDK installation supports CRaC by verifying the + * presence of the lib/criu directory. + * + * @param javaHome Java home directory to check + * @return true if CRaC-enabled JDK + */ + private boolean isCRaCSupported(String javaHome) { + return Optional.ofNullable(javaHome) + .map(home -> new java.io.File(home, "lib/criu")) + .map(java.io.File::exists) + .orElse(false); } static { diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/ServerTasks.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/ServerTasks.java index a624eae5de91..828afe5b75af 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/ServerTasks.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/ServerTasks.java @@ -157,11 +157,18 @@ public static ResultProcess startServer(PayaraServer server, } } - JDKVersion javaVersion = args.getJavaVersion() == null ? JDKVersion.getDefaultPlatformVersion() : args.getJavaVersion() ; + JDKVersion javaVersion = args.getJavaVersion() == null ? JDKVersion.getDefaultPlatformVersion() : args.getJavaVersion(); + String selectedJavaHome + = args.getJavaHome() != null + ? args.getJavaHome() + : System.getProperty("java.home"); List optList = jvmConfigReader.getJvmOptions() .stream() - .filter(fullOption -> JDKVersion.isCorrectJDK(javaVersion, fullOption.vendorOrVM, fullOption.minVersion, fullOption.maxVersion)) + .filter(fullOption + -> javaVersion.isOptionSupported( + fullOption, + selectedJavaHome)) .map(fullOption -> fullOption.option) .collect(toList()); From ba5dda3edd235da27624ee6a6361a8886113b5c3 Mon Sep 17 00:00:00 2001 From: Ondro Mihalyi Date: Sat, 4 Apr 2026 17:41:28 +0200 Subject: [PATCH 59/74] Optimizations of status change notifications ## Skip firing events for up-to-date Skip firing events for up-to-date files that are not yet in the cache, since UPTODATE is the default for managed files. This drastically reduces the time spent in the refreshStatusesBatch method on big repositories executed when Commit dialog opens. For example, on the Netbeans repository, from around 8 seconds to 20ms. ## Batch status change notifications Batch status change notifications to avoid per-file event overhead. Replace per-file PROP_FILE_STATUS_CHANGED firing in refreshStatusesBatch with a single PROP_FILES_STATUS_CHANGED batch event, eliminating 100k redundant propertyChange/schedule/SwingUtilities.invokeLater calls on first load. This improves performance a bit because it eliminates many method calls. However, in the end, the number of files changed is the same so the event handler still needs to process all of them. ## Move status updates to a background thread File status update requires I/O operation to refresh files metadata from FS. This is very slow when many files need to be updated. Moving them to a background thread offloads this slow operation from the main thread. Updates can run asynchronously without blocking the main thread that fires the status events, they just update UI hints, they have no impact no behavior. For the whole Netbeans repository, this shortens the time it takes to complete the firePropertyChange event from 6 seconds to 1 second. --- ide/git/nbproject/project.properties | 2 +- .../netbeans/modules/git/FileStatusCache.java | 10 +- .../src/org/netbeans/modules/git/GitVCS.java | 19 ++- .../git/ui/diff/MultiDiffPanelController.java | 50 +++--- .../ui/status/VersioningPanelController.java | 8 + .../core/VersioningAnnotationProvider.java | 146 +++++++++--------- .../ui/diff/DiffSidebarManager.java | 61 ++++---- 7 files changed, 169 insertions(+), 127 deletions(-) diff --git a/ide/git/nbproject/project.properties b/ide/git/nbproject/project.properties index f546c5f6b429..a3fbf1012c3d 100644 --- a/ide/git/nbproject/project.properties +++ b/ide/git/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -javac.release=17 +javac.release=21 nbm.homepage=http://netbeans.org/projects/versioncontrol/pages/Git_main nbm.module.author=Ondrej Vrabec nbm.needs.restart=true diff --git a/ide/git/src/org/netbeans/modules/git/FileStatusCache.java b/ide/git/src/org/netbeans/modules/git/FileStatusCache.java index 011f0983bd2e..c333fccbc4c0 100644 --- a/ide/git/src/org/netbeans/modules/git/FileStatusCache.java +++ b/ide/git/src/org/netbeans/modules/git/FileStatusCache.java @@ -57,6 +57,7 @@ public class FileStatusCache { public static final String PROP_FILE_STATUS_CHANGED = "status.changed"; // NOI18N + public static final String PROP_FILES_STATUS_CHANGED = "status.changed.batch"; // NOI18N private final CacheIndex conflictedFiles, modifiedFiles, ignoredFiles; private static final Logger LOG = Logger.getLogger("org.netbeans.modules.git.status.cache"); //NOI18N @@ -562,6 +563,7 @@ private void refreshStatusesBatch (Map interestingFiles) { boolean fireEvent = true; current = getInfo(file); fi = checkForIgnore(fi, current, file); + boolean upToDateOnFirstLoad = current == null && fi.getStatus().equals(EnumSet.of(Status.UPTODATE)); if (equivalent(fi, current)) { // no need to fire an event if (Utilities.isWindows() || Utilities.isMac()) { @@ -570,6 +572,10 @@ private void refreshStatusesBatch (Map interestingFiles) { } else { continue; } + } else if (upToDateOnFirstLoad) { + // file is up-to-date and not yet in cache: UPTODATE is the implicit default, + // no cache update or event needed + continue; } boolean addToIndex = updateCachedValue(fi, file); indexUpdates.add(new IndexUpdateItem(file, fi, addToIndex)); @@ -579,8 +585,8 @@ private void refreshStatusesBatch (Map interestingFiles) { } updateIndexBatch(indexUpdates); } - for (ChangedEvent event : events) { - fireFileStatusChanged(event); + if (!events.isEmpty()) { + listenerSupport.firePropertyChange(PROP_FILES_STATUS_CHANGED, null, events); } } diff --git a/ide/git/src/org/netbeans/modules/git/GitVCS.java b/ide/git/src/org/netbeans/modules/git/GitVCS.java index c8951d42c32a..d5ff165c2413 100644 --- a/ide/git/src/org/netbeans/modules/git/GitVCS.java +++ b/ide/git/src/org/netbeans/modules/git/GitVCS.java @@ -23,6 +23,8 @@ import java.beans.PropertyChangeListener; import java.util.MissingResourceException; import java.io.File; +import java.util.HashSet; +import java.util.List; import java.util.Set; import java.util.logging.Logger; import java.util.prefs.PreferenceChangeEvent; @@ -38,9 +40,9 @@ * @author ondra */ @VersioningSystem.Registration( - displayName="#CTL_Git_DisplayName", - menuLabel="#CTL_Git_MainMenu", - metadataFolderNames={".git"}, + displayName="#CTL_Git_DisplayName", + menuLabel="#CTL_Git_MainMenu", + metadataFolderNames={".git"}, actionsCategory="Git" ) public class GitVCS extends VersioningSystem implements PropertyChangeListener, PreferenceChangeListener { @@ -48,7 +50,7 @@ public class GitVCS extends VersioningSystem implements PropertyChangeListener, private static final Logger LOG = Logger.getLogger("org.netbeans.modules.git.GitVCS"); //NOI18N public GitVCS() { - putProperty(PROP_DISPLAY_NAME, getDisplayName()); + putProperty(PROP_DISPLAY_NAME, getDisplayName()); putProperty(PROP_MENU_LABEL, org.openide.util.NbBundle.getMessage(GitVCS.class, "CTL_Git_MainMenu")); // NOI18N GitModuleConfig.getDefault().getPreferences().addPreferenceChangeListener(this); Git.getInstance().registerGitVCS(this); @@ -77,7 +79,7 @@ public void getOriginalFile (File workingCopy, File originalFile) { public File getTopmostManagedAncestor(File file) { return Git.getInstance().getTopmostManagedAncestor(file); } - + @Override public CollocationQueryImplementation getCollocationQueryImplementation() { return collocationQueryImplementation; @@ -111,6 +113,13 @@ public void propertyChange(PropertyChangeEvent event) { if (event.getPropertyName().equals(FileStatusCache.PROP_FILE_STATUS_CHANGED)) { FileStatusCache.ChangedEvent changedEvent = (FileStatusCache.ChangedEvent) event.getNewValue(); fireStatusChanged(changedEvent.getFile()); + } else if (event.getPropertyName().equals(FileStatusCache.PROP_FILES_STATUS_CHANGED)) { + List changedEvents = (List) event.getNewValue(); + Set files = HashSet.newHashSet(changedEvents.size()); + for (FileStatusCache.ChangedEvent e : changedEvents) { + files.add(e.getFile()); + } + fireStatusChanged(files); } else if (event.getPropertyName().equals(Git.PROP_ANNOTATIONS_CHANGED)) { fireAnnotationsChanged((Set) event.getNewValue()); } else if (event.getPropertyName().equals(Git.PROP_VERSIONED_FILES_CHANGED)) { diff --git a/ide/git/src/org/netbeans/modules/git/ui/diff/MultiDiffPanelController.java b/ide/git/src/org/netbeans/modules/git/ui/diff/MultiDiffPanelController.java index 6ff1626e0f41..2d6f978bb57a 100644 --- a/ide/git/src/org/netbeans/modules/git/ui/diff/MultiDiffPanelController.java +++ b/ide/git/src/org/netbeans/modules/git/ui/diff/MultiDiffPanelController.java @@ -196,7 +196,7 @@ public class MultiDiffPanelController implements ActionListener, PropertyChangeL private GitProgressSupport statusRefreshSupport; private PreferenceChangeListener prefList; - + private final Revision revisionOriginalLeft; private final Revision revisionOriginalRight; private Revision revisionLeft; @@ -211,7 +211,7 @@ public class MultiDiffPanelController implements ActionListener, PropertyChangeL private int popupViewIndex; private int requestedRightLine = -1; private int requestedLeftLine = -1; - + private static final int VIEW_MODE_TABLE = 1; private static final int VIEW_MODE_TREE = 2; private int currentSetupDiffLengthChanged; @@ -270,7 +270,7 @@ public MultiDiffPanelController (File file, Revision rev1, Revision rev2, int re prepareTask = RP.create(dpt); prepareTask.schedule(0); } - + private MultiDiffPanelController (VCSContext context, Revision revisionLeft, Revision revisionRight, boolean fixedRevisions) { this.context = context; this.revisionLeft = revisionOriginalLeft = revisionLeft; @@ -315,7 +315,7 @@ private void setActiveComponent (DiffFileViewComponent fileComponent) panel.splitPane.setTopComponent(getActiveFileComponent().getComponent()); panel.splitPane.setDividerLocation(gg); } - + private void refreshSelectionCombos () { if (!fixedRevisions && GitUtils.getRepositoryRoots(context).size() == 1) { panel.cmbDiffTreeFirst.setEnabled(false); @@ -432,7 +432,7 @@ public void componentClosed () { cancelBackgroundTasks(); setups.clear(); editorCookies.clear(); - + if (list != null) { Git.getInstance().getFileStatusCache().removePropertyChangeListener(list); } @@ -569,7 +569,7 @@ private void initToolbarButtons () { panel.treeButton.setVisible(false); } } - + private JComponent getInfoPanelLoading () { if (infoPanelLoadingFromRepo == null) { infoPanelLoadingFromRepo = new NoContentPanel(NbBundle.getMessage(MultiDiffPanel.class, "MSG_DiffPanel_NoContent")); @@ -812,11 +812,11 @@ public void run () { public void run () { multiTextDiffSupport = null; } - + }); } } - + private String findEncoding () { for (File f : actionRoots.getValue()) { FileObject fo = FileUtil.toFileObject(f); @@ -861,7 +861,7 @@ private void exportDiff (ByteArrayOutputStream bos) throws GitException { actionRoots.getKey(), Bundle.MSG_DiffPanel_multiTextualDiff_preparing()); } } - + }); displayDiffView(); } @@ -891,7 +891,7 @@ private Map.Entry getSelectedActionRoots () { ctx = GitUtils.getContextForFiles(filterExcluded(selectedFiles)); return GitUtils.getActionRoots(ctx); } - + private File[] filterExcluded (File[] files) { List filtered = new ArrayList<>(files.length); for (File f : files) { @@ -903,7 +903,7 @@ private File[] filterExcluded (File[] files) { } return filtered.toArray(new File[0]); } - + private boolean showingFileComponent() { return getActiveFileComponent() != null; } @@ -1064,7 +1064,7 @@ private DiffMode getDiffMode () { } return diffMode; } - + private Revision getSelectedRevision (JComboBox cmbDiffTree) { Object selectedItem = cmbDiffTree.getSelectedItem(); Revision selection = null; @@ -1123,15 +1123,25 @@ public void propertyChange (PropertyChangeEvent evt) { if (FileStatusCache.PROP_FILE_STATUS_CHANGED.equals(evt.getPropertyName())) { FileStatusCache.ChangedEvent changedEvent = (FileStatusCache.ChangedEvent) evt.getNewValue(); if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "File status for file {0} changed from {1} to {2}", new Object[] { - changedEvent.getFile(), + LOG.log(Level.FINE, "File status for file {0} changed from {1} to {2}", new Object[] { + changedEvent.getFile(), changedEvent.getOldInfo(), changedEvent.getNewInfo() } ); } - if (revisionLeft == Revision.HEAD // remove when we're able to refresh single file changes for Local vs. any revision + if (revisionLeft == Revision.HEAD // remove when we're able to refresh single file changes for Local vs. any revision && revisionRight == Revision.LOCAL && affectsView(changedEvent)) { applyChange(changedEvent); } + } else if (FileStatusCache.PROP_FILES_STATUS_CHANGED.equals(evt.getPropertyName())) { + if (revisionLeft == Revision.HEAD && revisionRight == Revision.LOCAL) { + @SuppressWarnings("unchecked") + List changedEvents = (List) evt.getNewValue(); + for (FileStatusCache.ChangedEvent changedEvent : changedEvents) { + if (affectsView(changedEvent)) { + applyChange(changedEvent); + } + } + } } else if (DiffController.PROP_DIFFERENCES.equals(evt.getPropertyName())) { // something has changed Setup setup = currentSetup; @@ -1537,7 +1547,7 @@ private boolean isLocal () { * Eliminates unnecessary cache.listFiles call as well as the whole node creation process () */ private final class ApplyChangesTask implements Runnable, Cancellable { - + private volatile boolean canceled; @Override @@ -1651,7 +1661,7 @@ public boolean cancel () { return true; } } - + private class RefreshComboTask implements Runnable { @Override @@ -1663,7 +1673,7 @@ public void run () { if (revisionOriginalLeft != Revision.HEAD) { modelLeft.add(Revision.HEAD); } - modelRight.add(revisionOriginalRight); + modelRight.add(revisionOriginalRight); if (revisionOriginalRight != Revision.LOCAL) { modelRight.add(Revision.LOCAL); } @@ -1767,7 +1777,7 @@ public void run() { GitClientExceptionHandler.notifyException(exception, true); } } - + private DiffNode[] prepareSetupsToRefresh () { return Mutex.EVENT.readAccess(new Mutex.Action() { @Override @@ -1810,7 +1820,7 @@ private int getMatchingLine (StreamSource ss2, StreamSource ss1, int requestedRi } } }// - + @NbBundle.Messages({ "MSG_Revision_Select_Tooltip=Select a revision from the picker" }) diff --git a/ide/git/src/org/netbeans/modules/git/ui/status/VersioningPanelController.java b/ide/git/src/org/netbeans/modules/git/ui/status/VersioningPanelController.java index 2a0ed8d38079..5fd2266740c5 100644 --- a/ide/git/src/org/netbeans/modules/git/ui/status/VersioningPanelController.java +++ b/ide/git/src/org/netbeans/modules/git/ui/status/VersioningPanelController.java @@ -408,6 +408,14 @@ public void propertyChange (PropertyChangeEvent evt) { if (affectsView((FileStatusCache.ChangedEvent) evt.getNewValue())) { applyChange(changedEvent); } + } else if (FileStatusCache.PROP_FILES_STATUS_CHANGED.equals(evt.getPropertyName())) { + @SuppressWarnings("unchecked") + List changedEvents = (List) evt.getNewValue(); + for (FileStatusCache.ChangedEvent changedEvent : changedEvents) { + if (affectsView(changedEvent)) { + applyChange(changedEvent); + } + } } } diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/VersioningAnnotationProvider.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/VersioningAnnotationProvider.java index 69eb1ebe538f..d9c3983897c1 100644 --- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/VersioningAnnotationProvider.java +++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/VersioningAnnotationProvider.java @@ -47,13 +47,13 @@ /** * Plugs into IDE filesystem and delegates annotation work to registered versioning systems. - * + * * @author Maros Sandor */ public class VersioningAnnotationProvider { - + private static final VersioningAnnotationProvider instance = new VersioningAnnotationProvider(); - + private static final Logger LOG = Logger.getLogger(VersioningAnnotationProvider.class.getName()); private static final int CACHE_INITIAL_SIZE = 500; private static final long CACHE_ITEM_MAX_AGE = getMaxAge(); @@ -62,11 +62,11 @@ public class VersioningAnnotationProvider { private VersioningAnnotationProvider() { } - + public static VersioningAnnotationProvider getDefault() { return instance; } - + private VersioningSystem getOwner(VCSFileProxy file, Boolean isFile) { return file == null ? null : VersioningManager.getInstance().getOwner(file, isFile); } @@ -101,7 +101,7 @@ public Action[] actions(Set files) { SystemAction.get(InitLHSystemAction.class) }; } - + List actions = new ArrayList<>(); LocalHistoryActions localHistoryAction = null; @@ -136,8 +136,8 @@ public Action[] actions(Set files) { vs = owners.keySet().iterator().next(); } else { return actions.toArray(Action[]::new); - } - + } + VCSAnnotator an = null; if (vs != null) { an = vs.getVCSAnnotator(); @@ -150,13 +150,13 @@ public Action[] actions(Set files) { return actions.toArray(Action[]::new); } - + public static class VersioningSystemActions extends AbstractVersioningSystemActions { } public static class LocalHistoryActions extends AbstractVersioningSystemActions { } - + public static class InitLHSystemAction extends InitVersioningSystemAction { public InitLHSystemAction() { super(); @@ -166,7 +166,7 @@ public String getName() { return NbBundle.getMessage(VersioningAnnotationProvider.class, "CTL_MenuItem_LocalHistory"); } } - + public static class InitVersioningSystemAction extends SystemAction implements Presenter.Popup { @Override @@ -184,9 +184,9 @@ public HelpCtx getHelpCtx() { return null; } } - + public abstract static class AbstractVersioningSystemActions extends SystemAction implements ContextAwareAction { - + private VersioningSystem system; @Override @@ -213,7 +213,7 @@ public void setVersioningSystem(VersioningSystem system) { this.system = system; } } - + private static class RealVersioningSystemActions extends AbstractAction implements Presenter.Popup { private final VersioningSystem system; @@ -234,10 +234,10 @@ public void actionPerformed(ActionEvent e) { public JMenuItem getPopupPresenter() { return new VersioningSystemMenuItem(); } - + @NbBundle.Messages("LBL_PopupMenu_Initializing=Initializing...") private class VersioningSystemMenuItem extends JMenu { - + private boolean popupContructed; public VersioningSystemMenuItem() { @@ -284,7 +284,7 @@ static void refreshAllAnnotations() { instance.refreshAnnotations(null); } } - + /** * Refreshes annotations for all given files and all parent folders of those files. * @@ -295,77 +295,83 @@ void refreshAnnotations(Set files) { } void refreshAnnotations(Set files, boolean removeFromCache) { - if (files == null) { + + if (files == null) { LOG.log(Level.FINE, "refreshing all annotations"); //NOI18N refreshAllAnnotationsTask.schedule(2000); return; } - - if (removeFromCache) { - LOG.log(Level.FINE, "refreshing annotations for {0}", files); //NOI18N - if (LOG.isLoggable(Level.FINEST)) { - LOG.log(Level.FINEST, "refreshing annotations called from:", new Exception()); //NOI18N - } - } - - for (VCSFileProxy file : files) { - // try to limit the number of normalizeFile calls: - // let's find the closest existent FO, then list it's parents with FileObject.getParent(); - FileObject fo = file.toFileObject(); - if (fo == null) { - fo = getExistingParent(file); - } else { - // file exists, plan it to refresh - addToMap(filesToRefresh, fo, removeFromCache); - fo = fo.getParent(); - } + + final RequestProcessor.Task refreshAnnotationsTask = rp.create(() -> { if (removeFromCache) { - // fo is the closest existing parent - for (FileObject parent = fo; parent != null; parent = parent.getParent()) { - // plan parent to refresh - addToMap(parentsToRefresh, parent, removeFromCache); + LOG.log(Level.FINE, "refreshing annotations for {0}", files); //NOI18N + if (LOG.isLoggable(Level.FINEST)) { + LOG.log(Level.FINEST, "refreshing annotations called from:", new Exception()); //NOI18N } } - } - - fireFileStatusChangedTask.schedule(2000); + + for (VCSFileProxy file : files) { + // try to limit the number of normalizeFile calls: + // let's find the closest existent FO, then list it's parents with FileObject.getParent(); + FileObject fo = file.toFileObject(); + if (fo == null) { + fo = getExistingParent(file); + } else { + // file exists, plan it to refresh + addToMap(filesToRefresh, fo, removeFromCache); + fo = fo.getParent(); + } + + if (removeFromCache) { + // fo is the closest existing parent + for (FileObject parent = fo; parent != null; parent = parent.getParent()) { + // plan parent to refresh + addToMap(parentsToRefresh, parent, removeFromCache); + } + } + } + + fireFileStatusChangedTask.schedule(2000); + }); + + refreshAnnotationsTask.schedule(0); } - + /** - * Stores all files which have to be refreshed + * Stores all files which have to be refreshed */ private final Map> filesToRefresh = new HashMap<>(); - + /** - * Stores all parents from files which have to be refreshed + * Stores all parents from files which have to be refreshed */ private final Map> parentsToRefresh = new HashMap<>(); - + private RequestProcessor rp = new RequestProcessor("Versioning fire FileStatusChanged", 1, true); - + /** * Refreshes all annotations and clears the maps holding all files and their parents which have to be refreshed */ - private RequestProcessor.Task refreshAllAnnotationsTask = rp.create(new Runnable() { + private RequestProcessor.Task refreshAllAnnotationsTask = rp.create(new Runnable() { @Override - public void run() { + public void run() { clearMap(filesToRefresh); clearMap(parentsToRefresh); labelCache.removeAll(); iconCache.removeAll(); - + VersioningManager.deliverStatusEvent(new VCSAnnotationEvent(true, true)); } - }); - + }); + /** * Refreshes all files stored in filesToRefresh and parentsToRefresh - */ + */ private RequestProcessor.Task fireFileStatusChangedTask = rp.create(new Runnable() { @Override public void run() { - + // createInitializingMenu and fire for all files which have to be refreshed List fileEvents = new ArrayList<>(); List folderEvents = new ArrayList<>(); @@ -384,7 +390,7 @@ public void run() { } else { files.add(fo); } - } + } set.clear(); e.setValue(new HashSet<>()); if(!files.isEmpty()) { @@ -393,33 +399,33 @@ public void run() { if(!folders.isEmpty()) { folderEvents.add(new VCSAnnotationEvent(folders, true, true)); } - } - } + } + } fireFileStatusEvents(fileEvents); fireFileStatusEvents(folderEvents); // createInitializingMenu and fire events for all parent from each file which has to be refreshed - List parentEvents = new ArrayList<>(); + List parentEvents = new ArrayList<>(); synchronized(parentsToRefresh) { for (Map.Entry> e : parentsToRefresh.entrySet()) { Set set = e.getValue(); Set files = new HashSet<>(set); parentEvents.add(new VCSAnnotationEvent(files, true, false)); - e.setValue(new HashSet<>()); + e.setValue(new HashSet<>()); set.clear(); } } fireFileStatusEvents(parentEvents); } - + private void fireFileStatusEvents(Collection events) { for(VCSAnnotationEvent event : events) { VersioningManager.deliverStatusEvent(event); } - } - }); - + } + }); + private void clearMap(Map> map) { synchronized(map) { if(!map.isEmpty()) { @@ -427,7 +433,7 @@ private void clearMap(Map> map) { } } } - + private void addToMap(Map> map, FileObject fo, boolean removeFromCache) { if(fo == null) { return; @@ -438,8 +444,8 @@ private void addToMap(Map> map, FileObject fo, boole } catch (FileStateInvalidException e) { // ignore files in invalid filesystems return; - } - synchronized (map) { + } + synchronized (map) { map.computeIfAbsent(fs, k -> new HashSet<>()) .add(fo); if (removeFromCache) { @@ -624,7 +630,7 @@ private T annotate(VCSAnnotator annotator, T initialValue, VCSContext context) { return null; } } - + private T annotate (T initialValue, Set files) { long ft = System.currentTimeMillis(); if (LOG.isLoggable(Level.FINEST)) { diff --git a/ide/versioning.ui/src/org/netbeans/modules/versioning/ui/diff/DiffSidebarManager.java b/ide/versioning.ui/src/org/netbeans/modules/versioning/ui/diff/DiffSidebarManager.java index ce3b35f8a464..98e67c26e364 100644 --- a/ide/versioning.ui/src/org/netbeans/modules/versioning/ui/diff/DiffSidebarManager.java +++ b/ide/versioning.ui/src/org/netbeans/modules/versioning/ui/diff/DiffSidebarManager.java @@ -45,7 +45,7 @@ /** * Central place of diff integration into editor and errorstripe. - * + * * @author Maros Sandor */ public class DiffSidebarManager implements PreferenceChangeListener, PropertyChangeListener { @@ -58,14 +58,14 @@ public class DiffSidebarManager implements PreferenceChangeListener, PropertyCha * Temporary top folder for diffsidebar in a single session */ private static File tempDir; - + /** * Request processor for long running tasks. */ private static final RequestProcessor blockingRequestProcessor = new RequestProcessor("Diffsidebar long tasks", 1, false, false); static final Logger LOG = Logger.getLogger(DiffSidebarManager.class.getName()); private static final boolean LOG_STACKTRACE = Boolean.getBoolean("versioning.diffsidebar.refresh.logstacktrace"); //NOI18N - + public static synchronized DiffSidebarManager getInstance() { if (instance == null) { instance = new DiffSidebarManager(); @@ -82,37 +82,40 @@ public static synchronized DiffSidebarManager getInstance() { private final Map sideBars = new WeakHashMap(); private DiffSidebarManager() { - sidebarEnabled = getPreferences().getBoolean(SIDEBAR_ENABLED, true); + sidebarEnabled = getPreferences().getBoolean(SIDEBAR_ENABLED, true); getPreferences().addPreferenceChangeListener(this); } public void refreshSidebars(final Set proxies) { - // pushing the change ... we may as well listen for changes in versioning manager - Set fileObjects = null; - if (proxies != null) { - fileObjects = new HashSet(proxies.size()); - for (VCSFileProxy file : proxies) { - fileObjects.add(file.toFileObject()); + + createDiffSidebarTask(() -> { + // pushing the change ... we may as well listen for changes in versioning manager + Set fileObjects = null; + if (proxies != null) { + fileObjects = new HashSet(proxies.size()); + for (VCSFileProxy file : proxies) { + fileObjects.add(file.toFileObject()); + } + fileObjects.remove(null); } - fileObjects.remove(null); - } - if (LOG_STACKTRACE && (fileObjects == null || !fileObjects.isEmpty())) { - LOG.log(Level.INFO, "Refreshing: " + fileObjects, new Exception()); - } - final Set fileObjectsToRefresh = fileObjects; - SwingUtilities.invokeLater(new Runnable() { - public void run() { - synchronized (sideBars) { - for (DiffSidebar bar : sideBars.keySet()) { - if (matches(bar, fileObjectsToRefresh)) { - bar.refresh(); + if (LOG_STACKTRACE && (fileObjects == null || !fileObjects.isEmpty())) { + LOG.log(Level.INFO, "Refreshing: " + fileObjects, new Exception()); + } + final Set fileObjectsToRefresh = fileObjects; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + synchronized (sideBars) { + for (DiffSidebar bar : sideBars.keySet()) { + if (matches(bar, fileObjectsToRefresh)) { + bar.refresh(); + } } } } - } - }); + }); + }).schedule(0); } - + private boolean matches(DiffSidebar sidebar, Set fileObjects) { if (fileObjects == null) return true; for (FileObject fileObject : fileObjects) { @@ -123,10 +126,10 @@ private boolean matches(DiffSidebar sidebar, Set fileObjects) { Preferences getPreferences() { return NbPreferences.forModule(DiffSidebarManager.class); - } + } /** - * Creates a new task needed by a diff sidebar to update its structures (compute diff). - * + * Creates a new task needed by a diff sidebar to update its structures (compute diff). + * * @param runnable a runnable task * @return RP task */ @@ -155,7 +158,7 @@ private DiffSidebar getSideBar(JTextComponent target) { return null; } LOG.log(Level.FINE, "requested sidebar for {0}", file.getPath()); - + sideBar = new DiffSidebar(target, file); sideBars.put(sideBar, null); sideBar.setSidebarVisible(sidebarEnabled); From b12ed3699dcd672155a20ade7e75935b5bac8fea Mon Sep 17 00:00:00 2001 From: Ondro Mihalyi Date: Sat, 4 Apr 2026 00:09:18 +0200 Subject: [PATCH 60/74] Optimization of Git status (in Commit dialog) Speeds up GitClient.getStatus() by deferring expensive evaluation of object Ids, which often compute file content hash, to evaluate them lazily only when needed. On Netbeans repository with a lot of files, this speeds up GitClient.getStatus() execution from 4 seconds to 1 second. --- .../libs/git/jgit/commands/StatusCommand.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/StatusCommand.java b/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/StatusCommand.java index fd59d4b717d5..5ef3213be33e 100644 --- a/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/StatusCommand.java +++ b/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/StatusCommand.java @@ -33,6 +33,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import java.util.function.Supplier; import java.util.logging.Level; import java.util.logging.Logger; import org.eclipse.jgit.diff.DiffEntry; @@ -47,7 +48,9 @@ import org.eclipse.jgit.lib.ObjectReader; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevWalk; -import org.eclipse.jgit.treewalk.*; +import org.eclipse.jgit.treewalk.EmptyTreeIterator; +import org.eclipse.jgit.treewalk.FileTreeIterator; +import org.eclipse.jgit.treewalk.TreeWalk; import org.eclipse.jgit.treewalk.filter.AndTreeFilter; import org.eclipse.jgit.treewalk.filter.NotTreeFilter; import org.eclipse.jgit.treewalk.filter.OrTreeFilter; @@ -189,7 +192,7 @@ protected void run () throws GitException { Collection subTreeFilters = getSubtreeFilters(pathFilters, path); if (!subTreeFilters.isEmpty()) { // caller requested a status for a file under an ignored folder - treeWalk.setFilter(AndTreeFilter.create(treeWalk.getFilter(), OrTreeFilter.create(NotTreeFilter.create(PathFilter.create(path)), + treeWalk.setFilter(AndTreeFilter.create(treeWalk.getFilter(), OrTreeFilter.create(NotTreeFilter.create(PathFilter.create(path)), subTreeFilters.size() > 1 ? OrTreeFilter.create(subTreeFilters) : subTreeFilters.iterator().next()))); treeWalk.enterSubtree(); } @@ -217,11 +220,11 @@ protected void run () throws GitException { } else { statusIndexWC = GitStatus.Status.STATUS_ADDED; } - } else if (!isExistingSymlink(mIndex, mWorking) && (differ(mIndex, mWorking, checkExecutable) + } else if (!isExistingSymlink(mIndex, mWorking) && (differ(mIndex, mWorking, checkExecutable) || (mWorking != 0 && mWorking != FileMode.TREE.getBits() && fti.isModified(indexEntry, true, od))) || GitStatus.Status.STATUS_MODIFIED == getGitlinkStatus( - mWorking, treeWalk.getObjectId(T_WORKSPACE), - mIndex, treeWalk.getObjectId(T_INDEX))) { + mWorking, () -> treeWalk.getObjectId(T_WORKSPACE), + mIndex, () -> treeWalk.getObjectId(T_INDEX))) { statusIndexWC = GitStatus.Status.STATUS_MODIFIED; } else { statusIndexWC = GitStatus.Status.STATUS_NORMAL; @@ -237,8 +240,8 @@ protected void run () throws GitException { && (statusIndexWC != GitStatus.Status.STATUS_NORMAL || statusHeadIndex != GitStatus.Status.STATUS_NORMAL) && !treeWalk.getObjectId(T_COMMIT).equals(fti.getEntryObjectId()))) || GitStatus.Status.STATUS_MODIFIED == getGitlinkStatus( - mHead, treeWalk.getObjectId(T_WORKSPACE), - mHead, treeWalk.getObjectId(T_COMMIT))) { + mHead, () -> treeWalk.getObjectId(T_WORKSPACE), + mHead, () -> treeWalk.getObjectId(T_COMMIT))) { statusHeadWC = GitStatus.Status.STATUS_MODIFIED; } else { statusHeadWC = GitStatus.Status.STATUS_NORMAL; @@ -444,13 +447,13 @@ private void handleSymlink (List symLinks, String workTreePath) { } } - private GitStatus.Status getGitlinkStatus (int mode1, ObjectId id1, int mode2, ObjectId id2) { + private GitStatus.Status getGitlinkStatus (int mode1, Supplier id1, int mode2, Supplier id2) { if (mode1 == FileMode.TYPE_GITLINK || mode2 == FileMode.TYPE_GITLINK) { if (mode1 == FileMode.TYPE_MISSING) { return GitStatus.Status.STATUS_REMOVED; } else if (mode2 == FileMode.TYPE_MISSING) { return GitStatus.Status.STATUS_ADDED; - } else if (!id1.equals(id2)) { + } else if (!id1.get().equals(id2.get())) { return GitStatus.Status.STATUS_MODIFIED; } } From 2103783ef2ef5c94b5906cd8f3a87451a4ea39f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 11 Apr 2026 16:16:23 +0200 Subject: [PATCH 61/74] Netbinox: Enable loading of bundles importing java.* packages Newer bouncy castle JARs declare an import of the java.io package. This is rejected by the manifest verification in the equinox version NetBeans uses wrapped into Netbinox. This change deactivates the check in equinox that rejects that entry. Additionally the instructions for building the patched equinox version were updated. Closes: #8894 --- platform/netbinox/external/M20140115-0800.patch | 15 ++++++++++++++- platform/netbinox/external/binaries-list | 2 +- ....eclipse.osgi_3.9.1.v20140110-1610-license.txt | 2 +- platform/netbinox/external/rebuild-equinox.sh | 9 +++++---- platform/netbinox/nbproject/project.properties | 2 +- platform/netbinox/nbproject/project.xml | 4 ++-- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/platform/netbinox/external/M20140115-0800.patch b/platform/netbinox/external/M20140115-0800.patch index 89440a4b156e..9606c11e865f 100644 --- a/platform/netbinox/external/M20140115-0800.patch +++ b/platform/netbinox/external/M20140115-0800.patch @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/Framework.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/Framework.java -index 617db7f..1851f4a 100644 +index 617db7f49..1851f4ade 100644 --- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/Framework.java +++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/Framework.java @@ -563,11 +563,19 @@ public class Framework implements EventPublisher, Runnable { @@ -42,3 +42,16 @@ index 617db7f..1851f4a 100644 return result; } +diff --git a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateBuilder.java b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateBuilder.java +index b6964980a..d9d2f996d 100644 +--- a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateBuilder.java ++++ b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateBuilder.java +@@ -819,7 +819,7 @@ public class StateBuilder { + throw new BundleException(message + " : " + NLS.bind(StateMsg.HEADER_PACKAGE_DUPLICATES, packageNames[j]), BundleException.MANIFEST_ERROR); //$NON-NLS-1$ + } + // check for java.* +- if (!jreBundle && packageNames[j].startsWith("java.")) { //$NON-NLS-1$ ++ if (false && !jreBundle && packageNames[j].startsWith("java.")) { //$NON-NLS-1$ + String message = NLS.bind(Msg.MANIFEST_INVALID_HEADER_EXCEPTION, headerKey, elements[i].toString()); + throw new BundleException(message + " : " + NLS.bind(StateMsg.HEADER_PACKAGE_JAVA, packageNames[j]), BundleException.MANIFEST_ERROR); //$NON-NLS-1$ + } diff --git a/platform/netbinox/external/binaries-list b/platform/netbinox/external/binaries-list index a65f0c256270..c3f287a01817 100644 --- a/platform/netbinox/external/binaries-list +++ b/platform/netbinox/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -CB97D80CEDF7963313E1B1EADC0F1E49F62570DD org.eclipse.osgi_3.9.1.nb9.jar +FAE5455278493B0125564195DB3F3B92F4169A6E org.eclipse.osgi_3.9.1.nb10.jar diff --git a/platform/netbinox/external/org.eclipse.osgi_3.9.1.v20140110-1610-license.txt b/platform/netbinox/external/org.eclipse.osgi_3.9.1.v20140110-1610-license.txt index 10113547fc04..08c22426b6b4 100644 --- a/platform/netbinox/external/org.eclipse.osgi_3.9.1.v20140110-1610-license.txt +++ b/platform/netbinox/external/org.eclipse.osgi_3.9.1.v20140110-1610-license.txt @@ -2,7 +2,7 @@ Name: Equinox Version: 3.9.1 Description: Eclipse OSGi container License: OSGi -Files: org.eclipse.osgi_3.9.1.nb9.jar +Files: org.eclipse.osgi_3.9.1.nb10.jar Origin: Eclipse URL: http://www.eclipse.org/equinox/ diff --git a/platform/netbinox/external/rebuild-equinox.sh b/platform/netbinox/external/rebuild-equinox.sh index fb1bacf9e4ca..8b1131a52f9f 100755 --- a/platform/netbinox/external/rebuild-equinox.sh +++ b/platform/netbinox/external/rebuild-equinox.sh @@ -20,19 +20,20 @@ BASE=`dirname $0` cd $BASE BASE=`pwd` -git clone https://git.eclipse.org/r/equinox/rt.equinox.framework -cd rt.equinox.framework +git clone https://github.com/eclipse-equinox/equinox.framework +cd equinox.framework git checkout M20140115-0800 git show M20140115-0800:bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/Framework.java >Framework.java +git show M20140115-0800:bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/StateBuilder.java >StateBuilder.java patch <../M20140115-0800.patch if ! [ -e org.eclipse.osgi-3.9.1.v20140110-1610.jar ]; then wget https://repo.eclipse.org/content/repositories/releases/org/eclipse/core/org.eclipse.osgi/3.9.1.v20140110-1610/org.eclipse.osgi-3.9.1.v20140110-1610.jar fi mkdir -p out -javac -cp org.eclipse.osgi-3.9.1.v20140110-1610.jar Framework.java -d out || exit 1 +javac --release 17 -cp org.eclipse.osgi-3.9.1.v20140110-1610.jar Framework.java StateBuilder.java -d out || exit 1 cd out zip -d ../org.eclipse.osgi-3.9.1.v20140110-1610.jar META-INF/ECLIPSE_.SF META-INF/ECLIPSE_.RSA zip -r ../org.eclipse.osgi-3.9.1.v20140110-1610.jar . cd "$BASE" -mv rt.equinox.framework/org.eclipse.osgi-3.9.1.v20140110-1610.jar org.eclipse.osgi_3.9.1.nb9.jar \ No newline at end of file +mv equinox.framework/org.eclipse.osgi-3.9.1.v20140110-1610.jar org.eclipse.osgi_3.9.1.nb10.jar \ No newline at end of file diff --git a/platform/netbinox/nbproject/project.properties b/platform/netbinox/nbproject/project.properties index 31a4902af2d3..04f60c989f9e 100644 --- a/platform/netbinox/nbproject/project.properties +++ b/platform/netbinox/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -release.external/org.eclipse.osgi_3.9.1.nb9.jar=modules/ext/org.eclipse.osgi_3.9.1.nb9.jar +release.external/org.eclipse.osgi_3.9.1.nb10.jar=modules/ext/org.eclipse.osgi_3.9.1.nb10.jar javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/platform/netbinox/nbproject/project.xml b/platform/netbinox/nbproject/project.xml index da9a30a1c55d..5430624f863f 100644 --- a/platform/netbinox/nbproject/project.xml +++ b/platform/netbinox/nbproject/project.xml @@ -127,8 +127,8 @@ org.eclipse.osgi.util - ext/org.eclipse.osgi_3.9.1.nb9.jar - external/org.eclipse.osgi_3.9.1.nb9.jar + ext/org.eclipse.osgi_3.9.1.nb10.jar + external/org.eclipse.osgi_3.9.1.nb10.jar From 58ef4268e8fd6da1d254760a4591ab56b42d0d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 11 Apr 2026 16:19:35 +0200 Subject: [PATCH 62/74] Update bundled bouncy castle libraries to 1.83 Closes: #8776 --- ...g-jdk18on-1.77-license.txt => bcpg-jdk18on-1.83-license.txt} | 2 +- ide/bcpg/external/binaries-list | 2 +- ide/bcpg/nbproject/project.properties | 2 +- ide/bcpg/nbproject/project.xml | 2 +- ...jdk18on-1.77-license.txt => bcpkix-jdk18on-1.83-license.txt} | 2 +- ide/bcpkix/external/binaries-list | 2 +- ide/bcpkix/nbproject/project.properties | 2 +- ide/bcpkix/nbproject/project.xml | 2 +- ...jdk18on-1.77-license.txt => bcprov-jdk18on-1.83-license.txt} | 2 +- ide/bcprov/external/binaries-list | 2 +- ide/bcprov/nbproject/project.properties | 2 +- ide/bcprov/nbproject/project.xml | 2 +- ...jdk18on-1.77-license.txt => bcutil-jdk18on-1.83-license.txt} | 2 +- ide/bcutil/external/binaries-list | 2 +- ide/bcutil/nbproject/project.properties | 2 +- ide/bcutil/nbproject/project.xml | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) rename ide/bcpg/external/{bcpg-jdk18on-1.77-license.txt => bcpg-jdk18on-1.83-license.txt} (98%) rename ide/bcpkix/external/{bcpkix-jdk18on-1.77-license.txt => bcpkix-jdk18on-1.83-license.txt} (98%) rename ide/bcprov/external/{bcprov-jdk18on-1.77-license.txt => bcprov-jdk18on-1.83-license.txt} (98%) rename ide/bcutil/external/{bcutil-jdk18on-1.77-license.txt => bcutil-jdk18on-1.83-license.txt} (98%) diff --git a/ide/bcpg/external/bcpg-jdk18on-1.77-license.txt b/ide/bcpg/external/bcpg-jdk18on-1.83-license.txt similarity index 98% rename from ide/bcpg/external/bcpg-jdk18on-1.77-license.txt rename to ide/bcpg/external/bcpg-jdk18on-1.83-license.txt index b83486e8c08f..e712820945b9 100644 --- a/ide/bcpg/external/bcpg-jdk18on-1.77-license.txt +++ b/ide/bcpg/external/bcpg-jdk18on-1.83-license.txt @@ -1,5 +1,5 @@ Name: Bouncy Castle Java OpenPGP/BCPG -Version: 1.77 +Version: 1.83 License: MIT-bouncycastle Origin: https://www.bouncycastle.org/latest_releases.html Description: Legion of the Bouncy Castle Java cryptography APIs diff --git a/ide/bcpg/external/binaries-list b/ide/bcpg/external/binaries-list index ffaf5411742f..b3e4ff5b058c 100644 --- a/ide/bcpg/external/binaries-list +++ b/ide/bcpg/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -BB0BE51E8B378BAAE6E0D86F5282CD3887066539 org.bouncycastle:bcpg-jdk18on:1.77 +4369727B9B02E6C62C26FDE862AC42D77CE8EDEF org.bouncycastle:bcpg-jdk18on:1.83 diff --git a/ide/bcpg/nbproject/project.properties b/ide/bcpg/nbproject/project.properties index 5f7ec92ab2da..8f27196bc844 100644 --- a/ide/bcpg/nbproject/project.properties +++ b/ide/bcpg/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -release.external/bcpg-jdk18on-1.77.jar=modules/bcpg.jar +release.external/bcpg-jdk18on-1.83.jar=modules/bcpg.jar is.autoload=true diff --git a/ide/bcpg/nbproject/project.xml b/ide/bcpg/nbproject/project.xml index c541a48d1186..ab5f0429784f 100644 --- a/ide/bcpg/nbproject/project.xml +++ b/ide/bcpg/nbproject/project.xml @@ -28,7 +28,7 @@ bcpg.jar - external/bcpg-jdk18on-1.77.jar + external/bcpg-jdk18on-1.83.jar diff --git a/ide/bcpkix/external/bcpkix-jdk18on-1.77-license.txt b/ide/bcpkix/external/bcpkix-jdk18on-1.83-license.txt similarity index 98% rename from ide/bcpkix/external/bcpkix-jdk18on-1.77-license.txt rename to ide/bcpkix/external/bcpkix-jdk18on-1.83-license.txt index 98a3862749ad..01e77207ead2 100644 --- a/ide/bcpkix/external/bcpkix-jdk18on-1.77-license.txt +++ b/ide/bcpkix/external/bcpkix-jdk18on-1.83-license.txt @@ -1,5 +1,5 @@ Name: Bouncy Castle Java Provider -Version: 1.77 +Version: 1.83 License: MIT-bouncycastle Origin: https://www.bouncycastle.org/latest_releases.html Description: Legion of the Bouncy Castle Java cryptography APIs diff --git a/ide/bcpkix/external/binaries-list b/ide/bcpkix/external/binaries-list index 7d5f95ed9230..bf9b09e5e2a3 100644 --- a/ide/bcpkix/external/binaries-list +++ b/ide/bcpkix/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -ED953791BA0229747DD0FD9911E3D76A462ACFD3 org.bouncycastle:bcpkix-jdk18on:1.77 +3F4300D0441459BFA64A481C80062B002FF0CF65 org.bouncycastle:bcpkix-jdk18on:1.83 diff --git a/ide/bcpkix/nbproject/project.properties b/ide/bcpkix/nbproject/project.properties index 86038eb8727c..bce4d2b656ba 100644 --- a/ide/bcpkix/nbproject/project.properties +++ b/ide/bcpkix/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -release.external/bcpkix-jdk18on-1.77.jar=modules/bcpkix.jar +release.external/bcpkix-jdk18on-1.83.jar=modules/bcpkix.jar is.autoload=true diff --git a/ide/bcpkix/nbproject/project.xml b/ide/bcpkix/nbproject/project.xml index 5804f748c34a..8a402688ec0e 100644 --- a/ide/bcpkix/nbproject/project.xml +++ b/ide/bcpkix/nbproject/project.xml @@ -28,7 +28,7 @@ bcpkix.jar - external/bcpkix-jdk18on-1.77.jar + external/bcpkix-jdk18on-1.83.jar diff --git a/ide/bcprov/external/bcprov-jdk18on-1.77-license.txt b/ide/bcprov/external/bcprov-jdk18on-1.83-license.txt similarity index 98% rename from ide/bcprov/external/bcprov-jdk18on-1.77-license.txt rename to ide/bcprov/external/bcprov-jdk18on-1.83-license.txt index 98a3862749ad..01e77207ead2 100644 --- a/ide/bcprov/external/bcprov-jdk18on-1.77-license.txt +++ b/ide/bcprov/external/bcprov-jdk18on-1.83-license.txt @@ -1,5 +1,5 @@ Name: Bouncy Castle Java Provider -Version: 1.77 +Version: 1.83 License: MIT-bouncycastle Origin: https://www.bouncycastle.org/latest_releases.html Description: Legion of the Bouncy Castle Java cryptography APIs diff --git a/ide/bcprov/external/binaries-list b/ide/bcprov/external/binaries-list index 506941ec9cc3..994acaeb2abf 100644 --- a/ide/bcprov/external/binaries-list +++ b/ide/bcprov/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -2CC971B6C20949C1FF98D1A4BC741EE848A09523 org.bouncycastle:bcprov-jdk18on:1.77 +310E719F391BD9F4EE5103CA299C172643EFB595 org.bouncycastle:bcprov-jdk18on:1.83 diff --git a/ide/bcprov/nbproject/project.properties b/ide/bcprov/nbproject/project.properties index 26232b9671c1..1e6f58b4f901 100644 --- a/ide/bcprov/nbproject/project.properties +++ b/ide/bcprov/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -release.external/bcprov-jdk18on-1.77.jar=modules/bcprov.jar +release.external/bcprov-jdk18on-1.83.jar=modules/bcprov.jar is.autoload=true diff --git a/ide/bcprov/nbproject/project.xml b/ide/bcprov/nbproject/project.xml index 4ff15d74d7a5..2f4372267090 100644 --- a/ide/bcprov/nbproject/project.xml +++ b/ide/bcprov/nbproject/project.xml @@ -28,7 +28,7 @@ bcprov.jar - external/bcprov-jdk18on-1.77.jar + external/bcprov-jdk18on-1.83.jar diff --git a/ide/bcutil/external/bcutil-jdk18on-1.77-license.txt b/ide/bcutil/external/bcutil-jdk18on-1.83-license.txt similarity index 98% rename from ide/bcutil/external/bcutil-jdk18on-1.77-license.txt rename to ide/bcutil/external/bcutil-jdk18on-1.83-license.txt index b6f1f252f82b..d6a39ffa8164 100644 --- a/ide/bcutil/external/bcutil-jdk18on-1.77-license.txt +++ b/ide/bcutil/external/bcutil-jdk18on-1.83-license.txt @@ -1,5 +1,5 @@ Name: Bouncy Castle ASN.1 Extension and Utility APIs -Version: 1.77 +Version: 1.83 License: MIT-bouncycastle Origin: https://www.bouncycastle.org/latest_releases.html Description: Legion of the Bouncy Castle Java cryptography APIs diff --git a/ide/bcutil/external/binaries-list b/ide/bcutil/external/binaries-list index 6d5924e2aa03..64c7bef3edb0 100644 --- a/ide/bcutil/external/binaries-list +++ b/ide/bcutil/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -DE3EAEF351545FE8562CF29DDFF4A403A45B49B7 org.bouncycastle:bcutil-jdk18on:1.77 +DA0747F51FE1774F8E922B498B9C3E0EBE87B2D4 org.bouncycastle:bcutil-jdk18on:1.83 diff --git a/ide/bcutil/nbproject/project.properties b/ide/bcutil/nbproject/project.properties index aed4ebf3bb52..d083eb3e0b10 100644 --- a/ide/bcutil/nbproject/project.properties +++ b/ide/bcutil/nbproject/project.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -release.external/bcutil-jdk18on-1.77.jar=modules/bcutil.jar +release.external/bcutil-jdk18on-1.83.jar=modules/bcutil.jar is.autoload=true diff --git a/ide/bcutil/nbproject/project.xml b/ide/bcutil/nbproject/project.xml index 12a4882db34f..da226b14b64f 100644 --- a/ide/bcutil/nbproject/project.xml +++ b/ide/bcutil/nbproject/project.xml @@ -28,7 +28,7 @@ bcutil.jar - external/bcutil-jdk18on-1.77.jar + external/bcutil-jdk18on-1.83.jar From 2b6ba7a263338ce47b239bb39692089a00314676 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 6 Oct 2025 23:02:59 +0200 Subject: [PATCH 63/74] Update commons-codec from 1.18.0 to 1.21.0. --- .../antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps | 2 +- platform/o.apache.commons.codec/build.xml | 8 ++++---- platform/o.apache.commons.codec/external/binaries-list | 2 +- ....18.0-license.txt => commons-codec-1.21.0-license.txt} | 2 +- ...-1.18.0-notice.txt => commons-codec-1.21.0-notice.txt} | 0 platform/o.apache.commons.codec/nbproject/project.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) rename platform/o.apache.commons.codec/external/{commons-codec-1.18.0-license.txt => commons-codec-1.21.0-license.txt} (99%) rename platform/o.apache.commons.codec/external/{commons-codec-1.18.0-notice.txt => commons-codec-1.21.0-notice.txt} (100%) diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps index 78c3c94d9f7f..12e962c4c826 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps +++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps @@ -25,7 +25,7 @@ ide/db.sql.visualeditor/external/javacc-7.0.10.jar java/performance/external/jav # bundled maven conflicts with other libraries java/maven.embedder/external/apache-maven-3.9.14-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar java/maven.embedder/external/apache-maven-3.9.14-bin.zip platform/libs.asm/external/asm-9.9.jar -java/maven.embedder/external/apache-maven-3.9.14-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.18.0.jar +java/maven.embedder/external/apache-maven-3.9.14-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.21.0.jar java/maven.embedder/external/apache-maven-3.9.14-bin.zip ide/c.google.guava.failureaccess/external/failureaccess-1.0.3.jar java/maven.embedder/external/apache-maven-3.9.14-bin.zip ide/c.google.guava/external/guava-33.4.6-jre.jar java/maven.embedder/external/apache-maven-3.9.14-bin.zip ide/c.google.gson/external/gson-2.13.2.jar diff --git a/platform/o.apache.commons.codec/build.xml b/platform/o.apache.commons.codec/build.xml index 693331749776..6b8249a2acee 100644 --- a/platform/o.apache.commons.codec/build.xml +++ b/platform/o.apache.commons.codec/build.xml @@ -22,13 +22,13 @@ - + - + - - + + diff --git a/platform/o.apache.commons.codec/external/binaries-list b/platform/o.apache.commons.codec/external/binaries-list index 5a10de95752a..cbd020db758b 100644 --- a/platform/o.apache.commons.codec/external/binaries-list +++ b/platform/o.apache.commons.codec/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -EE45D1CF6EC2CC2B809FF04B4DC7AEC858E0DF8F commons-codec:commons-codec:1.18.0 +D95F998DB5F89900FE895DAF6CD2CDDCB2F1D64B commons-codec:commons-codec:1.21.0 diff --git a/platform/o.apache.commons.codec/external/commons-codec-1.18.0-license.txt b/platform/o.apache.commons.codec/external/commons-codec-1.21.0-license.txt similarity index 99% rename from platform/o.apache.commons.codec/external/commons-codec-1.18.0-license.txt rename to platform/o.apache.commons.codec/external/commons-codec-1.21.0-license.txt index 3754c8deecf3..637574251b67 100644 --- a/platform/o.apache.commons.codec/external/commons-codec-1.18.0-license.txt +++ b/platform/o.apache.commons.codec/external/commons-codec-1.21.0-license.txt @@ -1,7 +1,7 @@ Name: Apache Commons Codec Description: General encoding/decoding algorithms (for example phonetic, base64, URL). Origin: https://commons.apache.org/proper/commons-codec/ -Version: 1.18.0 +Version: 1.21.0 License: Apache-2.0 Apache License diff --git a/platform/o.apache.commons.codec/external/commons-codec-1.18.0-notice.txt b/platform/o.apache.commons.codec/external/commons-codec-1.21.0-notice.txt similarity index 100% rename from platform/o.apache.commons.codec/external/commons-codec-1.18.0-notice.txt rename to platform/o.apache.commons.codec/external/commons-codec-1.21.0-notice.txt diff --git a/platform/o.apache.commons.codec/nbproject/project.xml b/platform/o.apache.commons.codec/nbproject/project.xml index 2d7cdac7a385..b5baa438ea95 100644 --- a/platform/o.apache.commons.codec/nbproject/project.xml +++ b/platform/o.apache.commons.codec/nbproject/project.xml @@ -28,7 +28,7 @@ org-apache-commons-codec.jar - external/commons-codec-1.18.0.jar + external/commons-codec-1.21.0.jar From e629b08dc83c1c77b0416d017346694a3b71553b Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 6 Oct 2025 23:18:15 +0200 Subject: [PATCH 64/74] Update jgit from 7.2 to 7.4. --- .../libs/git/jgit/commands/GitCommand.java | 15 +-------------- ide/o.eclipse.jgit.gpg.bc/external/binaries-list | 2 +- ....jgit.gpg.bc-7.4.0.202509020913-r-license.txt} | 2 +- .../nbproject/project.properties | 2 +- ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml | 2 +- ide/o.eclipse.jgit.lfs/external/binaries-list | 2 +- ...pse.jgit.lfs-7.4.0.202509020913-r-license.txt} | 2 +- .../nbproject/project.properties | 2 +- ide/o.eclipse.jgit.lfs/nbproject/project.xml | 2 +- .../external/binaries-list | 2 +- ...git.ssh.jsch-7.4.0.202509020913-r-license.txt} | 2 +- .../nbproject/project.properties | 2 +- ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml | 2 +- ide/o.eclipse.jgit/external/binaries-list | 2 +- ...eclipse.jgit-7.4.0.202509020913-r-license.txt} | 2 +- ide/o.eclipse.jgit/nbproject/project.properties | 2 +- ide/o.eclipse.jgit/nbproject/project.xml | 2 +- 17 files changed, 17 insertions(+), 30 deletions(-) rename ide/o.eclipse.jgit.gpg.bc/external/{org.eclipse.jgit.gpg.bc-7.2.1.202505142326-r-license.txt => org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r-license.txt} (99%) rename ide/o.eclipse.jgit.lfs/external/{org.eclipse.jgit.lfs-7.2.1.202505142326-r-license.txt => org.eclipse.jgit.lfs-7.4.0.202509020913-r-license.txt} (99%) rename ide/o.eclipse.jgit.ssh.jsch/external/{org.eclipse.jgit.ssh.jsch-7.2.1.202505142326-r-license.txt => org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r-license.txt} (99%) rename ide/o.eclipse.jgit/external/{org.eclipse.jgit-7.2.1.202505142326-r-license.txt => org.eclipse.jgit-7.4.0.202509020913-r-license.txt} (99%) diff --git a/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/GitCommand.java b/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/GitCommand.java index 7dba628837f0..85965058551b 100644 --- a/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/GitCommand.java +++ b/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/GitCommand.java @@ -19,9 +19,6 @@ package org.netbeans.libs.git.jgit.commands; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; import java.text.MessageFormat; import org.eclipse.jgit.lib.Repository; import org.netbeans.libs.git.GitException; @@ -49,17 +46,7 @@ public final void execute () throws GitException { if (prepareCommand()) { try { monitor.started(getCommandDescription()); - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - @Override - public Void run () throws GitException { - GitCommand.this.run(); - return null; - } - }); - } catch (PrivilegedActionException e) { - throw (GitException) e.getException(); - } + run(); } catch (RuntimeException ex) { if (ex.getMessage() != null && ex.getMessage().contains("Unknown repository format")) { //NOI18N throw new GitException("It seems the config file for repository at [" + repository.getWorkTree() + "] is corrupted.\nEnsure it's valid.", ex); //NOI18N diff --git a/ide/o.eclipse.jgit.gpg.bc/external/binaries-list b/ide/o.eclipse.jgit.gpg.bc/external/binaries-list index 78485dd384c2..f0ffac1dd7a4 100644 --- a/ide/o.eclipse.jgit.gpg.bc/external/binaries-list +++ b/ide/o.eclipse.jgit.gpg.bc/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -F1A7C31962EEF791DDA4FF91043DF531F06F5F04 org.eclipse.jgit:org.eclipse.jgit.gpg.bc:7.2.1.202505142326-r +33787FA12A5F0457C2028FA1DA4517AC8EB3DDF7 org.eclipse.jgit:org.eclipse.jgit.gpg.bc:7.4.0.202509020913-r diff --git a/ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.2.1.202505142326-r-license.txt b/ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r-license.txt similarity index 99% rename from ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.2.1.202505142326-r-license.txt rename to ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r-license.txt index ba47e7cc3a08..b9af12e1fe5c 100644 --- a/ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.2.1.202505142326-r-license.txt +++ b/ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r-license.txt @@ -1,6 +1,6 @@ Name: JGit Library Origin: Eclipse -Version: 7.2.1.202505142326-r +Version: 7.4.0.202509020913-r Description: Integration library for Git client License: EDL-1.0-jgit URL: http://www.eclipse.org/jgit/download/ diff --git a/ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties b/ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties index 7d463134c09c..9fd45662a5b5 100644 --- a/ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties +++ b/ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true -release.external/org.eclipse.jgit.gpg.bc-7.2.1.202505142326-r.jar=modules/org-eclipse-jgit-gpg-bc.jar +release.external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r.jar=modules/org-eclipse-jgit-gpg-bc.jar diff --git a/ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml b/ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml index 77c467d52ed7..33f02e08bc10 100644 --- a/ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml +++ b/ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml @@ -65,7 +65,7 @@ org-eclipse-jgit-gpg-bc.jar - external/org.eclipse.jgit.gpg.bc-7.2.1.202505142326-r.jar + external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r.jar diff --git a/ide/o.eclipse.jgit.lfs/external/binaries-list b/ide/o.eclipse.jgit.lfs/external/binaries-list index 49b3c87bea67..6a0eecfe92d2 100644 --- a/ide/o.eclipse.jgit.lfs/external/binaries-list +++ b/ide/o.eclipse.jgit.lfs/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -C599E6652B31273A8668982082916E1AC1C5FEC6 org.eclipse.jgit:org.eclipse.jgit.lfs:7.2.1.202505142326-r +D47A51B1257A577DB9388386F60953CFB066450C org.eclipse.jgit:org.eclipse.jgit.lfs:7.4.0.202509020913-r diff --git a/ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.2.1.202505142326-r-license.txt b/ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.4.0.202509020913-r-license.txt similarity index 99% rename from ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.2.1.202505142326-r-license.txt rename to ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.4.0.202509020913-r-license.txt index ba47e7cc3a08..b9af12e1fe5c 100644 --- a/ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.2.1.202505142326-r-license.txt +++ b/ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.4.0.202509020913-r-license.txt @@ -1,6 +1,6 @@ Name: JGit Library Origin: Eclipse -Version: 7.2.1.202505142326-r +Version: 7.4.0.202509020913-r Description: Integration library for Git client License: EDL-1.0-jgit URL: http://www.eclipse.org/jgit/download/ diff --git a/ide/o.eclipse.jgit.lfs/nbproject/project.properties b/ide/o.eclipse.jgit.lfs/nbproject/project.properties index 1ad4dbac9a4c..2cb3bc6e9e22 100644 --- a/ide/o.eclipse.jgit.lfs/nbproject/project.properties +++ b/ide/o.eclipse.jgit.lfs/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true -release.external/org.eclipse.jgit.lfs-7.2.1.202505142326-r.jar=modules/org-eclipse-jgit-lfs.jar +release.external/org.eclipse.jgit.lfs-7.4.0.202509020913-r.jar=modules/org-eclipse-jgit-lfs.jar diff --git a/ide/o.eclipse.jgit.lfs/nbproject/project.xml b/ide/o.eclipse.jgit.lfs/nbproject/project.xml index 27318df63042..fa0e0037e9cc 100644 --- a/ide/o.eclipse.jgit.lfs/nbproject/project.xml +++ b/ide/o.eclipse.jgit.lfs/nbproject/project.xml @@ -60,7 +60,7 @@ org-eclipse-jgit-lfs.jar - external/org.eclipse.jgit.lfs-7.2.1.202505142326-r.jar + external/org.eclipse.jgit.lfs-7.4.0.202509020913-r.jar diff --git a/ide/o.eclipse.jgit.ssh.jsch/external/binaries-list b/ide/o.eclipse.jgit.ssh.jsch/external/binaries-list index ed93634ccfda..05f4a6e695b4 100644 --- a/ide/o.eclipse.jgit.ssh.jsch/external/binaries-list +++ b/ide/o.eclipse.jgit.ssh.jsch/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -23322F5C4845608DA32006F45F4D1E910C2FE5C5 org.eclipse.jgit:org.eclipse.jgit.ssh.jsch:7.2.1.202505142326-r +3F08EFBDA770BEA1096525D48BD7A9AC967D0E2A org.eclipse.jgit:org.eclipse.jgit.ssh.jsch:7.4.0.202509020913-r diff --git a/ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.2.1.202505142326-r-license.txt b/ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r-license.txt similarity index 99% rename from ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.2.1.202505142326-r-license.txt rename to ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r-license.txt index ba47e7cc3a08..b9af12e1fe5c 100644 --- a/ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.2.1.202505142326-r-license.txt +++ b/ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r-license.txt @@ -1,6 +1,6 @@ Name: JGit Library Origin: Eclipse -Version: 7.2.1.202505142326-r +Version: 7.4.0.202509020913-r Description: Integration library for Git client License: EDL-1.0-jgit URL: http://www.eclipse.org/jgit/download/ diff --git a/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.properties b/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.properties index 4accf1371618..33b90de2917b 100644 --- a/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.properties +++ b/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true -release.external/org.eclipse.jgit.ssh.jsch-7.2.1.202505142326-r.jar=modules/org-eclipse-jgit-ssh-jsch.jar +release.external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r.jar=modules/org-eclipse-jgit-ssh-jsch.jar diff --git a/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml b/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml index 32da491dbc2f..d59aa18bd62e 100644 --- a/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml +++ b/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml @@ -54,7 +54,7 @@ org-eclipse-jgit-ssh-jsch.jar - external/org.eclipse.jgit.ssh.jsch-7.2.1.202505142326-r.jar + external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r.jar diff --git a/ide/o.eclipse.jgit/external/binaries-list b/ide/o.eclipse.jgit/external/binaries-list index 59bbbc25f983..3ecf0ec539e0 100644 --- a/ide/o.eclipse.jgit/external/binaries-list +++ b/ide/o.eclipse.jgit/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -4E1E47B134371A9F7EA17779164EA5110DA1CD4D org.eclipse.jgit:org.eclipse.jgit:7.2.1.202505142326-r +29F269CDCDF02C9B3D52B452E5679CF79DE99622 org.eclipse.jgit:org.eclipse.jgit:7.4.0.202509020913-r diff --git a/ide/o.eclipse.jgit/external/org.eclipse.jgit-7.2.1.202505142326-r-license.txt b/ide/o.eclipse.jgit/external/org.eclipse.jgit-7.4.0.202509020913-r-license.txt similarity index 99% rename from ide/o.eclipse.jgit/external/org.eclipse.jgit-7.2.1.202505142326-r-license.txt rename to ide/o.eclipse.jgit/external/org.eclipse.jgit-7.4.0.202509020913-r-license.txt index ba47e7cc3a08..b9af12e1fe5c 100644 --- a/ide/o.eclipse.jgit/external/org.eclipse.jgit-7.2.1.202505142326-r-license.txt +++ b/ide/o.eclipse.jgit/external/org.eclipse.jgit-7.4.0.202509020913-r-license.txt @@ -1,6 +1,6 @@ Name: JGit Library Origin: Eclipse -Version: 7.2.1.202505142326-r +Version: 7.4.0.202509020913-r Description: Integration library for Git client License: EDL-1.0-jgit URL: http://www.eclipse.org/jgit/download/ diff --git a/ide/o.eclipse.jgit/nbproject/project.properties b/ide/o.eclipse.jgit/nbproject/project.properties index a42450e968a3..95b033723833 100644 --- a/ide/o.eclipse.jgit/nbproject/project.properties +++ b/ide/o.eclipse.jgit/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true -release.external/org.eclipse.jgit-7.2.1.202505142326-r.jar=modules/org-eclipse-jgit.jar +release.external/org.eclipse.jgit-7.4.0.202509020913-r.jar=modules/org-eclipse-jgit.jar diff --git a/ide/o.eclipse.jgit/nbproject/project.xml b/ide/o.eclipse.jgit/nbproject/project.xml index a3f4706368b7..0c8cefd91e27 100644 --- a/ide/o.eclipse.jgit/nbproject/project.xml +++ b/ide/o.eclipse.jgit/nbproject/project.xml @@ -52,7 +52,7 @@ org-eclipse-jgit.jar - external/org.eclipse.jgit-7.2.1.202505142326-r.jar + external/org.eclipse.jgit-7.4.0.202509020913-r.jar From b8deaf5c3d559012787cba78ae7a4126995d2803 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 12 Apr 2026 13:57:50 +0200 Subject: [PATCH 65/74] Update jgit from 7.4 to 7.6. adjusted RevWalk max flags constant since it diverges from javadoc and added tripwire test in case it changes again in future. --- .../netbeans/libs/git/jgit/commands/LogCommand.java | 5 ++++- .../org/netbeans/libs/git/jgit/commands/LogTest.java | 10 ++++++++++ ide/o.eclipse.jgit.gpg.bc/external/binaries-list | 2 +- ...lipse.jgit.gpg.bc-7.6.0.202603022253-r-license.txt} | 2 +- ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties | 2 +- ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml | 2 +- ide/o.eclipse.jgit.lfs/external/binaries-list | 2 +- ....eclipse.jgit.lfs-7.6.0.202603022253-r-license.txt} | 2 +- ide/o.eclipse.jgit.lfs/nbproject/project.properties | 2 +- ide/o.eclipse.jgit.lfs/nbproject/project.xml | 2 +- ide/o.eclipse.jgit.ssh.jsch/external/binaries-list | 2 +- ...pse.jgit.ssh.jsch-7.6.0.202603022253-r-license.txt} | 2 +- .../nbproject/project.properties | 2 +- ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml | 2 +- ide/o.eclipse.jgit/external/binaries-list | 2 +- ... org.eclipse.jgit-7.6.0.202603022253-r-license.txt} | 2 +- ide/o.eclipse.jgit/nbproject/project.properties | 2 +- ide/o.eclipse.jgit/nbproject/project.xml | 2 +- 18 files changed, 30 insertions(+), 17 deletions(-) rename ide/o.eclipse.jgit.gpg.bc/external/{org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r-license.txt => org.eclipse.jgit.gpg.bc-7.6.0.202603022253-r-license.txt} (99%) rename ide/o.eclipse.jgit.lfs/external/{org.eclipse.jgit.lfs-7.4.0.202509020913-r-license.txt => org.eclipse.jgit.lfs-7.6.0.202603022253-r-license.txt} (99%) rename ide/o.eclipse.jgit.ssh.jsch/external/{org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r-license.txt => org.eclipse.jgit.ssh.jsch-7.6.0.202603022253-r-license.txt} (99%) rename ide/o.eclipse.jgit/external/{org.eclipse.jgit-7.4.0.202509020913-r-license.txt => org.eclipse.jgit-7.6.0.202603022253-r-license.txt} (99%) diff --git a/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/LogCommand.java b/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/LogCommand.java index f1714496d159..11110bc97fe1 100644 --- a/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/LogCommand.java +++ b/ide/libs.git/src/org/netbeans/libs/git/jgit/commands/LogCommand.java @@ -81,6 +81,9 @@ public class LogCommand extends GitCommand { private final boolean fetchBranchInfo; private static final Logger LOG = Logger.getLogger(LogCommand.class.getName()); + /// see RevWalk.newFlag(); note: don't trust the doc! check RevWalk.RESERVED_FLAGS + static final int MAX_REVWALK_FLAGS = 23; + public LogCommand (Repository repository, GitClassFactory gitFactory, SearchCriteria criteria, boolean fetchBranchInfo, ProgressMonitor monitor, RevisionInfoListener listener) { super(repository, gitFactory, monitor); @@ -210,7 +213,7 @@ private void markBranchFlags (Map allBranches, RevWalk walk, } } else { usedFlags.add(flagId); - if (i <= 23) { // leave one spare flag for the run method, see RevWalk.newFlag() + if (i <= MAX_REVWALK_FLAGS - 1) { // leave one spare flag for the run method i++; RevFlag flag = walk.newFlag(flagId); List branches = new ArrayList<>(allBranches.size()); diff --git a/ide/libs.git/test/unit/src/org/netbeans/libs/git/jgit/commands/LogTest.java b/ide/libs.git/test/unit/src/org/netbeans/libs/git/jgit/commands/LogTest.java index 0c398cdd778d..ddef2eda4b08 100644 --- a/ide/libs.git/test/unit/src/org/netbeans/libs/git/jgit/commands/LogTest.java +++ b/ide/libs.git/test/unit/src/org/netbeans/libs/git/jgit/commands/LogTest.java @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; +import java.lang.reflect.Field; import java.util.Date; import java.util.Map; import org.eclipse.jgit.api.Git; @@ -59,6 +60,15 @@ protected void setUp() throws Exception { repository = getRepository(getLocalGitRepository()); } + // doc promises 24, but the actual number was observed to be lower since 7.5 + // this is a tripwire test to detect changes + public void testMaxApplicationFlagCount() throws Exception { + Field field = RevWalk.class.getDeclaredField("RESERVED_FLAGS"); + field.setAccessible(true); + int available = 32 - (int) field.get(null); + assertEquals(LogCommand.MAX_REVWALK_FLAGS, available); // if this fails, adjust the value + } + public void testLogRevision () throws Exception { File f = new File(workDir, "testcat1"); write(f, "initial content"); diff --git a/ide/o.eclipse.jgit.gpg.bc/external/binaries-list b/ide/o.eclipse.jgit.gpg.bc/external/binaries-list index f0ffac1dd7a4..fe5f7b0b35d7 100644 --- a/ide/o.eclipse.jgit.gpg.bc/external/binaries-list +++ b/ide/o.eclipse.jgit.gpg.bc/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -33787FA12A5F0457C2028FA1DA4517AC8EB3DDF7 org.eclipse.jgit:org.eclipse.jgit.gpg.bc:7.4.0.202509020913-r +FD8967B5C67D63796C4665116AFA85F3D0A4D130 org.eclipse.jgit:org.eclipse.jgit.gpg.bc:7.6.0.202603022253-r diff --git a/ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r-license.txt b/ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.6.0.202603022253-r-license.txt similarity index 99% rename from ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r-license.txt rename to ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.6.0.202603022253-r-license.txt index b9af12e1fe5c..ae5b3101c86f 100644 --- a/ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r-license.txt +++ b/ide/o.eclipse.jgit.gpg.bc/external/org.eclipse.jgit.gpg.bc-7.6.0.202603022253-r-license.txt @@ -1,6 +1,6 @@ Name: JGit Library Origin: Eclipse -Version: 7.4.0.202509020913-r +Version: 7.6.0.202603022253-r Description: Integration library for Git client License: EDL-1.0-jgit URL: http://www.eclipse.org/jgit/download/ diff --git a/ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties b/ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties index 9fd45662a5b5..318740046ae7 100644 --- a/ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties +++ b/ide/o.eclipse.jgit.gpg.bc/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true -release.external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r.jar=modules/org-eclipse-jgit-gpg-bc.jar +release.external/org.eclipse.jgit.gpg.bc-7.6.0.202603022253-r.jar=modules/org-eclipse-jgit-gpg-bc.jar diff --git a/ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml b/ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml index 33f02e08bc10..e44b098e544b 100644 --- a/ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml +++ b/ide/o.eclipse.jgit.gpg.bc/nbproject/project.xml @@ -65,7 +65,7 @@ org-eclipse-jgit-gpg-bc.jar - external/org.eclipse.jgit.gpg.bc-7.4.0.202509020913-r.jar + external/org.eclipse.jgit.gpg.bc-7.6.0.202603022253-r.jar diff --git a/ide/o.eclipse.jgit.lfs/external/binaries-list b/ide/o.eclipse.jgit.lfs/external/binaries-list index 6a0eecfe92d2..7cc49de90d14 100644 --- a/ide/o.eclipse.jgit.lfs/external/binaries-list +++ b/ide/o.eclipse.jgit.lfs/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -D47A51B1257A577DB9388386F60953CFB066450C org.eclipse.jgit:org.eclipse.jgit.lfs:7.4.0.202509020913-r +EA88518D6722FA4B3A7BBA8FE8233BC2B22B02C9 org.eclipse.jgit:org.eclipse.jgit.lfs:7.6.0.202603022253-r diff --git a/ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.4.0.202509020913-r-license.txt b/ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.6.0.202603022253-r-license.txt similarity index 99% rename from ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.4.0.202509020913-r-license.txt rename to ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.6.0.202603022253-r-license.txt index b9af12e1fe5c..ae5b3101c86f 100644 --- a/ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.4.0.202509020913-r-license.txt +++ b/ide/o.eclipse.jgit.lfs/external/org.eclipse.jgit.lfs-7.6.0.202603022253-r-license.txt @@ -1,6 +1,6 @@ Name: JGit Library Origin: Eclipse -Version: 7.4.0.202509020913-r +Version: 7.6.0.202603022253-r Description: Integration library for Git client License: EDL-1.0-jgit URL: http://www.eclipse.org/jgit/download/ diff --git a/ide/o.eclipse.jgit.lfs/nbproject/project.properties b/ide/o.eclipse.jgit.lfs/nbproject/project.properties index 2cb3bc6e9e22..d1a3c5f00574 100644 --- a/ide/o.eclipse.jgit.lfs/nbproject/project.properties +++ b/ide/o.eclipse.jgit.lfs/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true -release.external/org.eclipse.jgit.lfs-7.4.0.202509020913-r.jar=modules/org-eclipse-jgit-lfs.jar +release.external/org.eclipse.jgit.lfs-7.6.0.202603022253-r.jar=modules/org-eclipse-jgit-lfs.jar diff --git a/ide/o.eclipse.jgit.lfs/nbproject/project.xml b/ide/o.eclipse.jgit.lfs/nbproject/project.xml index fa0e0037e9cc..0b4d3d6a0821 100644 --- a/ide/o.eclipse.jgit.lfs/nbproject/project.xml +++ b/ide/o.eclipse.jgit.lfs/nbproject/project.xml @@ -60,7 +60,7 @@ org-eclipse-jgit-lfs.jar - external/org.eclipse.jgit.lfs-7.4.0.202509020913-r.jar + external/org.eclipse.jgit.lfs-7.6.0.202603022253-r.jar diff --git a/ide/o.eclipse.jgit.ssh.jsch/external/binaries-list b/ide/o.eclipse.jgit.ssh.jsch/external/binaries-list index 05f4a6e695b4..bad7a35c5f8c 100644 --- a/ide/o.eclipse.jgit.ssh.jsch/external/binaries-list +++ b/ide/o.eclipse.jgit.ssh.jsch/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -3F08EFBDA770BEA1096525D48BD7A9AC967D0E2A org.eclipse.jgit:org.eclipse.jgit.ssh.jsch:7.4.0.202509020913-r +14EACE6ABE51838AF11890D54161ADC5D0FE9D1F org.eclipse.jgit:org.eclipse.jgit.ssh.jsch:7.6.0.202603022253-r diff --git a/ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r-license.txt b/ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.6.0.202603022253-r-license.txt similarity index 99% rename from ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r-license.txt rename to ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.6.0.202603022253-r-license.txt index b9af12e1fe5c..ae5b3101c86f 100644 --- a/ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r-license.txt +++ b/ide/o.eclipse.jgit.ssh.jsch/external/org.eclipse.jgit.ssh.jsch-7.6.0.202603022253-r-license.txt @@ -1,6 +1,6 @@ Name: JGit Library Origin: Eclipse -Version: 7.4.0.202509020913-r +Version: 7.6.0.202603022253-r Description: Integration library for Git client License: EDL-1.0-jgit URL: http://www.eclipse.org/jgit/download/ diff --git a/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.properties b/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.properties index 33b90de2917b..19f011f9e948 100644 --- a/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.properties +++ b/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true -release.external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r.jar=modules/org-eclipse-jgit-ssh-jsch.jar +release.external/org.eclipse.jgit.ssh.jsch-7.6.0.202603022253-r.jar=modules/org-eclipse-jgit-ssh-jsch.jar diff --git a/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml b/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml index d59aa18bd62e..4c3b366ddd89 100644 --- a/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml +++ b/ide/o.eclipse.jgit.ssh.jsch/nbproject/project.xml @@ -54,7 +54,7 @@ org-eclipse-jgit-ssh-jsch.jar - external/org.eclipse.jgit.ssh.jsch-7.4.0.202509020913-r.jar + external/org.eclipse.jgit.ssh.jsch-7.6.0.202603022253-r.jar diff --git a/ide/o.eclipse.jgit/external/binaries-list b/ide/o.eclipse.jgit/external/binaries-list index 3ecf0ec539e0..59f91b63efab 100644 --- a/ide/o.eclipse.jgit/external/binaries-list +++ b/ide/o.eclipse.jgit/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -29F269CDCDF02C9B3D52B452E5679CF79DE99622 org.eclipse.jgit:org.eclipse.jgit:7.4.0.202509020913-r +1C6D9F63581D24C9A7D9C50A6DBE6AB6DF13DC0F org.eclipse.jgit:org.eclipse.jgit:7.6.0.202603022253-r diff --git a/ide/o.eclipse.jgit/external/org.eclipse.jgit-7.4.0.202509020913-r-license.txt b/ide/o.eclipse.jgit/external/org.eclipse.jgit-7.6.0.202603022253-r-license.txt similarity index 99% rename from ide/o.eclipse.jgit/external/org.eclipse.jgit-7.4.0.202509020913-r-license.txt rename to ide/o.eclipse.jgit/external/org.eclipse.jgit-7.6.0.202603022253-r-license.txt index b9af12e1fe5c..ae5b3101c86f 100644 --- a/ide/o.eclipse.jgit/external/org.eclipse.jgit-7.4.0.202509020913-r-license.txt +++ b/ide/o.eclipse.jgit/external/org.eclipse.jgit-7.6.0.202603022253-r-license.txt @@ -1,6 +1,6 @@ Name: JGit Library Origin: Eclipse -Version: 7.4.0.202509020913-r +Version: 7.6.0.202603022253-r Description: Integration library for Git client License: EDL-1.0-jgit URL: http://www.eclipse.org/jgit/download/ diff --git a/ide/o.eclipse.jgit/nbproject/project.properties b/ide/o.eclipse.jgit/nbproject/project.properties index 95b033723833..f3ad33b14c26 100644 --- a/ide/o.eclipse.jgit/nbproject/project.properties +++ b/ide/o.eclipse.jgit/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true -release.external/org.eclipse.jgit-7.4.0.202509020913-r.jar=modules/org-eclipse-jgit.jar +release.external/org.eclipse.jgit-7.6.0.202603022253-r.jar=modules/org-eclipse-jgit.jar diff --git a/ide/o.eclipse.jgit/nbproject/project.xml b/ide/o.eclipse.jgit/nbproject/project.xml index 0c8cefd91e27..cfb9003d6c18 100644 --- a/ide/o.eclipse.jgit/nbproject/project.xml +++ b/ide/o.eclipse.jgit/nbproject/project.xml @@ -52,7 +52,7 @@ org-eclipse-jgit.jar - external/org.eclipse.jgit-7.4.0.202509020913-r.jar + external/org.eclipse.jgit-7.6.0.202603022253-r.jar From ff1b9426beec13774677984e65df89c9bce8a85a Mon Sep 17 00:00:00 2001 From: Neil C Smith Date: Mon, 13 Apr 2026 11:34:18 +0100 Subject: [PATCH 66/74] Upgrade the bundled Ant version to 1.10.17 --- extide/o.apache.tools.ant.module/arch.xml | 2 +- extide/o.apache.tools.ant.module/build.xml | 10 ++-- ...15-license.txt => ant-1.10.17-license.txt} | 6 +-- ...0.15-notice.txt => ant-1.10.17-notice.txt} | 2 +- .../external/binaries-list | 2 +- .../external/build.xml | 48 +++++++++---------- .../nbproject/project.properties | 2 +- 7 files changed, 36 insertions(+), 36 deletions(-) rename extide/o.apache.tools.ant.module/external/{ant-1.10.15-license.txt => ant-1.10.17-license.txt} (99%) rename extide/o.apache.tools.ant.module/external/{ant-1.10.15-notice.txt => ant-1.10.17-notice.txt} (83%) diff --git a/extide/o.apache.tools.ant.module/arch.xml b/extide/o.apache.tools.ant.module/arch.xml index 999c48eed7bc..2073f7749443 100644 --- a/extide/o.apache.tools.ant.module/arch.xml +++ b/extide/o.apache.tools.ant.module/arch.xml @@ -314,7 +314,7 @@
  • Ant itself, of course. - 1.8.0+ is required, 1.10.15 recommended (and currently bundled); some features may be limited to newer versions. + 1.8.0+ is required, 1.10.17 recommended (and currently bundled); some features may be limited to newer versions.
  • diff --git a/extide/o.apache.tools.ant.module/build.xml b/extide/o.apache.tools.ant.module/build.xml index b0b90b1d5daf..82ae7a403c49 100644 --- a/extide/o.apache.tools.ant.module/build.xml +++ b/extide/o.apache.tools.ant.module/build.xml @@ -54,18 +54,18 @@
    - + - + - + - + @@ -84,7 +84,7 @@ - + diff --git a/extide/o.apache.tools.ant.module/external/ant-1.10.15-license.txt b/extide/o.apache.tools.ant.module/external/ant-1.10.17-license.txt similarity index 99% rename from extide/o.apache.tools.ant.module/external/ant-1.10.15-license.txt rename to extide/o.apache.tools.ant.module/external/ant-1.10.17-license.txt index 42cc44bd8fb4..94943910dcde 100644 --- a/extide/o.apache.tools.ant.module/external/ant-1.10.15-license.txt +++ b/extide/o.apache.tools.ant.module/external/ant-1.10.17-license.txt @@ -1,10 +1,10 @@ Name: Apache Ant Origin: Apache Software Foundation -Version: 1.10.15 -Files: apache-ant-1.10.15-bin.zip +Version: 1.10.17 +Files: apache-ant-1.10.17-bin.zip Description: Ant build tool. License: Apache-2.0-ant -URL: https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.15-bin.zip +URL: https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.17-bin.zip /* * Apache License diff --git a/extide/o.apache.tools.ant.module/external/ant-1.10.15-notice.txt b/extide/o.apache.tools.ant.module/external/ant-1.10.17-notice.txt similarity index 83% rename from extide/o.apache.tools.ant.module/external/ant-1.10.15-notice.txt rename to extide/o.apache.tools.ant.module/external/ant-1.10.17-notice.txt index e9d221aa9653..c5de537d255d 100644 --- a/extide/o.apache.tools.ant.module/external/ant-1.10.15-notice.txt +++ b/extide/o.apache.tools.ant.module/external/ant-1.10.17-notice.txt @@ -1,5 +1,5 @@ Apache Ant -Copyright 1999-2024 The Apache Software Foundation +Copyright 1999-2026 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (https://www.apache.org/). diff --git a/extide/o.apache.tools.ant.module/external/binaries-list b/extide/o.apache.tools.ant.module/external/binaries-list index 2ec11cfa19b9..0c9120ca0d6f 100644 --- a/extide/o.apache.tools.ant.module/external/binaries-list +++ b/extide/o.apache.tools.ant.module/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -1B460A543CAF0B2087FEF210C7B4813909901FDC https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.15-bin.zip apache-ant-1.10.15-bin.zip +DA43C59186A9AB890C6FDD6967053F64C6907249 https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.17-bin.zip apache-ant-1.10.17-bin.zip diff --git a/extide/o.apache.tools.ant.module/external/build.xml b/extide/o.apache.tools.ant.module/external/build.xml index 9a26f4d5a5f3..1a9a43d19e3e 100644 --- a/extide/o.apache.tools.ant.module/external/build.xml +++ b/extide/o.apache.tools.ant.module/external/build.xml @@ -24,31 +24,31 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/extide/o.apache.tools.ant.module/nbproject/project.properties b/extide/o.apache.tools.ant.module/nbproject/project.properties index d567390351f8..d0795eee383b 100644 --- a/extide/o.apache.tools.ant.module/nbproject/project.properties +++ b/extide/o.apache.tools.ant.module/nbproject/project.properties @@ -26,7 +26,7 @@ extra.module.files=\ ant/lib/,\ ant/bin/,\ ant/etc/ -extra.license.files=external/ant-1.10.15-license.txt +extra.license.files=external/ant-1.10.17-license.txt nbm.executable.files=\ ant/bin/ant,\ ant/bin/antRun,\ From b990fa277bf371064223ddeb06244f2895ded947 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 24 Feb 2025 13:14:06 +0100 Subject: [PATCH 67/74] Implement wait cursor delay for TreeView. TreeView will now wait a little bit before showing the wait cursor. Co-authored-by: Laszlo Kishalmi --- .../org/openide/explorer/view/TreeView.java | 93 ++++++++----------- 1 file changed, 37 insertions(+), 56 deletions(-) diff --git a/platform/openide.explorer/src/org/openide/explorer/view/TreeView.java b/platform/openide.explorer/src/org/openide/explorer/view/TreeView.java index 3554c161d5df..cc36ba97863a 100644 --- a/platform/openide.explorer/src/org/openide/explorer/view/TreeView.java +++ b/platform/openide.explorer/src/org/openide/explorer/view/TreeView.java @@ -84,6 +84,7 @@ import javax.swing.KeyStroke; import javax.swing.ScrollPaneLayout; import javax.swing.SwingUtilities; +import javax.swing.Timer; import javax.swing.ToolTipManager; import javax.swing.TransferHandler; import javax.swing.UIManager; @@ -920,73 +921,53 @@ public void setAutoWaitCursor(boolean enable) { autoWaitCursor = enable; } - // - // showing and removing the wait cursor - // - private void showWaitCursor (boolean show) { - JRootPane rPane = getRootPane(); - if (rPane == null) { + private void maybeShowWaitCursor(Node node) { + if (node == null || !autoWaitCursor) { return; } - - if (SwingUtilities.isEventDispatchThread()) { - doShowWaitCursor(rPane.getGlassPane(), show); - } else { - SwingUtilities.invokeLater(new CursorR(rPane.getGlassPane(), show)); - } + DelayedWaitCursor waitCursor = new DelayedWaitCursor(getRootPane()); + ViewUtil.uiProcessor().post(() -> { + try (waitCursor) { + node.getChildren().getNodesCount(true); // blocks until expanded + } catch (Exception e) { + LOG.log(Level.WARNING, "can't determine node count", e); + } + }); } - private static void doShowWaitCursor (Component glassPane, boolean show) { - if (show) { - glassPane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - glassPane.setVisible(true); - } else { - glassPane.setVisible(false); - glassPane.setCursor(null); - } - } + /// Shows the wait cursor after an initial delay. + /// construct on EDT, close() may be called from any thread. + private static class DelayedWaitCursor implements AutoCloseable { + + private static final int DELAY = 200; - private static class CursorR implements Runnable { - private Component glassPane; - private boolean show; + private final JRootPane root; + private final Timer timer; - private CursorR(Component cont, boolean show) { - this.glassPane = cont; - this.show = show; + private DelayedWaitCursor(JRootPane root) { + this.root = root; + timer = new Timer(DELAY, e -> { + if (root != null) { + root.getGlassPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + root.getGlassPane().setVisible(true); + } + }); + timer.setRepeats(false); + timer.start(); } @Override - public void run() { - doShowWaitCursor(glassPane, show); + public void close() { + SwingUtilities.invokeLater(() -> { + timer.stop(); + if (root != null) { + root.getGlassPane().setVisible(false); + root.getGlassPane().setCursor(null); + } + }); } } - private void prepareWaitCursor(final Node node) { - // check type of node - if (node == null || !autoWaitCursor) { - return; - } - - showWaitCursor(true); - // not sure whenter throughput 1 is OK... - ViewUtil.uiProcessor().post(new Runnable() { - @Override - public void run() { - try { - node.getChildren().getNodesCount(true); - } catch (Exception e) { - // log a exception - LOG.log(Level.WARNING, null, e); - } finally { - // show normal cursor above all - showWaitCursor(false); - } - } - }); - } - - - /** Synchronize the selected nodes from the manager of this Explorer. * The default implementation does nothing. */ @@ -1507,7 +1488,7 @@ public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException { // prepare wait cursor and optionally show it TreePath path = event.getPath(); - prepareWaitCursor(DragDropUtilities.secureFindNode(path.getLastPathComponent())); + maybeShowWaitCursor(DragDropUtilities.secureFindNode(path.getLastPathComponent())); } } // end of TreePropertyListener From bc28799eb7d8e36914b9113512c454f1b469a2a3 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Fri, 10 Apr 2026 20:11:08 +0200 Subject: [PATCH 68/74] RequestProcessor warning fixes and minor update - use SortedSet#removeFirst instead of getFirst()+remove() - remove ThreadDeath and AccessController.doPrivileged() usage - convert Maps of type WeakHashMap to Set where applicable - generics rawtype warning fixes, diamonds, overrides and similar minor renovations - javadoc typos --- .../openide.util/nbproject/project.properties | 2 +- .../org/openide/util/RequestProcessor.java | 152 +++++++----------- .../src/org/openide/util/Task.java | 18 ++- 3 files changed, 70 insertions(+), 102 deletions(-) diff --git a/platform/openide.util/nbproject/project.properties b/platform/openide.util/nbproject/project.properties index acf1ed2d8f56..2220710bae50 100644 --- a/platform/openide.util/nbproject/project.properties +++ b/platform/openide.util/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml module.jar.dir=lib diff --git a/platform/openide.util/src/org/openide/util/RequestProcessor.java b/platform/openide.util/src/org/openide/util/RequestProcessor.java index d1f8e2ee400e..adc222194b36 100644 --- a/platform/openide.util/src/org/openide/util/RequestProcessor.java +++ b/platform/openide.util/src/org/openide/util/RequestProcessor.java @@ -19,7 +19,6 @@ package org.openide.util; -import java.security.PrivilegedAction; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; @@ -162,6 +161,7 @@ * {@link java.util.concurrent.ScheduledExecutorService} * @author Petr Nejedly, Jaroslav Tulach, Tim Boudreau */ +@SuppressWarnings("AccessingNonPublicFieldOfAnotherObject") public final class RequestProcessor implements ScheduledExecutorService { static { @@ -203,14 +203,14 @@ public final class RequestProcessor implements ScheduledExecutorService { private final Object processorLock = new Object(); /** The set holding all the Processors assigned to this RequestProcessor */ - private final HashSet processors = new HashSet(); + private final HashSet processors = new HashSet<>(); - /** Actualy the first item is pending to be processed. + /** Actually the first item is pending to be processed. * Can be accessed/trusted only under the above processorLock lock. * If null, nothing is scheduled and the processor is not running. * @GuardedBy("processorLock") */ - private final SortedSet queue = new TreeSet(); + private final SortedSet queue = new TreeSet<>(); /** The maximal number of processors that can perform the requests sent * to this RequestProcessors. If 1, all the requests are serialized. */ @@ -271,7 +271,7 @@ public RequestProcessor(String name, int throughput) { * thread running tasks are interrupted and the Runnable can check for that * and terminate its execution sooner. In the runnable one shall check for * thread interruption (done from {@link RequestProcessor.Task#cancel }) and - * if true, return immediatelly as in this example: + * if true, return immediately as in this example: *
          * public void run () {
          *     while (veryLongTimeLook) {
    @@ -359,7 +359,7 @@ private RequestProcessor(String name, int throughput, boolean interruptThread, b
          * 

    * Tasks posted to this instance may be canceled until they start their * execution. If a there is a need to cancel a task while it is running - * a seperate request processor needs to be created via + * a separate request processor needs to be created via * {@link #RequestProcessor(String, int, boolean)} constructor. * * @return an instance of RequestProcessor that is capable of performing @@ -427,7 +427,7 @@ public Task post(final Runnable run, int timeToWait, int priority) { } /** Creates request that can be later started by setting its delay. - * The request is not immediatelly put into the queue. It is planned after + * The request is not immediately put into the queue. It is planned after * setting its delay by schedule method. By default the initial state of * the task is !isFinished() so doing waitFinished() will * block on and wait until the task is scheduled. @@ -440,12 +440,12 @@ public Task create(Runnable run) { } /** Creates request that can be later started by setting its delay. - * The request is not immediatelly put into the queue. It is planned after + * The request is not immediately put into the queue. It is planned after * setting its delay by schedule method. * * @param run action to run in the process * @param initiallyFinished should the task be marked initially finished? If - * so the {@link Task#waitFinished} on the task will succeeded immediatelly even + * so the {@link Task#waitFinished} on the task will succeeded immediately even * the task has not yet been {@link Task#schedule}d. * @return the task to control execution of given action * @since 6.8 @@ -469,12 +469,7 @@ public Task create(Runnable run, boolean initiallyFinished) { * thread, otherwise false */ public boolean isRequestProcessorThread() { - Thread c = Thread.currentThread(); - if (c instanceof Processor) { - Processor p = (Processor)c; - return p.procesing == this; - } - return false; + return Thread.currentThread() instanceof Processor p && p.procesing == this; } /** Stops processing of runnables processor. @@ -630,8 +625,7 @@ Task askForWork(Processor worker, String debug, Lookup[] lkp) { return null; } else { // we have some work for the worker, pass it - Item i = getQueue().first(); - getQueue().remove(i); + Item i = getQueue().removeFirst(); Task t = i.getTask(); lkp[0] = i.current; i.clear(worker); @@ -671,13 +665,13 @@ public List shutdownNow() { //XXX more aggressive shutdown? stop(); synchronized (processorLock) { - List result = new ArrayList(getQueue().size()); + List result = new ArrayList<>(getQueue().size()); for (Item item : getQueue()) { Task task = item.getTask(); if (task != null && task.run != null) { Runnable r = task.run; - if (r instanceof RunnableWrapper) { - Runnable other = ((RunnableWrapper) r).getRunnable(); + if (r instanceof RunnableWrapper rw) { + Runnable other = rw.getRunnable(); r = other == null ? r : other; } result.add(r); @@ -703,7 +697,7 @@ public boolean isShutdown() { @Override public boolean isTerminated() { boolean result = true; - Set set = collectProcessors(new HashSet()); + Set set = collectProcessors(new HashSet<>()); for (Processor p : set) { if (p.isAlive() && p.belongsTo(this)) { result = false; @@ -723,7 +717,7 @@ public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedE long timeoutMillis = TimeUnit.MILLISECONDS.convert(timeout, unit); boolean result = stopped; long doneTime = System.currentTimeMillis() + timeoutMillis; - Set procs = new HashSet(); + Set procs = new HashSet<>(); outer: do { procs = collectProcessors(procs); if (procs.isEmpty()) { @@ -774,7 +768,7 @@ public Future submit(Callable task) { throw new RejectedExecutionException("Request Processor already " + //NOI18N "stopped"); //NOI18N } - RPFutureTask result = new RPFutureTask(task); + RPFutureTask result = new RPFutureTask<>(task); Task t = create(result); result.setTask(t); t.schedule(0); @@ -796,7 +790,7 @@ public Future submit(Runnable task, T predefinedResult) { throw new RejectedExecutionException("Request Processor already " + //NOI18N "stopped"); //NOI18N } - RPFutureTask result = new RPFutureTask(task, predefinedResult); + RPFutureTask result = new RPFutureTask<>(task, predefinedResult); Task t = create(result); result.setTask(t); t.schedule(0); @@ -825,14 +819,14 @@ public Future submit(Runnable task) { @Override public List> invokeAll(Collection> tasks) throws InterruptedException { Parameters.notNull("tasks", tasks); //NOI18N - List> result = new ArrayList>(tasks.size()); + List> result = new ArrayList<>(tasks.size()); CountDownLatch wait = new CountDownLatch(tasks.size()); for (Callable c : tasks) { if (c == null) { throw new NullPointerException ("Contains null tasks: " + //NOI18N tasks); } - Callable delegate = new WaitableCallable(c, wait); + Callable delegate = new WaitableCallable<>(c, wait); result.add (submit(delegate)); } wait.await(); @@ -852,12 +846,12 @@ public List> invokeAll(Collection> tasks, lo Parameters.notNull("unit", unit); //NOI18N Parameters.notNull("tasks", tasks); //NOI18N CountDownLatch wait = new CountDownLatch(tasks.size()); - List> result = new ArrayList>(tasks.size()); + List> result = new ArrayList<>(tasks.size()); for (Callable c : tasks) { if (c == null) { throw new NullPointerException ("Contains null tasks: " + tasks); //NOI18N } - Callable delegate = new WaitableCallable(c, wait); + Callable delegate = new WaitableCallable<>(c, wait); result.add (submit(delegate)); } if (!wait.await(timeout, unit)) { @@ -879,15 +873,15 @@ public List> invokeAll(Collection> tasks, lo public T invokeAny(Collection> tasks) throws InterruptedException, ExecutionException { Parameters.notNull("tasks", tasks); //NOI18N CountDownLatch wait = new CountDownLatch(1); - List> result = new ArrayList>(tasks.size()); - AtomicReference ref = new AtomicReference(); + List> result = new ArrayList<>(tasks.size()); + AtomicReference ref = new AtomicReference<>(); try { for (Callable c : tasks) { if (c == null) { throw new NullPointerException ("Contains null tasks: " + //NOI18N tasks); } - Callable delegate = new WaitableCallable(c, ref, wait); + Callable delegate = new WaitableCallable<>(c, ref, wait); result.add (submit(delegate)); } wait.await(); @@ -918,15 +912,15 @@ public T invokeAny(Collection> tasks, long timeout, Ti Parameters.notNull("unit", unit); //NOI18N Parameters.notNull("tasks", tasks); //NOI18N CountDownLatch wait = new CountDownLatch(1); - List> result = new ArrayList>(tasks.size()); - AtomicReference ref = new AtomicReference(); + List> result = new ArrayList<>(tasks.size()); + AtomicReference ref = new AtomicReference<>(); try { for (Callable c : tasks) { if (c == null) { throw new NullPointerException ("Contains null tasks: " + //NOI18N tasks); } - Callable delegate = new WaitableCallable(c, ref, wait); + Callable delegate = new WaitableCallable<>(c, ref, wait); result.add (submit(delegate)); } wait.await(timeout, unit); @@ -954,7 +948,7 @@ public ScheduledFuture schedule(Runnable command, long delay, TimeUnit unit) throw new RejectedExecutionException("Request Processor already stopped"); //NOI18N } long delayMillis = TimeUnit.MILLISECONDS.convert(delay, unit); - ScheduledRPFutureTask result = new ScheduledRPFutureTask(command, null, delayMillis); + ScheduledRPFutureTask result = new ScheduledRPFutureTask<>(command, null, delayMillis); Task t = create(result); result.setTask(t); t.schedule(delayMillis); @@ -976,7 +970,7 @@ public ScheduledFuture schedule(Callable callable, long delay, TimeUni "stopped"); //NOI18N } long delayMillis = TimeUnit.MILLISECONDS.convert(delay, unit); - ScheduledRPFutureTask result = new ScheduledRPFutureTask(callable, delayMillis); + ScheduledRPFutureTask result = new ScheduledRPFutureTask<>(callable, delayMillis); Task t = create(result); result.setTask(t); t.schedule(delayMillis); @@ -1042,29 +1036,13 @@ private SortedSet getQueue() { assert Thread.holdsLock(processorLock); return queue; } - - /** - * @return a top level ThreadGroup. The method ensures that even Processors - * created by internal execution will survive the end of the task. - */ - private static final TopLevelThreadGroup TOP_GROUP = new TopLevelThreadGroup(); - private static final class TopLevelThreadGroup implements PrivilegedAction { - public ThreadGroup getTopLevelThreadGroup() { - /* There used to be a workaround for - https://bz.apache.org/netbeans/show_bug.cgi?id=184494 here, relating to Applet and JNLP - environments. It was removed, since these environments are never used anymore. */ - return java.security.AccessController.doPrivileged(this); - } - @Override - public ThreadGroup run() { - ThreadGroup current = Thread.currentThread().getThreadGroup(); - - while (current.getParent() != null) { - current = current.getParent(); - } - return current; + private static ThreadGroup getTopLevelThreadGroup() { + ThreadGroup current = Thread.currentThread().getThreadGroup(); + while (current.getParent() != null) { + current = current.getParent(); } + return current; } private abstract static class TaskFutureWrapper implements ScheduledFuture, Runnable, RunnableWrapper { @@ -1095,8 +1073,8 @@ public int compareTo(Delayed o) { @Override public boolean cancel(boolean mayInterruptIfRunning) { boolean result = true; - if (toRun instanceof Cancellable) { - result = ((Cancellable) toRun).cancel(); + if (toRun instanceof Cancellable cancellable) { + result = cancellable.cancel(); } if (result) { //will invoke cancelled.set(true) @@ -1253,10 +1231,6 @@ private static final class WaitableCallable implements Callable, Cancellab this.ref = ref; } - boolean failed() { - return failed; - } - @Override public T call() throws Exception { try { @@ -1265,10 +1239,7 @@ public T call() throws Exception { ref.set(result); } return result; - } catch (RuntimeException e) { - failed = true; - throw e; - } catch (Error e) { + } catch (RuntimeException | Error e) { failed = true; throw e; } finally { @@ -1304,11 +1275,6 @@ void setTask(Task task) { this.task = task; } - RPFutureTask(Callable c, T predefinedResult) { - this (c); - set(predefinedResult); - } - @Override public boolean cancel(boolean mayInterruptIfRunning) { boolean result = cancellable == null ? true : cancellable.cancel(); @@ -1372,6 +1338,7 @@ public final class Task extends org.openide.util.Task implements Cancellable { /** @param run runnable to start * @param priority the priorty of the task */ + @SuppressWarnings("AssignmentToMethodParameter") Task(Runnable run, int priority) { super(run); @@ -1572,6 +1539,7 @@ public int getPriority() { /** Changes the priority the task will be performed with. * @param priority the priority level (see e.g. {@link Thread#NORM_PRIORITY} */ + @SuppressWarnings("AssignmentToMethodParameter") public void setPriority(int priority) { if (this.priority == priority) { return; @@ -1585,7 +1553,6 @@ public void setPriority(int priority) { priority = Thread.MAX_PRIORITY; } - // update queue position accordingly synchronized (processorLock) { if (item != null && getQueue().remove(item)) { @@ -1599,7 +1566,7 @@ public void setPriority(int priority) { /** This method is an implementation of the waitFinished method * in the RequestProcessor.Task. It check the current thread if it is - * request processor thread and in such case runs the task immediatelly + * request processor thread and in such case runs the task immediately * to prevent deadlocks. */ @Override @@ -1661,7 +1628,7 @@ public void waitFinished() { /** Enhanced reimplementation of the {@link Task#waitFinished(long)} * method. The added semantic is that if one calls this method from * another task of the same processor, and the task has not yet been - * executed, the method will immediatelly detect that and throw + * executed, the method will immediately detect that and throw * InterruptedException to signal that state. * * @param timeout the amount of time to wait @@ -1725,16 +1692,14 @@ private static class Item extends Exception implements Comparable { } final Task getTask() { - Object a = action; - - return (a instanceof Task) ? (Task) a : null; + return action instanceof Task task ? task : null; } boolean clearOrNew(boolean canBeNew) { return clear(null); } - /** Annulate this request iff still possible. + /** Annulate this request if still possible. * @returns true if it was possible to skip this item, false * if the item was/is already processed */ boolean clear(Processor processor) { @@ -1829,7 +1794,11 @@ public Throwable fillInStackTrace() { if (arr[i].getClassName().startsWith(RequestProcessor.class.getName())) { continue; } - ret.setStackTrace(Arrays.asList(arr).subList(i - 1, arr.length).toArray(new StackTraceElement[0])); + ret.setStackTrace( + Arrays.asList(arr) + .subList(i - 1, arr.length) + .toArray(StackTraceElement[]::new) + ); break; } return ret; @@ -1841,9 +1810,9 @@ public Throwable fillInStackTrace() { //------------------------------------------------------------------------------ /** - /** A special thread that processes timouted Tasks from a RequestProcessor. + /** A special thread that processes timed out Tasks from a RequestProcessor. * It uses the RequestProcessor as a synchronized queue (a Channel), - * so it is possible to run more Processors in paralel for one RequestProcessor + * so it is possible to run more Processors in parallel for one RequestProcessor */ private static class Processor extends Thread { /** A stack containing all the inactive Processors */ @@ -1868,7 +1837,7 @@ private static class Processor extends Thread { private RequestProcessor procesing; public Processor() { - super(TOP_GROUP.getTopLevelThreadGroup(), "Inactive RequestProcessor thread"); // NOI18N + super(getTopLevelThreadGroup(), "Inactive RequestProcessor thread"); // NOI18N setDaemon(true); assert !Thread.holdsLock(POOL); // new Thread may lead to huge classloading } @@ -1948,7 +1917,7 @@ boolean belongsTo(RequestProcessor r) { @Override public void run() { for (;;) { - RequestProcessor current = null; + RequestProcessor current; synchronized (lock) { try { @@ -1962,7 +1931,7 @@ public void run() { current = source; source = null; - if (current == null) { // We've timeouted + if (current == null) { // We've timed out synchronized (POOL) { if (idle) { // and we're idle @@ -2025,8 +1994,6 @@ public void run() { } catch (StackOverflowError e) { // recoverable too doNotify(todo, e); - } catch (ThreadDeath t) { - // #201098: ignore } catch (Throwable t) { doNotify(todo, t); } finally { @@ -2111,9 +2078,8 @@ private static void doNotify(RequestProcessor.Task todo, Throwable ex) { logger().log(Level.SEVERE, "Error in RequestProcessor " + todo.debug(), ex); } - private static final Map,Object> warnedClasses = Collections.synchronizedMap( - new WeakHashMap,Object>() - ); + // TODO LazyConstant candidate + private static final Set> warnedClasses = Collections.synchronizedSet(Collections.newSetFromMap(new WeakHashMap<>())); private void registerParallel(Task todo, RequestProcessor rp) { if (rp.warnParallel == 0 || todo.run == null) { return; @@ -2122,7 +2088,7 @@ private void registerParallel(Task todo, RequestProcessor rp) { AtomicInteger number; synchronized (rp.processorLock) { if (rp.inParallel == null) { - rp.inParallel = new WeakHashMap,AtomicInteger>(); + rp.inParallel = new WeakHashMap<>(); } number = rp.inParallel.get(c); if (number == null) { @@ -2131,7 +2097,7 @@ private void registerParallel(Task todo, RequestProcessor rp) { number.incrementAndGet(); } } - if (number.get() >= rp.warnParallel && warnedClasses.put(c, "") == null) { + if (number.get() >= rp.warnParallel && warnedClasses.add(c)) { final String msg = "Too many " + c.getName() + " (" + number + ") in shared RequestProcessor; create your own"; // NOI18N Exception ex = null; Item itm = todo.item; @@ -2161,7 +2127,7 @@ private static final class TickTac extends Thread implements Comparator { public TickTac() { super("RequestProcessor queue manager"); // NOI18N setDaemon(true); - queue = new PriorityQueue(128, this); + queue = new PriorityQueue<>(128, this); } @Override diff --git a/platform/openide.util/src/org/openide/util/Task.java b/platform/openide.util/src/org/openide/util/Task.java index e5adea2695f8..6d5af3868498 100644 --- a/platform/openide.util/src/org/openide/util/Task.java +++ b/platform/openide.util/src/org/openide/util/Task.java @@ -55,7 +55,7 @@ public class Task extends Object implements Runnable { /** map of subclasses to booleans whether they override waitFinished() or not */ - private static java.util.WeakHashMap overrides; + private static java.util.WeakHashMap, Boolean> overrides; /** request processor for workarounding compatibility problem with * classes that do not override waitFinished (long) @@ -225,6 +225,7 @@ protected final void notifyFinished() { *

    Note that this call runs synchronously, but typically the creator * of the task will call this method in a separate thread. */ + @Override public void run() { try { notifyRunning(); @@ -270,6 +271,7 @@ public synchronized void removeTaskListener(TaskListener l) { list.remove(l); } + @Override public String toString() { return "task " + run; // NOI18N } @@ -287,12 +289,12 @@ private boolean overridesTimeoutedWaitFinished() { return true; } - java.util.WeakHashMap m; + java.util.WeakHashMap, Boolean> m; Boolean does; synchronized (Task.class) { if (overrides == null) { - overrides = new java.util.WeakHashMap(); + overrides = new java.util.WeakHashMap<>(); RP = new RequestProcessor("Timeout waitFinished compatibility processor", 255); // NOI18N } @@ -301,16 +303,16 @@ private boolean overridesTimeoutedWaitFinished() { does = m.get(getClass()); if (does != null) { - return does.booleanValue(); + return does; } try { - java.lang.reflect.Method method = getClass().getMethod("waitFinished", new Class[] { Long.TYPE }); // NOI18N - does = Boolean.valueOf(method.getDeclaringClass() != Task.class); + java.lang.reflect.Method method = getClass().getMethod("waitFinished", Long.TYPE); // NOI18N + does = method.getDeclaringClass() != Task.class; m.put(getClass(), does); - return does.booleanValue(); - } catch (Exception ex) { + return does; + } catch (NoSuchMethodException ex) { Exceptions.printStackTrace(ex); return true; From 64eda359ccf14374e02d98b215ecf66f8e93cdc6 Mon Sep 17 00:00:00 2001 From: Neil C Smith Date: Mon, 16 Feb 2026 14:27:53 +0000 Subject: [PATCH 69/74] Follow FlatLaf colours for component drag target indicator. Update FlatLaf properties to set the colour of the drag target indicator to derive from the active tab underline colour (usually accent colour). Also make the stroke weight configurable (but kept default in FlatLaf). --- .../netbeans/core/windows/view/dnd/DropTargetGlassPane.java | 4 +++- .../org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties | 4 ++++ .../src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties | 5 +++++ .../org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties | 4 +++- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/platform/core.windows/src/org/netbeans/core/windows/view/dnd/DropTargetGlassPane.java b/platform/core.windows/src/org/netbeans/core/windows/view/dnd/DropTargetGlassPane.java index 2c00cc39bf38..7315c7fb8257 100644 --- a/platform/core.windows/src/org/netbeans/core/windows/view/dnd/DropTargetGlassPane.java +++ b/platform/core.windows/src/org/netbeans/core/windows/view/dnd/DropTargetGlassPane.java @@ -292,7 +292,9 @@ private TexturePaint getIndicationPaint() { private Stroke stroke; private Stroke getIndicationStroke() { if (stroke == null) { - stroke = new BasicStroke(3, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10.0f, new float[] {10.0f}, 0.0f); + int strokeWidth = UIManager.getInt("Panel.dropTargetGlassPane.strokeWidth"); + strokeWidth = strokeWidth < 1 ? 3 : strokeWidth; + stroke = new BasicStroke(strokeWidth, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10.0f, new float[] {10.0f}, 0.0f); } return stroke; } diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties index 09dbf59d423c..a90887a7a209 100644 --- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties +++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties @@ -72,6 +72,10 @@ ViewTab.underlineColor=$EditorTab.underlineColor ViewTab.inactiveUnderlineColor=$EditorTab.inactiveUnderlineColor ViewTab.tabSeparatorColor=$EditorTab.tabSeparatorColor +#---- Tab Dragging ---- + +Panel.dropTargetGlassPane=tint($EditorTab.underlineColor, 25%) + #---- SlidingButton ---- SlidingButton.hoverBackground=$ViewTab.hoverBackground diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties index 6d7580f13cc3..6cb9a3eff43c 100644 --- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties +++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties @@ -94,6 +94,11 @@ ViewTab.tabSeparatorColor=$Component.borderColor ViewTab.showTabSeparators=true ViewTab.showSelectedTabBorder=true +#---- Tab Dragging ---- + +Panel.dropTargetGlassPane=$EditorTab.underlineColor +Panel.dropTargetGlassPane.strokeWidth=3 + #---- Multi-tabs ---- nb.multitabs.tabInsets=5,2,7,2 diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties index 0ba3f1707318..629c167737d6 100644 --- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties +++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties @@ -39,7 +39,6 @@ EditorTab.attentionForeground=#000 EditorTab.underlineColor=$TabbedPane.underlineColor EditorTab.inactiveUnderlineColor=#00000000 - #---- ViewTab ---- ViewTab.background=$EditorTab.background @@ -56,6 +55,9 @@ ViewTab.attentionForeground=$EditorTab.attentionForeground ViewTab.underlineColor=$EditorTab.underlineColor ViewTab.inactiveUnderlineColor=$EditorTab.inactiveUnderlineColor +#---- Tab Dragging ---- + +Panel.dropTargetGlassPane=shade($EditorTab.underlineColor, 20%) #---- SlidingButton ---- From 183e56ebdcee2a768c4b30a641a0889f8cc2ce73 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sat, 11 Apr 2026 12:54:01 +0200 Subject: [PATCH 70/74] Enable Compact Object Headers (JEP 519) - sets -XX:+UseCompactObjectHeaders which is supported from JDK 25 and later - NB sets XX:+IgnoreUnrecognizedVMOptions already which means it will be silently ignored on older JDKs - (experimental on EOL JDK 24, but it won't enable there without also setting the flag to enable experimental options - which we don't do) tested it on NB since JDK 24 without issues --- nb/ide.launcher/netbeans.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nb/ide.launcher/netbeans.conf b/nb/ide.launcher/netbeans.conf index d1c7109340b4..70a8d2bf88c7 100644 --- a/nb/ide.launcher/netbeans.conf +++ b/nb/ide.launcher/netbeans.conf @@ -66,7 +66,7 @@ netbeans_default_cachedir="${DEFAULT_CACHEDIR_ROOT}/@@metabuild.RawVersion@@" # The automatically selected value can be overridden by specifying -J-Xmx # here or on the command line. # -netbeans_default_options="-J-XX:+UseStringDeduplication -J-Xss2m @@metabuild.logcli@@ -J-Djava.lang.Runtime.level=FINE -J--sun-misc-unsafe-memory-access=warn -J-Dguice_custom_class_loading=CHILD -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.application.appearance=system -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes @@metabuild.jms-flags@@ -J-XX:+IgnoreUnrecognizedVMOptions -J-javaagent:\"${BASEDIR}/ide/netbeans-javaagent.jar\"" +netbeans_default_options="-J-XX:+UseStringDeduplication -J-XX:+UseCompactObjectHeaders -J-Xss2m @@metabuild.logcli@@ -J-Djava.lang.Runtime.level=FINE -J--sun-misc-unsafe-memory-access=warn -J-Dguice_custom_class_loading=CHILD -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.application.appearance=system -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes @@metabuild.jms-flags@@ -J-XX:+IgnoreUnrecognizedVMOptions -J-javaagent:\"${BASEDIR}/ide/netbeans-javaagent.jar\"" # Default location of JDK: # (set by installer or commented out if launcher should decide) From 55bb8109475451ffbfe407f964da33762c28bb35 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Wed, 25 Feb 2026 09:36:48 +0100 Subject: [PATCH 71/74] [GITHUB-9198] Do not remove for each variables, even if unused. --- .../netbeans/modules/java/hints/Feature.java | 7 +- .../modules/java/hints/bugs/Unused.java | 52 +++++++- .../modules/java/hints/bugs/UnusedTest.java | 70 ++++++++++ .../spi/java/hints/JavaFixUtilities.java | 16 +++ .../spi/java/hints/JavaFixUtilitiesTest.java | 122 +++++++++++++++++- 5 files changed, 256 insertions(+), 11 deletions(-) diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/Feature.java b/java/java.hints/src/org/netbeans/modules/java/hints/Feature.java index 950b79d52d09..4176236793e5 100644 --- a/java/java.hints/src/org/netbeans/modules/java/hints/Feature.java +++ b/java/java.hints/src/org/netbeans/modules/java/hints/Feature.java @@ -45,7 +45,12 @@ public enum Feature { VIRTUAL_THREADS(19, 21), /// https://openjdk.org/jeps/440 - RECORD_PATTERN(19, 21); + RECORD_PATTERN(19, 21), + + /// https://openjdk.org/jeps/456 + UNNAMED_VARIABLES(21, 22), + + ; /// preview begin public final int PREVIEW; diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/bugs/Unused.java b/java/java.hints/src/org/netbeans/modules/java/hints/bugs/Unused.java index b7806ffede04..97f5a0275846 100644 --- a/java/java.hints/src/org/netbeans/modules/java/hints/bugs/Unused.java +++ b/java/java.hints/src/org/netbeans/modules/java/hints/bugs/Unused.java @@ -19,16 +19,25 @@ package org.netbeans.modules.java.hints.bugs; import com.sun.source.tree.Tree.Kind; +import com.sun.source.util.TreePath; +import java.util.ArrayList; import java.util.List; +import java.util.Set; +import javax.lang.model.SourceVersion; import javax.lang.model.element.ElementKind; +import org.netbeans.api.java.source.CompilationInfo; +import org.netbeans.api.java.source.TreeMaker; +import org.netbeans.api.java.source.WorkingCopy; import org.netbeans.modules.java.editor.base.semantic.UnusedDetector; import org.netbeans.modules.java.editor.base.semantic.UnusedDetector.UnusedDescription; +import org.netbeans.modules.java.hints.Feature; import org.netbeans.spi.editor.hints.ErrorDescription; import org.netbeans.spi.editor.hints.Fix; import org.netbeans.spi.java.hints.BooleanOption; import org.netbeans.spi.java.hints.ErrorDescriptionFactory; import org.netbeans.spi.java.hints.Hint; import org.netbeans.spi.java.hints.HintContext; +import org.netbeans.spi.java.hints.JavaFix; import org.netbeans.spi.java.hints.JavaFixUtilities; import org.netbeans.spi.java.hints.TriggerTreeKind; import org.openide.util.NbBundle.Messages; @@ -46,6 +55,8 @@ }) public class Unused { + private static final Set SUPPORT_UNNAMED = Set.of(ElementKind.BINDING_VARIABLE, ElementKind.EXCEPTION_PARAMETER, ElementKind.LOCAL_VARIABLE, ElementKind.RESOURCE_VARIABLE); + private static final boolean DETECT_UNUSED_PACKAGE_PRIVATE_DEFAULT = true; @BooleanOption(displayName="#LBL_UnusedPackagePrivate", tooltip="#TP_UnusedPackagePrivate", defaultValue=DETECT_UNUSED_PACKAGE_PRIVATE_DEFAULT) @@ -108,10 +119,7 @@ private static ErrorDescription convertUnused(HintContext ctx, UnusedDescription case NOT_WRITTEN: message = Bundle.ERR_NotWritten(name); break; case NOT_READ: message = Bundle.ERR_NotRead(name); - //unclear what can be done with unused binding variables currently (before "_"): - if (ud.unusedElementPath().getParentPath().getLeaf().getKind() != Kind.BINDING_PATTERN) { - fix = JavaFixUtilities.safelyRemoveFromParent(ctx, Bundle.FIX_RemoveUsedElement(name), ud.unusedElementPath()); - } + fix = JavaFixUtilities.safelyRemoveFromParent(ctx, Bundle.FIX_RemoveUsedElement(name), ud.unusedElementPath()); break; case NOT_USED: if (ud.unusedElement().getKind() == ElementKind.CONSTRUCTOR) { @@ -125,7 +133,39 @@ private static ErrorDescription convertUnused(HintContext ctx, UnusedDescription default: throw new IllegalStateException("Unknown unused type: " + ud.reason()); } - return fix != null ? ErrorDescriptionFactory.forName(ctx, ud.unusedElementPath(), message, fix) - : ErrorDescriptionFactory.forName(ctx, ud.unusedElementPath(), message); + + List fixes = new ArrayList<>(); + + if (fix != null) { + fixes.add(fix); + } + + if (Feature.UNNAMED_VARIABLES.isEnabled(ctx.getInfo()) && + SUPPORT_UNNAMED.contains(ud.unusedElement().getKind())) { + fixes.add(new RenameToUnderscore(ctx.getInfo(), ctx.getPath()).toEditorFix()); + } + + return ErrorDescriptionFactory.forName(ctx, ud.unusedElementPath(), message, fixes.toArray(Fix[]::new)); + } + + private static final class RenameToUnderscore extends JavaFix { + + public RenameToUnderscore(CompilationInfo info, TreePath tp) { + super(info, tp); + } + + @Override + @Messages("FIX_RenameToUnderscore=Rename the variable to '_'") + protected String getText() { + return Bundle.FIX_RenameToUnderscore(); + } + + @Override + protected void performRewrite(TransformationContext ctx) throws Exception { + WorkingCopy wc = ctx.getWorkingCopy(); + TreeMaker make = wc.getTreeMaker(); + wc.rewrite(ctx.getPath().getLeaf(), make.setLabel(ctx.getPath().getLeaf(), "_")); + } + } } diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/UnusedTest.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/UnusedTest.java index 9e5daf4b21c4..d9008203555c 100644 --- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/UnusedTest.java +++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/UnusedTest.java @@ -135,4 +135,74 @@ record Test() { .assertWarnings(); } + public void testUnusedForEach() throws Exception { + HintTest.create() + .input(""" + package test; + public class Test { + public void test(String[] args) { + for (String a : args) {} + } + } + """) + .run(Unused.class) + .assertWarnings("3:20-3:21:verifier:" + Bundle.ERR_NotRead("a")) + .findWarning("3:20-3:21:verifier:" + Bundle.ERR_NotRead("a")) + .assertFixes(); + } + + public void testToUndescore1() throws Exception { + HintTest.create() + .sourceLevel("22") + .input(""" + package test; + public class Test { + public void test(String[] args) { + String u = ""; + } + } + """) + .run(Unused.class) + .findWarning("3:15-3:16:verifier:" + Bundle.ERR_NotRead("u")) + .applyFix(Bundle.FIX_RenameToUnderscore()) + .assertCompilable() + .assertOutput(""" + package test; + public class Test { + public void test(String[] args) { + String _ = ""; + } + } + """); + } + + public void testToUndescore2() throws Exception { + HintTest.create() + .sourceLevel("22") + .input(""" + package test; + public class Test { + String u = ""; + } + """) + .run(Unused.class) + .findWarning("2:11-2:12:verifier:" + Bundle.ERR_NotRead("u")) + .assertFixes(Bundle.FIX_RemoveUsedElement("u")); + } + + public void testToUndescore3() throws Exception { + HintTest.create() + .sourceLevel("21") + .input(""" + package test; + public class Test { + public void test(String[] args) { + String u = ""; + } + } + """) + .run(Unused.class) + .findWarning("3:15-3:16:verifier:" + Bundle.ERR_NotRead("u")) + .assertFixes(Bundle.FIX_RemoveUsedElement("u")); + } } diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFixUtilities.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFixUtilities.java index 7e8ef5f5ad89..2bc33215afa6 100644 --- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFixUtilities.java +++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFixUtilities.java @@ -31,6 +31,7 @@ import com.sun.source.tree.CompilationUnitTree; import com.sun.source.tree.CompoundAssignmentTree; import com.sun.source.tree.DoWhileLoopTree; +import com.sun.source.tree.EnhancedForLoopTree; import com.sun.source.tree.ExpressionStatementTree; import com.sun.source.tree.ExpressionTree; import com.sun.source.tree.IdentifierTree; @@ -1835,6 +1836,21 @@ private void doRemoveFromParent(WorkingCopy wc, TreePath what) { } private static boolean canSafelyRemove(CompilationInfo info, TreePath tp) { + if (tp.getParentPath() != null) { + //cannot remove from some parent trees: + switch (tp.getParentPath().getLeaf().getKind()) { + case BINDING_PATTERN -> { + return false; + } + case ENHANCED_FOR_LOOP -> { + EnhancedForLoopTree loop = (EnhancedForLoopTree) tp.getParentPath().getLeaf(); + + if (loop.getVariable() == tp.getLeaf()) { + return false; + } + } + } + } AtomicBoolean ret = new AtomicBoolean(true); Element el = info.getTrees().getElement(tp); if (el != null) { diff --git a/java/spi.java.hints/test/unit/src/org/netbeans/spi/java/hints/JavaFixUtilitiesTest.java b/java/spi.java.hints/test/unit/src/org/netbeans/spi/java/hints/JavaFixUtilitiesTest.java index 3957df6cc587..8c92e0982e3e 100644 --- a/java/spi.java.hints/test/unit/src/org/netbeans/spi/java/hints/JavaFixUtilitiesTest.java +++ b/java/spi.java.hints/test/unit/src/org/netbeans/spi/java/hints/JavaFixUtilitiesTest.java @@ -39,6 +39,7 @@ import org.netbeans.modules.java.hints.spiimpl.TestBase; import org.netbeans.modules.java.hints.spiimpl.hints.HintsInvoker; import org.netbeans.modules.java.hints.providers.spi.Trigger.PatternDescription; +import org.netbeans.modules.java.hints.spiimpl.SyntheticFix; import org.netbeans.modules.java.hints.spiimpl.options.HintsSettings; import org.netbeans.modules.java.hints.spiimpl.pm.PatternCompilerUtilities; import org.netbeans.modules.java.source.parsing.JavacParser; @@ -509,6 +510,102 @@ public void testRemoveFromParentExpressionStatement206116() throws Exception { "}\n"); } + public void testRemovedFromForEach1() throws Exception { + performRemoveFromParentTest(""" + package test; + import java.io.InputStream; + public class Test { + private void t(String[] args) throws Exception { + for (String a : args) + System.err.println(); + } + } + """, + "System.err.println();", + """ + package test; + import java.io.InputStream; + public class Test { + private void t(String[] args) throws Exception { + for (String a : args) { + } + } + } + """, + true); + } + + public void testRemovedFromForEach2() throws Exception { + performRemoveFromParentTest(""" + package test; + import java.io.InputStream; + public class Test { + private void t(String[] args) throws Exception { + for (String a : args) + System.err.println(); + } + } + """, + "System.err.println();", + """ + package test; + import java.io.InputStream; + public class Test { + private void t(String[] args) throws Exception { + for (String a : args) { + } + } + } + """, + true); + } + + public void testRemovedFromForEach3() throws Exception { + performRemoveFromParentTest(""" + package test; + import java.io.InputStream; + public class Test { + private void t(String[] args) throws Exception { + for (String a : args) + System.err.println(); + } + } + """, + "String a", + null, + true); + } + + public void testRemovedFromForEach4() throws Exception { + performRemoveFromParentTest(""" + package test; + import java.util.List; + public class Test { + private void t() throws Exception { + for (String a : List.of("") + System.err.println(); + } + } + """, + "java.util.List.of($args)", + null, + true); + } + + public void testRemoveBindingPattern1() throws Exception { + performRemoveFromParentTest(""" + package test; + public class Test { + private void t(Object o) throws Exception { + if (o instanceof String str) {} + } + } + """, + "String str", + null, + true); + } + public void testUnresolvableTarget() throws Exception { performRewriteTest("package test;\n" + "public class Test extends java.util.ArrayList {\n" + @@ -1396,13 +1493,19 @@ public void performRewriteTest(String code, String rule, String golden, String s } public void performRemoveFromParentTest(String code, String rule, String golden) throws Exception { + performRemoveFromParentTest(code, rule, golden, false); + } + + public void performRemoveFromParentTest(String code, String rule, String golden, boolean safelyRemove) throws Exception { prepareTest("test/Test.java", code); HintDescription hd = HintDescriptionFactory.create() .setTrigger(PatternDescription.create(rule, Collections.emptyMap())) .setWorker(new HintDescription.Worker() { @Override public Collection createErrors(HintContext ctx) { - return Collections.singletonList(ErrorDescriptionFactory.forName(ctx, ctx.getPath(), "", JavaFixUtilities.removeFromParent(ctx, "", ctx.getPath()))); + Fix fix = safelyRemove ? JavaFixUtilities.safelyRemoveFromParent(ctx, "", ctx.getPath()) + : JavaFixUtilities.removeFromParent(ctx, "", ctx.getPath()); + return Collections.singletonList(ErrorDescriptionFactory.forName(ctx, ctx.getPath(), "", fix)); } }).produce(); @@ -1410,11 +1513,22 @@ public void performRemoveFromParentTest(String code, String rule, String golden) assertEquals(computeHints.toString(), 1, computeHints.size()); - Fix fix = computeHints.get(0).getFixes().getFixes().get(0); + List fixes = computeHints.get(0).getFixes().getFixes(); - fix.implement(); + assertEquals(String.valueOf(fixes), 1, fixes.size()); - assertEquals(golden, doc.getText(0, doc.getLength())); + if (golden != null) { + Fix fix = fixes.get(0); + + fix.implement(); + + assertEquals(golden, doc.getText(0, doc.getLength())); + } else { + Fix fix = fixes.get(0); + + assertTrue(String.valueOf(fixes), + fix instanceof SyntheticFix); + } } static { From 187a9af8c5977c51237028b88ab1ab3167332619 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Tue, 14 Apr 2026 16:47:18 +0200 Subject: [PATCH 72/74] Bump MavenVersionSettings fallback versions for NB30 --- .../modules/maven/apisupport/NBMNativeMWITest.java | 2 +- .../modules/maven/options/MavenVersionSettings.java | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apisupport/maven.apisupport/test/unit/src/org/netbeans/modules/maven/apisupport/NBMNativeMWITest.java b/apisupport/maven.apisupport/test/unit/src/org/netbeans/modules/maven/apisupport/NBMNativeMWITest.java index 3e79a3ae0b43..e72393ce62ea 100644 --- a/apisupport/maven.apisupport/test/unit/src/org/netbeans/modules/maven/apisupport/NBMNativeMWITest.java +++ b/apisupport/maven.apisupport/test/unit/src/org/netbeans/modules/maven/apisupport/NBMNativeMWITest.java @@ -38,7 +38,7 @@ public class NBMNativeMWITest extends NbTestCase { - private static final String EXPECTED_JAVAC_PLUGIN_VERSION = "3.14.1"; + private static final String EXPECTED_JAVAC_PLUGIN_VERSION = "3.15.0"; private FileObject wd; diff --git a/java/maven/src/org/netbeans/modules/maven/options/MavenVersionSettings.java b/java/maven/src/org/netbeans/modules/maven/options/MavenVersionSettings.java index 000c45853e77..56f56d3c48cb 100644 --- a/java/maven/src/org/netbeans/modules/maven/options/MavenVersionSettings.java +++ b/java/maven/src/org/netbeans/modules/maven/options/MavenVersionSettings.java @@ -45,15 +45,15 @@ public final class MavenVersionSettings { static { // TODO update periodically - modifications might require unit test adjustments (e.g NBMNativeMWITest) // (e.g NBMNativeMWITest checks the compiler plugin version) - String nb_version = "RELEASE280"; + String nb_version = "RELEASE300"; String nb_utilities_version = "14.4"; fallback = Map.ofEntries( entry(key("org.netbeans.api", "org-netbeans-modules-editor"), nb_version), // represents all other nb artifacts - entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_COMPILER), "3.14.1"), - entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_JAR), "3.4.2"), - entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_RESOURCES), "3.3.1"), - entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_FAILSAFE), "3.5.4"), - entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_SUREFIRE), "3.5.4"), + entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_COMPILER), "3.15.0"), + entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_JAR), "3.5.0"), + entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_RESOURCES), "3.5.0"), + entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_FAILSAFE), "3.5.5"), + entry(key(Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_SUREFIRE), "3.5.5"), entry(key("org.apache.netbeans.utilities", "utilities-parent"), nb_utilities_version), entry(key("org.apache.netbeans.utilities", "nbm-maven-harness"), nb_utilities_version), entry(key("org.apache.netbeans.utilities", "nbm-shared"), nb_utilities_version), From 1d2d58f53c44f8505fcffcdb344f86d906957311 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Tue, 14 Apr 2026 16:51:56 +0200 Subject: [PATCH 73/74] Bump gradle defaults for JDK 26 add java 26 to the wizard and set gradle 9.4.0 as JDK 26 compatible --- .../modules/gradle/api/execute/GradleDistributionManager.java | 3 ++- .../org/netbeans/modules/gradle/java/newproject/Wizards.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleDistributionManager.java b/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleDistributionManager.java index 580fbe250af7..a73b433bab37 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleDistributionManager.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleDistributionManager.java @@ -103,9 +103,10 @@ public final class GradleDistributionManager { GradleVersion.version("8.10"),// JDK-23 GradleVersion.version("8.14"),// JDK-24 GradleVersion.version("9.1.0"),// JDK-25 + GradleVersion.version("9.4.0"),// JDK-26 }; - private static final GradleVersion LAST_KNOWN_GRADLE = GradleVersion.version("9.1.0"); //NOI18N + private static final GradleVersion LAST_KNOWN_GRADLE = GradleVersion.version("9.4.1"); //NOI18N private static final int LATEST_SUPPORTED_MAJOR = 9; diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/newproject/Wizards.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/newproject/Wizards.java index 711ab429cc99..e3cbd41ffa77 100644 --- a/java/gradle.java/src/org/netbeans/modules/gradle/java/newproject/Wizards.java +++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/newproject/Wizards.java @@ -35,7 +35,7 @@ public final class Wizards { private Wizards() {}; - private static final List JAVA_VERSIONS = List.of(25, 21, 17, 11, 8); + private static final List JAVA_VERSIONS = List.of(26, 25, 21, 17, 11, 8); private static final List JAVA_TEST_FRAMEWORKS = List.of( JUNIT, JUNIT_5, From fd2b69017d5d63213b638719e297918c4624174e Mon Sep 17 00:00:00 2001 From: Nicola Isotta Date: Sun, 5 Apr 2026 11:15:08 +0200 Subject: [PATCH 74/74] modernize/upgrade "New JSF bean" wizard * added Faces 4 ClientWindowScoped (with warning if project uses JSF 3.0 or older) * disabled "Add data to configuration file" check for Faces 4+ projects * moved some logic from switch/maps to enum fields * small refactor/modernization of the code Add NetBeansProjects dir to Favorites tab - projects dir is now registered as favorite - fixed bug: when a custom project dir location is specified by setting 'netbeans.projects.dir', the dir is now automatically created, instead of falling back to the default dir, which gave the impression that the property isn't working Payara Micro Maven Plugin v2.5.3 support Increment spec versions for Apache NetBeans 31 developement Update issue form for NB 30 release candidates --- .../ISSUE_TEMPLATE/01-netbeans_bug_report.yml | 4 +- apisupport/apisupport.ant/manifest.mf | 2 +- apisupport/apisupport.kit/manifest.mf | 2 +- apisupport/apisupport.project/manifest.mf | 2 +- apisupport/apisupport.refactoring/manifest.mf | 2 +- apisupport/apisupport.wizards/manifest.mf | 2 +- apisupport/maven.apisupport/manifest.mf | 2 +- apisupport/timers/manifest.mf | 2 +- cpplite/cpplite.debugger/manifest.mf | 2 +- cpplite/cpplite.editor/manifest.mf | 2 +- cpplite/cpplite.kit/manifest.mf | 2 +- cpplite/cpplite.project/manifest.mf | 2 +- enterprise/api.web.webmodule/manifest.mf | 2 +- enterprise/cloud.amazon/manifest.mf | 2 +- enterprise/cloud.common/manifest.mf | 2 +- enterprise/cloud.oracle/manifest.mf | 2 +- enterprise/el.lexer/manifest.mf | 2 +- enterprise/glassfish.common/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- enterprise/glassfish.javaee/manifest.mf | 2 +- enterprise/glassfish.tooling/manifest.mf | 2 +- enterprise/gradle.javaee/manifest.mf | 2 +- .../j2ee.ant/nbproject/project.properties | 2 +- enterprise/j2ee.api.ejbmodule/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- enterprise/j2ee.common/manifest.mf | 2 +- enterprise/j2ee.core/manifest.mf | 2 +- enterprise/j2ee.dd.webservice/manifest.mf | 2 +- .../j2ee.dd/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- enterprise/j2ee.earproject/manifest.mf | 2 +- enterprise/j2ee.ejbcore/manifest.mf | 2 +- enterprise/j2ee.ejbjarproject/manifest.mf | 2 +- enterprise/j2ee.ejbrefactoring/manifest.mf | 2 +- enterprise/j2ee.ejbverification/manifest.mf | 2 +- enterprise/j2ee.genericserver/manifest.mf | 2 +- enterprise/j2ee.kit/manifest.mf | 2 +- enterprise/j2ee.platform/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../j2ee.sun.dd/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- enterprise/j2eeapis/manifest.mf | 2 +- .../j2eeserver/nbproject/project.properties | 2 +- enterprise/jakarta.transformer/manifest.mf | 2 +- enterprise/jakartaee10.api/manifest.mf | 2 +- enterprise/jakartaee10.platform/manifest.mf | 2 +- enterprise/jakartaee11.api/manifest.mf | 2 +- enterprise/jakartaee11.platform/manifest.mf | 2 +- enterprise/jakartaee8.api/manifest.mf | 2 +- enterprise/jakartaee8.platform/manifest.mf | 2 +- enterprise/jakartaee9.api/manifest.mf | 2 +- enterprise/jakartaee9.platform/manifest.mf | 2 +- enterprise/javaee.api/manifest.mf | 2 +- enterprise/javaee.beanvalidation/manifest.mf | 2 +- enterprise/javaee.project/manifest.mf | 2 +- enterprise/javaee.resources/manifest.mf | 2 +- enterprise/javaee.specs.support/manifest.mf | 2 +- enterprise/javaee.wildfly/manifest.mf | 2 +- enterprise/javaee7.api/manifest.mf | 2 +- enterprise/javaee8.api/manifest.mf | 2 +- enterprise/jellytools.enterprise/manifest.mf | 2 +- enterprise/jsp.lexer/manifest.mf | 2 +- enterprise/libs.amazon/manifest.mf | 2 +- .../libs.elimpl/nbproject/project.properties | 2 +- enterprise/libs.fabric8/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- enterprise/libs.jackson/manifest.mf | 2 +- .../libs.jstl/nbproject/project.properties | 2 +- enterprise/maven.j2ee/manifest.mf | 2 +- enterprise/maven.jaxws/manifest.mf | 2 +- .../micronaut/nbproject/project.properties | 2 +- enterprise/payara.common/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- enterprise/payara.jakartaee/manifest.mf | 2 +- enterprise/payara.micro/manifest.mf | 2 +- .../fish/payara/micro/plugin/Constants.java | 7 + .../payara/micro/plugin/resources/pom.xml.ftl | 2 +- .../payara/micro/project/Bundle.properties | 14 ++ .../micro/project/MicroActionsProvider.java | 80 ++++++++- .../micro/project/MicroApplication.java | 31 +++- .../micro/project/MicroPropertiesPanel.form | 158 +++++++++++++++++- .../micro/project/MicroPropertiesPanel.java | 145 +++++++++++++++- .../project/resources/action-mapping.xml | 36 ---- enterprise/payara.tooling/manifest.mf | 2 +- enterprise/profiler.j2ee/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- enterprise/spring.webmvc/manifest.mf | 2 +- enterprise/tomcat5/manifest.mf | 2 +- enterprise/web.beans/manifest.mf | 2 +- enterprise/web.bootsfaces/manifest.mf | 2 +- enterprise/web.client.rest/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../web.core/nbproject/project.properties | 2 +- enterprise/web.debug/manifest.mf | 2 +- enterprise/web.el/manifest.mf | 2 +- enterprise/web.freeform/manifest.mf | 2 +- enterprise/web.jsf.editor/manifest.mf | 2 +- enterprise/web.jsf.icefaces/manifest.mf | 2 +- enterprise/web.jsf.kit/manifest.mf | 2 +- enterprise/web.jsf.navigation/manifest.mf | 2 +- enterprise/web.jsf.richfaces/manifest.mf | 2 +- .../web.jsf/nbproject/project.properties | 2 +- .../web/jsf/wizards/ManagedBeanIterator.java | 135 ++++++--------- .../web/jsf/wizards/ManagedBeanPanel.java | 22 ++- .../jsf/wizards/ManagedBeanPanelVisual.form | 6 + .../jsf/wizards/ManagedBeanPanelVisual.java | 56 ++++--- .../web.jsf20/nbproject/project.properties | 2 +- enterprise/web.jsfapi/manifest.mf | 2 +- enterprise/web.jspparser/manifest.mf | 2 +- enterprise/web.kit/manifest.mf | 2 +- enterprise/web.monitor/manifest.mf | 2 +- enterprise/web.primefaces/manifest.mf | 2 +- .../web.project/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- enterprise/weblogic.common/manifest.mf | 2 +- enterprise/websocket/manifest.mf | 2 +- enterprise/websvc.clientapi/manifest.mf | 2 +- .../websvc.core/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- enterprise/websvc.design/manifest.mf | 2 +- enterprise/websvc.editor.hints/manifest.mf | 2 +- enterprise/websvc.jaxws.lightapi/manifest.mf | 2 +- enterprise/websvc.jaxwsapi/manifest.mf | 2 +- enterprise/websvc.jaxwsmodel/manifest.mf | 2 +- enterprise/websvc.kit/manifest.mf | 2 +- enterprise/websvc.manager/manifest.mf | 2 +- enterprise/websvc.metro.lib/manifest.mf | 2 +- enterprise/websvc.owsm/manifest.mf | 2 +- enterprise/websvc.projectapi/manifest.mf | 2 +- enterprise/websvc.rest/manifest.mf | 2 +- enterprise/websvc.restapi/manifest.mf | 2 +- enterprise/websvc.restkit/manifest.mf | 2 +- enterprise/websvc.restlib/manifest.mf | 2 +- .../websvc.saas.codegen.j2ee/manifest.mf | 2 +- enterprise/websvc.utilities/manifest.mf | 2 +- enterprise/websvc.websvcapi/manifest.mf | 2 +- enterprise/websvc.wsstackapi/manifest.mf | 2 +- ergonomics/ide.ergonomics/manifest.mf | 2 +- extide/gradle.dists/manifest.mf | 2 +- extide/gradle.editor/manifest.mf | 2 +- extide/gradle/nbproject/project.properties | 2 +- extide/libs.gradle/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- extide/options.java/manifest.mf | 2 +- extra/libs.javafx.linux.aarch64/manifest.mf | 2 +- extra/libs.javafx.linux/manifest.mf | 2 +- extra/libs.javafx.macosx.aarch64/manifest.mf | 2 +- extra/libs.javafx.macosx/manifest.mf | 2 +- extra/libs.javafx.win/manifest.mf | 2 +- groovy/gradle.groovy/manifest.mf | 2 +- groovy/groovy.antproject/manifest.mf | 2 +- groovy/groovy.debug/manifest.mf | 2 +- groovy/groovy.editor/manifest.mf | 2 +- groovy/groovy.gsp/manifest.mf | 2 +- groovy/groovy.kit/manifest.mf | 2 +- groovy/groovy.refactoring/manifest.mf | 2 +- groovy/groovy.samples/manifest.mf | 2 +- groovy/groovy.support/manifest.mf | 2 +- groovy/libs.groovy/manifest.mf | 2 +- groovy/maven.groovy/manifest.mf | 2 +- harness/apisupport.harness/manifest.mf | 2 +- harness/jellytools.platform/manifest.mf | 2 +- harness/jemmy/manifest.mf | 2 +- harness/nbjunit/manifest.mf | 2 +- .../o.n.insane/nbproject/project.properties | 2 +- ide/api.debugger/manifest.mf | 2 +- ide/api.java.classpath/manifest.mf | 2 +- ide/api.lsp/manifest.mf | 2 +- ide/api.xml.ui/manifest.mf | 2 +- ide/api.xml/manifest.mf | 2 +- ide/bugtracking.bridge/manifest.mf | 2 +- ide/bugtracking.commons/manifest.mf | 2 +- ide/bugtracking/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/code.analysis/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/core.browser/nbproject/project.properties | 2 +- ide/core.ide/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/csl.api/nbproject/project.properties | 2 +- ide/csl.types/manifest.mf | 2 +- ide/css.editor/manifest.mf | 2 +- ide/css.lib/manifest.mf | 2 +- ide/css.model/manifest.mf | 2 +- ide/css.prep/manifest.mf | 2 +- ide/css.visual/manifest.mf | 2 +- ide/db.core/manifest.mf | 2 +- ide/db.dataview/manifest.mf | 2 +- ide/db.drivers/manifest.mf | 2 +- ide/db.kit/manifest.mf | 2 +- ide/db.metadata.model/manifest.mf | 2 +- ide/db.mysql/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/db/nbproject/project.properties | 2 +- ide/dbapi/nbproject/project.properties | 2 +- ide/defaults/manifest.mf | 2 +- ide/derby/manifest.mf | 2 +- ide/diff/nbproject/project.properties | 2 +- ide/dlight.nativeexecution.nb/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/docker.api/manifest.mf | 2 +- ide/docker.editor/manifest.mf | 2 +- ide/docker.ui/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/editor.autosave/manifest.mf | 2 +- ide/editor.bookmarks/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/editor.breadcrumbs/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/editor.fold/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/editor.guards/manifest.mf | 2 +- ide/editor.indent.project/manifest.mf | 2 +- ide/editor.indent.support/manifest.mf | 2 +- ide/editor.indent/manifest.mf | 2 +- ide/editor.kit/manifest.mf | 2 +- ide/editor.lib/nbproject/project.properties | 2 +- ide/editor.lib2/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/editor.plain.lib/manifest.mf | 2 +- ide/editor.plain/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/editor.settings/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/editor.tools.storage/manifest.mf | 2 +- ide/editor.util/manifest.mf | 2 +- ide/editor/nbproject/project.properties | 2 +- ide/extbrowser/manifest.mf | 2 +- ide/extexecution.base/manifest.mf | 2 +- ide/extexecution.impl/manifest.mf | 2 +- ide/extexecution.process/manifest.mf | 2 +- ide/extexecution/manifest.mf | 2 +- ide/git/nbproject/project.properties | 2 +- ide/go.lang/manifest.mf | 2 +- ide/gototest/manifest.mf | 2 +- ide/gsf.codecoverage/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/gsf.testrunner/manifest.mf | 2 +- ide/html.custom/manifest.mf | 2 +- ide/html.editor.lib/manifest.mf | 2 +- ide/html.editor/manifest.mf | 2 +- ide/html.indexing/manifest.mf | 2 +- ide/html.lexer/manifest.mf | 2 +- ide/html.parser/nbproject/project.properties | 2 +- ide/html.validation/manifest.mf | 2 +- ide/html/manifest.mf | 2 +- ide/httpserver/nbproject/project.properties | 2 +- ide/hudson.git/manifest.mf | 2 +- ide/hudson.mercurial/manifest.mf | 2 +- ide/hudson.subversion/manifest.mf | 2 +- ide/hudson.tasklist/manifest.mf | 2 +- ide/hudson.ui/manifest.mf | 2 +- ide/hudson/manifest.mf | 2 +- ide/ide.kit/manifest.mf | 2 +- ide/image/manifest.mf | 2 +- ide/javascript2.debug.ui/manifest.mf | 2 +- ide/javascript2.debug/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/jumpto/nbproject/project.properties | 2 +- ide/languages.diff/manifest.mf | 2 +- ide/languages.env/manifest.mf | 2 +- ide/languages.go/manifest.mf | 2 +- ide/languages.hcl/manifest.mf | 2 +- ide/languages.jflex/manifest.mf | 2 +- ide/languages.manifest/manifest.mf | 2 +- ide/languages.toml/manifest.mf | 2 +- ide/languages.yaml/manifest.mf | 2 +- ide/languages/nbproject/project.properties | 2 +- ide/lexer.antlr4/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/lexer/nbproject/project.properties | 2 +- ide/lib.terminalemulator/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/libs.flexmark/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/libs.git/manifest.mf | 2 +- ide/libs.graalsdk.system/manifest.mf | 2 +- ide/libs.graalsdk/manifest.mf | 2 +- ide/libs.ini4j/manifest.mf | 2 +- ide/libs.jaxb/manifest.mf | 2 +- ide/libs.jcodings/manifest.mf | 2 +- ide/libs.jsch.agentproxy/manifest.mf | 2 +- ide/libs.json_simple/manifest.mf | 2 +- ide/libs.lucene/manifest.mf | 2 +- ide/libs.snakeyaml_engine/manifest.mf | 2 +- ide/libs.svnClientAdapter.javahl/manifest.mf | 2 +- ide/libs.svnClientAdapter/manifest.mf | 2 +- ide/libs.tomlj/manifest.mf | 2 +- ide/libs.tomljava/manifest.mf | 2 +- ide/libs.truffleapi/manifest.mf | 2 +- ide/libs.xerces/nbproject/project.properties | 2 +- ide/localhistory/manifest.mf | 2 +- ide/lsp.client/nbproject/project.properties | 2 +- ide/markdown/manifest.mf | 2 +- ide/mercurial/nbproject/project.properties | 2 +- ide/nativeimage.api/manifest.mf | 2 +- ide/notifications/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/o.n.agent/manifest.mf | 2 +- ide/o.n.swing.dirchooser/manifest.mf | 2 +- ide/o.openidex.util/manifest.mf | 2 +- ide/options.editor/manifest.mf | 2 +- ide/parsing.api/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/parsing.nb/nbproject/project.properties | 2 +- ide/parsing.ui/nbproject/project.properties | 2 +- ide/print.editor/manifest.mf | 2 +- ide/project.ant.compat8/manifest.mf | 2 +- ide/project.ant.ui/manifest.mf | 2 +- ide/project.ant/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/project.indexingbridge/manifest.mf | 2 +- ide/project.libraries.ui/manifest.mf | 2 +- ide/project.libraries/manifest.mf | 2 +- ide/project.spi.intern.impl/manifest.mf | 2 +- ide/project.spi.intern/manifest.mf | 2 +- ide/projectapi.nb/manifest.mf | 2 +- ide/projectapi/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/projectui/nbproject/project.properties | 2 +- .../project/ui/OpenProjectListSettings.java | 7 +- .../modules/project/ui/ProjectUtilities.java | 10 +- .../nbproject/project.properties | 2 +- ide/projectuiapi/nbproject/project.properties | 2 +- ide/properties.syntax/manifest.mf | 2 +- ide/properties/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/schema2beans/manifest.mf | 2 +- ide/selenium2.server/manifest.mf | 2 +- ide/selenium2/manifest.mf | 2 +- ide/server/manifest.mf | 2 +- ide/servletapi/manifest.mf | 2 +- ide/spellchecker.apimodule/manifest.mf | 2 +- ide/spellchecker.bindings.htmlxml/manifest.mf | 2 +- .../manifest.mf | 2 +- ide/spellchecker.dictionary_en/manifest.mf | 2 +- ide/spellchecker.kit/manifest.mf | 2 +- ide/spellchecker/nbproject/project.properties | 2 +- ide/spi.debugger.ui/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/spi.navigator/manifest.mf | 2 +- ide/spi.palette/manifest.mf | 2 +- ide/spi.tasklist/nbproject/project.properties | 2 +- ide/spi.viewmodel/manifest.mf | 2 +- ide/subversion/nbproject/project.properties | 2 +- ide/svg/manifest.mf | 2 +- ide/swing.validation/manifest.mf | 2 +- ide/target.iterator/manifest.mf | 2 +- ide/tasklist.kit/manifest.mf | 2 +- ide/tasklist.projectint/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/tasklist.ui/nbproject/project.properties | 2 +- ide/team.commons/manifest.mf | 2 +- ide/team.ide/manifest.mf | 2 +- ide/terminal.nb/manifest.mf | 2 +- ide/terminal/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/texttools/manifest.mf | 2 +- ide/usersguide/manifest.mf | 2 +- ide/utilities.project/manifest.mf | 2 +- ide/utilities/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/versioning.indexingbridge/manifest.mf | 2 +- ide/versioning.masterfs/manifest.mf | 2 +- .../manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/versioning/nbproject/project.properties | 2 +- ide/web.browser.api/manifest.mf | 2 +- ide/web.common.ui/manifest.mf | 2 +- ide/web.common/manifest.mf | 2 +- ide/web.indent/manifest.mf | 2 +- ide/web.webkit.debugging/manifest.mf | 2 +- ide/xml.axi/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/xml.catalog/nbproject/project.properties | 2 +- ide/xml.core/nbproject/project.properties | 2 +- ide/xml.jaxb.api/manifest.mf | 2 +- ide/xml.lexer/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/xml.retriever/manifest.mf | 2 +- ide/xml.schema.completion/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/xml.tax/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/xml.text/nbproject/project.properties | 2 +- ide/xml.tools/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- ide/xml.xam/nbproject/project.properties | 2 +- ide/xml.xdm/nbproject/project.properties | 2 +- ide/xml/manifest.mf | 2 +- ide/xsl/manifest.mf | 2 +- java/ant.browsetask/manifest.mf | 2 +- .../ant.debugger/nbproject/project.properties | 2 +- java/ant.freeform/manifest.mf | 2 +- java/ant.grammar/manifest.mf | 2 +- java/ant.hints/manifest.mf | 2 +- java/ant.kit/manifest.mf | 2 +- java/api.debugger.jpda/manifest.mf | 2 +- java/api.java/manifest.mf | 2 +- java/api.maven/manifest.mf | 2 +- java/beans/nbproject/project.properties | 2 +- java/classfile/manifest.mf | 2 +- java/dbschema/nbproject/project.properties | 2 +- java/debugger.jpda.ant/manifest.mf | 2 +- java/debugger.jpda.js/manifest.mf | 2 +- java/debugger.jpda.jsui/manifest.mf | 2 +- java/debugger.jpda.kit/manifest.mf | 2 +- java/debugger.jpda.projects/manifest.mf | 2 +- java/debugger.jpda.projectsui/manifest.mf | 2 +- java/debugger.jpda.truffle/manifest.mf | 2 +- java/debugger.jpda.trufflenode/manifest.mf | 2 +- java/debugger.jpda.ui/manifest.mf | 2 +- java/debugger.jpda.visual/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/editor.htmlui/manifest.mf | 2 +- java/form.kit/manifest.mf | 2 +- java/form.nb/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- java/form/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- java/gradle.java.coverage/manifest.mf | 2 +- java/gradle.java/nbproject/project.properties | 2 +- java/gradle.kit/manifest.mf | 2 +- java/gradle.persistence/manifest.mf | 2 +- java/gradle.spring/manifest.mf | 2 +- java/gradle.test/manifest.mf | 2 +- java/hudson.ant/manifest.mf | 2 +- java/hudson.maven/manifest.mf | 2 +- java/i18n.form/nbproject/project.properties | 2 +- java/i18n/manifest.mf | 2 +- java/j2ee.core.utilities/manifest.mf | 2 +- java/j2ee.eclipselink/manifest.mf | 2 +- java/j2ee.eclipselinkmodelgen/manifest.mf | 2 +- java/j2ee.jpa.refactoring/manifest.mf | 2 +- java/j2ee.jpa.verification/manifest.mf | 2 +- java/j2ee.metadata.model.support/manifest.mf | 2 +- java/j2ee.metadata/manifest.mf | 2 +- java/j2ee.persistence.kit/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- java/java.api.common/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/java.debug/nbproject/project.properties | 2 +- java/java.disco/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- java/java.editor/nbproject/project.properties | 2 +- java/java.examples/manifest.mf | 2 +- java/java.file.launcher/manifest.mf | 2 +- java/java.freeform/manifest.mf | 2 +- java/java.graph/manifest.mf | 2 +- java/java.guards/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- java/java.hints/nbproject/project.properties | 2 +- java/java.j2sedeploy/manifest.mf | 2 +- java/java.j2seembedded/manifest.mf | 2 +- java/java.j2semodule/manifest.mf | 2 +- java/java.j2seplatform/manifest.mf | 2 +- java/java.j2seprofiles/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/java.kit/manifest.mf | 2 +- java/java.lexer/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/java.metrics/manifest.mf | 2 +- java/java.module.graph/manifest.mf | 2 +- java/java.mx.project/manifest.mf | 2 +- java/java.nativeimage.debugger/manifest.mf | 2 +- java/java.navigation/manifest.mf | 2 +- java/java.openjdk.project/manifest.mf | 2 +- java/java.platform.ui/manifest.mf | 2 +- java/java.platform/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/java.project.ui/manifest.mf | 2 +- java/java.project/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/java.source.compat8/manifest.mf | 2 +- java/java.source.queries/manifest.mf | 2 +- java/java.source.queriesimpl/manifest.mf | 2 +- java/java.source/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- java/java.testrunner.ant/manifest.mf | 2 +- java/java.testrunner.ui/manifest.mf | 2 +- java/java.testrunner/manifest.mf | 2 +- java/javadoc/nbproject/project.properties | 2 +- java/javaee.injection/manifest.mf | 2 +- java/javawebstart/manifest.mf | 2 +- java/jellytools.java/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/junit.ant.ui/manifest.mf | 2 +- java/junit.ant/manifest.mf | 2 +- java/junit.ui/manifest.mf | 2 +- java/junit/manifest.mf | 2 +- java/ko4j.debugging/manifest.mf | 2 +- java/kotlin.editor/manifest.mf | 2 +- java/languages.antlr/manifest.mf | 2 +- java/lib.jshell.agent/manifest.mf | 2 +- java/lib.nbjavac/nbproject/project.properties | 2 +- java/libs.cglib/manifest.mf | 2 +- java/libs.corba.omgapi/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/libs.nbjavacapi/manifest.mf | 2 +- java/libs.springframework/manifest.mf | 2 +- java/maven.checkstyle/manifest.mf | 2 +- java/maven.coverage/manifest.mf | 2 +- java/maven.embedder/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/maven.graph/manifest.mf | 2 +- java/maven.hints/manifest.mf | 2 +- java/maven.indexer.ui/manifest.mf | 2 +- java/maven.indexer/manifest.mf | 2 +- java/maven.junit.ui/manifest.mf | 2 +- java/maven.junit/manifest.mf | 2 +- java/maven.kit/manifest.mf | 2 +- java/maven.model/manifest.mf | 2 +- java/maven.osgi/manifest.mf | 2 +- java/maven.persistence/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- java/maven.repository/manifest.mf | 2 +- java/maven.search/manifest.mf | 2 +- java/maven.spring/manifest.mf | 2 +- java/maven/nbproject/project.properties | 2 +- java/nashorn.execution/manifest.mf | 2 +- java/projectimport.eclipse.core/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- java/selenium2.java/manifest.mf | 2 +- java/selenium2.maven/manifest.mf | 2 +- java/spellchecker.bindings.java/manifest.mf | 2 +- java/spi.debugger.jpda.ui/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../spring.beans/nbproject/project.properties | 2 +- java/testng.ant/manifest.mf | 2 +- java/testng.maven/manifest.mf | 2 +- java/testng.ui/manifest.mf | 2 +- java/testng/manifest.mf | 2 +- java/websvc.jaxws21/manifest.mf | 2 +- java/websvc.jaxws21api/manifest.mf | 2 +- java/websvc.saas.codegen.java/manifest.mf | 2 +- java/whitelist/manifest.mf | 2 +- java/xml.jaxb/manifest.mf | 2 +- java/xml.tools.java/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- javafx/javafx2.kit/manifest.mf | 2 +- javafx/javafx2.platform/manifest.mf | 2 +- javafx/javafx2.project/manifest.mf | 2 +- javafx/javafx2.samples/manifest.mf | 2 +- javafx/javafx2.scenebuilder/manifest.mf | 2 +- javafx/maven.htmlui/manifest.mf | 2 +- nb/autoupdate.pluginimporter/manifest.mf | 2 +- nb/deadlock.detector/manifest.mf | 2 +- nb/ide.branding.kit/manifest.mf | 2 +- nb/ide.branding/manifest.mf | 2 +- .../netbeans/modules/ide/branding/layer.xml | 8 + nb/ide.dashboard/manifest.mf | 2 +- nb/o.n.upgrader/manifest.mf | 2 +- nb/uihandler.exceptionreporter/manifest.mf | 2 +- nb/updatecenters/manifest.mf | 2 +- php/hudson.php/manifest.mf | 2 +- php/languages.neon/manifest.mf | 2 +- php/libs.javacup/nbproject/project.properties | 2 +- php/php.api.annotation/manifest.mf | 2 +- php/php.api.documentation/manifest.mf | 2 +- php/php.api.editor/manifest.mf | 2 +- php/php.api.executable/manifest.mf | 2 +- php/php.api.framework/manifest.mf | 2 +- php/php.api.phpmodule/manifest.mf | 2 +- php/php.api.templates/manifest.mf | 2 +- php/php.api.testing/manifest.mf | 2 +- php/php.apigen/manifest.mf | 2 +- php/php.atoum/manifest.mf | 2 +- php/php.code.analysis/manifest.mf | 2 +- php/php.codeception/manifest.mf | 2 +- php/php.composer/manifest.mf | 2 +- php/php.dbgp/manifest.mf | 2 +- php/php.doctrine2/manifest.mf | 2 +- php/php.editor/nbproject/project.properties | 2 +- php/php.kit/manifest.mf | 2 +- php/php.latte/manifest.mf | 2 +- php/php.nette.tester/manifest.mf | 2 +- php/php.nette2/manifest.mf | 2 +- php/php.phing/manifest.mf | 2 +- php/php.phpdoc/manifest.mf | 2 +- php/php.phpunit/manifest.mf | 2 +- php/php.project/manifest.mf | 2 +- php/php.refactoring/manifest.mf | 2 +- php/php.samples/manifest.mf | 2 +- php/php.smarty/manifest.mf | 2 +- php/php.symfony/manifest.mf | 2 +- php/php.symfony2/manifest.mf | 2 +- php/php.twig/manifest.mf | 2 +- php/php.zend/manifest.mf | 2 +- php/php.zend2/manifest.mf | 2 +- php/selenium2.php/manifest.mf | 2 +- php/spellchecker.bindings.php/manifest.mf | 2 +- php/websvc.saas.codegen.php/manifest.mf | 2 +- platform/api.annotations.common/manifest.mf | 2 +- platform/api.dashboard/manifest.mf | 2 +- platform/api.htmlui/manifest.mf | 2 +- platform/api.intent/manifest.mf | 2 +- platform/api.io/manifest.mf | 2 +- platform/api.progress.compat8/manifest.mf | 2 +- platform/api.progress.nb/manifest.mf | 2 +- platform/api.progress/manifest.mf | 2 +- platform/api.scripting/manifest.mf | 2 +- platform/api.search/manifest.mf | 2 +- platform/api.templates/manifest.mf | 2 +- platform/api.visual/manifest.mf | 2 +- platform/applemenu/manifest.mf | 2 +- platform/autoupdate.cli/manifest.mf | 2 +- platform/autoupdate.services/manifest.mf | 2 +- platform/autoupdate.ui/manifest.mf | 2 +- platform/core.execution/manifest.mf | 2 +- platform/core.io.ui/manifest.mf | 2 +- platform/core.kit/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- platform/core.multiview/manifest.mf | 2 +- platform/core.nativeaccess/manifest.mf | 2 +- platform/core.netigso/manifest.mf | 2 +- platform/core.network/manifest.mf | 2 +- platform/core.osgi/manifest.mf | 2 +- platform/core.output2/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../core.startup/nbproject/project.properties | 2 +- platform/core.ui/manifest.mf | 2 +- platform/core.windows/manifest.mf | 2 +- platform/editor.mimelookup.impl/manifest.mf | 2 +- platform/editor.mimelookup/manifest.mf | 2 +- platform/favorites/manifest.mf | 2 +- platform/htmlui/manifest.mf | 2 +- platform/janitor/manifest.mf | 2 +- platform/javahelp/manifest.mf | 2 +- platform/junitlib/manifest.mf | 2 +- platform/keyring.fallback/manifest.mf | 2 +- platform/keyring.impl/manifest.mf | 2 +- platform/keyring/manifest.mf | 2 +- platform/lib.uihandler/manifest.mf | 2 +- platform/libs.asm/manifest.mf | 2 +- platform/libs.felix/manifest.mf | 2 +- platform/libs.flatlaf/manifest.mf | 2 +- platform/libs.javafx/manifest.mf | 2 +- platform/libs.javax.inject/manifest.mf | 2 +- platform/libs.jna.platform/manifest.mf | 2 +- platform/libs.jna/manifest.mf | 2 +- platform/libs.jsr223/manifest.mf | 2 +- platform/libs.jsvg/manifest.mf | 2 +- platform/libs.junit4/manifest.mf | 2 +- platform/libs.junit5/manifest.mf | 2 +- platform/libs.osgi/manifest.mf | 2 +- platform/libs.testng/manifest.mf | 2 +- platform/masterfs.linux/manifest.mf | 2 +- platform/masterfs.macosx/manifest.mf | 2 +- platform/masterfs.nio2/manifest.mf | 2 +- .../masterfs.ui/nbproject/project.properties | 2 +- platform/masterfs.windows/manifest.mf | 2 +- .../masterfs/nbproject/project.properties | 2 +- platform/netbinox/manifest.mf | 2 +- platform/o.apache.commons.codec/manifest.mf | 2 +- .../o.apache.commons.commons_io/manifest.mf | 2 +- platform/o.apache.commons.lang3/manifest.mf | 2 +- platform/o.apache.commons.logging/manifest.mf | 2 +- platform/o.n.bootstrap/manifest.mf | 2 +- platform/o.n.core/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- platform/o.n.swing.laf.flatlaf/manifest.mf | 2 +- platform/o.n.swing.outline/manifest.mf | 2 +- platform/o.n.swing.plaf/manifest.mf | 2 +- platform/o.n.swing.tabcontrol/manifest.mf | 2 +- platform/openide.actions/manifest.mf | 2 +- platform/openide.awt/manifest.mf | 2 +- platform/openide.compat/manifest.mf | 2 +- platform/openide.dialogs/manifest.mf | 2 +- .../openide.execution.compat8/manifest.mf | 2 +- platform/openide.execution/manifest.mf | 2 +- platform/openide.explorer/manifest.mf | 2 +- .../openide.filesystems.compat8/manifest.mf | 2 +- platform/openide.filesystems.nb/manifest.mf | 2 +- platform/openide.filesystems/manifest.mf | 2 +- platform/openide.io/manifest.mf | 2 +- platform/openide.loaders/manifest.mf | 2 +- platform/openide.modules/manifest.mf | 2 +- platform/openide.nodes/manifest.mf | 2 +- platform/openide.text/manifest.mf | 2 +- platform/openide.util.lookup/manifest.mf | 2 +- platform/openide.util.ui.svg/manifest.mf | 2 +- platform/openide.util.ui/manifest.mf | 2 +- platform/openide.util/manifest.mf | 2 +- platform/openide.windows/manifest.mf | 2 +- platform/options.api/manifest.mf | 2 +- platform/options.keymap/manifest.mf | 2 +- platform/print/manifest.mf | 2 +- platform/progress.ui/manifest.mf | 2 +- platform/queries/manifest.mf | 2 +- platform/sampler/manifest.mf | 2 +- platform/sendopts/manifest.mf | 2 +- platform/settings/manifest.mf | 2 +- platform/spi.actions/manifest.mf | 2 +- platform/spi.quicksearch/manifest.mf | 2 +- platform/templates/manifest.mf | 2 +- platform/templatesui/manifest.mf | 2 +- platform/uihandler/manifest.mf | 2 +- profiler/debugger.jpda.heapwalk/manifest.mf | 2 +- profiler/lib.profiler.charts/manifest.mf | 2 +- profiler/lib.profiler.common/manifest.mf | 2 +- profiler/lib.profiler.ui/manifest.mf | 2 +- profiler/lib.profiler/manifest.mf | 2 +- profiler/maven.profiler/manifest.mf | 2 +- profiler/profiler.api/manifest.mf | 2 +- profiler/profiler.attach/manifest.mf | 2 +- profiler/profiler.freeform/manifest.mf | 2 +- profiler/profiler.heapwalker/manifest.mf | 2 +- profiler/profiler.j2se/manifest.mf | 2 +- profiler/profiler.kit/manifest.mf | 2 +- profiler/profiler.nbimpl/manifest.mf | 2 +- profiler/profiler.nbmodule/manifest.mf | 2 +- profiler/profiler.options/manifest.mf | 2 +- profiler/profiler.oql.language/manifest.mf | 2 +- profiler/profiler.oql/manifest.mf | 2 +- profiler/profiler.ppoints/manifest.mf | 2 +- profiler/profiler.projectsupport/manifest.mf | 2 +- profiler/profiler.snaptracer/manifest.mf | 2 +- profiler/profiler.utilities/manifest.mf | 2 +- profiler/profiler/manifest.mf | 2 +- webcommon/api.knockout/manifest.mf | 2 +- .../cordova.platforms.android/manifest.mf | 2 +- webcommon/cordova.platforms/manifest.mf | 2 +- webcommon/cordova/manifest.mf | 2 +- webcommon/extbrowser.chrome/manifest.mf | 2 +- webcommon/html.angular/manifest.mf | 2 +- webcommon/html.knockout/manifest.mf | 2 +- webcommon/javascript.bower/manifest.mf | 2 +- webcommon/javascript.cdnjs/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- webcommon/javascript.grunt/manifest.mf | 2 +- webcommon/javascript.gulp/manifest.mf | 2 +- webcommon/javascript.jstestdriver/manifest.mf | 2 +- webcommon/javascript.karma/manifest.mf | 2 +- webcommon/javascript.nodejs/manifest.mf | 2 +- .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- webcommon/javascript2.doc/manifest.mf | 2 +- webcommon/javascript2.editor/manifest.mf | 2 +- webcommon/javascript2.extdoc/manifest.mf | 2 +- webcommon/javascript2.extjs/manifest.mf | 2 +- webcommon/javascript2.html/manifest.mf | 2 +- webcommon/javascript2.jade/manifest.mf | 2 +- webcommon/javascript2.jquery/manifest.mf | 2 +- webcommon/javascript2.jsdoc/manifest.mf | 2 +- webcommon/javascript2.json/manifest.mf | 2 +- webcommon/javascript2.kit/manifest.mf | 2 +- webcommon/javascript2.knockout/manifest.mf | 2 +- webcommon/javascript2.lexer/manifest.mf | 2 +- webcommon/javascript2.model/manifest.mf | 2 +- webcommon/javascript2.nodejs/manifest.mf | 2 +- webcommon/javascript2.prototypejs/manifest.mf | 2 +- webcommon/javascript2.react/manifest.mf | 2 +- webcommon/javascript2.requirejs/manifest.mf | 2 +- webcommon/javascript2.sdoc/manifest.mf | 2 +- .../javascript2.source.query/manifest.mf | 2 +- webcommon/javascript2.types/manifest.mf | 2 +- webcommon/javascript2.vue/manifest.mf | 2 +- webcommon/languages.apacheconf/manifest.mf | 2 +- webcommon/languages.ini/manifest.mf | 2 +- .../lib.chrome_devtools_protocol/manifest.mf | 2 +- webcommon/lib.v8debug/manifest.mf | 2 +- webcommon/libs.graaljs/manifest.mf | 2 +- webcommon/libs.jstestdriver/manifest.mf | 2 +- webcommon/libs.nashorn/manifest.mf | 2 +- webcommon/libs.plist/manifest.mf | 2 +- webcommon/netserver/manifest.mf | 2 +- .../selenium2.webclient.mocha/manifest.mf | 2 +- .../manifest.mf | 2 +- webcommon/selenium2.webclient/manifest.mf | 2 +- webcommon/typescript.editor/manifest.mf | 2 +- webcommon/web.client.kit/manifest.mf | 2 +- webcommon/web.client.samples/manifest.mf | 2 +- webcommon/web.clientproject.api/manifest.mf | 2 +- webcommon/web.clientproject/manifest.mf | 2 +- webcommon/web.inspect/manifest.mf | 2 +- webcommon/web.javascript.debugger/manifest.mf | 2 +- webcommon/web.webkit.tooling/manifest.mf | 2 +- websvccommon/websvc.jaxwsmodelapi/manifest.mf | 2 +- websvccommon/websvc.saas.api/manifest.mf | 2 +- websvccommon/websvc.saas.codegen/manifest.mf | 2 +- websvccommon/websvc.saas.kit/manifest.mf | 2 +- websvccommon/websvc.saas.ui/manifest.mf | 2 +- 810 files changed, 1342 insertions(+), 967 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/01-netbeans_bug_report.yml b/.github/ISSUE_TEMPLATE/01-netbeans_bug_report.yml index 0e142198f6da..ea8c5b2c7543 100644 --- a/.github/ISSUE_TEMPLATE/01-netbeans_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/01-netbeans_bug_report.yml @@ -28,8 +28,8 @@ body: multiple: false options: - "Apache NetBeans 29" -# - "Apache NetBeans 29 latest release candidate" - - "Apache NetBeans 30 latest daily build" + - "Apache NetBeans 30 latest release candidate" + - "Apache NetBeans 31 latest daily build" validations: required: true - type: textarea diff --git a/apisupport/apisupport.ant/manifest.mf b/apisupport/apisupport.ant/manifest.mf index 68bbfa3a765f..d6c03d3413ab 100644 --- a/apisupport/apisupport.ant/manifest.mf +++ b/apisupport/apisupport.ant/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.apisupport.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/project/Bundle.properties -OpenIDE-Module-Specification-Version: 2.104 +OpenIDE-Module-Specification-Version: 2.105 AutoUpdate-Show-In-Client: false OpenIDE-Module-Layer: org/netbeans/modules/apisupport/project/resources/layer.xml diff --git a/apisupport/apisupport.kit/manifest.mf b/apisupport/apisupport.kit/manifest.mf index 1e21fef435cf..341d16c2fae2 100644 --- a/apisupport/apisupport.kit/manifest.mf +++ b/apisupport/apisupport.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.apisupport.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module-Provides: org.netbeans.modules.apisupport.kit diff --git a/apisupport/apisupport.project/manifest.mf b/apisupport/apisupport.project/manifest.mf index a8d07c302e6c..2f1175907849 100644 --- a/apisupport/apisupport.project/manifest.mf +++ b/apisupport/apisupport.project/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/project/api/Bu OpenIDE-Module-Requires: javax.script.ScriptEngine.freemarker OpenIDE-Module-Layer: org/netbeans/modules/apisupport/project/ui/resources/layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.108 +OpenIDE-Module-Specification-Version: 1.109 diff --git a/apisupport/apisupport.refactoring/manifest.mf b/apisupport/apisupport.refactoring/manifest.mf index ac6dc4baabe0..214c07c9ad07 100644 --- a/apisupport/apisupport.refactoring/manifest.mf +++ b/apisupport/apisupport.refactoring/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.apisupport.refactoring OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/refactoring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 diff --git a/apisupport/apisupport.wizards/manifest.mf b/apisupport/apisupport.wizards/manifest.mf index a30045095483..45e46a81c4be 100644 --- a/apisupport/apisupport.wizards/manifest.mf +++ b/apisupport/apisupport.wizards/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.apisupport.wizards OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/project/ui/wizard/common/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/apisupport/project/ui/wizard/common/layer.xml -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/apisupport/maven.apisupport/manifest.mf b/apisupport/maven.apisupport/manifest.mf index 81a2370323d8..b805bb3fb2a2 100644 --- a/apisupport/maven.apisupport/manifest.mf +++ b/apisupport/maven.apisupport/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.apisupport/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/apisupport/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.91 +OpenIDE-Module-Specification-Version: 1.92 diff --git a/apisupport/timers/manifest.mf b/apisupport/timers/manifest.mf index 545cdc9cf013..279b293095eb 100644 --- a/apisupport/timers/manifest.mf +++ b/apisupport/timers/manifest.mf @@ -3,6 +3,6 @@ OpenIDE-Module: org.netbeans.modules.timers/1 OpenIDE-Module-Layer: org/netbeans/modules/timers/resources/layer.xml OpenIDE-Module-Install: org/netbeans/modules/timers/Install.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/timers/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 AutoUpdate-Show-In-Client: true diff --git a/cpplite/cpplite.debugger/manifest.mf b/cpplite/cpplite.debugger/manifest.mf index cfdfb59800c6..173ebb4ec179 100644 --- a/cpplite/cpplite.debugger/manifest.mf +++ b/cpplite/cpplite.debugger/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cpplite.debugger OpenIDE-Module-Layer: org/netbeans/modules/cpplite/debugger/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cpplite/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 1.24 +OpenIDE-Module-Specification-Version: 1.25 diff --git a/cpplite/cpplite.editor/manifest.mf b/cpplite/cpplite.editor/manifest.mf index 47b311032516..80130f0da6d7 100644 --- a/cpplite/cpplite.editor/manifest.mf +++ b/cpplite/cpplite.editor/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cpplite.editor OpenIDE-Module-Layer: org/netbeans/modules/cpplite/editor/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cpplite/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 diff --git a/cpplite/cpplite.kit/manifest.mf b/cpplite/cpplite.kit/manifest.mf index 4461e67ad794..8316cce3aefe 100644 --- a/cpplite/cpplite.kit/manifest.mf +++ b/cpplite/cpplite.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.cpplite.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cpplite/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 diff --git a/cpplite/cpplite.project/manifest.mf b/cpplite/cpplite.project/manifest.mf index 0e5e16413619..da08c9efa957 100644 --- a/cpplite/cpplite.project/manifest.mf +++ b/cpplite/cpplite.project/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cpplite.project OpenIDE-Module-Layer: org/netbeans/modules/cpplite/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cpplite/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 diff --git a/enterprise/api.web.webmodule/manifest.mf b/enterprise/api.web.webmodule/manifest.mf index 714dd01dea4d..aa28e711c10a 100644 --- a/enterprise/api.web.webmodule/manifest.mf +++ b/enterprise/api.web.webmodule/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.web.webmodule -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 OpenIDE-Module-Layer: org/netbeans/modules/web/webmodule/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/webmodule/Bundle.properties diff --git a/enterprise/cloud.amazon/manifest.mf b/enterprise/cloud.amazon/manifest.mf index 55849b60be4c..793a1fc36ae4 100644 --- a/enterprise/cloud.amazon/manifest.mf +++ b/enterprise/cloud.amazon/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.cloud.amazon/0 OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cloud/amazon/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/cloud/amazon/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 diff --git a/enterprise/cloud.common/manifest.mf b/enterprise/cloud.common/manifest.mf index 936be1976d77..89115a8d888d 100644 --- a/enterprise/cloud.common/manifest.mf +++ b/enterprise/cloud.common/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cloud.common OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cloud/common/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/enterprise/cloud.oracle/manifest.mf b/enterprise/cloud.oracle/manifest.mf index 2aa999424bba..82f4562eb790 100644 --- a/enterprise/cloud.oracle/manifest.mf +++ b/enterprise/cloud.oracle/manifest.mf @@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.cloud.oracle OpenIDE-Module-Layer: org/netbeans/modules/cloud/oracle/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cloud/oracle/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 1.18 +OpenIDE-Module-Specification-Version: 1.19 OpenIDE-Module-Display-Category: Cloud diff --git a/enterprise/el.lexer/manifest.mf b/enterprise/el.lexer/manifest.mf index e20eceb7eac8..b31ccf1772c3 100644 --- a/enterprise/el.lexer/manifest.mf +++ b/enterprise/el.lexer/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.el.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/el/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 OpenIDE-Module-Layer: org/netbeans/modules/el/lexer/resources/layer.xml diff --git a/enterprise/glassfish.common/manifest.mf b/enterprise/glassfish.common/manifest.mf index edb10cbbacf3..ac5294d86c5b 100644 --- a/enterprise/glassfish.common/manifest.mf +++ b/enterprise/glassfish.common/manifest.mf @@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.glassfish.common/0 OpenIDE-Module-Install: org/netbeans/modules/glassfish/common/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/glassfish/common/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/common/Bundle.properties -OpenIDE-Module-Specification-Version: 1.106 +OpenIDE-Module-Specification-Version: 1.107 OpenIDE-Module-Provides: org.netbeans.modules.glassfish.common diff --git a/enterprise/glassfish.eecommon/nbproject/project.properties b/enterprise/glassfish.eecommon/nbproject/project.properties index 6d2705518ca9..0fa12816c7ca 100644 --- a/enterprise/glassfish.eecommon/nbproject/project.properties +++ b/enterprise/glassfish.eecommon/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.release=11 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.69.0 +spec.version.base=1.70.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/enterprise/glassfish.javaee/manifest.mf b/enterprise/glassfish.javaee/manifest.mf index 6de959c2e057..9a3c8a118cb2 100644 --- a/enterprise/glassfish.javaee/manifest.mf +++ b/enterprise/glassfish.javaee/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.glassfish.javaee/0 OpenIDE-Module-Layer: org/netbeans/modules/glassfish/javaee/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/javaee/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 1.73 +OpenIDE-Module-Specification-Version: 1.74 diff --git a/enterprise/glassfish.tooling/manifest.mf b/enterprise/glassfish.tooling/manifest.mf index 85b130a865c0..c4be294fdb0b 100644 --- a/enterprise/glassfish.tooling/manifest.mf +++ b/enterprise/glassfish.tooling/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.glassfish.tooling/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/tooling/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 diff --git a/enterprise/gradle.javaee/manifest.mf b/enterprise/gradle.javaee/manifest.mf index 13bb75b83ceb..fdab54431f3d 100644 --- a/enterprise/gradle.javaee/manifest.mf +++ b/enterprise/gradle.javaee/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.gradle.javaee OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/javaee/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 diff --git a/enterprise/j2ee.ant/nbproject/project.properties b/enterprise/j2ee.ant/nbproject/project.properties index c04954593e60..3469c886e425 100644 --- a/enterprise/j2ee.ant/nbproject/project.properties +++ b/enterprise/j2ee.ant/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. ant.jar=${ant.core.lib} -spec.version.base=1.66.0 +spec.version.base=1.67.0 diff --git a/enterprise/j2ee.api.ejbmodule/manifest.mf b/enterprise/j2ee.api.ejbmodule/manifest.mf index bd31882aae38..b299ddf6dce2 100644 --- a/enterprise/j2ee.api.ejbmodule/manifest.mf +++ b/enterprise/j2ee.api.ejbmodule/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.api.ejbmodule -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbjar/Bundle.properties diff --git a/enterprise/j2ee.clientproject/nbproject/project.properties b/enterprise/j2ee.clientproject/nbproject/project.properties index bda2433dd003..81c6fccbcc09 100644 --- a/enterprise/j2ee.clientproject/nbproject/project.properties +++ b/enterprise/j2ee.clientproject/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -spec.version.base=1.78.0 +spec.version.base=1.79.0 javadoc.arch=${basedir}/arch.xml javadoc.preview=true javac.compilerargs=-Xlint -Xlint:-serial diff --git a/enterprise/j2ee.common/manifest.mf b/enterprise/j2ee.common/manifest.mf index f1de707bdacd..54374ce3f0ec 100644 --- a/enterprise/j2ee.common/manifest.mf +++ b/enterprise/j2ee.common/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.common/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/common/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.135 +OpenIDE-Module-Specification-Version: 1.136 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.core/manifest.mf b/enterprise/j2ee.core/manifest.mf index 6848afef5f82..c5f2987a4e27 100644 --- a/enterprise/j2ee.core/manifest.mf +++ b/enterprise/j2ee.core/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.core/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/core/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.dd.webservice/manifest.mf b/enterprise/j2ee.dd.webservice/manifest.mf index 3d10255145c9..327e68811df8 100644 --- a/enterprise/j2ee.dd.webservice/manifest.mf +++ b/enterprise/j2ee.dd.webservice/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.dd.webservice OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/dd/webservice/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 diff --git a/enterprise/j2ee.dd/nbproject/project.properties b/enterprise/j2ee.dd/nbproject/project.properties index 1a3f2fae3e82..2b380c50c30c 100644 --- a/enterprise/j2ee.dd/nbproject/project.properties +++ b/enterprise/j2ee.dd/nbproject/project.properties @@ -18,7 +18,7 @@ javac.compilerargs=-Xlint:all -Xlint:-serial javac.source=1.8 javac.fork=true -spec.version.base=1.72.0 +spec.version.base=1.73.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/enterprise/j2ee.ddloaders/nbproject/project.properties b/enterprise/j2ee.ddloaders/nbproject/project.properties index c1289dd08f3d..55d8d7539e6f 100644 --- a/enterprise/j2ee.ddloaders/nbproject/project.properties +++ b/enterprise/j2ee.ddloaders/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:all -Xlint:-serial javac.source=1.8 -spec.version.base=1.69.0 +spec.version.base=1.70.0 javadoc.arch=${basedir}/arch.xml diff --git a/enterprise/j2ee.earproject/manifest.mf b/enterprise/j2ee.earproject/manifest.mf index d2e42bab357d..c4686a386191 100644 --- a/enterprise/j2ee.earproject/manifest.mf +++ b/enterprise/j2ee.earproject/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.earproject OpenIDE-Module-Layer: org/netbeans/modules/j2ee/earproject/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/earproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.83 +OpenIDE-Module-Specification-Version: 1.84 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.ejbcore/manifest.mf b/enterprise/j2ee.ejbcore/manifest.mf index bfab91a5ff41..0e5163e952c6 100644 --- a/enterprise/j2ee.ejbcore/manifest.mf +++ b/enterprise/j2ee.ejbcore/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.j2ee.ejbcore OpenIDE-Module-Layer: org/netbeans/modules/j2ee/ejbcore/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbcore/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.83 +OpenIDE-Module-Specification-Version: 1.84 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.ejbjarproject/manifest.mf b/enterprise/j2ee.ejbjarproject/manifest.mf index cf5290fffb86..104d14e8ba76 100644 --- a/enterprise/j2ee.ejbjarproject/manifest.mf +++ b/enterprise/j2ee.ejbjarproject/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.ejbjarproject OpenIDE-Module-Layer: org/netbeans/modules/j2ee/ejbjarproject/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbjarproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.85 +OpenIDE-Module-Specification-Version: 1.86 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.ejbrefactoring/manifest.mf b/enterprise/j2ee.ejbrefactoring/manifest.mf index 2f399882c037..12a6afd6e3c4 100644 --- a/enterprise/j2ee.ejbrefactoring/manifest.mf +++ b/enterprise/j2ee.ejbrefactoring/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.ejbrefactoring OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbrefactoring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.ejbverification/manifest.mf b/enterprise/j2ee.ejbverification/manifest.mf index 2240d74fbb58..bd2e62c76934 100644 --- a/enterprise/j2ee.ejbverification/manifest.mf +++ b/enterprise/j2ee.ejbverification/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.ejbverification OpenIDE-Module-Layer: org/netbeans/modules/j2ee/ejbverification/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbverification/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.genericserver/manifest.mf b/enterprise/j2ee.genericserver/manifest.mf index 5928461861f7..fe4179ebedb7 100644 --- a/enterprise/j2ee.genericserver/manifest.mf +++ b/enterprise/j2ee.genericserver/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.genericserver -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/genericserver/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/j2ee/genericserver/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.kit/manifest.mf b/enterprise/j2ee.kit/manifest.mf index 925c2c51d7a1..1672e03b58fa 100644 --- a/enterprise/j2ee.kit/manifest.mf +++ b/enterprise/j2ee.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Recommends: jakartaee10.api, jakartaee10.platform diff --git a/enterprise/j2ee.platform/manifest.mf b/enterprise/j2ee.platform/manifest.mf index 3c7046d5fdfe..eaecb732daac 100644 --- a/enterprise/j2ee.platform/manifest.mf +++ b/enterprise/j2ee.platform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.platform/1 -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/platform/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.sun.appsrv/nbproject/project.properties b/enterprise/j2ee.sun.appsrv/nbproject/project.properties index f92c329553f8..5e50b3501b5a 100644 --- a/enterprise/j2ee.sun.appsrv/nbproject/project.properties +++ b/enterprise/j2ee.sun.appsrv/nbproject/project.properties @@ -17,6 +17,6 @@ javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.67.0 +spec.version.base=1.68.0 test.config.stableBTD.includes=**/*Test.class diff --git a/enterprise/j2ee.sun.dd/nbproject/project.properties b/enterprise/j2ee.sun.dd/nbproject/project.properties index 09b2f69f6db9..870b31c5f89c 100644 --- a/enterprise/j2ee.sun.dd/nbproject/project.properties +++ b/enterprise/j2ee.sun.dd/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -spec.version.base=1.65.0 +spec.version.base=1.66.0 javac.source=1.8 diff --git a/enterprise/j2ee.sun.ddui/nbproject/project.properties b/enterprise/j2ee.sun.ddui/nbproject/project.properties index e4e52b457389..cbe38d042276 100644 --- a/enterprise/j2ee.sun.ddui/nbproject/project.properties +++ b/enterprise/j2ee.sun.ddui/nbproject/project.properties @@ -19,6 +19,6 @@ javac.source=1.8 ###is.autoload=true javadoc.arch=${basedir}/arch.xml -spec.version.base=1.68.0 +spec.version.base=1.69.0 test.config.stableBTD.includes=**/*Test.class diff --git a/enterprise/j2eeapis/manifest.mf b/enterprise/j2eeapis/manifest.mf index 82d0981c2ccd..1debbd0274df 100644 --- a/enterprise/j2eeapis/manifest.mf +++ b/enterprise/j2eeapis/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2eeapis/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2eeapis/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/enterprise/j2eeserver/nbproject/project.properties b/enterprise/j2eeserver/nbproject/project.properties index 37284ff4cc7f..96c25415d133 100644 --- a/enterprise/j2eeserver/nbproject/project.properties +++ b/enterprise/j2eeserver/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.143.0 +spec.version.base=1.144.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/enterprise/jakarta.transformer/manifest.mf b/enterprise/jakarta.transformer/manifest.mf index ea7f2be01b6c..1b45f17f8e74 100644 --- a/enterprise/jakarta.transformer/manifest.mf +++ b/enterprise/jakarta.transformer/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.jakarta.transformer/0 OpenIDE-Module-Layer: org/netbeans/modules/fish/payara/jakarta/transformer/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/fish/payara/jakarta/transformer/Bundle.properties AutoUpdate-Show-In-Client: true -OpenIDE-Module-Specification-Version: 2.26 +OpenIDE-Module-Specification-Version: 2.27 diff --git a/enterprise/jakartaee10.api/manifest.mf b/enterprise/jakartaee10.api/manifest.mf index 228a4e7f9dd4..a9eb1c6ec9a0 100644 --- a/enterprise/jakartaee10.api/manifest.mf +++ b/enterprise/jakartaee10.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jakartaee10.api OpenIDE-Module-Layer: org/netbeans/modules/jakartaee10/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee10/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 OpenIDE-Module-Provides: jakartaee10.api diff --git a/enterprise/jakartaee10.platform/manifest.mf b/enterprise/jakartaee10.platform/manifest.mf index 851c12e1097e..5b755b05e0d8 100644 --- a/enterprise/jakartaee10.platform/manifest.mf +++ b/enterprise/jakartaee10.platform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakartaee10.platform/1 -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee10/platform/Bundle.properties AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: jakartaee10.platform diff --git a/enterprise/jakartaee11.api/manifest.mf b/enterprise/jakartaee11.api/manifest.mf index 0190e57c8131..dcd69b30261d 100644 --- a/enterprise/jakartaee11.api/manifest.mf +++ b/enterprise/jakartaee11.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jakartaee11.api OpenIDE-Module-Layer: org/netbeans/modules/jakartaee11/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee11/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 OpenIDE-Module-Provides: jakartaee11.api diff --git a/enterprise/jakartaee11.platform/manifest.mf b/enterprise/jakartaee11.platform/manifest.mf index 4a680cbb9129..1a7814bfbb78 100644 --- a/enterprise/jakartaee11.platform/manifest.mf +++ b/enterprise/jakartaee11.platform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakartaee11.platform/1 -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee11/platform/Bundle.properties AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: jakartaee11.platform diff --git a/enterprise/jakartaee8.api/manifest.mf b/enterprise/jakartaee8.api/manifest.mf index 7d41b8999cf7..4cef7fe0db06 100644 --- a/enterprise/jakartaee8.api/manifest.mf +++ b/enterprise/jakartaee8.api/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jakartaee8.api OpenIDE-Module-Layer: org/netbeans/modules/jakartaee8/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee8/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 diff --git a/enterprise/jakartaee8.platform/manifest.mf b/enterprise/jakartaee8.platform/manifest.mf index b94aef4f46bf..e2a9e7385a77 100644 --- a/enterprise/jakartaee8.platform/manifest.mf +++ b/enterprise/jakartaee8.platform/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakartaee8.platform/1 -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee8/platform/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/jakartaee9.api/manifest.mf b/enterprise/jakartaee9.api/manifest.mf index 3dfb24059a99..ed20341a5e91 100644 --- a/enterprise/jakartaee9.api/manifest.mf +++ b/enterprise/jakartaee9.api/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jakartaee9.api OpenIDE-Module-Layer: org/netbeans/modules/jakartaee9/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee9/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/enterprise/jakartaee9.platform/manifest.mf b/enterprise/jakartaee9.platform/manifest.mf index 7c0210a39831..ec3ffe26a5fa 100644 --- a/enterprise/jakartaee9.platform/manifest.mf +++ b/enterprise/jakartaee9.platform/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakartaee9.platform/1 -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee9/platform/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/javaee.api/manifest.mf b/enterprise/javaee.api/manifest.mf index 9313bd92e22d..d9217b8ca6d0 100644 --- a/enterprise/javaee.api/manifest.mf +++ b/enterprise/javaee.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javaee.api OpenIDE-Module-Layer: org/netbeans/modules/javaee/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/enterprise/javaee.beanvalidation/manifest.mf b/enterprise/javaee.beanvalidation/manifest.mf index d823729328d5..4eeaf6fc55b1 100644 --- a/enterprise/javaee.beanvalidation/manifest.mf +++ b/enterprise/javaee.beanvalidation/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javaee.beanvalidation OpenIDE-Module-Layer: org/netbeans/modules/javaee/beanvalidation/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/beanvalidation/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 diff --git a/enterprise/javaee.project/manifest.mf b/enterprise/javaee.project/manifest.mf index db542d3c3dae..0813b3b9130c 100644 --- a/enterprise/javaee.project/manifest.mf +++ b/enterprise/javaee.project/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javaee.project OpenIDE-Module-Layer: org/netbeans/modules/javaee/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 AutoUpdate-Show-In-Client: false diff --git a/enterprise/javaee.resources/manifest.mf b/enterprise/javaee.resources/manifest.mf index 6d2f9cc9bf15..b5e359ad1627 100644 --- a/enterprise/javaee.resources/manifest.mf +++ b/enterprise/javaee.resources/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javaee.resources OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/resources/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/enterprise/javaee.specs.support/manifest.mf b/enterprise/javaee.specs.support/manifest.mf index 0c92a1ea0e63..6820633d0029 100644 --- a/enterprise/javaee.specs.support/manifest.mf +++ b/enterprise/javaee.specs.support/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javaee.specs.support/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/specs/support/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/enterprise/javaee.wildfly/manifest.mf b/enterprise/javaee.wildfly/manifest.mf index 43f44ffd47aa..6075d1eca082 100644 --- a/enterprise/javaee.wildfly/manifest.mf +++ b/enterprise/javaee.wildfly/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.modules.javaee.wildfly/1 OpenIDE-Module-Layer: org/netbeans/modules/javaee/wildfly/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/wildfly/resources/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 2.24 +OpenIDE-Module-Specification-Version: 2.25 diff --git a/enterprise/javaee7.api/manifest.mf b/enterprise/javaee7.api/manifest.mf index 3ac5d90f3e63..3275c692aa3a 100644 --- a/enterprise/javaee7.api/manifest.mf +++ b/enterprise/javaee7.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javaee7.api OpenIDE-Module-Layer: org/netbeans/modules/javaee7/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee7/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 diff --git a/enterprise/javaee8.api/manifest.mf b/enterprise/javaee8.api/manifest.mf index c3143d3a63ac..969fd3421193 100644 --- a/enterprise/javaee8.api/manifest.mf +++ b/enterprise/javaee8.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javaee8.api OpenIDE-Module-Layer: org/netbeans/modules/javaee8/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee8/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/enterprise/jellytools.enterprise/manifest.mf b/enterprise/jellytools.enterprise/manifest.mf index 93077bcd9552..ccf46c6a3a08 100644 --- a/enterprise/jellytools.enterprise/manifest.mf +++ b/enterprise/jellytools.enterprise/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jellytools.enterprise/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jellytools/enterprise/Bundle.properties -OpenIDE-Module-Specification-Version: 3.58 +OpenIDE-Module-Specification-Version: 3.59 diff --git a/enterprise/jsp.lexer/manifest.mf b/enterprise/jsp.lexer/manifest.mf index 032db6352c92..cfb2c2503b30 100644 --- a/enterprise/jsp.lexer/manifest.mf +++ b/enterprise/jsp.lexer/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.jsp.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/jsp/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Layer: org/netbeans/lib/jsp/lexer/layer.xml diff --git a/enterprise/libs.amazon/manifest.mf b/enterprise/libs.amazon/manifest.mf index ac8fe8a8acd4..abd466097293 100644 --- a/enterprise/libs.amazon/manifest.mf +++ b/enterprise/libs.amazon/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.amazon/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/amazon/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/enterprise/libs.elimpl/nbproject/project.properties b/enterprise/libs.elimpl/nbproject/project.properties index 6ae087b75192..c0cefa3d1ce5 100644 --- a/enterprise/libs.elimpl/nbproject/project.properties +++ b/enterprise/libs.elimpl/nbproject/project.properties @@ -20,6 +20,6 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 javadoc.arch=${basedir}/arch.xml release.external/el-impl-3.0-b07.jar=modules/ext/el-impl.jar -spec.version.base=1.51.0 +spec.version.base=1.52.0 sigtest.gen.fail.on.error=false diff --git a/enterprise/libs.fabric8/manifest.mf b/enterprise/libs.fabric8/manifest.mf index fd3816b0692d..d2e84322dec8 100644 --- a/enterprise/libs.fabric8/manifest.mf +++ b/enterprise/libs.fabric8/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.fabric8/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/fabric8/Bundle.properties -OpenIDE-Module-Specification-Version: 1.6 +OpenIDE-Module-Specification-Version: 1.7 diff --git a/enterprise/libs.glassfish_logging/nbproject/project.properties b/enterprise/libs.glassfish_logging/nbproject/project.properties index beb0ecf1d544..686bfa315fd4 100644 --- a/enterprise/libs.glassfish_logging/nbproject/project.properties +++ b/enterprise/libs.glassfish_logging/nbproject/project.properties @@ -19,4 +19,4 @@ is.autoload=true javac.source=1.8 release.external/logging-api-1.0.4.jar=modules/ext/logging-api-1.0.4.jar -spec.version.base=1.57.0 +spec.version.base=1.58.0 diff --git a/enterprise/libs.jackson/manifest.mf b/enterprise/libs.jackson/manifest.mf index fc027c30131e..2b55cea86c41 100644 --- a/enterprise/libs.jackson/manifest.mf +++ b/enterprise/libs.jackson/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jackson/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jackson/Bundle.properties -OpenIDE-Module-Specification-Version: 2.31 +OpenIDE-Module-Specification-Version: 2.32 OpenIDE-Module-Recommends: org.netbeans.libs.snakeyaml_engine diff --git a/enterprise/libs.jstl/nbproject/project.properties b/enterprise/libs.jstl/nbproject/project.properties index 64537e405d85..e55ba86ff209 100644 --- a/enterprise/libs.jstl/nbproject/project.properties +++ b/enterprise/libs.jstl/nbproject/project.properties @@ -22,4 +22,4 @@ release.external/jakarta.servlet.jsp.jstl-1.2.6.jar=modules/ext/jstl-impl.jar release.external/jakarta.servlet.jsp.jstl-api-3.0.2.jar=modules/ext/jstl-jakarta-api.jar release.external/jakarta.servlet.jsp.jstl-3.0.1.jar=modules/ext/jstl-jakarta-impl.jar -spec.version.base=2.67.0 +spec.version.base=2.68.0 diff --git a/enterprise/maven.j2ee/manifest.mf b/enterprise/maven.j2ee/manifest.mf index 8c6820be6966..6dcc5b868681 100644 --- a/enterprise/maven.j2ee/manifest.mf +++ b/enterprise/maven.j2ee/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.modules.maven.j2ee/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/j2ee/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/maven/j2ee/layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.93 +OpenIDE-Module-Specification-Version: 1.94 diff --git a/enterprise/maven.jaxws/manifest.mf b/enterprise/maven.jaxws/manifest.mf index c4a497914496..dc5286a7ee3c 100644 --- a/enterprise/maven.jaxws/manifest.mf +++ b/enterprise/maven.jaxws/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.jaxws OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/jaxws/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/enterprise/micronaut/nbproject/project.properties b/enterprise/micronaut/nbproject/project.properties index 45c9cd966e16..4f3de1c9e33d 100644 --- a/enterprise/micronaut/nbproject/project.properties +++ b/enterprise/micronaut/nbproject/project.properties @@ -19,7 +19,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial release.external/spring-boot-configuration-metadata-2.4.4.jar=modules/ext/spring-boot-configuration-metadata-2.4.4.jar release.external/android-json-0.0.20131108.vaadin1.jar=modules/ext/android-json-0.0.20131108.vaadin1.jar -spec.version.base=1.22.0 +spec.version.base=1.23.0 requires.nb.javac=true test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test.unit.cp.extra=${tools.jar} diff --git a/enterprise/payara.common/manifest.mf b/enterprise/payara.common/manifest.mf index d5191bb13724..2d3111747557 100644 --- a/enterprise/payara.common/manifest.mf +++ b/enterprise/payara.common/manifest.mf @@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.payara.common/0 OpenIDE-Module-Install: org/netbeans/modules/payara/common/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/payara/common/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/payara/common/Bundle.properties -OpenIDE-Module-Specification-Version: 2.27 +OpenIDE-Module-Specification-Version: 2.28 OpenIDE-Module-Provides: org.netbeans.modules.payara.common diff --git a/enterprise/payara.eecommon/nbproject/project.properties b/enterprise/payara.eecommon/nbproject/project.properties index b610a8bc453d..26fac676fa36 100644 --- a/enterprise/payara.eecommon/nbproject/project.properties +++ b/enterprise/payara.eecommon/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.28.0 +spec.version.base=2.29.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/enterprise/payara.jakartaee/manifest.mf b/enterprise/payara.jakartaee/manifest.mf index a249903180f6..95d7db6880b9 100644 --- a/enterprise/payara.jakartaee/manifest.mf +++ b/enterprise/payara.jakartaee/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.payara.jakartaee/0 OpenIDE-Module-Layer: org/netbeans/modules/payara/jakartaee/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/payara/jakartaee/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 2.27 +OpenIDE-Module-Specification-Version: 2.28 diff --git a/enterprise/payara.micro/manifest.mf b/enterprise/payara.micro/manifest.mf index 1c0fa11b3b40..02829a1ca841 100644 --- a/enterprise/payara.micro/manifest.mf +++ b/enterprise/payara.micro/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.payara.micro/0 OpenIDE-Module-Layer: org/netbeans/modules/fish/payara/micro/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/fish/payara/micro/Bundle.properties -OpenIDE-Module-Specification-Version: 2.27 +OpenIDE-Module-Specification-Version: 2.28 diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/Constants.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/Constants.java index e61006f5c461..0830ec78a2e9 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/Constants.java +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/Constants.java @@ -47,6 +47,13 @@ public interface Constants { String VERSION = "version"; String HOT_DEPLOY = "hotDeploy"; + String DEV_MODE = "devMode"; + String DEPLOY_WAR = "deployWar"; + String EXPLODED = "exploded"; + String TRIM_LOG = "trimLog"; + String AUTO_DEPLOY = "autoDeploy"; + String KEEP_STATE = "keepState"; + String LIVE_RELOAD = "liveReload"; String WAR_PACKAGING = "war"; diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/resources/pom.xml.ftl b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/resources/pom.xml.ftl index 21586ebd305e..945a38f06b6f 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/resources/pom.xml.ftl +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/resources/pom.xml.ftl @@ -36,7 +36,7 @@ fish.payara.maven.plugins payara-micro-maven-plugin - 1.3.0 + 2.5.3 ${r"${version.payara}"} false diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/Bundle.properties b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/Bundle.properties index aee40ac25127..4492b620c634 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/Bundle.properties +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/Bundle.properties @@ -25,3 +25,17 @@ ERR_Compile_On_Save_Not_Enabled=Reload Error ({0} : Compile on save not enabled) ERR_Payara_Micro_Plugin_Not_Found=Reload Error ({0} : Payara Micro plugin not found) MicroPropertiesPanel.hotDeployLabel.text=Hot Deploy: MicroPropertiesPanel.hotDeployCheckBox.text= +MicroPropertiesPanel.devModeLabel.text=Dev Mode: +MicroPropertiesPanel.devModeCheckBox.text= +MicroPropertiesPanel.trimLogLabel.text=Trim Log: +MicroPropertiesPanel.trimLogCheckBox.text= +MicroPropertiesPanel.keepStateLabel.text=Keep State: +MicroPropertiesPanel.keepStateCheckBox.text= +MicroPropertiesPanel.liveReloadLabel.text=Live Reload: +MicroPropertiesPanel.liveReloadCheckBox.text= +MicroPropertiesPanel.autoDeployLabel.text=Auto Deploy: +MicroPropertiesPanel.autoDeployCheckBox.text= +MicroPropertiesPanel.explodedLabel.text=Exploded: +MicroPropertiesPanel.explodedCheckBox.text= +MicroPropertiesPanel.deployWarLabel.text=Deploy War: +MicroPropertiesPanel.deployWarCheckBox.text= diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroActionsProvider.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroActionsProvider.java index 6741a8bc5c6f..9bca9e67efca 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroActionsProvider.java +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroActionsProvider.java @@ -29,7 +29,13 @@ import org.netbeans.api.annotations.common.StaticResource; import org.netbeans.api.project.Project; import static org.netbeans.api.project.ProjectUtils.getPreferences; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.AUTO_DEPLOY; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.DEPLOY_WAR; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.EXPLODED; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.HOT_DEPLOY; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.KEEP_STATE; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.LIVE_RELOAD; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.TRIM_LOG; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.VERSION; import org.netbeans.modules.maven.api.NbMavenProject; import org.netbeans.modules.maven.api.execute.RunConfig; @@ -93,13 +99,77 @@ public RunConfig createConfigForDefaultAction(String actionName, Project project Preferences pref = getPreferences(project, MicroApplication.class, true); String microVersionText = pref.get(VERSION, ""); Boolean hotDeploy = pref.getBoolean(HOT_DEPLOY, false); + Boolean deployWar = pref.getBoolean(DEPLOY_WAR, true); + Boolean exploded = pref.getBoolean(EXPLODED, true); + Boolean trimLog = pref.getBoolean(TRIM_LOG, true); + Boolean autoDeploy = pref.getBoolean(AUTO_DEPLOY, true); + Boolean keepState = pref.getBoolean(KEEP_STATE, true); + Boolean liveReload = pref.getBoolean(LIVE_RELOAD, true); RunConfig config = actionsProvider.createConfigForDefaultAction(actionName, project, lookup); - if (!microVersionText.isEmpty()) { - config.setProperty("version.payara", microVersionText); - } - if(hotDeploy) { - config.setProperty("hotDeploy", Boolean.TRUE.toString()); + if (MicroApplication.isDevModeAvailable(project) + && MicroApplication.isPluginVersionAtLeast(project, 2.5)) { + // In payara-micro-maven-plugin:2.5 system properties prefixed with payara + if (!microVersionText.isEmpty()) { + config.setProperty("payara.micro.version", microVersionText); + } + if (hotDeploy) { + config.setProperty("payara.hot.deploy", Boolean.TRUE.toString()); + } + if (deployWar) { + config.setProperty("payara.deploy.war", Boolean.TRUE.toString()); + } + if (exploded) { + config.setProperty("payara.exploded", Boolean.TRUE.toString()); + } + if (trimLog) { + config.setProperty("payara.trim.log", Boolean.TRUE.toString()); + } + if (autoDeploy) { + config.setProperty("payara.auto.deploy", Boolean.TRUE.toString()); + } + if (keepState) { + config.setProperty("payara.keep.state", Boolean.TRUE.toString()); + } + if (liveReload) { + config.setProperty("payara.live.reload", Boolean.TRUE.toString()); + } + } else if (MicroApplication.isDevModeAvailable(project) + && MicroApplication.isPluginVersionAtLeast(project, 2.1)) { + // In payara-micro-maven-plugin:2.1 dev mode feature added + if (!microVersionText.isEmpty()) { + config.setProperty("payaraVersion", microVersionText); + } + if (hotDeploy) { + config.setProperty("hotDeploy", Boolean.TRUE.toString()); + } + if (deployWar) { + config.setProperty("deployWar", Boolean.TRUE.toString()); + } + if (exploded) { + config.setProperty("exploded", Boolean.TRUE.toString()); + } + if (trimLog) { + config.setProperty("trimLog", Boolean.TRUE.toString()); + } + if (autoDeploy) { + config.setProperty("autoDeploy", Boolean.TRUE.toString()); + } + if (keepState) { + config.setProperty("keepState", Boolean.TRUE.toString()); + } + if (liveReload) { + config.setProperty("liveReload", Boolean.TRUE.toString()); + } + } else { + // to ensure compatibility with older plugin + if (!microVersionText.isEmpty()) { + config.setProperty("payaraVersion", microVersionText); + } + if (hotDeploy) { + config.setProperty("hotDeploy", Boolean.TRUE.toString()); + } } + return config; } return null; diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java index e7bb66c9c88d..a71482258971 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java @@ -184,10 +184,14 @@ public static boolean isDevModeAvailable(Project project) { String versionString = getPayaraMicroProject(project).getVersion(); if (versionString != null) { try { - double version = Double.parseDouble(versionString); - if (version > 2.1) { - return true; + String[] parts = versionString.split("\\."); + if (parts.length >= 2) { + double version = Double.parseDouble(parts[0] + "." + parts[1]); + if (version >= 2.1) { + return true; + } } + } catch (NumberFormatException e) { if ("RELEASE".equals(versionString)) { return true; @@ -197,5 +201,26 @@ public static boolean isDevModeAvailable(Project project) { } return false; } + + public static boolean isPluginVersionAtLeast(Project project, double minVersion) { + if (isPayaraMicroProject(project)) { + String versionString = getPayaraMicroProject(project).getVersion(); + if (versionString != null) { + try { + String[] parts = versionString.split("\\."); + if (parts.length >= 2) { + double version = Double.parseDouble(parts[0] + "." + parts[1]); + return version >= minVersion; + } + } catch (NumberFormatException e) { + // For snapshot or release tags like "RELEASE", "SNAPSHOT", etc. + if ("RELEASE".equalsIgnoreCase(versionString)) { + return true; + } + } + } + } + return false; + } } diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroPropertiesPanel.form b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroPropertiesPanel.form index e92a749d2335..3ac69714e766 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroPropertiesPanel.form +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroPropertiesPanel.form @@ -42,14 +42,30 @@ + + + + + + + + - + + + + + + + + + + - @@ -68,7 +84,42 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -102,5 +153,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroPropertiesPanel.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroPropertiesPanel.java index 9962c6cdca84..0da0d1a20550 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroPropertiesPanel.java +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroPropertiesPanel.java @@ -27,7 +27,14 @@ import javax.swing.JPanel; import org.netbeans.api.project.Project; import static org.netbeans.api.project.ProjectUtils.getPreferences; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.AUTO_DEPLOY; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.DEPLOY_WAR; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.DEV_MODE; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.EXPLODED; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.HOT_DEPLOY; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.KEEP_STATE; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.LIVE_RELOAD; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.TRIM_LOG; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.VERSION; import org.netbeans.modules.maven.api.customizer.ModelHandle2; import org.netbeans.modules.maven.api.customizer.support.ComboBoxUpdater; @@ -68,6 +75,13 @@ public void setValue(PayaraPlatformVersionAPI microVersion) { } }; hotDeployCheckBox.setSelected(pref.getBoolean(HOT_DEPLOY, false)); + devModeCheckBox.setSelected(pref.getBoolean(DEV_MODE, true)); + deployWarCheckBox.setSelected(pref.getBoolean(DEPLOY_WAR, true)); + explodedCheckBox.setSelected(pref.getBoolean(EXPLODED, true)); + trimLogCheckBox.setSelected(pref.getBoolean(TRIM_LOG, true)); + autoDeployCheckBox.setSelected(pref.getBoolean(AUTO_DEPLOY, true)); + keepStateCheckBox.setSelected(pref.getBoolean(KEEP_STATE, true)); + liveReloadCheckBox.setSelected(pref.getBoolean(LIVE_RELOAD, true)); } private PayaraPlatformVersionAPI[] getPayaraVersion() { @@ -90,6 +104,20 @@ private void initComponents() { microVersionCombobox = new javax.swing.JComboBox(); hotDeployLabel = new javax.swing.JLabel(); hotDeployCheckBox = new javax.swing.JCheckBox(); + devModeLabel = new javax.swing.JLabel(); + devModeCheckBox = new javax.swing.JCheckBox(); + explodedCheckBox = new javax.swing.JCheckBox(); + explodedLabel = new javax.swing.JLabel(); + deployWarLabel = new javax.swing.JLabel(); + deployWarCheckBox = new javax.swing.JCheckBox(); + autoDeployLabel = new javax.swing.JLabel(); + liveReloadCheckBox = new javax.swing.JCheckBox(); + liveReloadLabel = new javax.swing.JLabel(); + autoDeployCheckBox = new javax.swing.JCheckBox(); + trimLogLabel = new javax.swing.JLabel(); + keepStateCheckBox = new javax.swing.JCheckBox(); + keepStateLabel = new javax.swing.JLabel(); + trimLogCheckBox = new javax.swing.JCheckBox(); org.openide.awt.Mnemonics.setLocalizedText(microVersionLabel, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.microVersionLabel.text")); // NOI18N @@ -99,6 +127,39 @@ private void initComponents() { org.openide.awt.Mnemonics.setLocalizedText(hotDeployCheckBox, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.hotDeployCheckBox.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(devModeLabel, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.devModeLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(devModeCheckBox, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.devModeCheckBox.text")); // NOI18N + devModeCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + devModeCheckBoxActionPerformed(evt); + } + }); + + org.openide.awt.Mnemonics.setLocalizedText(explodedCheckBox, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.explodedCheckBox.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(explodedLabel, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.explodedLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(deployWarLabel, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.deployWarLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(deployWarCheckBox, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.deployWarCheckBox.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(autoDeployLabel, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.autoDeployLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(liveReloadCheckBox, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.liveReloadCheckBox.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(liveReloadLabel, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.liveReloadLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(autoDeployCheckBox, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.autoDeployCheckBox.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(trimLogLabel, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.trimLogLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(keepStateCheckBox, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.keepStateCheckBox.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(keepStateLabel, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.keepStateLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(trimLogCheckBox, org.openide.util.NbBundle.getMessage(MicroPropertiesPanel.class, "MicroPropertiesPanel.trimLogCheckBox.text")); // NOI18N + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( @@ -107,13 +168,28 @@ private void initComponents() { .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(microVersionLabel) - .addComponent(hotDeployLabel)) + .addComponent(hotDeployLabel) + .addComponent(devModeLabel) + .addComponent(deployWarLabel) + .addComponent(explodedLabel) + .addComponent(autoDeployLabel) + .addComponent(liveReloadLabel) + .addComponent(keepStateLabel) + .addComponent(trimLogLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(microVersionCombobox, 0, 212, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() - .addComponent(hotDeployCheckBox) - .addGap(0, 0, Short.MAX_VALUE)) - .addComponent(microVersionCombobox, 0, 272, Short.MAX_VALUE)) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(explodedCheckBox) + .addComponent(deployWarCheckBox) + .addComponent(liveReloadCheckBox) + .addComponent(autoDeployCheckBox) + .addComponent(trimLogCheckBox) + .addComponent(keepStateCheckBox) + .addComponent(devModeCheckBox) + .addComponent(hotDeployCheckBox)) + .addGap(0, 0, Short.MAX_VALUE))) .addContainerGap()) ); layout.setVerticalGroup( @@ -127,20 +203,79 @@ private void initComponents() { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(hotDeployLabel) .addComponent(hotDeployCheckBox)) - .addContainerGap(85, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(devModeLabel) + .addComponent(devModeCheckBox)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(deployWarLabel) + .addComponent(deployWarCheckBox)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(explodedLabel) + .addComponent(explodedCheckBox)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(autoDeployLabel) + .addComponent(autoDeployCheckBox)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(liveReloadLabel) + .addComponent(liveReloadCheckBox)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(keepStateLabel) + .addComponent(keepStateCheckBox)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(trimLogLabel) + .addComponent(trimLogCheckBox)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); }// //GEN-END:initComponents + private void devModeCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_devModeCheckBoxActionPerformed + boolean selected = devModeCheckBox.isSelected(); + deployWarCheckBox.setSelected(selected); + explodedCheckBox.setSelected(selected); + trimLogCheckBox.setSelected(selected); + autoDeployCheckBox.setSelected(selected); + keepStateCheckBox.setSelected(selected); + liveReloadCheckBox.setSelected(selected); + }//GEN-LAST:event_devModeCheckBoxActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JCheckBox autoDeployCheckBox; + private javax.swing.JLabel autoDeployLabel; + private javax.swing.JCheckBox deployWarCheckBox; + private javax.swing.JLabel deployWarLabel; + private javax.swing.JCheckBox devModeCheckBox; + private javax.swing.JLabel devModeLabel; + private javax.swing.JCheckBox explodedCheckBox; + private javax.swing.JLabel explodedLabel; private javax.swing.JCheckBox hotDeployCheckBox; private javax.swing.JLabel hotDeployLabel; + private javax.swing.JCheckBox keepStateCheckBox; + private javax.swing.JLabel keepStateLabel; + private javax.swing.JCheckBox liveReloadCheckBox; + private javax.swing.JLabel liveReloadLabel; private javax.swing.JComboBox microVersionCombobox; private javax.swing.JLabel microVersionLabel; + private javax.swing.JCheckBox trimLogCheckBox; + private javax.swing.JLabel trimLogLabel; // End of variables declaration//GEN-END:variables public void applyChanges() { pref.put(VERSION, selectedPayaraVersion != null ? selectedPayaraVersion.toString() : ""); pref.put(HOT_DEPLOY, Boolean.toString(hotDeployCheckBox.isSelected())); + pref.put(DEV_MODE, Boolean.toString(devModeCheckBox.isSelected())); + pref.put(DEPLOY_WAR, Boolean.toString(deployWarCheckBox.isSelected())); + pref.put(EXPLODED, Boolean.toString(explodedCheckBox.isSelected())); + pref.put(TRIM_LOG, Boolean.toString(trimLogCheckBox.isSelected())); + pref.put(AUTO_DEPLOY, Boolean.toString(autoDeployCheckBox.isSelected())); + pref.put(KEEP_STATE, Boolean.toString(keepStateCheckBox.isSelected())); + pref.put(LIVE_RELOAD, Boolean.toString(liveReloadCheckBox.isSelected())); } } diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml index 58ad38ad1ab8..b45a3abc48d4 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml @@ -34,12 +34,6 @@ false - true - true - true - true - true - true @@ -57,12 +51,6 @@ false ${webpagePath} - true - true - true - true - true - true @@ -82,12 +70,6 @@ true true false - true - true - true - true - true - true @@ -108,12 +90,6 @@ ${webpagePath} true false - true - true - true - true - true - true @@ -133,12 +109,6 @@ java false true - true - true - true - true - true - true @@ -159,12 +129,6 @@ false true ${webpagePath} - true - true - true - true - true - true diff --git a/enterprise/payara.tooling/manifest.mf b/enterprise/payara.tooling/manifest.mf index 59620f207dd4..ff6b966134a1 100644 --- a/enterprise/payara.tooling/manifest.mf +++ b/enterprise/payara.tooling/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.payara.tooling/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/payara/tooling/Bundle.properties -OpenIDE-Module-Specification-Version: 2.27 +OpenIDE-Module-Specification-Version: 2.28 diff --git a/enterprise/profiler.j2ee/manifest.mf b/enterprise/profiler.j2ee/manifest.mf index a83594e4d78a..925232faad3e 100644 --- a/enterprise/profiler.j2ee/manifest.mf +++ b/enterprise/profiler.j2ee/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.j2ee/1 OpenIDE-Module-Layer: org/netbeans/modules/profiler/j2ee/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/j2ee/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 diff --git a/enterprise/projectimport.eclipse.web/nbproject/project.properties b/enterprise/projectimport.eclipse.web/nbproject/project.properties index c684dc511e1e..64ce9fefa34b 100644 --- a/enterprise/projectimport.eclipse.web/nbproject/project.properties +++ b/enterprise/projectimport.eclipse.web/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.56.0 +spec.version.base=1.57.0 diff --git a/enterprise/servletjspapi/nbproject/project.properties b/enterprise/servletjspapi/nbproject/project.properties index 70ebd3332482..c105bf71b0fe 100644 --- a/enterprise/servletjspapi/nbproject/project.properties +++ b/enterprise/servletjspapi/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint:unchecked javac.release=17 -spec.version.base=1.63.0 +spec.version.base=1.64.0 release.external/generated-servlet-jsp-api-4.0_2.3.jar=modules/ext/servlet4.0-jsp2.3-api.jar release.external/generated-servlet-jsp-api-6.1_3.0.jar=modules/ext/servlet-jsp-api-6.1_3.0.jar diff --git a/enterprise/spring.webmvc/manifest.mf b/enterprise/spring.webmvc/manifest.mf index d7dab7deee2e..85accd7ab6b0 100644 --- a/enterprise/spring.webmvc/manifest.mf +++ b/enterprise/spring.webmvc/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spring.webmvc OpenIDE-Module-Layer: org/netbeans/modules/spring/webmvc/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spring/webmvc/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 OpenIDE-Module-Provides: org.netbeans.modules.web.project.framework diff --git a/enterprise/tomcat5/manifest.mf b/enterprise/tomcat5/manifest.mf index 67f3fb69d90b..70ea5946e498 100644 --- a/enterprise/tomcat5/manifest.mf +++ b/enterprise/tomcat5/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.tomcat5/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/tomcat5/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/tomcat5/resources/layer.xml OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 diff --git a/enterprise/web.beans/manifest.mf b/enterprise/web.beans/manifest.mf index 13649c217ade..7ae7fcaa37a3 100644 --- a/enterprise/web.beans/manifest.mf +++ b/enterprise/web.beans/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.beans/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/beans/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/beans/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.51 +OpenIDE-Module-Specification-Version: 2.52 AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.bootsfaces/manifest.mf b/enterprise/web.bootsfaces/manifest.mf index d44113356494..4683773ee404 100644 --- a/enterprise/web.bootsfaces/manifest.mf +++ b/enterprise/web.bootsfaces/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.bootsfaces OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/bootsfaces/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.103 +OpenIDE-Module-Specification-Version: 1.104 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.web.jsf.complib diff --git a/enterprise/web.client.rest/manifest.mf b/enterprise/web.client.rest/manifest.mf index 9fc384aee1bf..72561368b33d 100644 --- a/enterprise/web.client.rest/manifest.mf +++ b/enterprise/web.client.rest/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.client.rest OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/client/rest/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 OpenIDE-Module-Layer: org/netbeans/modules/web/client/rest/layer.xml diff --git a/enterprise/web.core.syntax/nbproject/project.properties b/enterprise/web.core.syntax/nbproject/project.properties index 1375cbd67f94..7cbf068f1180 100644 --- a/enterprise/web.core.syntax/nbproject/project.properties +++ b/enterprise/web.core.syntax/nbproject/project.properties @@ -25,7 +25,7 @@ javac.source=1.8 requires.nb.javac=true javadoc.arch=${basedir}/arch.xml -spec.version.base=2.76.0 +spec.version.base=2.77.0 test.config.validation.includes=\ **/AutoCompletionTest.class,**/CompletionTest.class diff --git a/enterprise/web.core/nbproject/project.properties b/enterprise/web.core/nbproject/project.properties index f2942789f13f..53bb4fafef4e 100644 --- a/enterprise/web.core/nbproject/project.properties +++ b/enterprise/web.core/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=2.64.0 +spec.version.base=2.65.0 requires.nb.javac=true test.config.stableBTD.includes=**/*Test.class diff --git a/enterprise/web.debug/manifest.mf b/enterprise/web.debug/manifest.mf index eb4a8f7d90fc..948ef450146a 100644 --- a/enterprise/web.debug/manifest.mf +++ b/enterprise/web.debug/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.debug/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/debug/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/debug/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.68 +OpenIDE-Module-Specification-Version: 2.69 OpenIDE-Module-Requires: org.netbeans.spi.debugger.jpda.EditorContext, org.netbeans.modules.debugger.jpda.ui AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.el/manifest.mf b/enterprise/web.el/manifest.mf index 736b0306ed0d..ec2ad5690511 100644 --- a/enterprise/web.el/manifest.mf +++ b/enterprise/web.el/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.el OpenIDE-Module-Layer: org/netbeans/modules/web/el/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/el/Bundle.properties -OpenIDE-Module-Specification-Version: 1.84 +OpenIDE-Module-Specification-Version: 1.85 diff --git a/enterprise/web.freeform/manifest.mf b/enterprise/web.freeform/manifest.mf index d5827e72af06..5767983ef491 100644 --- a/enterprise/web.freeform/manifest.mf +++ b/enterprise/web.freeform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.freeform -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/freeform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/freeform/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.jsf.editor/manifest.mf b/enterprise/web.jsf.editor/manifest.mf index 5f879a3fd1c7..8c85b3cc0c84 100644 --- a/enterprise/web.jsf.editor/manifest.mf +++ b/enterprise/web.jsf.editor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.editor OpenIDE-Module-Layer: org/netbeans/modules/web/jsf/editor/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/editor/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 2.11 +OpenIDE-Module-Specification-Version: 2.12 AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.jsf.icefaces/manifest.mf b/enterprise/web.jsf.icefaces/manifest.mf index 8ec281fd51d6..661fed8fb5f8 100644 --- a/enterprise/web.jsf.icefaces/manifest.mf +++ b/enterprise/web.jsf.icefaces/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.icefaces OpenIDE-Module-Layer: org/netbeans/modules/web/jsf/icefaces/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/icefaces/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.web.jsf.complib diff --git a/enterprise/web.jsf.kit/manifest.mf b/enterprise/web.jsf.kit/manifest.mf index ba110aa95908..0cb79150b448 100644 --- a/enterprise/web.jsf.kit/manifest.mf +++ b/enterprise/web.jsf.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 OpenIDE-Module-Provides: org.netbeans.modules.web.project.framework diff --git a/enterprise/web.jsf.navigation/manifest.mf b/enterprise/web.jsf.navigation/manifest.mf index 5dc55fc98184..91c4839fa7bb 100644 --- a/enterprise/web.jsf.navigation/manifest.mf +++ b/enterprise/web.jsf.navigation/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.navigation/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/navigation/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/jsf/navigation/mf-layer.xml -OpenIDE-Module-Specification-Version: 2.58 +OpenIDE-Module-Specification-Version: 2.59 AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.jsf.richfaces/manifest.mf b/enterprise/web.jsf.richfaces/manifest.mf index a8b8a4201973..59b29c7fd9c4 100644 --- a/enterprise/web.jsf.richfaces/manifest.mf +++ b/enterprise/web.jsf.richfaces/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.richfaces OpenIDE-Module-Layer: org/netbeans/modules/web/jsf/richfaces/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/richfaces/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.web.jsf.complib diff --git a/enterprise/web.jsf/nbproject/project.properties b/enterprise/web.jsf/nbproject/project.properties index 5f0ff02e9cf5..5f0e839db5c4 100644 --- a/enterprise/web.jsf/nbproject/project.properties +++ b/enterprise/web.jsf/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=2.12.0 +spec.version.base=2.13.0 test.config.default.excludes=\ **/JSFEditorUtilitiesTest.class,\ diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanIterator.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanIterator.java index d4019ede5de6..0e8bb7a0a1ea 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanIterator.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanIterator.java @@ -78,21 +78,6 @@ public class ManagedBeanIterator implements TemplateWizard.Iterator { FACES_SCOPE.put(ManagedBean.Scope.VIEW, "ViewScoped"); // NOI18N } - /** - * List of ContextDependencyInjection scopes. - */ - private static final Map NAMED_SCOPE = new EnumMap<>(NamedScope.class); - static { - NAMED_SCOPE.put(NamedScope.DEPENDENT, "Dependent"); //NOI18N - NAMED_SCOPE.put(NamedScope.APPLICATION, "ApplicationScoped"); //NOI18N - NAMED_SCOPE.put(NamedScope.REQUEST, "RequestScoped"); //NOI18N - NAMED_SCOPE.put(NamedScope.SESSION, "SessionScoped"); //NOI18N - NAMED_SCOPE.put(NamedScope.CONVERSATION, "ConversationScoped"); //NOI18N - NAMED_SCOPE.put(NamedScope.FLOW, "FlowScoped"); //NOI18N - NAMED_SCOPE.put(NamedScope.VIEW, "ViewScoped"); //NOI18N - - } - @Override public void initialize(TemplateWizard wizard) { index = 0; @@ -101,18 +86,15 @@ public void initialize(TemplateWizard wizard) { SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); managedBeanPanel = new ManagedBeanPanel(project, wizard); - WizardDescriptor.Panel javaPanel; + WizardDescriptor.Panel javaPanel; if (sourceGroups.length == 0) { wizard.putProperty(WizardDescriptor.PROP_ERROR_MESSAGE, NbBundle.getMessage(ManagedBeanIterator.class, "MSG_No_Sources_found")); javaPanel = managedBeanPanel; } else { javaPanel = JavaTemplates.createPackageChooser(project, sourceGroups, managedBeanPanel); - javaPanel.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - managedBeanPanel.updateManagedBeanName((WizardDescriptor.Panel) e.getSource()); - } + javaPanel.addChangeListener((ChangeEvent e) -> { + managedBeanPanel.updateManagedBeanName((WizardDescriptor.Panel) e.getSource()); }); } panels = new WizardDescriptor.Panel[]{javaPanel}; @@ -120,8 +102,8 @@ public void stateChanged(ChangeEvent e) { // Creating steps. Object prop = wizard.getProperty(WizardDescriptor.PROP_CONTENT_DATA); // NOI18N String[] beforeSteps = null; - if (prop instanceof String[]) { - beforeSteps = (String[]) prop; + if (prop instanceof String[] strings) { + beforeSteps = strings; } String[] steps = createSteps(beforeSteps, panels); for (int i = 0; i < panels.length; i++) { @@ -140,7 +122,7 @@ public void uninitialize(TemplateWizard wizard) { } @Override - public Set instantiate(TemplateWizard wizard) throws IOException { + public Set instantiate(TemplateWizard wizard) throws IOException { FileObject dir = Templates.getTargetFolder(wizard); DataFolder df = DataFolder.findFolder(dir); FileObject template = Templates.getTemplate(wizard); @@ -162,16 +144,10 @@ public Set instantiate(TemplateWizard wizard) throws IOException { DataObject dobj = null; if (isAnnotate && (Utilities.isJavaEE6Plus(wizard) || (JSFUtils.isJSF20Plus(wm, true) && JSFUtils.isJavaEE5(wizard)))) { - Map templateProperties = new HashMap(); + Map templateProperties = new HashMap<>(); String targetName = Templates.getTargetName(wizard); - boolean jakartaJsfPackages; - if(JSFUtils.isJakartaEE9Plus(wizard)) { - templateProperties.put("jakartaJsfPackages", true); - jakartaJsfPackages = true; - } else { - templateProperties.put("jakartaJsfPackages", false); - jakartaJsfPackages = false; - } + boolean jakartaJsfPackages = JSFUtils.isJakartaEE9Plus(wizard); + templateProperties.put("jakartaJsfPackages", jakartaJsfPackages); org.netbeans.modules.web.beans.CdiUtil cdiUtil = project.getLookup().lookup(org.netbeans.modules.web.beans.CdiUtil.class); boolean isCdiEnabled = cdiUtil != null && cdiUtil.isCdiEnabled(); if (isCdiEnabled) { @@ -179,14 +155,8 @@ public Set instantiate(TemplateWizard wizard) throws IOException { templateProperties.put("classAnnotation", "@Named(value=\"" + beanName + "\")"); //NOI18N templateProperties.put("scope", ScopeEntry.getFor(scope, jakartaJsfPackages)); //NOI18N NamedScope namedScope = (NamedScope) scope; - switch (namedScope) { - case SESSION: - case CONVERSATION: - case VIEW: - templateProperties.put("passivationCapable", "true"); //NOI18N - break; - default: - break; + if (namedScope.isPassivationCapable()) { + templateProperties.put("passivationCapable", "true"); //NOI18N } } else { if (targetName.equalsIgnoreCase(beanName) && targetName.substring(0, 1).equalsIgnoreCase(beanName.substring(0, 1))) { @@ -220,8 +190,8 @@ public Set instantiate(TemplateWizard wizard) throws IOException { } else { packageName = ""; } - String className = null; - if (packageName.length() > 0) { + String className; + if (!packageName.isEmpty()) { className = packageName + "." + targetName; //NOI18N } else { className = targetName; @@ -243,11 +213,8 @@ public Set instantiate(TemplateWizard wizard) throws IOException { bean.addDescription(beanDescription); } - JSFConfigModelUtilities.doInTransaction(configModel, new Runnable() { - @Override - public void run() { - facesConfig.addManagedBean(bean); - } + JSFConfigModelUtilities.doInTransaction(configModel, () -> { + facesConfig.addManagedBean(bean); }); JSFConfigModelUtilities.saveChanges(configModel); } @@ -329,23 +296,44 @@ private String getUniqueName(String original, Project project) { } protected enum NamedScope { - DEPENDENT("dependent"), //NOI18N - APPLICATION("application"), //NOI18N - REQUEST("request"), //NOI18N - SESSION("session"), //NOI18N - CONVERSATION("conversation"), //NOI18N - FLOW("flow"), //NOI18N - VIEW("view"); //NOI18N - - private String scope; - - NamedScope(String scope) { - this.scope = scope; + DEPENDENT("Dependent", false), //NOI18N + APPLICATION("ApplicationScoped", false), //NOI18N + REQUEST("RequestScoped", false), //NOI18N + SESSION("SessionScoped", true), //NOI18N + CONVERSATION("ConversationScoped", true), //NOI18N + FLOW("FlowScoped", false, "faces.flow"), //NOI18N + VIEW("ViewScoped", true, "faces.view"), //NOI18N + CLIENT_WINDOW("ClientWindowScoped", true, "faces.lifecycle"); //NOI18N + + private final String simpleName; + private final boolean passivationCapable; + private final String subpackage; + + private NamedScope(String simpleName, boolean passivationCapable) { + this(simpleName, passivationCapable, "enterprise.context"); + } + + private NamedScope(String simpleName, boolean passivationCapable, String subpackage) { + this.simpleName = simpleName; + this.passivationCapable = passivationCapable; + this.subpackage = subpackage; } @Override public String toString() { - return scope; + return name().toLowerCase(); + } + + public String getSimpleName() { + return simpleName; + } + + public boolean isPassivationCapable() { + return passivationCapable; + } + + public String getSubpackage() { + return subpackage; } } @@ -373,12 +361,11 @@ public String getParameters() { } private static ScopeEntry getFor(Object scope, boolean jakartaJsfPackages) { - if (scope instanceof Scope) { - Scope typedScope = (Scope) scope; + if (scope instanceof Scope typedScope) { return new ScopeEntry(FACES_SCOPE.get(typedScope), getScopeImport(typedScope, jakartaJsfPackages)); } else { NamedScope typedScope = (NamedScope) scope; - ScopeEntry se = new ScopeEntry(NAMED_SCOPE.get(typedScope), getScopeImport(typedScope, jakartaJsfPackages)); + ScopeEntry se = new ScopeEntry(typedScope.getSimpleName(), getScopeImport(typedScope, jakartaJsfPackages)); if (typedScope == NamedScope.FLOW) { se.parameters = "\"\""; //NOI18N } @@ -395,24 +382,8 @@ private static String getScopeImport(Scope scope, boolean jakartaJsfPackages) { } private static String getScopeImport(NamedScope scope, boolean jakartaJsfPackages) { - String scopeSimpleName = NAMED_SCOPE.get(scope); - if (jakartaJsfPackages) { - if (scope == NamedScope.FLOW) { - return "jakarta.faces.flow." + scopeSimpleName; //NOI18N - } else if (scope == NamedScope.VIEW) { - return "jakarta.faces.view." + scopeSimpleName; //NOI18N - } else { - return "jakarta.enterprise.context." + scopeSimpleName; //NOI18N - } - } else { - if (scope == NamedScope.FLOW) { - return "javax.faces.flow." + scopeSimpleName; //NOI18N - } else if (scope == NamedScope.VIEW) { - return "javax.faces.view." + scopeSimpleName; //NOI18N - } else { - return "javax.enterprise.context." + scopeSimpleName; //NOI18N - } - } + return jakartaJsfPackages ? "jakarta." : "javax." + + scope.getSubpackage() + "." + scope.getSimpleName(); } } } diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanel.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanel.java index 138ce6c82549..7f52237ce6cc 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanel.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanel.java @@ -28,7 +28,6 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.netbeans.api.project.Project; -import org.netbeans.modules.j2ee.common.ProjectUtil; import org.netbeans.modules.j2ee.common.ServerUtil; import org.openide.WizardDescriptor; @@ -40,7 +39,7 @@ * Panel asking for web frameworks to use. * @author Radko Najman */ -final class ManagedBeanPanel implements WizardDescriptor.Panel, WizardDescriptor.FinishablePanel, ChangeListener { +final class ManagedBeanPanel implements WizardDescriptor.FinishablePanel, ChangeListener { private TemplateWizard wizard; private ManagedBeanPanelVisual component; @@ -81,7 +80,7 @@ public void updateManagedBeanName(WizardDescriptor.Panel panel) { return; } - if ((targetName == null) || targetName.trim().equals("")) { + if ((targetName == null) || targetName.trim().isEmpty()) { return; } @@ -140,21 +139,21 @@ public final void removeChangeListener(ChangeListener l) { } } protected final void fireChangeEvent() { - Iterator it; + Iterator it; synchronized (listeners) { - it = new HashSet(listeners).iterator(); + it = new HashSet<>(listeners).iterator(); } ChangeEvent ev = new ChangeEvent(this); while (it.hasNext()) { - ((ChangeListener)it.next()).stateChanged(ev); + it.next().stateChanged(ev); } } @Override - public void readSettings(Object settings) { + public void readSettings(WizardDescriptor settings) { wizard = (TemplateWizard) settings; component.read(wizard); - + // XXX hack, TemplateWizard in final setTemplateImpl() forces new wizard's title // this name is used in NewProjectWizard to modify the title Object substitute = ((JComponent) component).getClientProperty("NewProjectWizard_Title"); // NOI18N @@ -163,11 +162,10 @@ public void readSettings(Object settings) { } @Override - public void storeSettings(Object settings) { - WizardDescriptor d = (WizardDescriptor) settings; - component.store(d); + public void storeSettings(WizardDescriptor settings) { + component.store(settings); - ((WizardDescriptor) d).putProperty("NewProjectWizard_Title", null); // NOI18N + settings.putProperty("NewProjectWizard_Title", null); // NOI18N } @Override diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.form b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.form index 418692745e00..b55f1a9021e7 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.form +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.form @@ -117,6 +117,9 @@ + + + @@ -157,6 +160,9 @@ + + + diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.java index 8713a39f8fd3..7dc4077b302f 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.java @@ -18,11 +18,14 @@ */ package org.netbeans.modules.web.jsf.wizards; + import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.HashSet; import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.swing.DefaultComboBoxModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -55,8 +58,10 @@ @SuppressWarnings("serial") // not used to be serialized public class ManagedBeanPanelVisual extends javax.swing.JPanel implements HelpCtx.Provider { - private final DefaultComboBoxModel scopeModel = new DefaultComboBoxModel(); + private final DefaultComboBoxModel scopeModel = new DefaultComboBoxModel<>(); private boolean isCDIEnabled = false; + private JsfVersion jsfVersion = null; + /** * Creates new form PropertiesPanelVisual */ @@ -68,17 +73,15 @@ public ManagedBeanPanelVisual(Project proj) { WebModule wm = WebModule.getWebModule(proj.getProjectDirectory()); Profile profile = null; if (wm != null){ + jsfVersion = JsfVersionUtils.forWebModule(wm); String[] configFiles = JSFConfigUtilities.getConfigFiles(wm); if (configFiles.length > 0){ FileObject documentBase = wm.getDocumentBase(); - ArrayList files = new ArrayList(); - for (int i = 0; i < configFiles.length; i++){ - if (documentBase.getFileObject(configFiles[i]) != null) - files.add(configFiles[i]); - } - configFiles = (String[])files.toArray(new String[0]); + configFiles = Stream.of(configFiles) + .filter(configFile -> documentBase.getFileObject(configFile) != null) + .toArray(String[]::new); } - jComboBoxConfigFile.setModel(new javax.swing.DefaultComboBoxModel(configFiles)); + jComboBoxConfigFile.setModel(new DefaultComboBoxModel<>(configFiles)); //No config files found if (configFiles.length==0) { addToConfigCheckBox.setEnabled(false); @@ -90,6 +93,9 @@ public ManagedBeanPanelVisual(Project proj) { addToConfigCheckBox.setSelected(true); setVisibleBeanDescription(true); addToConfigCheckBox.setEnabled(false); + } else if (jsfVersion != null && jsfVersion.isAtLeast(JsfVersion.JSF_4_0)) { + addToConfigCheckBox.setEnabled(false); + jComboBoxConfigFile.setEnabled(false); } } } @@ -140,11 +146,11 @@ private void updateScopeModel(boolean addToConfig) { private void initComponents() { jLabelConfigFile = new javax.swing.JLabel(); - jComboBoxConfigFile = new javax.swing.JComboBox(); + jComboBoxConfigFile = new javax.swing.JComboBox<>(); jLabelName = new javax.swing.JLabel(); jTextFieldName = new javax.swing.JTextField(); jLabelScope = new javax.swing.JLabel(); - jComboBoxScope = new javax.swing.JComboBox(); + jComboBoxScope = new javax.swing.JComboBox<>(); jLabelDesc = new javax.swing.JLabel(); jScrollPaneDesc = new javax.swing.JScrollPane(); jTextAreaDesc = new javax.swing.JTextArea(); @@ -247,8 +253,8 @@ private void addToConfigCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) { // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JCheckBox addToConfigCheckBox; - private javax.swing.JComboBox jComboBoxConfigFile; - private javax.swing.JComboBox jComboBoxScope; + private javax.swing.JComboBox jComboBoxConfigFile; + private javax.swing.JComboBox jComboBoxScope; private javax.swing.JLabel jLabelConfigFile; private javax.swing.JLabel jLabelDesc; private javax.swing.JLabel jLabelName; @@ -259,7 +265,8 @@ private void addToConfigCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) { // End of variables declaration//GEN-END:variables @Messages({ - "ManagedBeanPanelVisual.warn.flowScoped.low.version=FlowScoped bean can be used only in projects with JSF2.2+" + "ManagedBeanPanelVisual.warn.flowScoped.low.version=FlowScoped bean can be used only in projects with JSF2.2+", + "ManagedBeanPanelVisual.warn.clientWindowScoped.low.version=ClientWindowScoped can be used only in projects with Faces 4.0+" }) boolean valid(WizardDescriptor wizardDescriptor) { String configFile = (String) jComboBoxConfigFile.getSelectedItem(); @@ -276,7 +283,7 @@ boolean valid(WizardDescriptor wizardDescriptor) { if (configFile == null) { if (!Utilities.isJavaEE6Plus((TemplateWizard) wizardDescriptor) && !isAddBeanToConfig() - && !(JSFUtils.isJavaEE5((TemplateWizard) wizardDescriptor) && JSFUtils.isJSF20Plus(wm, true))) { + && !(JSFUtils.isJavaEE5((TemplateWizard) wizardDescriptor) && jsfVersion != null && jsfVersion.isAtLeast(JsfVersion.JSF_2_0))) { wizardDescriptor.putProperty(WizardDescriptor.PROP_ERROR_MESSAGE, NbBundle.getMessage(ManagedBeanPanelVisual.class, "MSG_NoConfigFile")); //NOI18N return false; @@ -294,19 +301,26 @@ boolean valid(WizardDescriptor wizardDescriptor) { } String name = jTextFieldName.getText(); - if (name.trim().equals("")) { // NOI18N + if (name.isBlank()) { // NOI18N wizardDescriptor.putProperty(WizardDescriptor.PROP_ERROR_MESSAGE, NbBundle.getMessage(ManagedBeanPanelVisual.class, "MSG_InvalidBeanName")); //NOI18N return false; } Object scope = jComboBoxScope.getSelectedItem(); - if (scope instanceof NamedScope && scope == NamedScope.FLOW) { - JsfVersion jsfVersion = JsfVersionUtils.forWebModule(wm); - if (jsfVersion != null && !jsfVersion.isAtLeast(JsfVersion.JSF_2_2)) { - wizardDescriptor.putProperty(WizardDescriptor.PROP_ERROR_MESSAGE, - Bundle.ManagedBeanPanelVisual_warn_flowScoped_low_version()); - return false; + if (scope instanceof NamedScope namedScope) { + if (namedScope == NamedScope.FLOW) { + if (jsfVersion != null && !jsfVersion.isAtLeast(JsfVersion.JSF_2_2)) { + wizardDescriptor.putProperty(WizardDescriptor.PROP_ERROR_MESSAGE, + Bundle.ManagedBeanPanelVisual_warn_flowScoped_low_version()); + return false; + } + } else if (namedScope == NamedScope.CLIENT_WINDOW) { + if (jsfVersion != null && !jsfVersion.isAtLeast(JsfVersion.JSF_4_0)) { + wizardDescriptor.putProperty(WizardDescriptor.PROP_ERROR_MESSAGE, + Bundle.ManagedBeanPanelVisual_warn_clientWindowScoped_low_version()); + return false; + } } } diff --git a/enterprise/web.jsf20/nbproject/project.properties b/enterprise/web.jsf20/nbproject/project.properties index a022d071e549..69fce6163f42 100644 --- a/enterprise/web.jsf20/nbproject/project.properties +++ b/enterprise/web.jsf20/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 release.external/javax.faces-2.3.9.jar=modules/ext/jsf-2_2/javax.faces.jar release.external/javax.faces-2.3.9-license.txt=modules/ext/jsf-2_2/license.txt -spec.version.base=1.65.0 +spec.version.base=1.66.0 # Old library with too broadly defined API - sigtest would give more noise than benefit # (legacy behavior of sigtest ignored subpackages) diff --git a/enterprise/web.jsfapi/manifest.mf b/enterprise/web.jsfapi/manifest.mf index 6b0b633a910f..1a34698ca5a8 100644 --- a/enterprise/web.jsfapi/manifest.mf +++ b/enterprise/web.jsfapi/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.jsfapi/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsfapi/Bundle.properties -OpenIDE-Module-Specification-Version: 2.11 +OpenIDE-Module-Specification-Version: 2.12 diff --git a/enterprise/web.jspparser/manifest.mf b/enterprise/web.jspparser/manifest.mf index 812b066aa385..a83516c1b25f 100644 --- a/enterprise/web.jspparser/manifest.mf +++ b/enterprise/web.jspparser/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jspparser/4 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jspparser/Bundle.properties -OpenIDE-Module-Specification-Version: 4.1 +OpenIDE-Module-Specification-Version: 4.2 OpenIDE-Module-Requires: org.openide.windows.IOProvider diff --git a/enterprise/web.kit/manifest.mf b/enterprise/web.kit/manifest.mf index f6fbe8e0607a..624724cb976b 100644 --- a/enterprise/web.kit/manifest.mf +++ b/enterprise/web.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 OpenIDE-Module-Recommends: org.netbeans.modules.web.project.framework diff --git a/enterprise/web.monitor/manifest.mf b/enterprise/web.monitor/manifest.mf index 0439f0546293..3e04dca980fe 100644 --- a/enterprise/web.monitor/manifest.mf +++ b/enterprise/web.monitor/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.monitor/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/monitor/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/monitor/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 OpenIDE-Module-Requires: org.openide.util.HttpServer$Impl AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.primefaces/manifest.mf b/enterprise/web.primefaces/manifest.mf index 4abbe34eb842..f01ee02fd0f3 100644 --- a/enterprise/web.primefaces/manifest.mf +++ b/enterprise/web.primefaces/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.primefaces OpenIDE-Module-Layer: org/netbeans/modules/web/primefaces/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/primefaces/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.104 +OpenIDE-Module-Specification-Version: 1.105 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.web.jsf.complib diff --git a/enterprise/web.project/nbproject/project.properties b/enterprise/web.project/nbproject/project.properties index 5ba7532f0e6e..65fe7e930587 100644 --- a/enterprise/web.project/nbproject/project.properties +++ b/enterprise/web.project/nbproject/project.properties @@ -31,7 +31,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml -spec.version.base=1.106.0 +spec.version.base=1.107.0 # needed for the TestUtil class test.unit.cp.extra= diff --git a/enterprise/web.refactoring/nbproject/project.properties b/enterprise/web.refactoring/nbproject/project.properties index 7a7da2dbfaad..dd3c3799ab86 100644 --- a/enterprise/web.refactoring/nbproject/project.properties +++ b/enterprise/web.refactoring/nbproject/project.properties @@ -17,4 +17,4 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.58.0 +spec.version.base=1.59.0 diff --git a/enterprise/weblogic.common/manifest.mf b/enterprise/weblogic.common/manifest.mf index ec79763d8fd5..381e0d76c6a9 100644 --- a/enterprise/weblogic.common/manifest.mf +++ b/enterprise/weblogic.common/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.weblogic.common OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/weblogic/common/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/enterprise/websocket/manifest.mf b/enterprise/websocket/manifest.mf index 0ea68984dcf6..1f883e79125e 100644 --- a/enterprise/websocket/manifest.mf +++ b/enterprise/websocket/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websocket OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websocket/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/websocket/layer.xml -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.clientapi/manifest.mf b/enterprise/websvc.clientapi/manifest.mf index bb4cb2020a7a..d4edafca5e64 100644 --- a/enterprise/websvc.clientapi/manifest.mf +++ b/enterprise/websvc.clientapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.clientapi -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/client/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.core/nbproject/project.properties b/enterprise/websvc.core/nbproject/project.properties index b8f40545e7c3..65cf64d52ae9 100644 --- a/enterprise/websvc.core/nbproject/project.properties +++ b/enterprise/websvc.core/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.76.0 +spec.version.base=1.77.0 javadoc.arch=${basedir}/arch.xml diff --git a/enterprise/websvc.customization/nbproject/project.properties b/enterprise/websvc.customization/nbproject/project.properties index 5028e117ed3e..f44ded9734cb 100644 --- a/enterprise/websvc.customization/nbproject/project.properties +++ b/enterprise/websvc.customization/nbproject/project.properties @@ -17,4 +17,4 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.58.0 +spec.version.base=1.59.0 diff --git a/enterprise/websvc.design/manifest.mf b/enterprise/websvc.design/manifest.mf index 736be900fb46..efaf4f71084e 100644 --- a/enterprise/websvc.design/manifest.mf +++ b/enterprise/websvc.design/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.design OpenIDE-Module-Layer: org/netbeans/modules/websvc/design/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/design/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.editor.hints/manifest.mf b/enterprise/websvc.editor.hints/manifest.mf index 3f8c7dafcc66..d2f42fe9ce3b 100644 --- a/enterprise/websvc.editor.hints/manifest.mf +++ b/enterprise/websvc.editor.hints/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.editor.hints OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/editor/hints/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.jaxws.lightapi/manifest.mf b/enterprise/websvc.jaxws.lightapi/manifest.mf index d0a0b976321e..3c039a9a0fd5 100644 --- a/enterprise/websvc.jaxws.lightapi/manifest.mf +++ b/enterprise/websvc.jaxws.lightapi/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxws.lightapi OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxws/light/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/enterprise/websvc.jaxwsapi/manifest.mf b/enterprise/websvc.jaxwsapi/manifest.mf index ba206701997e..848ce865d597 100644 --- a/enterprise/websvc.jaxwsapi/manifest.mf +++ b/enterprise/websvc.jaxwsapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxwsapi OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxws/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.jaxwsmodel/manifest.mf b/enterprise/websvc.jaxwsmodel/manifest.mf index 07952cfa413d..efa594b400d9 100644 --- a/enterprise/websvc.jaxwsmodel/manifest.mf +++ b/enterprise/websvc.jaxwsmodel/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxwsmodel/1 OpenIDE-Module-Layer: org/netbeans/modules/websvc/jaxwsmodel/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxwsmodel/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.kit/manifest.mf b/enterprise/websvc.kit/manifest.mf index 7440224707cc..820df9b1ba51 100644 --- a/enterprise/websvc.kit/manifest.mf +++ b/enterprise/websvc.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/enterprise/websvc.manager/manifest.mf b/enterprise/websvc.manager/manifest.mf index d34d5cf6257d..721116229e73 100644 --- a/enterprise/websvc.manager/manifest.mf +++ b/enterprise/websvc.manager/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.websvc.manager OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/manager/Bundle.properties OpenIDE-Module-Install: org/netbeans/modules/websvc/manager/WebServiceModuleInstaller.class -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/enterprise/websvc.metro.lib/manifest.mf b/enterprise/websvc.metro.lib/manifest.mf index 7daa5c1dc0c2..57c223ae4d2e 100644 --- a/enterprise/websvc.metro.lib/manifest.mf +++ b/enterprise/websvc.metro.lib/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.metro.lib/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/metro/lib/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 OpenIDE-Module-Layer: org/netbeans/modules/websvc/metro/lib/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.owsm/manifest.mf b/enterprise/websvc.owsm/manifest.mf index 9dfee0066387..8a3c37e8ca48 100644 --- a/enterprise/websvc.owsm/manifest.mf +++ b/enterprise/websvc.owsm/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.owsm OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/owsm/Bundle.properties -OpenIDE-Module-Specification-Version: 1.45 +OpenIDE-Module-Specification-Version: 1.46 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.projectapi/manifest.mf b/enterprise/websvc.projectapi/manifest.mf index ff7288b3fe6a..97f6e461f65e 100644 --- a/enterprise/websvc.projectapi/manifest.mf +++ b/enterprise/websvc.projectapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.projectapi/0 -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/project/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.rest/manifest.mf b/enterprise/websvc.rest/manifest.mf index 9909acc7c8f4..8751190a33cd 100644 --- a/enterprise/websvc.rest/manifest.mf +++ b/enterprise/websvc.rest/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.rest/0 OpenIDE-Module-Layer: org/netbeans/modules/websvc/rest/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/rest/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.restapi/manifest.mf b/enterprise/websvc.restapi/manifest.mf index 8b7bbc17cb6d..934b2e5e90b1 100644 --- a/enterprise/websvc.restapi/manifest.mf +++ b/enterprise/websvc.restapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.restapi/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/rest/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.restkit/manifest.mf b/enterprise/websvc.restkit/manifest.mf index 7f60b6c20e84..1cc88c45e812 100644 --- a/enterprise/websvc.restkit/manifest.mf +++ b/enterprise/websvc.restkit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.restkit/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/restkit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/enterprise/websvc.restlib/manifest.mf b/enterprise/websvc.restlib/manifest.mf index 91f6962398bf..6f1d5f4b06df 100644 --- a/enterprise/websvc.restlib/manifest.mf +++ b/enterprise/websvc.restlib/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.restlib/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/swdp/Bundle.properties -OpenIDE-Module-Specification-Version: 2.40 +OpenIDE-Module-Specification-Version: 2.41 OpenIDE-Module-Layer: org/netbeans/modules/websvc/swdp/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.saas.codegen.j2ee/manifest.mf b/enterprise/websvc.saas.codegen.j2ee/manifest.mf index c7639634e9aa..68f0d79fc056 100644 --- a/enterprise/websvc.saas.codegen.j2ee/manifest.mf +++ b/enterprise/websvc.saas.codegen.j2ee/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.codegen.j2ee OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/codegen/j2ee/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Layer: org/netbeans/modules/websvc/saas/codegen/j2ee/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.utilities/manifest.mf b/enterprise/websvc.utilities/manifest.mf index a6edc89a216c..58e3fb1f4281 100644 --- a/enterprise/websvc.utilities/manifest.mf +++ b/enterprise/websvc.utilities/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.utilities/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/utilities/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.websvcapi/manifest.mf b/enterprise/websvc.websvcapi/manifest.mf index 3331e728fb7e..015764043d76 100644 --- a/enterprise/websvc.websvcapi/manifest.mf +++ b/enterprise/websvc.websvcapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.websvcapi -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/webservices/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.wsstackapi/manifest.mf b/enterprise/websvc.wsstackapi/manifest.mf index 263e3879dcb7..95a0d0fb9645 100644 --- a/enterprise/websvc.wsstackapi/manifest.mf +++ b/enterprise/websvc.wsstackapi/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.wsstackapi/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/wsstack/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 AutoUpdate-Show-In-Client: false diff --git a/ergonomics/ide.ergonomics/manifest.mf b/ergonomics/ide.ergonomics/manifest.mf index 015a878da6c9..6de8bf3d61f0 100644 --- a/ergonomics/ide.ergonomics/manifest.mf +++ b/ergonomics/ide.ergonomics/manifest.mf @@ -3,7 +3,7 @@ OpenIDE-Module: org.netbeans.modules.ide.ergonomics OpenIDE-Module-Install: org/netbeans/modules/ide/ergonomics/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/ide/ergonomics/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/ergonomics/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true OpenIDE-Module-Recommends: org.netbeans.modules.server diff --git a/extide/gradle.dists/manifest.mf b/extide/gradle.dists/manifest.mf index e039686bef7f..704651fd5787 100644 --- a/extide/gradle.dists/manifest.mf +++ b/extide/gradle.dists/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.gradle.dists OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/dists/Bundle.properties -OpenIDE-Module-Specification-Version: 1.20 +OpenIDE-Module-Specification-Version: 1.21 diff --git a/extide/gradle.editor/manifest.mf b/extide/gradle.editor/manifest.mf index 0366cba3079d..50b6ac02b30e 100644 --- a/extide/gradle.editor/manifest.mf +++ b/extide/gradle.editor/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.gradle.editor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.14 +OpenIDE-Module-Specification-Version: 1.15 diff --git a/extide/gradle/nbproject/project.properties b/extide/gradle/nbproject/project.properties index 915efb60fe9a..ed9fb219c413 100644 --- a/extide/gradle/nbproject/project.properties +++ b/extide/gradle/nbproject/project.properties @@ -25,7 +25,7 @@ javadoc.apichanges=${basedir}/apichanges.xml nbm.module.author=Laszlo Kishalmi source.reference.netbeans-gradle-tooling.jar=netbeans-gradle-tooling/src/main/groovy -spec.version.base=2.50.0 +spec.version.base=2.51.0 test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test-unit-sys-prop.java.awt.headless=true diff --git a/extide/libs.gradle/manifest.mf b/extide/libs.gradle/manifest.mf index 7dc7f64f592e..a3d2c2ea2660 100644 --- a/extide/libs.gradle/manifest.mf +++ b/extide/libs.gradle/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.libs.gradle/9 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/libs/gradle/Bundle.properties -OpenIDE-Module-Specification-Version: 9.4 +OpenIDE-Module-Specification-Version: 9.5 diff --git a/extide/o.apache.tools.ant.module/nbproject/project.properties b/extide/o.apache.tools.ant.module/nbproject/project.properties index d0795eee383b..326c84229cd1 100644 --- a/extide/o.apache.tools.ant.module/nbproject/project.properties +++ b/extide/o.apache.tools.ant.module/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=3.116.0 +spec.version.base=3.117.0 compile.ant.jar=${ant.core.lib} compile.ant-launcher.jar=${ant.core.lib}/../ant-launcher.jar src-bridge.cp.extra=build/classes:${compile.ant.jar}:${compile.ant-launcher.jar} diff --git a/extide/options.java/manifest.mf b/extide/options.java/manifest.mf index 867c416d1e91..51a6d7b0a9b1 100644 --- a/extide/options.java/manifest.mf +++ b/extide/options.java/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.options.java OpenIDE-Module-Layer: org/netbeans/modules/options/java/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/java/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.options.java -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/extra/libs.javafx.linux.aarch64/manifest.mf b/extra/libs.javafx.linux.aarch64/manifest.mf index 61055a3b38bc..b90a9483b852 100644 --- a/extra/libs.javafx.linux.aarch64/manifest.mf +++ b/extra/libs.javafx.linux.aarch64/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.linux.aarch64 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/linux/aarch64/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 21.1 +OpenIDE-Module-Specification-Version: 21.2 OpenIDE-Module-Requires: org.openide.modules.os.Linux, org.openide.modules.arch.aarch64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/extra/libs.javafx.linux/manifest.mf b/extra/libs.javafx.linux/manifest.mf index d1c4835b0dd1..bbc5f86ac16d 100644 --- a/extra/libs.javafx.linux/manifest.mf +++ b/extra/libs.javafx.linux/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.linux OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/linux/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 21.1 +OpenIDE-Module-Specification-Version: 21.2 OpenIDE-Module-Requires: org.openide.modules.os.Linux, org.openide.modules.arch.amd64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/extra/libs.javafx.macosx.aarch64/manifest.mf b/extra/libs.javafx.macosx.aarch64/manifest.mf index 429c8153d850..4af35181480b 100644 --- a/extra/libs.javafx.macosx.aarch64/manifest.mf +++ b/extra/libs.javafx.macosx.aarch64/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.macosx.aarch64 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/macosx/aarch64/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 21.1 +OpenIDE-Module-Specification-Version: 21.2 OpenIDE-Module-Requires: org.openide.modules.os.MacOSX, org.openide.modules.arch.aarch64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/extra/libs.javafx.macosx/manifest.mf b/extra/libs.javafx.macosx/manifest.mf index 0db5e5347284..5149d46624d4 100644 --- a/extra/libs.javafx.macosx/manifest.mf +++ b/extra/libs.javafx.macosx/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.macosx OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/macosx/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 21.1 +OpenIDE-Module-Specification-Version: 21.2 OpenIDE-Module-Requires: org.openide.modules.os.MacOSX, org.openide.modules.arch.x86_64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/extra/libs.javafx.win/manifest.mf b/extra/libs.javafx.win/manifest.mf index 8ee2f72d291e..77878b834ef4 100644 --- a/extra/libs.javafx.win/manifest.mf +++ b/extra/libs.javafx.win/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.win OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/win/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 21.1 +OpenIDE-Module-Specification-Version: 21.2 OpenIDE-Module-Requires: org.openide.modules.os.Windows, org.openide.modules.arch.amd64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/groovy/gradle.groovy/manifest.mf b/groovy/gradle.groovy/manifest.mf index 008bf8536c8f..bc79d8d15c95 100644 --- a/groovy/gradle.groovy/manifest.mf +++ b/groovy/gradle.groovy/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.groovy OpenIDE-Module-Layer: org/netbeans/modules/gradle/groovy/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/groovy/Bundle.properties -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 diff --git a/groovy/groovy.antproject/manifest.mf b/groovy/groovy.antproject/manifest.mf index 228d2d01f16b..8e1a49f520b6 100644 --- a/groovy/groovy.antproject/manifest.mf +++ b/groovy/groovy.antproject/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.antproject OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/antproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/groovy/groovy.debug/manifest.mf b/groovy/groovy.debug/manifest.mf index e7e965ad210d..1bd2bcf84f9c 100644 --- a/groovy/groovy.debug/manifest.mf +++ b/groovy/groovy.debug/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.debug/1 OpenIDE-Module-Layer: org/netbeans/modules/groovy/debug/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/debug/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.15 +OpenIDE-Module-Specification-Version: 1.16 diff --git a/groovy/groovy.editor/manifest.mf b/groovy/groovy.editor/manifest.mf index c1ad85f002d5..290e014b3a7d 100644 --- a/groovy/groovy.editor/manifest.mf +++ b/groovy/groovy.editor/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.editor/3 OpenIDE-Module-Layer: org/netbeans/modules/groovy/editor/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.101 +OpenIDE-Module-Specification-Version: 1.102 diff --git a/groovy/groovy.gsp/manifest.mf b/groovy/groovy.gsp/manifest.mf index 8827e1e46fbe..0940d3678093 100644 --- a/groovy/groovy.gsp/manifest.mf +++ b/groovy/groovy.gsp/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.gsp OpenIDE-Module-Layer: org/netbeans/modules/groovy/gsp/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/gsp/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 diff --git a/groovy/groovy.kit/manifest.mf b/groovy/groovy.kit/manifest.mf index 89f43ad682ee..001a6f837d64 100644 --- a/groovy/groovy.kit/manifest.mf +++ b/groovy/groovy.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.groovy.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/groovy/groovy.refactoring/manifest.mf b/groovy/groovy.refactoring/manifest.mf index b30264c5c771..b9c0ec362e76 100644 --- a/groovy/groovy.refactoring/manifest.mf +++ b/groovy/groovy.refactoring/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.refactoring OpenIDE-Module-Layer: org/netbeans/modules/groovy/refactoring/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/refactoring/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/groovy/groovy.samples/manifest.mf b/groovy/groovy.samples/manifest.mf index 6856284305b5..725fa9475f93 100644 --- a/groovy/groovy.samples/manifest.mf +++ b/groovy/groovy.samples/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.samples OpenIDE-Module-Layer: org/netbeans/modules/groovy/samples/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/samples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/groovy/groovy.support/manifest.mf b/groovy/groovy.support/manifest.mf index 9a4535630da2..e5aca0e7b41a 100644 --- a/groovy/groovy.support/manifest.mf +++ b/groovy/groovy.support/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.support OpenIDE-Module-Layer: org/netbeans/modules/groovy/support/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/support/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker diff --git a/groovy/libs.groovy/manifest.mf b/groovy/libs.groovy/manifest.mf index 64227b11c276..35156c88b8ba 100644 --- a/groovy/libs.groovy/manifest.mf +++ b/groovy/libs.groovy/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.libs.groovy OpenIDE-Module-Layer: org/netbeans/modules/libs/groovy/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/libs/groovy/Bundle.properties -OpenIDE-Module-Specification-Version: 2.32 +OpenIDE-Module-Specification-Version: 2.33 diff --git a/groovy/maven.groovy/manifest.mf b/groovy/maven.groovy/manifest.mf index 513bff3eb83c..996f93595508 100644 --- a/groovy/maven.groovy/manifest.mf +++ b/groovy/maven.groovy/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.groovy OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/groovy/Bundle.properties -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 diff --git a/harness/apisupport.harness/manifest.mf b/harness/apisupport.harness/manifest.mf index 830545aa394d..d81deb644f70 100644 --- a/harness/apisupport.harness/manifest.mf +++ b/harness/apisupport.harness/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.apisupport.harness -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/harness/Bundle.properties diff --git a/harness/jellytools.platform/manifest.mf b/harness/jellytools.platform/manifest.mf index 223fd7717214..c5c6667efc18 100644 --- a/harness/jellytools.platform/manifest.mf +++ b/harness/jellytools.platform/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jellytools.platform/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jellytools/platform/Bundle.properties -OpenIDE-Module-Specification-Version: 3.61 +OpenIDE-Module-Specification-Version: 3.62 diff --git a/harness/jemmy/manifest.mf b/harness/jemmy/manifest.mf index 97760339fba4..49b9bcce455a 100644 --- a/harness/jemmy/manifest.mf +++ b/harness/jemmy/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jemmy/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jemmy/idemodule/Bundle.properties -OpenIDE-Module-Specification-Version: 3.59 +OpenIDE-Module-Specification-Version: 3.60 diff --git a/harness/nbjunit/manifest.mf b/harness/nbjunit/manifest.mf index ebee49155dcb..360259f59ebe 100644 --- a/harness/nbjunit/manifest.mf +++ b/harness/nbjunit/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.nbjunit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/junit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.122 +OpenIDE-Module-Specification-Version: 1.123 diff --git a/harness/o.n.insane/nbproject/project.properties b/harness/o.n.insane/nbproject/project.properties index 4ffcb2eec259..44b78ac58308 100644 --- a/harness/o.n.insane/nbproject/project.properties +++ b/harness/o.n.insane/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.61.0 +spec.version.base=1.62.0 cp.extra=build/hookclasses diff --git a/ide/api.debugger/manifest.mf b/ide/api.debugger/manifest.mf index 594c9383f6b8..0a5b649cd898 100644 --- a/ide/api.debugger/manifest.mf +++ b/ide/api.debugger/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.debugger/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 1.87 +OpenIDE-Module-Specification-Version: 1.88 OpenIDE-Module-Layer: org/netbeans/api/debugger/layer.xml diff --git a/ide/api.java.classpath/manifest.mf b/ide/api.java.classpath/manifest.mf index 0ea05c4292c4..4ae44eec2992 100644 --- a/ide/api.java.classpath/manifest.mf +++ b/ide/api.java.classpath/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.java.classpath/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/java/classpath/Bundle.properties OpenIDE-Module-Recommends: cnb.org.netbeans.api.java.classpath.nb -OpenIDE-Module-Specification-Version: 1.86 +OpenIDE-Module-Specification-Version: 1.87 diff --git a/ide/api.lsp/manifest.mf b/ide/api.lsp/manifest.mf index 80880886c3ba..aaebc7765e92 100644 --- a/ide/api.lsp/manifest.mf +++ b/ide/api.lsp/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.lsp/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/lsp/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 AutoUpdate-Show-In-Client: false diff --git a/ide/api.xml.ui/manifest.mf b/ide/api.xml.ui/manifest.mf index 94dea9e64834..3a3b964c822b 100644 --- a/ide/api.xml.ui/manifest.mf +++ b/ide/api.xml.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.xml.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/xml/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 diff --git a/ide/api.xml/manifest.mf b/ide/api.xml/manifest.mf index 844d4ccaf1c0..dbe0fe0e1882 100644 --- a/ide/api.xml/manifest.mf +++ b/ide/api.xml/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.xml/1 -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/xml/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/api/xml/resources/mf-layer.xml diff --git a/ide/bugtracking.bridge/manifest.mf b/ide/bugtracking.bridge/manifest.mf index 929d7228c21a..b091015f9a19 100644 --- a/ide/bugtracking.bridge/manifest.mf +++ b/ide/bugtracking.bridge/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.bugtracking.bridge OpenIDE-Module-Layer: org/netbeans/modules/bugtracking/bridge/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/bugtracking/bridge/Bundle.properties -OpenIDE-Module-Specification-Version: 1.78 +OpenIDE-Module-Specification-Version: 1.79 diff --git a/ide/bugtracking.commons/manifest.mf b/ide/bugtracking.commons/manifest.mf index 0079229de95c..a5a0e4275023 100644 --- a/ide/bugtracking.commons/manifest.mf +++ b/ide/bugtracking.commons/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.bugtracking.commons OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/bugtracking/commons/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/ide/bugtracking/manifest.mf b/ide/bugtracking/manifest.mf index cf2338175d86..778ebfded31d 100644 --- a/ide/bugtracking/manifest.mf +++ b/ide/bugtracking/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.bugtracking OpenIDE-Module-Layer: org/netbeans/modules/bugtracking/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/bugtracking/Bundle.properties -OpenIDE-Module-Specification-Version: 1.141 +OpenIDE-Module-Specification-Version: 1.142 Netigso-Export-Package: org.netbeans.modules.bugtracking.api,org.netbeans.modules.bugtracking.spi diff --git a/ide/c.google.guava.failureaccess/nbproject/project.properties b/ide/c.google.guava.failureaccess/nbproject/project.properties index b44483d3c596..cd52f22c3dcf 100644 --- a/ide/c.google.guava.failureaccess/nbproject/project.properties +++ b/ide/c.google.guava.failureaccess/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial javac.release=8 -spec.version.base=1.10.0 +spec.version.base=1.11.0 release.external/failureaccess-1.0.3.jar=modules/com-google-guava-failureaccess.jar is.autoload=true nbm.module.author=Tomas Stupka diff --git a/ide/c.google.guava/nbproject/project.properties b/ide/c.google.guava/nbproject/project.properties index 8104553cced2..66664d9bff30 100644 --- a/ide/c.google.guava/nbproject/project.properties +++ b/ide/c.google.guava/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial javac.release=8 -spec.version.base=27.25.0 +spec.version.base=27.26.0 release.external/guava-33.4.6-jre.jar=modules/com-google-guava.jar is.autoload=true nbm.module.author=Tomas Stupka diff --git a/ide/c.jcraft.jzlib/nbproject/project.properties b/ide/c.jcraft.jzlib/nbproject/project.properties index fab378999a20..481d7763ac5b 100644 --- a/ide/c.jcraft.jzlib/nbproject/project.properties +++ b/ide/c.jcraft.jzlib/nbproject/project.properties @@ -17,5 +17,5 @@ is.autoload=true extra.license.files=external/jzlib-1.1.3-license.txt -spec.version.base=1.56.0 +spec.version.base=1.57.0 sigtest.gen.fail.on.error=false diff --git a/ide/code.analysis/manifest.mf b/ide/code.analysis/manifest.mf index cd55aa2dfbfd..39f2777d3b80 100644 --- a/ide/code.analysis/manifest.mf +++ b/ide/code.analysis/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.code.analysis/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/analysis/Bundle.properties OpenIDE-Module-Recommends: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 OpenIDE-Module-Layer: org/netbeans/modules/analysis/resources/layer.xml diff --git a/ide/core.browser.webview/nbproject/project.properties b/ide/core.browser.webview/nbproject/project.properties index 4a932bad36f9..d8d982384da5 100644 --- a/ide/core.browser.webview/nbproject/project.properties +++ b/ide/core.browser.webview/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.47.0 +spec.version.base=1.48.0 is.eager=true cp.extra=../libs.javafx/build/openjfx.zip diff --git a/ide/core.browser/nbproject/project.properties b/ide/core.browser/nbproject/project.properties index e299d94f01b1..7402f605dd45 100644 --- a/ide/core.browser/nbproject/project.properties +++ b/ide/core.browser/nbproject/project.properties @@ -17,4 +17,4 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.60.0 +spec.version.base=1.61.0 diff --git a/ide/core.ide/manifest.mf b/ide/core.ide/manifest.mf index 779dfd1ea553..f789c27da042 100644 --- a/ide/core.ide/manifest.mf +++ b/ide/core.ide/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.ide/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/core/ide/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.73 +OpenIDE-Module-Specification-Version: 1.74 AutoUpdate-Show-In-Client: false OpenIDE-Module-Layer: org/netbeans/core/ide/resources/layer.xml diff --git a/ide/core.multitabs.project/nbproject/project.properties b/ide/core.multitabs.project/nbproject/project.properties index 985195076aad..d3b919bb4d01 100644 --- a/ide/core.multitabs.project/nbproject/project.properties +++ b/ide/core.multitabs.project/nbproject/project.properties @@ -17,4 +17,4 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial nbm.needs.restart=true -spec.version.base=1.42.0 +spec.version.base=1.43.0 diff --git a/ide/csl.api/nbproject/project.properties b/ide/csl.api/nbproject/project.properties index ff75c8488f6a..9192280c9431 100644 --- a/ide/csl.api/nbproject/project.properties +++ b/ide/csl.api/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -spec.version.base=2.90.0 +spec.version.base=2.91.0 is.autoload=true javac.release=17 diff --git a/ide/csl.types/manifest.mf b/ide/csl.types/manifest.mf index 10bb962e4b33..4f36e469382b 100644 --- a/ide/csl.types/manifest.mf +++ b/ide/csl.types/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.csl.types/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/csl/types/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/ide/css.editor/manifest.mf b/ide/css.editor/manifest.mf index e4b8f6b37278..8a6c3b68484f 100644 --- a/ide/css.editor/manifest.mf +++ b/ide/css.editor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.css.editor/1 OpenIDE-Module-Layer: org/netbeans/modules/css/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.100 +OpenIDE-Module-Specification-Version: 1.101 AutoUpdate-Show-In-Client: false diff --git a/ide/css.lib/manifest.mf b/ide/css.lib/manifest.mf index ef40d289f051..d1c728ee9237 100644 --- a/ide/css.lib/manifest.mf +++ b/ide/css.lib/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.css.lib/2 OpenIDE-Module-Layer: org/netbeans/modules/css/lib/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/lib/Bundle.properties -OpenIDE-Module-Specification-Version: 2.12 +OpenIDE-Module-Specification-Version: 2.13 diff --git a/ide/css.model/manifest.mf b/ide/css.model/manifest.mf index 93808d7759dc..712e6359c4ec 100644 --- a/ide/css.model/manifest.mf +++ b/ide/css.model/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.css.model OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/model/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 AutoUpdate-Show-In-Client: true diff --git a/ide/css.prep/manifest.mf b/ide/css.prep/manifest.mf index 68f1a4892a44..c22b62fab924 100644 --- a/ide/css.prep/manifest.mf +++ b/ide/css.prep/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.css.prep OpenIDE-Module-Layer: org/netbeans/modules/css/prep/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/prep/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 diff --git a/ide/css.visual/manifest.mf b/ide/css.visual/manifest.mf index 08213877d414..d2b787aeab76 100644 --- a/ide/css.visual/manifest.mf +++ b/ide/css.visual/manifest.mf @@ -5,4 +5,4 @@ OpenIDE-Module-Layer: org/netbeans/modules/css/visual/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/visual/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.IOProvider AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 3.64 +OpenIDE-Module-Specification-Version: 3.65 diff --git a/ide/db.core/manifest.mf b/ide/db.core/manifest.mf index 90c30cc80349..bde333a1146c 100644 --- a/ide/db.core/manifest.mf +++ b/ide/db.core/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.core -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/core/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/db/core/resources/layer.xml OpenIDE-Module-Requires: org.openide.windows.IOProvider diff --git a/ide/db.dataview/manifest.mf b/ide/db.dataview/manifest.mf index ec711759d121..d68b91a430e2 100644 --- a/ide/db.dataview/manifest.mf +++ b/ide/db.dataview/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.dataview OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/dataview/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 AutoUpdate-Show-In-Client: false diff --git a/ide/db.drivers/manifest.mf b/ide/db.drivers/manifest.mf index 3ed8b8d80ee5..5336be842bf6 100644 --- a/ide/db.drivers/manifest.mf +++ b/ide/db.drivers/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.drivers OpenIDE-Module-Layer: org/netbeans/modules/db/drivers/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/drivers/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 AutoUpdate-Show-In-Client: false diff --git a/ide/db.kit/manifest.mf b/ide/db.kit/manifest.mf index 50bb72374503..425a9b3b4347 100644 --- a/ide/db.kit/manifest.mf +++ b/ide/db.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 diff --git a/ide/db.metadata.model/manifest.mf b/ide/db.metadata.model/manifest.mf index 5d580a939850..e7193a2b0ac3 100644 --- a/ide/db.metadata.model/manifest.mf +++ b/ide/db.metadata.model/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.metadata.model/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/metadata/model/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 AutoUpdate-Show-In-Client: false diff --git a/ide/db.mysql/nbproject/project.properties b/ide/db.mysql/nbproject/project.properties index 2397df305361..0e25feba4c39 100644 --- a/ide/db.mysql/nbproject/project.properties +++ b/ide/db.mysql/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=0.60.0 +spec.version.base=0.61.0 test.unit.cp.extra=external/mysql-connector-j-8.0.31.jar diff --git a/ide/db.sql.editor/nbproject/project.properties b/ide/db.sql.editor/nbproject/project.properties index 69a5ce1742f0..89d31b8bcb97 100644 --- a/ide/db.sql.editor/nbproject/project.properties +++ b/ide/db.sql.editor/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.69.0 +spec.version.base=1.70.0 # org-netbeans-core: for /xml/lookups in the default fs # (needed in order to load database connections from the SFS) diff --git a/ide/db.sql.visualeditor/nbproject/project.properties b/ide/db.sql.visualeditor/nbproject/project.properties index 1ef0e25a8c32..bd066c149195 100644 --- a/ide/db.sql.visualeditor/nbproject/project.properties +++ b/ide/db.sql.visualeditor/nbproject/project.properties @@ -27,4 +27,4 @@ module.javadoc.packages= org.netbeans.modules.db.sql.visualeditor.api #javadoc.title=Creator Designtime API #javadoc.arch=${basedir}/arch.xml #javadoc.arch=${basedir}/arch/arch-designtime.xml -spec.version.base=2.64.0 +spec.version.base=2.65.0 diff --git a/ide/db/nbproject/project.properties b/ide/db/nbproject/project.properties index ca6c799bee04..d97ba1d5299e 100644 --- a/ide/db/nbproject/project.properties +++ b/ide/db/nbproject/project.properties @@ -20,7 +20,7 @@ javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.101.0 +spec.version.base=1.102.0 extra.module.files=modules/ext/ddl.jar diff --git a/ide/dbapi/nbproject/project.properties b/ide/dbapi/nbproject/project.properties index ac299f1c7660..cfe02f04e346 100644 --- a/ide/dbapi/nbproject/project.properties +++ b/ide/dbapi/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.66.0 +spec.version.base=1.67.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/defaults/manifest.mf b/ide/defaults/manifest.mf index f6ee68c39950..af79fe048832 100644 --- a/ide/defaults/manifest.mf +++ b/ide/defaults/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.defaults/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/defaults/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/defaults/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 AutoUpdate-Show-In-Client: false diff --git a/ide/derby/manifest.mf b/ide/derby/manifest.mf index 72cedb8a582d..e6900ee5cd98 100644 --- a/ide/derby/manifest.mf +++ b/ide/derby/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.derby OpenIDE-Module-Layer: org/netbeans/modules/derby/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/derby/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 AutoUpdate-Show-In-Client: false diff --git a/ide/diff/nbproject/project.properties b/ide/diff/nbproject/project.properties index 4c7353038851..4de8cdeb1cf7 100644 --- a/ide/diff/nbproject/project.properties +++ b/ide/diff/nbproject/project.properties @@ -18,7 +18,7 @@ javac.compilerargs=-Xlint javac.release=17 -spec.version.base=1.83.0 +spec.version.base=1.84.0 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/dlight.nativeexecution.nb/manifest.mf b/ide/dlight.nativeexecution.nb/manifest.mf index 95354d781b13..664567465a0e 100644 --- a/ide/dlight.nativeexecution.nb/manifest.mf +++ b/ide/dlight.nativeexecution.nb/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.dlight.nativeexecution.nb OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nativeexecution/nb/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 OpenIDE-Module-Provides: org.netbeans.modules.nativeexecution.spi.NativeExecutionUIProvider diff --git a/ide/dlight.nativeexecution/nbproject/project.properties b/ide/dlight.nativeexecution/nbproject/project.properties index 29b0a6cae1cd..905c06fe5e43 100644 --- a/ide/dlight.nativeexecution/nbproject/project.properties +++ b/ide/dlight.nativeexecution/nbproject/project.properties @@ -21,7 +21,7 @@ javadoc.arch=${basedir}/arch.xml project.license=apache20-asf nbm.executable.files=bin/nativeexecution/** jnlp.indirect.files=bin/nativeexecution/** -spec.version.base=1.71.0 +spec.version.base=1.72.0 test.config.default.includes=**/*Test.class test.config.default.excludes=\ diff --git a/ide/dlight.terminal/nbproject/project.properties b/ide/dlight.terminal/nbproject/project.properties index 8ada4ebb2801..75707f92a74d 100644 --- a/ide/dlight.terminal/nbproject/project.properties +++ b/ide/dlight.terminal/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.56.0 +spec.version.base=1.57.0 diff --git a/ide/docker.api/manifest.mf b/ide/docker.api/manifest.mf index 06f0f7d42960..c475367bc7e1 100644 --- a/ide/docker.api/manifest.mf +++ b/ide/docker.api/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.docker.api/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/docker/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 AutoUpdate-Show-In-Client: false diff --git a/ide/docker.editor/manifest.mf b/ide/docker.editor/manifest.mf index 7ae0b6ecd855..21e099f794df 100644 --- a/ide/docker.editor/manifest.mf +++ b/ide/docker.editor/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.docker.editor/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/docker/editor/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/docker/editor/layer.xml -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/ide/docker.ui/manifest.mf b/ide/docker.ui/manifest.mf index b851c3a5ab5d..8d25f0b0c7cb 100644 --- a/ide/docker.ui/manifest.mf +++ b/ide/docker.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.docker.ui/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/docker/ui/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 AutoUpdate-Show-In-Client: true diff --git a/ide/editor.actions/nbproject/project.properties b/ide/editor.actions/nbproject/project.properties index 59d5be75d8d7..dc17ef3fa4cf 100644 --- a/ide/editor.actions/nbproject/project.properties +++ b/ide/editor.actions/nbproject/project.properties @@ -18,7 +18,7 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.title=Editor Actions -spec.version.base=1.63.0 +spec.version.base=1.64.0 #javadoc.arch=${basedir}/arch.xml #javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/editor.autosave/manifest.mf b/ide/editor.autosave/manifest.mf index 87a03661b052..635e39f48930 100644 --- a/ide/editor.autosave/manifest.mf +++ b/ide/editor.autosave/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.autosave/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/autosave/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.editor.autosave -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 AutoUpdate-Show-In-Client: false diff --git a/ide/editor.bookmarks/manifest.mf b/ide/editor.bookmarks/manifest.mf index 251b7efb4790..60d0474eded3 100644 --- a/ide/editor.bookmarks/manifest.mf +++ b/ide/editor.bookmarks/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.bookmarks/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/bookmarks/Bundle.properties -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 OpenIDE-Module-Layer: org/netbeans/modules/editor/bookmarks/resources/layer.xml OpenIDE-Module-Install: org/netbeans/modules/editor/bookmarks/EditorBookmarksModule.class AutoUpdate-Show-In-Client: false diff --git a/ide/editor.bracesmatching/nbproject/project.properties b/ide/editor.bracesmatching/nbproject/project.properties index 8d5fcf0f02bc..ac103be6b4a3 100644 --- a/ide/editor.bracesmatching/nbproject/project.properties +++ b/ide/editor.bracesmatching/nbproject/project.properties @@ -19,7 +19,7 @@ javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.71.0 +spec.version.base=1.72.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ **/MasterMatcherTest.class diff --git a/ide/editor.breadcrumbs/manifest.mf b/ide/editor.breadcrumbs/manifest.mf index 511068930bb1..b94cb0a222fd 100644 --- a/ide/editor.breadcrumbs/manifest.mf +++ b/ide/editor.breadcrumbs/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.breadcrumbs/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/breadcrumbs/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/ide/editor.codetemplates/nbproject/project.properties b/ide/editor.codetemplates/nbproject/project.properties index e6da3ed1560c..00f3e7bb382a 100644 --- a/ide/editor.codetemplates/nbproject/project.properties +++ b/ide/editor.codetemplates/nbproject/project.properties @@ -20,6 +20,6 @@ javac.release=17 #javadoc.name=EditorCodeTemplates javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml -spec.version.base=1.76.0 +spec.version.base=1.77.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/editor.completion/nbproject/project.properties b/ide/editor.completion/nbproject/project.properties index 66daab49e4e1..cecbee1b47e0 100644 --- a/ide/editor.completion/nbproject/project.properties +++ b/ide/editor.completion/nbproject/project.properties @@ -19,4 +19,4 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.77.0 +spec.version.base=1.78.0 diff --git a/ide/editor.deprecated.pre65formatting/nbproject/project.properties b/ide/editor.deprecated.pre65formatting/nbproject/project.properties index 1678a33dac06..b52d51b38d03 100644 --- a/ide/editor.deprecated.pre65formatting/nbproject/project.properties +++ b/ide/editor.deprecated.pre65formatting/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.63.0 +spec.version.base=1.64.0 diff --git a/ide/editor.document/nbproject/project.properties b/ide/editor.document/nbproject/project.properties index f6a5407a2031..7ee29b1a3a83 100644 --- a/ide/editor.document/nbproject/project.properties +++ b/ide/editor.document/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.41.0 +spec.version.base=1.42.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml is.autoload=true diff --git a/ide/editor.errorstripe.api/nbproject/project.properties b/ide/editor.errorstripe.api/nbproject/project.properties index e3973350dd58..a07322baf439 100644 --- a/ide/editor.errorstripe.api/nbproject/project.properties +++ b/ide/editor.errorstripe.api/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=2.64.0 +spec.version.base=2.65.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.errorstripe/nbproject/project.properties b/ide/editor.errorstripe/nbproject/project.properties index c70ea345ed4f..960da6d5fb6c 100644 --- a/ide/editor.errorstripe/nbproject/project.properties +++ b/ide/editor.errorstripe/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=2.66.0 +spec.version.base=2.67.0 nbm.needs.restart=true test.config.stableBTD.includes=**/*Test.class diff --git a/ide/editor.fold.nbui/nbproject/project.properties b/ide/editor.fold.nbui/nbproject/project.properties index 531837e3e9a7..8cca64a90657 100644 --- a/ide/editor.fold.nbui/nbproject/project.properties +++ b/ide/editor.fold.nbui/nbproject/project.properties @@ -18,4 +18,4 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml -spec.version.base=1.44.0 +spec.version.base=1.45.0 diff --git a/ide/editor.fold/manifest.mf b/ide/editor.fold/manifest.mf index 78df6b7c5e4f..5807b05e4c55 100644 --- a/ide/editor.fold/manifest.mf +++ b/ide/editor.fold/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.fold/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/fold/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.77 +OpenIDE-Module-Specification-Version: 1.78 diff --git a/ide/editor.global.format/nbproject/project.properties b/ide/editor.global.format/nbproject/project.properties index cbf75d5f8ea7..a9de06653bd0 100644 --- a/ide/editor.global.format/nbproject/project.properties +++ b/ide/editor.global.format/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.47.0 +spec.version.base=1.48.0 diff --git a/ide/editor.guards/manifest.mf b/ide/editor.guards/manifest.mf index 6b44e84049c5..2ed272458c73 100644 --- a/ide/editor.guards/manifest.mf +++ b/ide/editor.guards/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.guards/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/guards/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 diff --git a/ide/editor.indent.project/manifest.mf b/ide/editor.indent.project/manifest.mf index 56bd4923972c..34ecd3d24c08 100644 --- a/ide/editor.indent.project/manifest.mf +++ b/ide/editor.indent.project/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.indent.project/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/indent/project/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.editor.indent.spi.CodeStylePreferences.Provider -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/ide/editor.indent.support/manifest.mf b/ide/editor.indent.support/manifest.mf index 269d002ce6a8..64e57198acd5 100644 --- a/ide/editor.indent.support/manifest.mf +++ b/ide/editor.indent.support/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.editor.indent.support OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/indent/support/Bundle.properties -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 diff --git a/ide/editor.indent/manifest.mf b/ide/editor.indent/manifest.mf index 81acc7c0b6b4..dc1e60ee903d 100644 --- a/ide/editor.indent/manifest.mf +++ b/ide/editor.indent/manifest.mf @@ -5,4 +5,4 @@ OpenIDE-Module-Layer: org/netbeans/modules/editor/indent/resources/layer.xml AutoUpdate-Show-In-Client: false OpenIDE-Module-Recommends: org.netbeans.modules.editor.indent.spi.CodeStylePreferences.Provider OpenIDE-Module-Provides: org.netbeans.templates.IndentEngine -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 diff --git a/ide/editor.kit/manifest.mf b/ide/editor.kit/manifest.mf index 0430d1922f8f..394936663916 100644 --- a/ide/editor.kit/manifest.mf +++ b/ide/editor.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.editor.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 diff --git a/ide/editor.lib/nbproject/project.properties b/ide/editor.lib/nbproject/project.properties index 712889b37b55..44edb562aebe 100644 --- a/ide/editor.lib/nbproject/project.properties +++ b/ide/editor.lib/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint javac.release=17 -spec.version.base=4.39.0 +spec.version.base=4.40.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.lib2/nbproject/project.properties b/ide/editor.lib2/nbproject/project.properties index db5825660dd0..2c3b74e48c06 100644 --- a/ide/editor.lib2/nbproject/project.properties +++ b/ide/editor.lib2/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -spec.version.base=2.52.0 +spec.version.base=2.53.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/editor.macros/nbproject/project.properties b/ide/editor.macros/nbproject/project.properties index 2b1005d383a3..d5be80fa404f 100644 --- a/ide/editor.macros/nbproject/project.properties +++ b/ide/editor.macros/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.63.0 +spec.version.base=1.64.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/editor.plain.lib/manifest.mf b/ide/editor.plain.lib/manifest.mf index 4e506c4089c2..7955dcbff1c5 100644 --- a/ide/editor.plain.lib/manifest.mf +++ b/ide/editor.plain.lib/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.plain.lib/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/editor/plain/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 AutoUpdate-Show-In-Client: false diff --git a/ide/editor.plain/manifest.mf b/ide/editor.plain/manifest.mf index 6af713cffb7e..af04bc99db90 100644 --- a/ide/editor.plain/manifest.mf +++ b/ide/editor.plain/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.plain/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/plain/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 OpenIDE-Module-Layer: org/netbeans/modules/editor/plain/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/ide/editor.search/nbproject/project.properties b/ide/editor.search/nbproject/project.properties index 75707f92a74d..9e11d5ea917d 100644 --- a/ide/editor.search/nbproject/project.properties +++ b/ide/editor.search/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.57.0 +spec.version.base=1.58.0 diff --git a/ide/editor.settings.lib/nbproject/project.properties b/ide/editor.settings.lib/nbproject/project.properties index 50f5decc891d..a3a9d8a6a448 100644 --- a/ide/editor.settings.lib/nbproject/project.properties +++ b/ide/editor.settings.lib/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.83.0 +spec.version.base=1.84.0 diff --git a/ide/editor.settings.storage/nbproject/project.properties b/ide/editor.settings.storage/nbproject/project.properties index 24438f3e8daa..f646cf47439e 100644 --- a/ide/editor.settings.storage/nbproject/project.properties +++ b/ide/editor.settings.storage/nbproject/project.properties @@ -20,7 +20,7 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml -spec.version.base=1.84.0 +spec.version.base=1.85.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/editor.settings/manifest.mf b/ide/editor.settings/manifest.mf index 97abaa26ff49..175fb68f6fae 100644 --- a/ide/editor.settings/manifest.mf +++ b/ide/editor.settings/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.settings/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/settings/Bundle.properties -OpenIDE-Module-Specification-Version: 1.89 +OpenIDE-Module-Specification-Version: 1.90 OpenIDE-Module-Needs: org.netbeans.api.editor.settings.implementation diff --git a/ide/editor.structure/nbproject/project.properties b/ide/editor.structure/nbproject/project.properties index ace064723a89..cc1cfa6561d7 100644 --- a/ide/editor.structure/nbproject/project.properties +++ b/ide/editor.structure/nbproject/project.properties @@ -21,7 +21,7 @@ javac.compilerargs=-Xlint javac.release=17 -spec.version.base=1.79.0 +spec.version.base=1.80.0 javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.tools.storage/manifest.mf b/ide/editor.tools.storage/manifest.mf index 7fc21bada6b1..190a953977a2 100644 --- a/ide/editor.tools.storage/manifest.mf +++ b/ide/editor.tools.storage/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.editor.tools.storage OpenIDE-Module-Layer: org/netbeans/modules/editor/tools/storage/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/tools/storage/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/ide/editor.util/manifest.mf b/ide/editor.util/manifest.mf index 8e59cd70730e..89face549d6d 100644 --- a/ide/editor.util/manifest.mf +++ b/ide/editor.util/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.util/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/editor/util/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.97 +OpenIDE-Module-Specification-Version: 1.98 diff --git a/ide/editor/nbproject/project.properties b/ide/editor/nbproject/project.properties index 784dccc45c38..e5de02a22073 100644 --- a/ide/editor/nbproject/project.properties +++ b/ide/editor/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint javac.release=17 -spec.version.base=1.119.0 +spec.version.base=1.120.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/extbrowser/manifest.mf b/ide/extbrowser/manifest.mf index 9eaa5c559775..44431e9dbf43 100644 --- a/ide/extbrowser/manifest.mf +++ b/ide/extbrowser/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.extbrowser/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extbrowser/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/extbrowser/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.4 +OpenIDE-Module-Specification-Version: 2.5 diff --git a/ide/extexecution.base/manifest.mf b/ide/extexecution.base/manifest.mf index b21433ff9496..5e89834e3cb3 100644 --- a/ide/extexecution.base/manifest.mf +++ b/ide/extexecution.base/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.extexecution.base/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extexecution/base/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 OpenIDE-Module-Recommends: org.netbeans.spi.extexecution.base.ProcessesImplementation diff --git a/ide/extexecution.impl/manifest.mf b/ide/extexecution.impl/manifest.mf index fe2143feefbe..4c30fb3a24d6 100644 --- a/ide/extexecution.impl/manifest.mf +++ b/ide/extexecution.impl/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.extexecution.impl OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extexecution/impl/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Provides: org.netbeans.spi.extexecution.open.OptionOpenHandler, org.netbeans.spi.extexecution.open.FileOpenHandler, org.netbeans.spi.extexecution.open.HttpOpenHandler diff --git a/ide/extexecution.process/manifest.mf b/ide/extexecution.process/manifest.mf index 7d528f27ad6f..3d3a133eee56 100644 --- a/ide/extexecution.process/manifest.mf +++ b/ide/extexecution.process/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.extexecution.process OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extexecution/process/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 OpenIDE-Module-Provides: org.netbeans.spi.extexecution.base.ProcessesImplementation diff --git a/ide/extexecution/manifest.mf b/ide/extexecution/manifest.mf index 96d623183fc3..d8a6b0c1afe5 100644 --- a/ide/extexecution/manifest.mf +++ b/ide/extexecution/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.extexecution/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extexecution/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.81 +OpenIDE-Module-Specification-Version: 1.82 OpenIDE-Module-Recommends: org.netbeans.spi.extexecution.open.OptionOpenHandler, org.netbeans.spi.extexecution.open.FileOpenHandler, org.netbeans.spi.extexecution.open.HttpOpenHandler diff --git a/ide/git/nbproject/project.properties b/ide/git/nbproject/project.properties index a3fbf1012c3d..25435bec1cf1 100644 --- a/ide/git/nbproject/project.properties +++ b/ide/git/nbproject/project.properties @@ -22,7 +22,7 @@ nbm.needs.restart=true # #178009 # disable.qa-functional.tests=false -spec.version.base=1.55.0 +spec.version.base=1.56.0 test.config.stable.includes=**/*Test.class diff --git a/ide/go.lang/manifest.mf b/ide/go.lang/manifest.mf index 28d56cfc56d4..87cd52b9b291 100644 --- a/ide/go.lang/manifest.mf +++ b/ide/go.lang/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.go.lang OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/go/lang/Bundle.properties -OpenIDE-Module-Specification-Version: 1.13 +OpenIDE-Module-Specification-Version: 1.14 AutoUpdate-Show-In-Client: false diff --git a/ide/gototest/manifest.mf b/ide/gototest/manifest.mf index adad659da43d..5598a984f40d 100644 --- a/ide/gototest/manifest.mf +++ b/ide/gototest/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.gototest/1 OpenIDE-Module-Layer: org/netbeans/modules/gototest/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gototest/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 diff --git a/ide/gsf.codecoverage/manifest.mf b/ide/gsf.codecoverage/manifest.mf index b9c765a22c76..ada5bb143a8a 100644 --- a/ide/gsf.codecoverage/manifest.mf +++ b/ide/gsf.codecoverage/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.gsf.codecoverage OpenIDE-Module-Layer: org/netbeans/modules/gsf/codecoverage/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gsf/codecoverage/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 AutoUpdate-Show-In-Client: false diff --git a/ide/gsf.testrunner.ui/nbproject/project.properties b/ide/gsf.testrunner.ui/nbproject/project.properties index 1015e106e6e9..53a9d49b4148 100644 --- a/ide/gsf.testrunner.ui/nbproject/project.properties +++ b/ide/gsf.testrunner.ui/nbproject/project.properties @@ -18,4 +18,4 @@ is.eager=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.47.0 +spec.version.base=1.48.0 diff --git a/ide/gsf.testrunner/manifest.mf b/ide/gsf.testrunner/manifest.mf index 8aa66528d90a..608eeb080dcc 100644 --- a/ide/gsf.testrunner/manifest.mf +++ b/ide/gsf.testrunner/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gsf.testrunner/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gsf/testrunner/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/gsf/testrunner/layer.xml -OpenIDE-Module-Specification-Version: 2.44 +OpenIDE-Module-Specification-Version: 2.45 diff --git a/ide/html.custom/manifest.mf b/ide/html.custom/manifest.mf index a34af622255d..de7c22233152 100644 --- a/ide/html.custom/manifest.mf +++ b/ide/html.custom/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.custom OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/custom/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 diff --git a/ide/html.editor.lib/manifest.mf b/ide/html.editor.lib/manifest.mf index ada7fd7469ca..8d3ab3260e00 100644 --- a/ide/html.editor.lib/manifest.mf +++ b/ide/html.editor.lib/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.editor.lib/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/editor/lib/Bundle.properties -OpenIDE-Module-Specification-Version: 3.64 +OpenIDE-Module-Specification-Version: 3.65 AutoUpdate-Show-In-Client: false diff --git a/ide/html.editor/manifest.mf b/ide/html.editor/manifest.mf index 7c088edc73ab..45031e9d0b17 100644 --- a/ide/html.editor/manifest.mf +++ b/ide/html.editor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.editor/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/editor/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/html/editor/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.88 +OpenIDE-Module-Specification-Version: 2.89 AutoUpdate-Show-In-Client: false diff --git a/ide/html.indexing/manifest.mf b/ide/html.indexing/manifest.mf index f69f4c8a5000..265361526116 100644 --- a/ide/html.indexing/manifest.mf +++ b/ide/html.indexing/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.html.indexing OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/indexing/Bundle.properties -OpenIDE-Module-Specification-Version: 1.24 +OpenIDE-Module-Specification-Version: 1.25 diff --git a/ide/html.lexer/manifest.mf b/ide/html.lexer/manifest.mf index eba4c0d13e5c..778a64261191 100644 --- a/ide/html.lexer/manifest.mf +++ b/ide/html.lexer/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.html.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/html/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 OpenIDE-Module-Layer: org/netbeans/lib/html/lexer/layer.xml AutoUpdate-Show-In-Client: false diff --git a/ide/html.parser/nbproject/project.properties b/ide/html.parser/nbproject/project.properties index f21cc69ce47b..bb425863e4f2 100644 --- a/ide/html.parser/nbproject/project.properties +++ b/ide/html.parser/nbproject/project.properties @@ -27,7 +27,7 @@ jnlp.indirect.jars=docs/html5doc.zip # Fatal error: class com.lowagie.text.DocumentException not found # Warning: class com.lowagie.text.DocumentException not found. Please, add required jar or directory to the classpath. sigtest.gen.fail.on.error=false -spec.version.base=1.66.0 +spec.version.base=1.67.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/html.validation/manifest.mf b/ide/html.validation/manifest.mf index 310fe5865eb3..4d8c4e96bf0a 100644 --- a/ide/html.validation/manifest.mf +++ b/ide/html.validation/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.html.validation/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/validation/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 diff --git a/ide/html/manifest.mf b/ide/html/manifest.mf index 45089a43873e..d1bf4b8deb8a 100644 --- a/ide/html/manifest.mf +++ b/ide/html/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/html/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.93 +OpenIDE-Module-Specification-Version: 1.94 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker AutoUpdate-Show-In-Client: false diff --git a/ide/httpserver/nbproject/project.properties b/ide/httpserver/nbproject/project.properties index 3e365a93e4eb..02d82a6d9897 100644 --- a/ide/httpserver/nbproject/project.properties +++ b/ide/httpserver/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint javac.release=17 -spec.version.base=2.68.0 +spec.version.base=2.69.0 release.external/tomcat-embed-core-9.0.113.jar=modules/ext/webserver.jar release.external/tomcat-annotations-api-9.0.113.jar=modules/ext/webserver-annotations.jar test-unit-sys-prop.xtest.data=${nb_all}/ide/httpserver/test/unit/testfs diff --git a/ide/hudson.git/manifest.mf b/ide/hudson.git/manifest.mf index eb50a20293d6..a94dcc7418e1 100644 --- a/ide/hudson.git/manifest.mf +++ b/ide/hudson.git/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.git OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/git/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 diff --git a/ide/hudson.mercurial/manifest.mf b/ide/hudson.mercurial/manifest.mf index c7c0fac4b546..941cf4d96440 100644 --- a/ide/hudson.mercurial/manifest.mf +++ b/ide/hudson.mercurial/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.mercurial OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/mercurial/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/ide/hudson.subversion/manifest.mf b/ide/hudson.subversion/manifest.mf index b979dc11563e..60236bf66864 100644 --- a/ide/hudson.subversion/manifest.mf +++ b/ide/hudson.subversion/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.subversion OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/subversion/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/ide/hudson.tasklist/manifest.mf b/ide/hudson.tasklist/manifest.mf index 06b3a5536ae0..c241fd2cfa39 100644 --- a/ide/hudson.tasklist/manifest.mf +++ b/ide/hudson.tasklist/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.tasklist OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/tasklist/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/ide/hudson.ui/manifest.mf b/ide/hudson.ui/manifest.mf index 6a16e4347bb2..7cd8d9415b05 100644 --- a/ide/hudson.ui/manifest.mf +++ b/ide/hudson.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.ui OpenIDE-Module-Layer: org/netbeans/modules/hudson/ui/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/ide/hudson/manifest.mf b/ide/hudson/manifest.mf index 248d221cf67e..103ac248ca50 100644 --- a/ide/hudson/manifest.mf +++ b/ide/hudson/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/Bundle.properties -OpenIDE-Module-Specification-Version: 2.45 +OpenIDE-Module-Specification-Version: 2.46 diff --git a/ide/ide.kit/manifest.mf b/ide/ide.kit/manifest.mf index 6cbe44f1a454..627d2bd9e5e5 100644 --- a/ide/ide.kit/manifest.mf +++ b/ide/ide.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ide.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 OpenIDE-Module-Needs: org.netbeans.Netbinox diff --git a/ide/image/manifest.mf b/ide/image/manifest.mf index 00f70051faca..0d833406062c 100644 --- a/ide/image/manifest.mf +++ b/ide/image/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.image/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/image/Bundle.properties -OpenIDE-Module-Specification-Version: 1.80 +OpenIDE-Module-Specification-Version: 1.81 AutoUpdate-Show-In-Client: false diff --git a/ide/javascript2.debug.ui/manifest.mf b/ide/javascript2.debug.ui/manifest.mf index e82bf2675e0e..5bdd2210438d 100644 --- a/ide/javascript2.debug.ui/manifest.mf +++ b/ide/javascript2.debug.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.debug.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/debug/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 AutoUpdate-Show-In-Client: false diff --git a/ide/javascript2.debug/manifest.mf b/ide/javascript2.debug/manifest.mf index 2821daf99d01..88e80eff7949 100644 --- a/ide/javascript2.debug/manifest.mf +++ b/ide/javascript2.debug/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.debug/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/debug/Bundle.properties Comment: OpenIDE-Module-Layer: org/netbeans/modules/javascript2/debug/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 AutoUpdate-Show-In-Client: false diff --git a/ide/jellytools.ide/nbproject/project.properties b/ide/jellytools.ide/nbproject/project.properties index fb0afd5b997d..4be6292cb1cb 100644 --- a/ide/jellytools.ide/nbproject/project.properties +++ b/ide/jellytools.ide/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=3.65.0 +spec.version.base=3.66.0 test.config.stable.includes=\ **/IDEBundleKeysTest.class,\ diff --git a/ide/jumpto/nbproject/project.properties b/ide/jumpto/nbproject/project.properties index 6dd2db3e45a2..5dc66a9e422e 100644 --- a/ide/jumpto/nbproject/project.properties +++ b/ide/jumpto/nbproject/project.properties @@ -20,7 +20,7 @@ javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml nbm.module.author=Andrei Badea, Petr Hrebejk -spec.version.base=1.87.0 +spec.version.base=1.88.0 test.config.default.includes=**/*Test.class test.config.default.excludes=\ diff --git a/ide/languages.diff/manifest.mf b/ide/languages.diff/manifest.mf index d8b524c740f2..f5fcb2fdfe76 100644 --- a/ide/languages.diff/manifest.mf +++ b/ide/languages.diff/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.diff OpenIDE-Module-Layer: org/netbeans/modules/languages/diff/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/diff/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 AutoUpdate-Show-In-Client: false diff --git a/ide/languages.env/manifest.mf b/ide/languages.env/manifest.mf index 2afc06684b35..603dca8ef47f 100644 --- a/ide/languages.env/manifest.mf +++ b/ide/languages.env/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.env OpenIDE-Module-Layer: org/netbeans/modules/languages/env/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/env/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.2 +OpenIDE-Module-Specification-Version: 0.3 AutoUpdate-Show-In-Client: true diff --git a/ide/languages.go/manifest.mf b/ide/languages.go/manifest.mf index 4c802d29ee6d..2f3b8077e43d 100644 --- a/ide/languages.go/manifest.mf +++ b/ide/languages.go/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.go OpenIDE-Module-Layer: org/netbeans/modules/languages/go/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/go/Bundle.properties -OpenIDE-Module-Specification-Version: 1.12 +OpenIDE-Module-Specification-Version: 1.13 AutoUpdate-Show-In-Client: true diff --git a/ide/languages.hcl/manifest.mf b/ide/languages.hcl/manifest.mf index 54945d2ae626..77ed7392c7a0 100644 --- a/ide/languages.hcl/manifest.mf +++ b/ide/languages.hcl/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.hcl OpenIDE-Module-Layer: org/netbeans/modules/languages/hcl/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/hcl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.12 +OpenIDE-Module-Specification-Version: 1.13 AutoUpdate-Show-In-Client: true diff --git a/ide/languages.jflex/manifest.mf b/ide/languages.jflex/manifest.mf index 8efbf5c76f6c..fcac685340c3 100644 --- a/ide/languages.jflex/manifest.mf +++ b/ide/languages.jflex/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.jflex OpenIDE-Module-Layer: org/netbeans/modules/languages/jflex/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/jflex/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.2 +OpenIDE-Module-Specification-Version: 0.3 AutoUpdate-Show-In-Client: true diff --git a/ide/languages.manifest/manifest.mf b/ide/languages.manifest/manifest.mf index 4fa4a649c96a..0413130b2761 100644 --- a/ide/languages.manifest/manifest.mf +++ b/ide/languages.manifest/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.manifest OpenIDE-Module-Layer: org/netbeans/modules/languages/manifest/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/manifest/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 AutoUpdate-Show-In-Client: false diff --git a/ide/languages.toml/manifest.mf b/ide/languages.toml/manifest.mf index 36a96697179d..222f4e302e77 100644 --- a/ide/languages.toml/manifest.mf +++ b/ide/languages.toml/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.toml OpenIDE-Module-Layer: org/netbeans/modules/languages/toml/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/toml/Bundle.properties -OpenIDE-Module-Specification-Version: 1.14 +OpenIDE-Module-Specification-Version: 1.15 AutoUpdate-Show-In-Client: true diff --git a/ide/languages.yaml/manifest.mf b/ide/languages.yaml/manifest.mf index dba3bad44c6e..e988db021f00 100644 --- a/ide/languages.yaml/manifest.mf +++ b/ide/languages.yaml/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.yaml OpenIDE-Module-Layer: org/netbeans/modules/languages/yaml/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/yaml/Bundle.properties -OpenIDE-Module-Specification-Version: 2.64 +OpenIDE-Module-Specification-Version: 2.65 AutoUpdate-Show-In-Client: true diff --git a/ide/languages/nbproject/project.properties b/ide/languages/nbproject/project.properties index 0f6420658c59..7d076e3a911a 100644 --- a/ide/languages/nbproject/project.properties +++ b/ide/languages/nbproject/project.properties @@ -19,7 +19,7 @@ is.autoload=true javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.153.0 +spec.version.base=1.154.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=org/netbeans/test/**/* diff --git a/ide/lexer.antlr4/nbproject/project.properties b/ide/lexer.antlr4/nbproject/project.properties index 5a22408b0a43..976174bdf595 100644 --- a/ide/lexer.antlr4/nbproject/project.properties +++ b/ide/lexer.antlr4/nbproject/project.properties @@ -20,5 +20,5 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.14.0 +spec.version.base=1.15.0 diff --git a/ide/lexer.nbbridge/nbproject/project.properties b/ide/lexer.nbbridge/nbproject/project.properties index 17b2148b0017..3e398110394d 100644 --- a/ide/lexer.nbbridge/nbproject/project.properties +++ b/ide/lexer.nbbridge/nbproject/project.properties @@ -18,4 +18,4 @@ is.eager=true javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.64.0 +spec.version.base=1.65.0 diff --git a/ide/lexer/nbproject/project.properties b/ide/lexer/nbproject/project.properties index e2848ee31a0a..a41166008d41 100644 --- a/ide/lexer/nbproject/project.properties +++ b/ide/lexer/nbproject/project.properties @@ -20,7 +20,7 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.95.0 +spec.version.base=1.96.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/lib.terminalemulator/manifest.mf b/ide/lib.terminalemulator/manifest.mf index d37ecbe72b08..e446819c73e3 100644 --- a/ide/lib.terminalemulator/manifest.mf +++ b/ide/lib.terminalemulator/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.terminalemulator OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/terminalemulator/Bundle.properties -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 diff --git a/ide/libs.antlr3.runtime/nbproject/project.properties b/ide/libs.antlr3.runtime/nbproject/project.properties index fce46e8d448d..b753e1652239 100644 --- a/ide/libs.antlr3.runtime/nbproject/project.properties +++ b/ide/libs.antlr3.runtime/nbproject/project.properties @@ -23,4 +23,4 @@ release.external/antlr-runtime-3.5.3.jar=modules/ext/antlr-runtime-3.5.3.jar license.file=../external/antlr-3.5.3-license.txt nbm.homepage=http://www.antlr.org/ sigtest.gen.fail.on.error=false -spec.version.base=1.53.0 +spec.version.base=1.54.0 diff --git a/ide/libs.antlr4.runtime/nbproject/project.properties b/ide/libs.antlr4.runtime/nbproject/project.properties index 6b4094b61e80..1f9b3578e5c3 100644 --- a/ide/libs.antlr4.runtime/nbproject/project.properties +++ b/ide/libs.antlr4.runtime/nbproject/project.properties @@ -24,4 +24,4 @@ release.external/antlr4-runtime-4.13.1.jar=modules/ext/antlr4-runtime-4.13.1.jar license.file=../external/antlr4-runtime-4.13.1-license.txt nbm.homepage=https://www.antlr.org/ sigtest.gen.fail.on.error=false -spec.version.base=1.33.0 +spec.version.base=1.34.0 diff --git a/ide/libs.c.kohlschutter.junixsocket/manifest.mf b/ide/libs.c.kohlschutter.junixsocket/manifest.mf index 9b46fa8ce405..05e7670a89f3 100644 --- a/ide/libs.c.kohlschutter.junixsocket/manifest.mf +++ b/ide/libs.c.kohlschutter.junixsocket/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: libs.c.kohlschutter.junixsocket/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/c/kohlschutter/junixsocket/Bundle.properties -OpenIDE-Module-Specification-Version: 3.14 +OpenIDE-Module-Specification-Version: 3.15 diff --git a/ide/libs.commons_compress/nbproject/project.properties b/ide/libs.commons_compress/nbproject/project.properties index dba3c3594eb7..1bed8d09301e 100644 --- a/ide/libs.commons_compress/nbproject/project.properties +++ b/ide/libs.commons_compress/nbproject/project.properties @@ -19,4 +19,4 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.release=8 release.external/commons-compress-1.27.1.jar=modules/ext/commons-compress-1.27.1.jar -spec.version.base=0.38.0 +spec.version.base=0.39.0 diff --git a/ide/libs.commons_net/nbproject/project.properties b/ide/libs.commons_net/nbproject/project.properties index eef7c95cfeab..5ee447ce2879 100644 --- a/ide/libs.commons_net/nbproject/project.properties +++ b/ide/libs.commons_net/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true release.external/commons-net-3.11.1.jar=modules/ext/commons-net-3.11.1.jar -spec.version.base=2.54.0 +spec.version.base=2.55.0 diff --git a/ide/libs.flexmark/manifest.mf b/ide/libs.flexmark/manifest.mf index 78acbb9fc942..eaae03435811 100644 --- a/ide/libs.flexmark/manifest.mf +++ b/ide/libs.flexmark/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.flexmark OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/flexmark/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/ide/libs.freemarker/nbproject/project.properties b/ide/libs.freemarker/nbproject/project.properties index b73a7ac52d00..3c593a5305cc 100644 --- a/ide/libs.freemarker/nbproject/project.properties +++ b/ide/libs.freemarker/nbproject/project.properties @@ -21,7 +21,7 @@ javac.compilerargs=-Xlint javac.release=17 release.external/freemarker-2.3.34.jar=modules/ext/freemarker-2.3.34.jar module.jar.verifylinkageignores=freemarker.((ext.ant.FreemarkerXmlTask)|(template.DefaultObjectWrapper)) -spec.version.base=2.66.0 +spec.version.base=2.67.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/libs.git/manifest.mf b/ide/libs.git/manifest.mf index fcbbd17aa76c..6d4ef486f4ac 100644 --- a/ide/libs.git/manifest.mf +++ b/ide/libs.git/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.git/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/git/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 diff --git a/ide/libs.graalsdk.system/manifest.mf b/ide/libs.graalsdk.system/manifest.mf index 8a421520d62f..8604032a6a99 100644 --- a/ide/libs.graalsdk.system/manifest.mf +++ b/ide/libs.graalsdk.system/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.graalsdk.system OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/graalsdk/system/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 OpenIDE-Module-Provides: org.netbeans.spi.scripting.EngineProvider OpenIDE-Module-Package-Dependencies: org.graalvm.polyglot[Engine] diff --git a/ide/libs.graalsdk/manifest.mf b/ide/libs.graalsdk/manifest.mf index 1d8ec3cdbfc4..7573efaead20 100644 --- a/ide/libs.graalsdk/manifest.mf +++ b/ide/libs.graalsdk/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.graalsdk OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/graalsdk/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 OpenIDE-Module-Provides: org.netbeans.spi.scripting.EngineProvider OpenIDE-Module-Recommends: com.oracle.truffle.polyglot.PolyglotImpl OpenIDE-Module-Install: org/netbeans/libs/graalsdk/impl/Installer.class diff --git a/ide/libs.ini4j/manifest.mf b/ide/libs.ini4j/manifest.mf index 56b18788df3d..4c8e5517e4db 100644 --- a/ide/libs.ini4j/manifest.mf +++ b/ide/libs.ini4j/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.ini4j/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/ini4j/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 diff --git a/ide/libs.jaxb/manifest.mf b/ide/libs.jaxb/manifest.mf index 7c787ba57ea5..d5026018ca65 100644 --- a/ide/libs.jaxb/manifest.mf +++ b/ide/libs.jaxb/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jaxb/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jaxb/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Layer: org/netbeans/libs/jaxb/layer.xml OpenIDE-Module-Provides: com.sun.xml.bind OpenIDE-Module-Requires: org.openide.modules.ModuleFormat2 diff --git a/ide/libs.jcodings/manifest.mf b/ide/libs.jcodings/manifest.mf index 17aa93da51cd..f663c633e4c0 100644 --- a/ide/libs.jcodings/manifest.mf +++ b/ide/libs.jcodings/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jcodings/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jcodings/Bundle.properties -OpenIDE-Module-Specification-Version: 1.5 +OpenIDE-Module-Specification-Version: 1.6 diff --git a/ide/libs.jsch.agentproxy/manifest.mf b/ide/libs.jsch.agentproxy/manifest.mf index 6176d9c85780..ba6410fdbbbd 100644 --- a/ide/libs.jsch.agentproxy/manifest.mf +++ b/ide/libs.jsch.agentproxy/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jsch.agentproxy/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jsch/agentproxy/Bundle.properties -OpenIDE-Module-Specification-Version: 1.16 +OpenIDE-Module-Specification-Version: 1.17 diff --git a/ide/libs.json_simple/manifest.mf b/ide/libs.json_simple/manifest.mf index 2a7cb86f3e87..eade41da0152 100644 --- a/ide/libs.json_simple/manifest.mf +++ b/ide/libs.json_simple/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.json_simple/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/json_simple/Bundle.properties -OpenIDE-Module-Specification-Version: 0.44 +OpenIDE-Module-Specification-Version: 0.45 AutoUpdate-Show-In-Client: false diff --git a/ide/libs.lucene/manifest.mf b/ide/libs.lucene/manifest.mf index 1f36a482ff9f..3746a26d94bf 100644 --- a/ide/libs.lucene/manifest.mf +++ b/ide/libs.lucene/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.lucene/9 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/lucene/Bundle.properties -OpenIDE-Module-Specification-Version: 9.0 +OpenIDE-Module-Specification-Version: 9.1 diff --git a/ide/libs.snakeyaml_engine/manifest.mf b/ide/libs.snakeyaml_engine/manifest.mf index 84871be37433..cc5d213b0098 100644 --- a/ide/libs.snakeyaml_engine/manifest.mf +++ b/ide/libs.snakeyaml_engine/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.snakeyaml_engine/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/snakeyaml_engine/Bundle.properties -OpenIDE-Module-Specification-Version: 2.21 +OpenIDE-Module-Specification-Version: 2.22 diff --git a/ide/libs.svnClientAdapter.javahl/manifest.mf b/ide/libs.svnClientAdapter.javahl/manifest.mf index 2258150aa0c3..fd046e5f12ac 100644 --- a/ide/libs.svnClientAdapter.javahl/manifest.mf +++ b/ide/libs.svnClientAdapter.javahl/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.svnClientAdapter.javahl/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/svnclientadapter/javahl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/ide/libs.svnClientAdapter/manifest.mf b/ide/libs.svnClientAdapter/manifest.mf index 3fea6593afb1..d8cedf577d20 100644 --- a/ide/libs.svnClientAdapter/manifest.mf +++ b/ide/libs.svnClientAdapter/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.svnClientAdapter/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/svnclientadapter/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 diff --git a/ide/libs.tomlj/manifest.mf b/ide/libs.tomlj/manifest.mf index 09582706fae2..eaa73293b46c 100644 --- a/ide/libs.tomlj/manifest.mf +++ b/ide/libs.tomlj/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.libs.tomlj/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/tomlj/Bundle.properties -OpenIDE-Module-Specification-Version: 1.14 +OpenIDE-Module-Specification-Version: 1.15 OpenIDE-Module-Deprecated: true OpenIDE-Module-Deprecation-Message: Module ide/libs.tomlj is deprecated, use module ide/libs.tomljava instead. diff --git a/ide/libs.tomljava/manifest.mf b/ide/libs.tomljava/manifest.mf index 984281e92369..436318986751 100644 --- a/ide/libs.tomljava/manifest.mf +++ b/ide/libs.tomljava/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.tomljava/5 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/tomljava/Bundle.properties -OpenIDE-Module-Specification-Version: 4.0 +OpenIDE-Module-Specification-Version: 4.1 diff --git a/ide/libs.truffleapi/manifest.mf b/ide/libs.truffleapi/manifest.mf index 44aa45accc8a..de2f9139f4e9 100644 --- a/ide/libs.truffleapi/manifest.mf +++ b/ide/libs.truffleapi/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.truffleapi OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/truffle/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 OpenIDE-Module-Provides: com.oracle.truffle.polyglot.PolyglotImpl OpenIDE-Module-Hide-Classpath-Packages: com.oracle.truffle.**,jdk.vm.ci.services.**, org.graalvm.shadowed.org.jcodings.** diff --git a/ide/libs.xerces/nbproject/project.properties b/ide/libs.xerces/nbproject/project.properties index fedcf845982d..2e5dd5eecbff 100644 --- a/ide/libs.xerces/nbproject/project.properties +++ b/ide/libs.xerces/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true release.external/xercesImpl-2.8.0.jar=modules/ext/xerces-2.8.0.jar module.jar.verifylinkageignores=org.apache.xerces.util.XMLCatalogResolver -spec.version.base=1.70.0 +spec.version.base=1.71.0 # This is an very old library, the complete dependencies were never explored. # Since subpackage-s are working in new sigtest version, generation of the diff --git a/ide/localhistory/manifest.mf b/ide/localhistory/manifest.mf index d6af9e306c85..5ec65e89983d 100644 --- a/ide/localhistory/manifest.mf +++ b/ide/localhistory/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.localhistory OpenIDE-Module-Install: org/netbeans/modules/localhistory/ModuleLifecycleManager.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/localhistory/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 diff --git a/ide/lsp.client/nbproject/project.properties b/ide/lsp.client/nbproject/project.properties index 5a357683f261..026f79b1c7b1 100644 --- a/ide/lsp.client/nbproject/project.properties +++ b/ide/lsp.client/nbproject/project.properties @@ -26,4 +26,4 @@ release.external/org.eclipse.lsp4j.jsonrpc.debug-0.24.0.jar=modules/ext/org.ecli release.external/org.eclipse.xtend.lib-2.32.0.jar=modules/ext/org.eclipse.xtend.lib-2.32.0.jar release.external/org.eclipse.xtend.lib.macro-2.32.0.jar=modules/ext/org.eclipse.xtend.lib.macro-2.32.0.jar release.external/org.eclipse.xtext.xbase.lib-2.32.0.jar=modules/ext/org.eclipse.xtext.xbase.lib-2.32.0.jar -spec.version.base=1.34.0 +spec.version.base=1.35.0 diff --git a/ide/markdown/manifest.mf b/ide/markdown/manifest.mf index 44aa92cd5218..003d631b9292 100644 --- a/ide/markdown/manifest.mf +++ b/ide/markdown/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.markdown OpenIDE-Module-Layer: org/netbeans/modules/markdown/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/markdown/Bundle.properties -OpenIDE-Module-Specification-Version: 1.20 +OpenIDE-Module-Specification-Version: 1.21 diff --git a/ide/mercurial/nbproject/project.properties b/ide/mercurial/nbproject/project.properties index eab93ca5f14c..35c993356eae 100644 --- a/ide/mercurial/nbproject/project.properties +++ b/ide/mercurial/nbproject/project.properties @@ -19,7 +19,7 @@ javac.release=17 nbm.homepage=http://wiki.netbeans.org/wiki/view/MercurialVersionControl nbm.module.author=John Rice and Padraig O'Briain nbm.needs.restart=true -spec.version.base=2.8.0 +spec.version.base=2.9.0 #qa-functional test.qa-functional.cp.extra=${openide.nodes.dir}/modules/org-openide-nodes.jar:\${openide.util.dir}/lib/org-openide-util.jar:${openide.util.ui.dir}/lib/org-openide-util-ui.jar diff --git a/ide/nativeimage.api/manifest.mf b/ide/nativeimage.api/manifest.mf index 2acd8b767332..e79d8a0c62dd 100644 --- a/ide/nativeimage.api/manifest.mf +++ b/ide/nativeimage.api/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.nativeimage.api/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nativeimage/api/Bundle.properties -OpenIDE-Module-Specification-Version: 0.24 +OpenIDE-Module-Specification-Version: 0.25 diff --git a/ide/notifications/manifest.mf b/ide/notifications/manifest.mf index 99bc809b8774..e47c7b171174 100644 --- a/ide/notifications/manifest.mf +++ b/ide/notifications/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.notifications OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/notifications/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/ide/o.apache.xml.resolver/nbproject/project.properties b/ide/o.apache.xml.resolver/nbproject/project.properties index 2d3575391c07..01e447a64864 100644 --- a/ide/o.apache.xml.resolver/nbproject/project.properties +++ b/ide/o.apache.xml.resolver/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true release.external/resolver-1.2.jar=modules/ext/resolver-1.2.jar -spec.version.base=1.63.0 +spec.version.base=1.64.0 diff --git a/ide/o.n.agent/manifest.mf b/ide/o.n.agent/manifest.mf index 5b4dd744ca37..3535c8740ebf 100644 --- a/ide/o.n.agent/manifest.mf +++ b/ide/o.n.agent/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.agent OpenIDE-Module-Localizing-Bundle: org/netbeans/agent/Bundle.properties -OpenIDE-Module-Specification-Version: 1.4 +OpenIDE-Module-Specification-Version: 1.5 diff --git a/ide/o.n.swing.dirchooser/manifest.mf b/ide/o.n.swing.dirchooser/manifest.mf index ee1c17ad4b82..766dd50a67cb 100644 --- a/ide/o.n.swing.dirchooser/manifest.mf +++ b/ide/o.n.swing.dirchooser/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.swing.dirchooser OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/dirchooser/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 OpenIDE-Module-Install: org/netbeans/swing/dirchooser/Module.class AutoUpdate-Show-In-Client: false diff --git a/ide/o.openidex.util/manifest.mf b/ide/o.openidex.util/manifest.mf index da3df3a284b9..e013704d1316 100644 --- a/ide/o.openidex.util/manifest.mf +++ b/ide/o.openidex.util/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openidex.util/3 OpenIDE-Module-Localizing-Bundle: org/openidex/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 3.79 +OpenIDE-Module-Specification-Version: 3.80 OpenIDE-Module-Deprecated: true OpenIDE-Module-Deprecation-Message: Module o.openidex.util is deprecated, use module api.search instead. AutoUpdate-Essential-Module: true diff --git a/ide/options.editor/manifest.mf b/ide/options.editor/manifest.mf index 5b911c6f086e..9befbcf7b0e9 100644 --- a/ide/options.editor/manifest.mf +++ b/ide/options.editor/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.options.editor/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/editor/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/options/editor/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.93 +OpenIDE-Module-Specification-Version: 1.94 AutoUpdate-Show-In-Client: false diff --git a/ide/parsing.api/nbproject/project.properties b/ide/parsing.api/nbproject/project.properties index a84221607202..067bb1193854 100644 --- a/ide/parsing.api/nbproject/project.properties +++ b/ide/parsing.api/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml -spec.version.base=9.39.0 +spec.version.base=9.40.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/parsing.indexing/nbproject/project.properties b/ide/parsing.indexing/nbproject/project.properties index c7c0e6fe6012..def7741587d1 100644 --- a/ide/parsing.indexing/nbproject/project.properties +++ b/ide/parsing.indexing/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=9.44.0 +spec.version.base=9.45.0 is.autoload=true javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/parsing.lucene/nbproject/project.properties b/ide/parsing.lucene/nbproject/project.properties index 605795a144eb..a306c349ec20 100644 --- a/ide/parsing.lucene/nbproject/project.properties +++ b/ide/parsing.lucene/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=3.0.0 +spec.version.base=3.1.0 diff --git a/ide/parsing.nb/nbproject/project.properties b/ide/parsing.nb/nbproject/project.properties index 20fe2edd4a89..e98e40883a55 100644 --- a/ide/parsing.nb/nbproject/project.properties +++ b/ide/parsing.nb/nbproject/project.properties @@ -17,6 +17,6 @@ is.eager=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.36.0 +spec.version.base=1.37.0 #javadoc.apichanges=${basedir}/apichanges.xml #javadoc.files= diff --git a/ide/parsing.ui/nbproject/project.properties b/ide/parsing.ui/nbproject/project.properties index 1404b1dc2b7d..dc6b1b94629e 100644 --- a/ide/parsing.ui/nbproject/project.properties +++ b/ide/parsing.ui/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.46.0 +spec.version.base=1.47.0 diff --git a/ide/print.editor/manifest.mf b/ide/print.editor/manifest.mf index 3b764c0cbf39..453bbc1dda1c 100644 --- a/ide/print.editor/manifest.mf +++ b/ide/print.editor/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 7.58 +OpenIDE-Module-Specification-Version: 7.59 OpenIDE-Module: org.netbeans.modules.print.editor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/print/editor/resources/Bundle.properties diff --git a/ide/project.ant.compat8/manifest.mf b/ide/project.ant.compat8/manifest.mf index ee4a7ef7e987..396f16604f3e 100644 --- a/ide/project.ant.compat8/manifest.mf +++ b/ide/project.ant.compat8/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.ant.compat8/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/ant/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 1.99 +OpenIDE-Module-Specification-Version: 1.100 OpenIDE-Module-Fragment-Host: org.netbeans.modules.project.ant diff --git a/ide/project.ant.ui/manifest.mf b/ide/project.ant.ui/manifest.mf index ffd4b68efdf8..8a99a02e92a8 100644 --- a/ide/project.ant.ui/manifest.mf +++ b/ide/project.ant.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.ant.ui/1 -OpenIDE-Module-Specification-Version: 1.97 +OpenIDE-Module-Specification-Version: 1.98 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/ant/ui/Bundle.properties OpenIDE-Module-Install: org/netbeans/modules/project/ant/ui/AntProjectModule.class diff --git a/ide/project.ant/manifest.mf b/ide/project.ant/manifest.mf index cbcb7c3540ed..2d35baa88ea1 100644 --- a/ide/project.ant/manifest.mf +++ b/ide/project.ant/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.ant/1 -OpenIDE-Module-Specification-Version: 1.99 +OpenIDE-Module-Specification-Version: 1.100 OpenIDE-Module-Layer: org/netbeans/modules/project/ant/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/ant/Bundle.properties diff --git a/ide/project.dependency/nbproject/project.properties b/ide/project.dependency/nbproject/project.properties index dd67ca3c7dc6..f6328f1d8b87 100644 --- a/ide/project.dependency/nbproject/project.properties +++ b/ide/project.dependency/nbproject/project.properties @@ -18,5 +18,5 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.17.0 +spec.version.base=1.18.0 test-unit-sys-prop.org.netbeans.modules.project.dependency.impl.ProjectReloadInternal.level=400 diff --git a/ide/project.indexingbridge/manifest.mf b/ide/project.indexingbridge/manifest.mf index 7c9aa6e3a359..6de9fabdb59a 100644 --- a/ide/project.indexingbridge/manifest.mf +++ b/ide/project.indexingbridge/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.indexingbridge OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/indexingbridge/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/ide/project.libraries.ui/manifest.mf b/ide/project.libraries.ui/manifest.mf index f4360fff7bca..7509bada8699 100644 --- a/ide/project.libraries.ui/manifest.mf +++ b/ide/project.libraries.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.libraries.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/libraries/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.84 +OpenIDE-Module-Specification-Version: 1.85 diff --git a/ide/project.libraries/manifest.mf b/ide/project.libraries/manifest.mf index 688262d007d9..6084e10f4e3b 100644 --- a/ide/project.libraries/manifest.mf +++ b/ide/project.libraries/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.libraries/1 OpenIDE-Module-Layer: org/netbeans/modules/project/libraries/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.85 +OpenIDE-Module-Specification-Version: 1.86 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/libraries/resources/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/ide/project.spi.intern.impl/manifest.mf b/ide/project.spi.intern.impl/manifest.mf index 464bacce0c78..5c8c671a8b55 100644 --- a/ide/project.spi.intern.impl/manifest.mf +++ b/ide/project.spi.intern.impl/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.spi.intern.impl OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/spi/intern/impl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/ide/project.spi.intern/manifest.mf b/ide/project.spi.intern/manifest.mf index 16cc6cda995b..b327ad9a259a 100644 --- a/ide/project.spi.intern/manifest.mf +++ b/ide/project.spi.intern/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.spi.intern OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/spi/intern/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/ide/projectapi.nb/manifest.mf b/ide/projectapi.nb/manifest.mf index 043c1b40ab4a..17f091ead3ed 100644 --- a/ide/projectapi.nb/manifest.mf +++ b/ide/projectapi.nb/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.projectapi.nb OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/projectapi/nb/Bundle.properties OpenIDE-Module-Provides: org.netbeans.spi.project.ProjectManagerImplementation -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 AutoUpdate-Show-In-Client: false diff --git a/ide/projectapi/manifest.mf b/ide/projectapi/manifest.mf index fe2ae0cc1639..cc3bfbe1da88 100644 --- a/ide/projectapi/manifest.mf +++ b/ide/projectapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.projectapi/1 -OpenIDE-Module-Specification-Version: 1.104 +OpenIDE-Module-Specification-Version: 1.105 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/projectapi/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/projectapi/layer.xml OpenIDE-Module-Needs: org.netbeans.spi.project.ProjectManagerImplementation diff --git a/ide/projectui.buildmenu/nbproject/project.properties b/ide/projectui.buildmenu/nbproject/project.properties index e19236b7b654..9d7681ba9115 100644 --- a/ide/projectui.buildmenu/nbproject/project.properties +++ b/ide/projectui.buildmenu/nbproject/project.properties @@ -19,4 +19,4 @@ is.autoload=true javac.compilerargs=-Xlint javac.release=17 -spec.version.base=1.58.0 +spec.version.base=1.59.0 diff --git a/ide/projectui/nbproject/project.properties b/ide/projectui/nbproject/project.properties index e6eb152cc1ac..f2e994f7d0c8 100644 --- a/ide/projectui/nbproject/project.properties +++ b/ide/projectui/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint javac.release=17 -spec.version.base=1.91.0 +spec.version.base=1.92.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/projectui/src/org/netbeans/modules/project/ui/OpenProjectListSettings.java b/ide/projectui/src/org/netbeans/modules/project/ui/OpenProjectListSettings.java index 2032e89c83e1..fa602d15f00f 100644 --- a/ide/projectui/src/org/netbeans/modules/project/ui/OpenProjectListSettings.java +++ b/ide/projectui/src/org/netbeans/modules/project/ui/OpenProjectListSettings.java @@ -38,7 +38,7 @@ */ public class OpenProjectListSettings { - private static OpenProjectListSettings INSTANCE = new OpenProjectListSettings(); + private static final OpenProjectListSettings INSTANCE = new OpenProjectListSettings(); private static final String RECENT_PROJECTS_DISPLAY_NAMES = "RecentProjectsDisplayNames"; //NOI18N private static final String RECENT_PROJECTS_DISPLAY_ICONS = "RecentProjectsIcons"; //NOI18N @@ -310,8 +310,11 @@ public File getProjectsFolder(boolean create) { if (result == null || !(new File(result)).exists()) { // property for overriding default projects dir location String userPrjDir = System.getProperty("netbeans.projects.dir"); // NOI18N - if (userPrjDir != null) { + if (userPrjDir != null && !userPrjDir.isBlank()) { File f = new File(userPrjDir); + if (create && !f.exists()) { + f.mkdirs(); + } if (f.exists() && f.isDirectory()) { return FileUtil.normalizeFile(f); } diff --git a/ide/projectui/src/org/netbeans/modules/project/ui/ProjectUtilities.java b/ide/projectui/src/org/netbeans/modules/project/ui/ProjectUtilities.java index 388524766847..ddc3676fcb55 100644 --- a/ide/projectui/src/org/netbeans/modules/project/ui/ProjectUtilities.java +++ b/ide/projectui/src/org/netbeans/modules/project/ui/ProjectUtilities.java @@ -44,7 +44,6 @@ import org.netbeans.api.actions.Openable; import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectUtils; -import static org.netbeans.modules.project.ui.Bundle.*; import org.netbeans.modules.project.ui.groups.Group; import org.netbeans.spi.project.AuxiliaryConfiguration; import org.netbeans.spi.project.ui.support.ProjectConvertors; @@ -60,6 +59,7 @@ import org.openide.util.Exceptions; import org.openide.util.Mutex; import org.openide.util.NbBundle.Messages; +import org.openide.util.Utilities; import org.openide.windows.Mode; import org.openide.windows.TopComponent; import org.openide.windows.WindowManager; @@ -68,6 +68,8 @@ import org.w3c.dom.Element; import org.w3c.dom.NodeList; +import static org.netbeans.modules.project.ui.Bundle.*; + /** The util methods for projectui module. * * @author Jiri Rechtacek @@ -601,6 +603,12 @@ private static List getOpenFilesUrls(Project p, String groupName) { } return new ArrayList<>(set); } + + // called from (ide.branding) layer.xml on Favorites tab open + public static URL getProjectsFolder() throws MalformedURLException { + File projectsFolder = OpenProjectListSettings.getInstance().getProjectsFolder(true); + return Utilities.toURI(projectsFolder).toURL(); + } // interface for handling project's documents stored in project private.xml // it serves for a unit test of OpenProjectList diff --git a/ide/projectuiapi.base/nbproject/project.properties b/ide/projectuiapi.base/nbproject/project.properties index 68ca7d879479..4c45d0de117f 100644 --- a/ide/projectuiapi.base/nbproject/project.properties +++ b/ide/projectuiapi.base/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.118.0 +spec.version.base=1.119.0 is.autoload=true javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/projectuiapi/nbproject/project.properties b/ide/projectuiapi/nbproject/project.properties index 48a756475b9a..7d761fff9565 100644 --- a/ide/projectuiapi/nbproject/project.properties +++ b/ide/projectuiapi/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.121.0 +spec.version.base=1.122.0 is.autoload=true javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/properties.syntax/manifest.mf b/ide/properties.syntax/manifest.mf index b30beb90f618..236f0de014a1 100644 --- a/ide/properties.syntax/manifest.mf +++ b/ide/properties.syntax/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.properties.syntax/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/properties/syntax/Bundle.properties -OpenIDE-Module-Specification-Version: 1.82 +OpenIDE-Module-Specification-Version: 1.83 OpenIDE-Module-Install: org/netbeans/modules/properties/syntax/RestoreColoring.class OpenIDE-Module-Layer: org/netbeans/modules/properties/syntax/Layer.xml diff --git a/ide/properties/manifest.mf b/ide/properties/manifest.mf index d5f33481f3dd..46a4a0acc14d 100644 --- a/ide/properties/manifest.mf +++ b/ide/properties/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.properties/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/properties/Bundle.properties -OpenIDE-Module-Specification-Version: 1.87 +OpenIDE-Module-Specification-Version: 1.88 OpenIDE-Module-Layer: org/netbeans/modules/properties/Layer.xml AutoUpdate-Show-In-Client: false diff --git a/ide/refactoring.api/nbproject/project.properties b/ide/refactoring.api/nbproject/project.properties index 732afc89e218..325aaefb8750 100644 --- a/ide/refactoring.api/nbproject/project.properties +++ b/ide/refactoring.api/nbproject/project.properties @@ -20,5 +20,5 @@ javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml javadoc.title=Refactoring API -spec.version.base=1.79.0 +spec.version.base=1.80.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/schema2beans/manifest.mf b/ide/schema2beans/manifest.mf index 0ca5785d71b1..fc68bc1d76f2 100644 --- a/ide/schema2beans/manifest.mf +++ b/ide/schema2beans/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/schema2beans/Bundle.properties OpenIDE-Module: org.netbeans.modules.schema2beans/1 -OpenIDE-Module-Specification-Version: 1.79 +OpenIDE-Module-Specification-Version: 1.80 diff --git a/ide/selenium2.server/manifest.mf b/ide/selenium2.server/manifest.mf index 7f59955683b3..834b0051e50a 100644 --- a/ide/selenium2.server/manifest.mf +++ b/ide/selenium2.server/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.server OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/server/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/ide/selenium2/manifest.mf b/ide/selenium2/manifest.mf index 88f39af78b4a..fe935b1bba5a 100644 --- a/ide/selenium2/manifest.mf +++ b/ide/selenium2/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2 OpenIDE-Module-Layer: org/netbeans/modules/selenium2/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/Bundle.properties -OpenIDE-Module-Specification-Version: 1.37 +OpenIDE-Module-Specification-Version: 1.38 diff --git a/ide/server/manifest.mf b/ide/server/manifest.mf index a9f5140ba8b2..fe2a08f2e909 100644 --- a/ide/server/manifest.mf +++ b/ide/server/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.server/0 OpenIDE-Module-Layer: org/netbeans/modules/server/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/server/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: org.netbeans.modules.server diff --git a/ide/servletapi/manifest.mf b/ide/servletapi/manifest.mf index e80f8e1ae2b3..78f74a0c0423 100644 --- a/ide/servletapi/manifest.mf +++ b/ide/servletapi/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.servletapi/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/servletapi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.71 +OpenIDE-Module-Specification-Version: 1.72 diff --git a/ide/spellchecker.apimodule/manifest.mf b/ide/spellchecker.apimodule/manifest.mf index 99f7f4620d85..f6f075a6b234 100644 --- a/ide/spellchecker.apimodule/manifest.mf +++ b/ide/spellchecker.apimodule/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.apimodule XOpenIDE-Module-Layer: org/netbeans/modules/spellchecker/apimodule/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/apimodule/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/ide/spellchecker.bindings.htmlxml/manifest.mf b/ide/spellchecker.bindings.htmlxml/manifest.mf index c277e41f20a2..92e2f0573263 100644 --- a/ide/spellchecker.bindings.htmlxml/manifest.mf +++ b/ide/spellchecker.bindings.htmlxml/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.htmlxml OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/htmlxml/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/htmlxml/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/ide/spellchecker.bindings.properties/manifest.mf b/ide/spellchecker.bindings.properties/manifest.mf index 69f5411c6136..342acec46fc7 100644 --- a/ide/spellchecker.bindings.properties/manifest.mf +++ b/ide/spellchecker.bindings.properties/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.properties OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/properties/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/properties/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/ide/spellchecker.dictionary_en/manifest.mf b/ide/spellchecker.dictionary_en/manifest.mf index b53d4b186024..7dddd96f3e92 100644 --- a/ide/spellchecker.dictionary_en/manifest.mf +++ b/ide/spellchecker.dictionary_en/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.dictionary_en XOpenIDE-Module-Layer: org/netbeans/modules/spellchecker/dictionary_en/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/dictionary_en/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/ide/spellchecker.kit/manifest.mf b/ide/spellchecker.kit/manifest.mf index c18cd0826572..6854966800fc 100644 --- a/ide/spellchecker.kit/manifest.mf +++ b/ide/spellchecker.kit/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.kit XOpenIDE-Module-Layer: org/netbeans/modules/spellchecker/kit/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/ide/spellchecker/nbproject/project.properties b/ide/spellchecker/nbproject/project.properties index 31005e37b05c..35b054670c38 100644 --- a/ide/spellchecker/nbproject/project.properties +++ b/ide/spellchecker/nbproject/project.properties @@ -20,7 +20,7 @@ javac.compilerargs=-Xlint javac.release=17 nbm.homepage=http://spellchecker.netbeans.org nbm.module.author=Jan Lahoda -spec.version.base=1.67.0 +spec.version.base=1.68.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/spi.debugger.ui/manifest.mf b/ide/spi.debugger.ui/manifest.mf index 214507a862f2..7c0a2568aff2 100644 --- a/ide/spi.debugger.ui/manifest.mf +++ b/ide/spi.debugger.ui/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.debugger.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/ui/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 2.91 +OpenIDE-Module-Specification-Version: 2.92 OpenIDE-Module-Provides: org.netbeans.spi.debugger.ui OpenIDE-Module-Install: org/netbeans/modules/debugger/ui/DebuggerModule.class diff --git a/ide/spi.editor.hints.projects/nbproject/project.properties b/ide/spi.editor.hints.projects/nbproject/project.properties index 2a7b55a83744..9ea14f83c783 100644 --- a/ide/spi.editor.hints.projects/nbproject/project.properties +++ b/ide/spi.editor.hints.projects/nbproject/project.properties @@ -18,5 +18,5 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.43.0 +spec.version.base=1.44.0 spec.version.base.fatal.warning=false diff --git a/ide/spi.editor.hints/nbproject/project.properties b/ide/spi.editor.hints/nbproject/project.properties index a9636ece099a..e56bcf642001 100644 --- a/ide/spi.editor.hints/nbproject/project.properties +++ b/ide/spi.editor.hints/nbproject/project.properties @@ -18,6 +18,6 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.74.0 +spec.version.base=1.75.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/spi.navigator/manifest.mf b/ide/spi.navigator/manifest.mf index f11ff1564131..246bfadd2de6 100644 --- a/ide/spi.navigator/manifest.mf +++ b/ide/spi.navigator/manifest.mf @@ -2,4 +2,4 @@ Manifest-version: 1.0 OpenIDE-Module: org.netbeans.spi.navigator/1 OpenIDE-Module-Layer: org/netbeans/modules/navigator/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/navigator/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 diff --git a/ide/spi.palette/manifest.mf b/ide/spi.palette/manifest.mf index 0dce269d1c35..bf674db49fbc 100644 --- a/ide/spi.palette/manifest.mf +++ b/ide/spi.palette/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.palette/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/palette/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.78 +OpenIDE-Module-Specification-Version: 1.79 OpenIDE-Module-Layer: org/netbeans/modules/palette/resources/layer.xml diff --git a/ide/spi.tasklist/nbproject/project.properties b/ide/spi.tasklist/nbproject/project.properties index 9c22e88101ae..7dbbcdf11dd7 100644 --- a/ide/spi.tasklist/nbproject/project.properties +++ b/ide/spi.tasklist/nbproject/project.properties @@ -19,6 +19,6 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.67.0 +spec.version.base=1.68.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/spi.viewmodel/manifest.mf b/ide/spi.viewmodel/manifest.mf index 2acebbd07943..6152fa83b2db 100644 --- a/ide/spi.viewmodel/manifest.mf +++ b/ide/spi.viewmodel/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.viewmodel/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/viewmodel/Bundle.properties -OpenIDE-Module-Specification-Version: 1.83 +OpenIDE-Module-Specification-Version: 1.84 diff --git a/ide/subversion/nbproject/project.properties b/ide/subversion/nbproject/project.properties index 90df159225de..9195a32b0794 100644 --- a/ide/subversion/nbproject/project.properties +++ b/ide/subversion/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -spec.version.base=1.74.0 +spec.version.base=1.75.0 javac.compilerargs=-Xlint javac.release=17 diff --git a/ide/svg/manifest.mf b/ide/svg/manifest.mf index b8134bdcc63a..2bb69676c3d8 100644 --- a/ide/svg/manifest.mf +++ b/ide/svg/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.svg OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/svg/Bundle.properties -OpenIDE-Module-Specification-Version: 1.3 +OpenIDE-Module-Specification-Version: 1.4 diff --git a/ide/swing.validation/manifest.mf b/ide/swing.validation/manifest.mf index 85f1a27a2232..398a91107ce4 100644 --- a/ide/swing.validation/manifest.mf +++ b/ide/swing.validation/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.swing.validation/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/swing/validation/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/ide/target.iterator/manifest.mf b/ide/target.iterator/manifest.mf index 7d5abca26b2f..684cb4720f64 100644 --- a/ide/target.iterator/manifest.mf +++ b/ide/target.iterator/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.target.iterator/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/target/iterator/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 AutoUpdate-Show-In-Client: false diff --git a/ide/tasklist.kit/manifest.mf b/ide/tasklist.kit/manifest.mf index 164caa3f793b..9006c0770606 100644 --- a/ide/tasklist.kit/manifest.mf +++ b/ide/tasklist.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.tasklist.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/tasklist/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/ide/tasklist.projectint/manifest.mf b/ide/tasklist.projectint/manifest.mf index ed02e3694b92..43537bb39d26 100644 --- a/ide/tasklist.projectint/manifest.mf +++ b/ide/tasklist.projectint/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.tasklist.projectint/1 OpenIDE-Module-Layer: org/netbeans/modules/tasklist/projectint/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/tasklist/projectint/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 AutoUpdate-Show-In-Client: false diff --git a/ide/tasklist.todo/nbproject/project.properties b/ide/tasklist.todo/nbproject/project.properties index 102445c6d91a..002bccb018ac 100644 --- a/ide/tasklist.todo/nbproject/project.properties +++ b/ide/tasklist.todo/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint javac.release=17 -spec.version.base=1.63.0 +spec.version.base=1.64.0 #hook for apisupport TestBase test-unit-sys-prop.test.nbcvsroot=${nb_all} test-unit-sys-prop.xtest.netbeans.dest.dir=${netbeans.dest.dir} diff --git a/ide/tasklist.ui/nbproject/project.properties b/ide/tasklist.ui/nbproject/project.properties index 2f709fd774f5..8f7776316fa3 100644 --- a/ide/tasklist.ui/nbproject/project.properties +++ b/ide/tasklist.ui/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.compilerargs=-Xlint javac.release=17 -spec.version.base=1.63.0 +spec.version.base=1.64.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/team.commons/manifest.mf b/ide/team.commons/manifest.mf index 2ad66b566651..cfb1c4d79c7d 100644 --- a/ide/team.commons/manifest.mf +++ b/ide/team.commons/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.team.commons OpenIDE-Module-Layer: org/netbeans/modules/team/commons/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/team/commons/Bundle.properties -OpenIDE-Module-Specification-Version: 1.82 +OpenIDE-Module-Specification-Version: 1.83 diff --git a/ide/team.ide/manifest.mf b/ide/team.ide/manifest.mf index 1e2995f2668e..b4215773810b 100644 --- a/ide/team.ide/manifest.mf +++ b/ide/team.ide/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.team.ide OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/team/ide/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/ide/terminal.nb/manifest.mf b/ide/terminal.nb/manifest.mf index 6c844c6b8747..e99b829d2825 100644 --- a/ide/terminal.nb/manifest.mf +++ b/ide/terminal.nb/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.terminal.nb OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/terminal/nb/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/terminal/nb/layer.xml -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/ide/terminal/manifest.mf b/ide/terminal/manifest.mf index c4532cd9746a..3ab648dfbba3 100644 --- a/ide/terminal/manifest.mf +++ b/ide/terminal/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.terminal OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/terminal/Bundle.properties OpenIDE-Module-Provides: org.openide.windows.IOProvider -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/ide/textmate.lexer/nbproject/project.properties b/ide/textmate.lexer/nbproject/project.properties index 7446bcc71c8c..26cfd6017a29 100644 --- a/ide/textmate.lexer/nbproject/project.properties +++ b/ide/textmate.lexer/nbproject/project.properties @@ -21,4 +21,4 @@ javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml release.external/joni-2.2.6.jar=modules/ext/joni-2.2.6.jar release.external/org.eclipse.tm4e.core-0.14.1.jar=modules/ext/org.eclipse.tm4e.core-0.14.1.jar -spec.version.base=1.34.0 +spec.version.base=1.35.0 diff --git a/ide/texttools/manifest.mf b/ide/texttools/manifest.mf index 0cd576e0961e..a1cf080b6dc5 100644 --- a/ide/texttools/manifest.mf +++ b/ide/texttools/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.texttools/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/texttools/Bundle.properties -OpenIDE-Module-Specification-Version: 1.2 +OpenIDE-Module-Specification-Version: 1.3 OpenIDE-Module-Requires: org.openide.windows.WindowManager diff --git a/ide/usersguide/manifest.mf b/ide/usersguide/manifest.mf index fca69eb50033..b47c9b036bda 100644 --- a/ide/usersguide/manifest.mf +++ b/ide/usersguide/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.usersguide/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/usersguide/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/usersguide/layer.xml -OpenIDE-Module-Specification-Version: 1.80 +OpenIDE-Module-Specification-Version: 1.81 AutoUpdate-Show-In-Client: false diff --git a/ide/utilities.project/manifest.mf b/ide/utilities.project/manifest.mf index d142d0d4eacc..c9d8dd428e0b 100644 --- a/ide/utilities.project/manifest.mf +++ b/ide/utilities.project/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.utilities.project/1 OpenIDE-Module-Layer: org/netbeans/modules/search/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/search/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 diff --git a/ide/utilities/manifest.mf b/ide/utilities/manifest.mf index 84be2a46ff7e..f9e42214708c 100644 --- a/ide/utilities/manifest.mf +++ b/ide/utilities/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.utilities/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/utilities/Bundle.properties -OpenIDE-Module-Specification-Version: 1.93 +OpenIDE-Module-Specification-Version: 1.94 OpenIDE-Module-Install: org/netbeans/modules/utilities/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/utilities/Layer.xml OpenIDE-Module-Requires: org.openide.modules.InstalledFileLocator diff --git a/ide/versioning.core/nbproject/project.properties b/ide/versioning.core/nbproject/project.properties index bc4b9d915825..d0bb3cc49c8e 100644 --- a/ide/versioning.core/nbproject/project.properties +++ b/ide/versioning.core/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.name=Versioning -spec.version.base=1.63.0 +spec.version.base=1.64.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/versioning.indexingbridge/manifest.mf b/ide/versioning.indexingbridge/manifest.mf index 618d7c5c2d16..38dc1f5e60b6 100644 --- a/ide/versioning.indexingbridge/manifest.mf +++ b/ide/versioning.indexingbridge/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.versioning.indexingbridge/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/versioning/indexingbridge/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.versioning.indexingbridge -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/ide/versioning.masterfs/manifest.mf b/ide/versioning.masterfs/manifest.mf index 06e397d2b3f8..49b8cec2a8bd 100644 --- a/ide/versioning.masterfs/manifest.mf +++ b/ide/versioning.masterfs/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.versioning.masterfs OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/versioning/masterfs/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/ide/versioning.system.cvss.installer/manifest.mf b/ide/versioning.system.cvss.installer/manifest.mf index 706920856299..153985b1cad6 100644 --- a/ide/versioning.system.cvss.installer/manifest.mf +++ b/ide/versioning.system.cvss.installer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.versioning.system.cvss.installer OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/versioning/system/cvss/installer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 AutoUpdate-Essential-Module: false diff --git a/ide/versioning.ui/nbproject/project.properties b/ide/versioning.ui/nbproject/project.properties index 9c68d0965fb0..d7b198f67d3f 100644 --- a/ide/versioning.ui/nbproject/project.properties +++ b/ide/versioning.ui/nbproject/project.properties @@ -19,4 +19,4 @@ is.eager=true javac.compilerargs=-Xlint javac.release=17 -spec.version.base=1.55.0 +spec.version.base=1.56.0 diff --git a/ide/versioning.util/nbproject/project.properties b/ide/versioning.util/nbproject/project.properties index 8e181b7622b8..477ee1e6a7b8 100644 --- a/ide/versioning.util/nbproject/project.properties +++ b/ide/versioning.util/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.name=Versioning Support Utilities -spec.version.base=2.8.0 +spec.version.base=2.9.0 is.autoload=true # Fatal error: Fatal error: class javax.net.SocketFactory not found diff --git a/ide/versioning/nbproject/project.properties b/ide/versioning/nbproject/project.properties index e7403b0c5bfc..581394b6e570 100644 --- a/ide/versioning/nbproject/project.properties +++ b/ide/versioning/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint javac.release=17 javadoc.name=Versioning -spec.version.base=1.79.0 +spec.version.base=1.80.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/web.browser.api/manifest.mf b/ide/web.browser.api/manifest.mf index f2ec7a2734ea..afce99024cbd 100644 --- a/ide/web.browser.api/manifest.mf +++ b/ide/web.browser.api/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.modules.web.browser.api OpenIDE-Module-Layer: org/netbeans/modules/web/browser/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/browser/api/Bundle.properties OpenIDE-Module-Recommends: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.77 +OpenIDE-Module-Specification-Version: 1.78 diff --git a/ide/web.common.ui/manifest.mf b/ide/web.common.ui/manifest.mf index e4e5f75c764d..dd4a907ef036 100644 --- a/ide/web.common.ui/manifest.mf +++ b/ide/web.common.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.common.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/common/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 diff --git a/ide/web.common/manifest.mf b/ide/web.common/manifest.mf index ed3f09509f52..6c96421f9b20 100644 --- a/ide/web.common/manifest.mf +++ b/ide/web.common/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.common OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/common/Bundle.properties -OpenIDE-Module-Specification-Version: 1.131 +OpenIDE-Module-Specification-Version: 1.132 diff --git a/ide/web.indent/manifest.mf b/ide/web.indent/manifest.mf index 37e39afbf73e..a189bad330ed 100644 --- a/ide/web.indent/manifest.mf +++ b/ide/web.indent/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.indent OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/indent/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/ide/web.webkit.debugging/manifest.mf b/ide/web.webkit.debugging/manifest.mf index 3f99bf0619ea..dbccbfa4d4a6 100644 --- a/ide/web.webkit.debugging/manifest.mf +++ b/ide/web.webkit.debugging/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.webkit.debugging OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/webkit/debugging/Bundle.properties -OpenIDE-Module-Specification-Version: 1.85 +OpenIDE-Module-Specification-Version: 1.86 diff --git a/ide/xml.axi/manifest.mf b/ide/xml.axi/manifest.mf index bd8fda2f394b..875a4bfb4518 100644 --- a/ide/xml.axi/manifest.mf +++ b/ide/xml.axi/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.xml.axi OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/axi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 diff --git a/ide/xml.catalog.ui/nbproject/project.properties b/ide/xml.catalog.ui/nbproject/project.properties index 2e8f375876ad..9c7419ddeffa 100644 --- a/ide/xml.catalog.ui/nbproject/project.properties +++ b/ide/xml.catalog.ui/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.35.0 +spec.version.base=2.36.0 diff --git a/ide/xml.catalog/nbproject/project.properties b/ide/xml.catalog/nbproject/project.properties index bfa35243549d..2a2e47b2ee7c 100644 --- a/ide/xml.catalog/nbproject/project.properties +++ b/ide/xml.catalog/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.release=17 -spec.version.base=3.36.0 +spec.version.base=3.37.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/xml.core/nbproject/project.properties b/ide/xml.core/nbproject/project.properties index 96e4e79c3ca9..533c1c9206d9 100644 --- a/ide/xml.core/nbproject/project.properties +++ b/ide/xml.core/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.75.0 +spec.version.base=1.76.0 is.autoload=true javadoc.packages=\ diff --git a/ide/xml.jaxb.api/manifest.mf b/ide/xml.jaxb.api/manifest.mf index 50ef01d6db88..40f3d2e21f4d 100644 --- a/ide/xml.jaxb.api/manifest.mf +++ b/ide/xml.jaxb.api/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.xml.jaxb.api/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/jaxb/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 OpenIDE-Module-Needs: com.sun.xml.bind OpenIDE-Module-Hide-Classpath-Packages: javax.xml.bind.** diff --git a/ide/xml.lexer/manifest.mf b/ide/xml.lexer/manifest.mf index 2b23bff74996..e87d6311360b 100644 --- a/ide/xml.lexer/manifest.mf +++ b/ide/xml.lexer/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.xml.lexer OpenIDE-Module-Localizing-Bundle: org/netbeans/api/xml/lexer/Bundle.properties OpenIDE-Module-Layer: org/netbeans/lib/xml/lexer/layer.xml -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 AutoUpdate-Show-In-Client: false diff --git a/ide/xml.multiview/nbproject/project.properties b/ide/xml.multiview/nbproject/project.properties index 6a09ef59a609..f55e9a58637a 100644 --- a/ide/xml.multiview/nbproject/project.properties +++ b/ide/xml.multiview/nbproject/project.properties @@ -18,7 +18,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.70.0 +spec.version.base=1.71.0 is.autoload=true test.unit.cp.extra= diff --git a/ide/xml.retriever/manifest.mf b/ide/xml.retriever/manifest.mf index 6d41535ce585..126f1057dfa4 100644 --- a/ide/xml.retriever/manifest.mf +++ b/ide/xml.retriever/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module: org.netbeans.modules.xml.retriever/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/retriever/Bundle.properties diff --git a/ide/xml.schema.completion/manifest.mf b/ide/xml.schema.completion/manifest.mf index d7b18bc1b41c..bf8f7adb7ca5 100644 --- a/ide/xml.schema.completion/manifest.mf +++ b/ide/xml.schema.completion/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.xml.schema.completion OpenIDE-Module-Layer: org/netbeans/modules/xml/schema/completion/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/schema/completion/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 AutoUpdate-Show-In-Client: false diff --git a/ide/xml.schema.model/nbproject/project.properties b/ide/xml.schema.model/nbproject/project.properties index 7c79c38d5162..da46ede74d49 100644 --- a/ide/xml.schema.model/nbproject/project.properties +++ b/ide/xml.schema.model/nbproject/project.properties @@ -21,7 +21,7 @@ is.autoload=true javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.64.0 +spec.version.base=1.65.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/xml.tax/nbproject/project.properties b/ide/xml.tax/nbproject/project.properties index 3eb901492dbe..f39b98f209b3 100644 --- a/ide/xml.tax/nbproject/project.properties +++ b/ide/xml.tax/nbproject/project.properties @@ -19,6 +19,6 @@ extra.module.files=modules/ext/org-netbeans-tax.jar is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.76.0 +spec.version.base=1.77.0 # Apache's XNI API - parser implementation used internally by module xni-impl.jar=${libs.xerces.dir}/modules/ext/xerces-2.8.0.jar diff --git a/ide/xml.text.obsolete90/nbproject/project.properties b/ide/xml.text.obsolete90/nbproject/project.properties index f08443d94c80..0d81d4d1bd4b 100644 --- a/ide/xml.text.obsolete90/nbproject/project.properties +++ b/ide/xml.text.obsolete90/nbproject/project.properties @@ -18,4 +18,4 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.32.0 +spec.version.base=1.33.0 diff --git a/ide/xml.text/nbproject/project.properties b/ide/xml.text/nbproject/project.properties index 0130da64f5b7..0865c57a68bc 100644 --- a/ide/xml.text/nbproject/project.properties +++ b/ide/xml.text/nbproject/project.properties @@ -27,5 +27,5 @@ test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ org/netbeans/modules/xml/text/completion/CompletionJTest.class,\ org/netbeans/modules/xml/text/syntax/ColoringTest.class -spec.version.base=1.91.0 +spec.version.base=1.92.0 diff --git a/ide/xml.tools/manifest.mf b/ide/xml.tools/manifest.mf index d017d400e801..cc17b23aaa03 100644 --- a/ide/xml.tools/manifest.mf +++ b/ide/xml.tools/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.xml.tools/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/tools/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/xml/tools/resources/mf-layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 diff --git a/ide/xml.wsdl.model/nbproject/project.properties b/ide/xml.wsdl.model/nbproject/project.properties index b24e1f5b17d0..15a7eb428be4 100644 --- a/ide/xml.wsdl.model/nbproject/project.properties +++ b/ide/xml.wsdl.model/nbproject/project.properties @@ -20,7 +20,7 @@ is.autoload=true javac.release=17 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.65.0 +spec.version.base=1.66.0 release.external/generated-wsdl-xsd-2004.08.24.jar=modules/ext/generated-wsdl-xsd-2004.08.24.jar test.config.stableBTD.includes=**/*Test.class diff --git a/ide/xml.xam/nbproject/project.properties b/ide/xml.xam/nbproject/project.properties index 19886f88136b..43c584cae86d 100644 --- a/ide/xml.xam/nbproject/project.properties +++ b/ide/xml.xam/nbproject/project.properties @@ -21,6 +21,6 @@ is.autoload=true javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.64.0 +spec.version.base=1.65.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/xml.xdm/nbproject/project.properties b/ide/xml.xdm/nbproject/project.properties index 1c83b898b121..7eae74ed2559 100644 --- a/ide/xml.xdm/nbproject/project.properties +++ b/ide/xml.xdm/nbproject/project.properties @@ -20,6 +20,6 @@ is.autoload=true javac.release=17 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.66.0 +spec.version.base=1.67.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/xml/manifest.mf b/ide/xml/manifest.mf index 6b08af5d9655..2001c5f70f46 100644 --- a/ide/xml/manifest.mf +++ b/ide/xml/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/resources/Bundle.prop OpenIDE-Module-Install: org/netbeans/modules/xml/CoreModuleInstall.class OpenIDE-Module-Layer: org/netbeans/modules/xml/resources/mf-layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 diff --git a/ide/xsl/manifest.mf b/ide/xsl/manifest.mf index 2617ecbf66a8..42b93081bac2 100644 --- a/ide/xsl/manifest.mf +++ b/ide/xsl/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xsl/resources/Bundle.prop OpenIDE-Module-Layer: org/netbeans/modules/xsl/resources/mf-layer.xml OpenIDE-Module-Requires: org.openide.util.HttpServer$Impl AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 diff --git a/java/ant.browsetask/manifest.mf b/java/ant.browsetask/manifest.mf index bff5aded5927..50275ab34c0a 100644 --- a/java/ant.browsetask/manifest.mf +++ b/java/ant.browsetask/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ant.browsetask -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/browsetask/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/ant.debugger/nbproject/project.properties b/java/ant.debugger/nbproject/project.properties index a5e254c12c29..a12fb8ac928c 100644 --- a/java/ant.debugger/nbproject/project.properties +++ b/java/ant.debugger/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.69.0 +spec.version.base=1.70.0 test.unit.run.cp.extra=${tools.jar} # Make the debugger find it, even if it is not on the startup debug classpath: # (note: first entry is for accuracy in case you customize it; second for convenience) diff --git a/java/ant.freeform/manifest.mf b/java/ant.freeform/manifest.mf index 3906d746e848..d78c701ef279 100644 --- a/java/ant.freeform/manifest.mf +++ b/java/ant.freeform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ant.freeform/1 -OpenIDE-Module-Specification-Version: 1.78 +OpenIDE-Module-Specification-Version: 1.79 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/freeform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/ant/freeform/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/ant.grammar/manifest.mf b/java/ant.grammar/manifest.mf index 82984a4a1222..aebefdcf5301 100644 --- a/java/ant.grammar/manifest.mf +++ b/java/ant.grammar/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ant.grammar/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/grammar/Bundle.properties -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 diff --git a/java/ant.hints/manifest.mf b/java/ant.hints/manifest.mf index 8ad15f73b4fb..9dcaa0a8fcb0 100644 --- a/java/ant.hints/manifest.mf +++ b/java/ant.hints/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ant.hints/1 -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/hints/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/ant.kit/manifest.mf b/java/ant.kit/manifest.mf index 5bd023c1a369..be455875c0f6 100644 --- a/java/ant.kit/manifest.mf +++ b/java/ant.kit/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.ant.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/kit/Bundle.properties OpenIDE-Module-Requires: BuildActions OpenIDE-Module-Recommends: org.netbeans.modules.testng.ant.AntTestNGSupport,org.netbeans.modules.junit.ant.JUnitAntLogger,org.netbeans.modules.junit.ant.ui.AntJUnitManagerProvider -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/java/api.debugger.jpda/manifest.mf b/java/api.debugger.jpda/manifest.mf index 356cb80c0e6a..d0380158cef1 100644 --- a/java/api.debugger.jpda/manifest.mf +++ b/java/api.debugger.jpda/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.debugger.jpda/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/debugger/jpda/Bundle.properties -OpenIDE-Module-Specification-Version: 3.42 +OpenIDE-Module-Specification-Version: 3.43 OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/api.java/manifest.mf b/java/api.java/manifest.mf index cbff195d019a..c2a8d35ef215 100644 --- a/java/api.java/manifest.mf +++ b/java/api.java/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.java/1 -OpenIDE-Module-Specification-Version: 1.99 +OpenIDE-Module-Specification-Version: 1.100 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/java/queries/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/api.maven/manifest.mf b/java/api.maven/manifest.mf index d1fc12b5f3b1..69312a4e3374 100644 --- a/java/api.maven/manifest.mf +++ b/java/api.maven/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.maven -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/maven/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/beans/nbproject/project.properties b/java/beans/nbproject/project.properties index 5577fd4b8272..e45a0a85cc4a 100644 --- a/java/beans/nbproject/project.properties +++ b/java/beans/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.83.0 +spec.version.base=1.84.0 test.config.stable.includes=\ diff --git a/java/classfile/manifest.mf b/java/classfile/manifest.mf index c0e4d4447954..e4986182343b 100644 --- a/java/classfile/manifest.mf +++ b/java/classfile/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.classfile/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/classfile/Bundle.properties -OpenIDE-Module-Specification-Version: 1.84 +OpenIDE-Module-Specification-Version: 1.85 diff --git a/java/dbschema/nbproject/project.properties b/java/dbschema/nbproject/project.properties index 943440a45d6d..4c2e67829493 100644 --- a/java/dbschema/nbproject/project.properties +++ b/java/dbschema/nbproject/project.properties @@ -17,6 +17,6 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.73.0 +spec.version.base=1.74.0 test.config.stable.includes=**/XMLGraphSerializerTest.class diff --git a/java/debugger.jpda.ant/manifest.mf b/java/debugger.jpda.ant/manifest.mf index 871fc332b4e8..c0a4b27685ed 100644 --- a/java/debugger.jpda.ant/manifest.mf +++ b/java/debugger.jpda.ant/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.debugger.jpda.ant -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/ant/Bundle.properties OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda.js/manifest.mf b/java/debugger.jpda.js/manifest.mf index 0f989be737bb..2d94e447eb08 100644 --- a/java/debugger.jpda.js/manifest.mf +++ b/java/debugger.jpda.js/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.js/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/js/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 OpenIDE-Module-Requires: org.netbeans.api.debugger.jpda.JPDADebuggerEngineImpl, org.netbeans.spi.debugger.ui OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda.jsui/manifest.mf b/java/debugger.jpda.jsui/manifest.mf index 57d4e6ab9d8c..06e8b2e40908 100644 --- a/java/debugger.jpda.jsui/manifest.mf +++ b/java/debugger.jpda.jsui/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.jsui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/jsui/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/jsui/layer.xml -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 OpenIDE-Module-Requires: org.netbeans.spi.debugger.ui OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda.kit/manifest.mf b/java/debugger.jpda.kit/manifest.mf index 0b223552e44d..9e79c51d39d2 100644 --- a/java/debugger.jpda.kit/manifest.mf +++ b/java/debugger.jpda.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.debugger.jpda.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.47 +OpenIDE-Module-Specification-Version: 1.48 OpenIDE-Module-Provides: org.netbeans.modules.debugger.jpda.kit diff --git a/java/debugger.jpda.projects/manifest.mf b/java/debugger.jpda.projects/manifest.mf index 8c475e79234b..1c654c36d882 100644 --- a/java/debugger.jpda.projects/manifest.mf +++ b/java/debugger.jpda.projects/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.modules.debugger.jpda.projects OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/projects/Bundle.properties OpenIDE-Module-Provides: org.netbeans.spi.debugger.jpda.SourcePathProvider OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 diff --git a/java/debugger.jpda.projectsui/manifest.mf b/java/debugger.jpda.projectsui/manifest.mf index 49c1d8fd9ca4..8f4f9a6b3d57 100644 --- a/java/debugger.jpda.projectsui/manifest.mf +++ b/java/debugger.jpda.projectsui/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/projectsui/ OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/projectsui/resources/mf-layer.xml OpenIDE-Module-Provides: org.netbeans.spi.debugger.jpda.EditorContext OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/java/debugger.jpda.truffle/manifest.mf b/java/debugger.jpda.truffle/manifest.mf index cea8d40319e5..5b7ae7f63eac 100644 --- a/java/debugger.jpda.truffle/manifest.mf +++ b/java/debugger.jpda.truffle/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.debugger.jpda.truffle/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/truffle/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/truffle/layer.xml -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 OpenIDE-Module-Provides: org.netbeans.modules.debugger.jpda.truffle OpenIDE-Module-Requires: org.netbeans.api.debugger.jpda.JPDADebuggerEngineImpl, org.netbeans.spi.debugger.ui diff --git a/java/debugger.jpda.trufflenode/manifest.mf b/java/debugger.jpda.trufflenode/manifest.mf index 1b3b0fac4eee..ef13d117476c 100644 --- a/java/debugger.jpda.trufflenode/manifest.mf +++ b/java/debugger.jpda.trufflenode/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.trufflenode/1 OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/truffle/node/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/truffle/node/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 OpenIDE-Module-Recommends: org.netbeans.modules.debugger.jpda.truffle OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda.ui/manifest.mf b/java/debugger.jpda.ui/manifest.mf index c2a00971d9fd..7ae6781a507e 100644 --- a/java/debugger.jpda.ui/manifest.mf +++ b/java/debugger.jpda.ui/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/ui/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.86 +OpenIDE-Module-Specification-Version: 1.87 OpenIDE-Module-Requires: org.netbeans.api.debugger.jpda.JPDADebuggerEngineImpl, org.netbeans.spi.debugger.ui OpenIDE-Module-Provides: org.netbeans.modules.debugger.jpda.ui diff --git a/java/debugger.jpda.visual/manifest.mf b/java/debugger.jpda.visual/manifest.mf index a0ac19e3281c..eb4a690e3373 100644 --- a/java/debugger.jpda.visual/manifest.mf +++ b/java/debugger.jpda.visual/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.visual/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/visual/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/visual/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 OpenIDE-Module-Requires: org.netbeans.modules.debugger.jpda.ui OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda/nbproject/project.properties b/java/debugger.jpda/nbproject/project.properties index 51d9dc2cc7b7..d966572a6fd3 100644 --- a/java/debugger.jpda/nbproject/project.properties +++ b/java/debugger.jpda/nbproject/project.properties @@ -23,7 +23,7 @@ javac.release=17 javadoc.arch=${basedir}/arch.xml jpda.classes.dir=${build.dir}/jpda/classes/ requires.nb.javac=true -spec.version.base=1.141.0 +spec.version.base=1.142.0 test-unit-sys-prop.test.dir.src=${basedir}/test/unit/src/ test-unit-sys-prop.netbeans.user=${basedir}/work/nb_user_dir test.unit.cp.extra=../java.source.nbjavac/build/test-nb-javac/cluster/modules/org-netbeans-modules-java-source-nbjavac-test.jar diff --git a/java/editor.htmlui/manifest.mf b/java/editor.htmlui/manifest.mf index b005b4afba2d..e32ba9c95217 100644 --- a/java/editor.htmlui/manifest.mf +++ b/java/editor.htmlui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.editor.htmlui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/htmlui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 diff --git a/java/form.kit/manifest.mf b/java/form.kit/manifest.mf index 0b47688f24ee..0290b608f025 100644 --- a/java/form.kit/manifest.mf +++ b/java/form.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.form.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/form/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/java/form.nb/nbproject/project.properties b/java/form.nb/nbproject/project.properties index 8bb866ebba23..4dc219c32d34 100644 --- a/java/form.nb/nbproject/project.properties +++ b/java/form.nb/nbproject/project.properties @@ -17,5 +17,5 @@ is.eager=true javac.release=17 -spec.version.base=0.50.0 +spec.version.base=0.51.0 requires.nb.javac=true diff --git a/java/form.refactoring/nbproject/project.properties b/java/form.refactoring/nbproject/project.properties index ff4d4897b347..8bb866ebba23 100644 --- a/java/form.refactoring/nbproject/project.properties +++ b/java/form.refactoring/nbproject/project.properties @@ -17,5 +17,5 @@ is.eager=true javac.release=17 -spec.version.base=0.49.0 +spec.version.base=0.50.0 requires.nb.javac=true diff --git a/java/form/nbproject/project.properties b/java/form/nbproject/project.properties index 2c8a9dfd9203..4f323e1d8212 100644 --- a/java/form/nbproject/project.properties +++ b/java/form/nbproject/project.properties @@ -27,7 +27,7 @@ extra.module.files=modules/ext/AbsoluteLayout.jar javac.compilerargs=--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED javadoc.arch=${basedir}/arch.xml -spec.version.base=1.89.0 +spec.version.base=1.90.0 test-unit-sys-prop.org.netbeans.modules.form.layoutdesign.test=0 jnlp.verify.excludes=sources/org/netbeans/lib/awtextra/AbsoluteLayout.java,sources/org/netbeans/lib/awtextra/AbsoluteConstraints.java,sources/readme.txt diff --git a/java/gradle.dependencies/nbproject/project.properties b/java/gradle.dependencies/nbproject/project.properties index 17a019ff2f34..3a91dd721f22 100644 --- a/java/gradle.dependencies/nbproject/project.properties +++ b/java/gradle.dependencies/nbproject/project.properties @@ -17,7 +17,7 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.9.0 +spec.version.base=1.10.0 test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test-unit-sys-prop.java.awt.headless=true diff --git a/java/gradle.java.coverage/manifest.mf b/java/gradle.java.coverage/manifest.mf index b6241ae773ce..1cfc8ad2a1e0 100644 --- a/java/gradle.java.coverage/manifest.mf +++ b/java/gradle.java.coverage/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.java.coverage OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/java/coverage/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 diff --git a/java/gradle.java/nbproject/project.properties b/java/gradle.java/nbproject/project.properties index 6d7139289854..1766b9f03a4a 100644 --- a/java/gradle.java/nbproject/project.properties +++ b/java/gradle.java/nbproject/project.properties @@ -25,5 +25,5 @@ javadoc.apichanges=${basedir}/apichanges.xml test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test-unit-sys-prop.java.awt.headless=true test.use.jdk.javac=true -spec.version.base=1.35.0 +spec.version.base=1.36.0 diff --git a/java/gradle.kit/manifest.mf b/java/gradle.kit/manifest.mf index 8637ccf707db..ac59732173b4 100644 --- a/java/gradle.kit/manifest.mf +++ b/java/gradle.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.gradle.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/feature/Bundle.properties -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 diff --git a/java/gradle.persistence/manifest.mf b/java/gradle.persistence/manifest.mf index b365619d3efe..0c363db7a3e2 100644 --- a/java/gradle.persistence/manifest.mf +++ b/java/gradle.persistence/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.persistence OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/persistence/Bundle.properties -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 diff --git a/java/gradle.spring/manifest.mf b/java/gradle.spring/manifest.mf index d71ed6fc24fb..866d246bf608 100644 --- a/java/gradle.spring/manifest.mf +++ b/java/gradle.spring/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.spring OpenIDE-Module-Layer: org/netbeans/modules/gradle/spring/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/spring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 diff --git a/java/gradle.test/manifest.mf b/java/gradle.test/manifest.mf index df43a4401607..61e127cec1d7 100644 --- a/java/gradle.test/manifest.mf +++ b/java/gradle.test/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.test OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/test/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/java/hudson.ant/manifest.mf b/java/hudson.ant/manifest.mf index cec47094dad6..e85ce2890f9b 100644 --- a/java/hudson.ant/manifest.mf +++ b/java/hudson.ant/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/ant/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/java/hudson.maven/manifest.mf b/java/hudson.maven/manifest.mf index 0220bf8839a0..a0fa25c628f5 100644 --- a/java/hudson.maven/manifest.mf +++ b/java/hudson.maven/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.maven OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/maven/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/java/i18n.form/nbproject/project.properties b/java/i18n.form/nbproject/project.properties index 730f9bda75df..6b0a6331e6fa 100644 --- a/java/i18n.form/nbproject/project.properties +++ b/java/i18n.form/nbproject/project.properties @@ -17,6 +17,6 @@ is.eager=true javac.release=17 -spec.version.base=1.82.0 +spec.version.base=1.83.0 test.config.stableBTD.includes=**/*Test.class diff --git a/java/i18n/manifest.mf b/java/i18n/manifest.mf index 779d3d3209d2..ea7a85ec8cfd 100644 --- a/java/i18n/manifest.mf +++ b/java/i18n/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.i18n/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/i18n/Bundle.properties -OpenIDE-Module-Specification-Version: 1.85 +OpenIDE-Module-Specification-Version: 1.86 OpenIDE-Module-Layer: org/netbeans/modules/i18n/Layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.core.utilities/manifest.mf b/java/j2ee.core.utilities/manifest.mf index c3c4867930b9..9896e4c19cd1 100644 --- a/java/j2ee.core.utilities/manifest.mf +++ b/java/j2ee.core.utilities/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.core.utilities/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/core/utilities/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 diff --git a/java/j2ee.eclipselink/manifest.mf b/java/j2ee.eclipselink/manifest.mf index 9edf6ad5708c..ec7afcd94c1b 100644 --- a/java/j2ee.eclipselink/manifest.mf +++ b/java/j2ee.eclipselink/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.modules.j2ee.eclipselink/1 OpenIDE-Module-Layer: org/netbeans/modules/j2ee/eclipselink/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/eclipselink/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/java/j2ee.eclipselinkmodelgen/manifest.mf b/java/j2ee.eclipselinkmodelgen/manifest.mf index 553e981fdaf3..cc798caadf52 100644 --- a/java/j2ee.eclipselinkmodelgen/manifest.mf +++ b/java/j2ee.eclipselinkmodelgen/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.j2ee.eclipselinkmodelgen/1 OpenIDE-Module-Layer: org/netbeans/modules/j2ee/eclipselinkmodelgen/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/eclipselinkmodelgen/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/java/j2ee.jpa.refactoring/manifest.mf b/java/j2ee.jpa.refactoring/manifest.mf index 90b573967367..3e6ac678ad6a 100644 --- a/java/j2ee.jpa.refactoring/manifest.mf +++ b/java/j2ee.jpa.refactoring/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.jpa.refactoring OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/jpa/refactoring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.jpa.verification/manifest.mf b/java/j2ee.jpa.verification/manifest.mf index 128df7151759..b59495d5c70c 100644 --- a/java/j2ee.jpa.verification/manifest.mf +++ b/java/j2ee.jpa.verification/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.jpa.verification OpenIDE-Module-Layer: org/netbeans/modules/j2ee/jpa/verification/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/jpa/verification/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.metadata.model.support/manifest.mf b/java/j2ee.metadata.model.support/manifest.mf index 133fa1b8a185..371f70e99278 100644 --- a/java/j2ee.metadata.model.support/manifest.mf +++ b/java/j2ee.metadata.model.support/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.metadata.model.support/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/metadata/model/support/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.metadata/manifest.mf b/java/j2ee.metadata/manifest.mf index 08dccbc24fa4..5ffca60d20f5 100644 --- a/java/j2ee.metadata/manifest.mf +++ b/java/j2ee.metadata/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.metadata/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/metadata/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.persistence.kit/manifest.mf b/java/j2ee.persistence.kit/manifest.mf index 7c34c9761328..f7ea0b87e4fe 100644 --- a/java/j2ee.persistence.kit/manifest.mf +++ b/java/j2ee.persistence.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.persistence.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/persistence/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/java/j2ee.persistence/nbproject/project.properties b/java/j2ee.persistence/nbproject/project.properties index 33d5386a29c2..8a91171297d3 100644 --- a/java/j2ee.persistence/nbproject/project.properties +++ b/java/j2ee.persistence/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.87.0 +spec.version.base=1.88.0 test.unit.run.cp.extra=\ ${j2ee.persistence.dir}/modules/ext/eclipselink/org.eclipse.persistence.core-2.7.12.jar:\ diff --git a/java/j2ee.persistenceapi/nbproject/project.properties b/java/j2ee.persistenceapi/nbproject/project.properties index 554a0d3da2f5..f68397ece3ab 100644 --- a/java/j2ee.persistenceapi/nbproject/project.properties +++ b/java/j2ee.persistenceapi/nbproject/project.properties @@ -22,7 +22,7 @@ javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml requires.nb.javac=true -spec.version.base=1.68.0 +spec.version.base=1.69.0 test.unit.cp.extra=\ ${j2ee.persistence.dir}/modules/ext/eclipselink/org.eclipse.persistence.core-2.7.12.jar:\ ${j2ee.persistence.dir}/modules/ext/eclipselink/org.eclipse.persistence.asm-9.4.0.jar:\ diff --git a/java/java.api.common/manifest.mf b/java/java.api.common/manifest.mf index 5735ed3b2d28..635ba42fafd2 100644 --- a/java/java.api.common/manifest.mf +++ b/java/java.api.common/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.api.common/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/api/common/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.155 +OpenIDE-Module-Specification-Version: 1.156 diff --git a/java/java.completion/nbproject/project.properties b/java/java.completion/nbproject/project.properties index 228a065c1e5a..b3039af84b89 100644 --- a/java/java.completion/nbproject/project.properties +++ b/java/java.completion/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.18.0 +spec.version.base=2.19.0 #test configs test.config.jet-main.includes=\ diff --git a/java/java.debug/nbproject/project.properties b/java/java.debug/nbproject/project.properties index 8cc6055d5e64..957a58482690 100644 --- a/java/java.debug/nbproject/project.properties +++ b/java/java.debug/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. javac.release=17 -spec.version.base=1.70.0 +spec.version.base=1.71.0 requires.nb.javac=true diff --git a/java/java.disco/manifest.mf b/java/java.disco/manifest.mf index 82583e2dcfda..d7dda8243d6b 100644 --- a/java/java.disco/manifest.mf +++ b/java/java.disco/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.modules.java.disco OpenIDE-Module-Layer: org/netbeans/modules/java/disco/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/disco/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.java.platform.ui -OpenIDE-Module-Specification-Version: 2.16 +OpenIDE-Module-Specification-Version: 2.17 diff --git a/java/java.editor.base/nbproject/project.properties b/java/java.editor.base/nbproject/project.properties index 7727cfabec7c..b811a9bc7224 100644 --- a/java/java.editor.base/nbproject/project.properties +++ b/java/java.editor.base/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -spec.version.base=2.97.0 +spec.version.base=2.98.0 is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/java/java.editor.lib/nbproject/project.properties b/java/java.editor.lib/nbproject/project.properties index da3528e9bfed..47bb6ea88742 100644 --- a/java/java.editor.lib/nbproject/project.properties +++ b/java/java.editor.lib/nbproject/project.properties @@ -21,6 +21,6 @@ javadoc.apichanges=${basedir}/apichanges.xml javac.release=17 -spec.version.base=1.62.0 +spec.version.base=1.63.0 is.autoload=true diff --git a/java/java.editor/nbproject/project.properties b/java/java.editor/nbproject/project.properties index c41663b11c9f..746d48c7d9ca 100644 --- a/java/java.editor/nbproject/project.properties +++ b/java/java.editor/nbproject/project.properties @@ -17,7 +17,7 @@ javadoc.title=Java Editor -spec.version.base=2.100.0 +spec.version.base=2.101.0 test.qa-functional.cp.extra=${editor.dir}/modules/org-netbeans-modules-editor-fold.jar javac.release=17 #test.unit.cp.extra= diff --git a/java/java.examples/manifest.mf b/java/java.examples/manifest.mf index a718b54ae2a7..fddfe85d46c1 100644 --- a/java/java.examples/manifest.mf +++ b/java/java.examples/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.examples/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/examples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 OpenIDE-Module-Layer: org/netbeans/modules/java/examples/resources/mf-layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/java.file.launcher/manifest.mf b/java/java.file.launcher/manifest.mf index f8b3621e26cb..899e591b381c 100644 --- a/java/java.file.launcher/manifest.mf +++ b/java/java.file.launcher/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.file.launcher OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/file/launcher/Bundle.properties -OpenIDE-Module-Specification-Version: 1.9 +OpenIDE-Module-Specification-Version: 1.10 diff --git a/java/java.freeform/manifest.mf b/java/java.freeform/manifest.mf index d54c6bbf9df3..58d7e4b526ed 100644 --- a/java/java.freeform/manifest.mf +++ b/java/java.freeform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.freeform/1 -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/freeform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/java/freeform/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/java.graph/manifest.mf b/java/java.graph/manifest.mf index 3d82cb8a303c..36a4e743de96 100644 --- a/java/java.graph/manifest.mf +++ b/java/java.graph/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.graph/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/graph/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 diff --git a/java/java.guards/manifest.mf b/java/java.guards/manifest.mf index a60bde1a2d12..3530ade7410b 100644 --- a/java/java.guards/manifest.mf +++ b/java/java.guards/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.java.guards/0 OpenIDE-Module-Layer: org/netbeans/modules/java/guards/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/guards/Bundle.properties OpenIDE-Module-Provides: org.netbeans.api.editor.guards.Java -OpenIDE-Module-Specification-Version: 0.63 +OpenIDE-Module-Specification-Version: 0.64 diff --git a/java/java.hints.declarative.test/nbproject/project.properties b/java/java.hints.declarative.test/nbproject/project.properties index dd19298f7946..9f4848473845 100644 --- a/java/java.hints.declarative.test/nbproject/project.properties +++ b/java/java.hints.declarative.test/nbproject/project.properties @@ -17,5 +17,5 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.48.0 +spec.version.base=1.49.0 javadoc.arch=${basedir}/arch.xml diff --git a/java/java.hints.declarative/nbproject/project.properties b/java/java.hints.declarative/nbproject/project.properties index 7445ff28b39a..c135c4780d5f 100644 --- a/java/java.hints.declarative/nbproject/project.properties +++ b/java/java.hints.declarative/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.52.0 +spec.version.base=1.53.0 requires.nb.javac=true test.config.stableBTD.includes=**/*Test.class diff --git a/java/java.hints.legacy.spi/nbproject/project.properties b/java/java.hints.legacy.spi/nbproject/project.properties index 588455f0a65b..88e41f8201f1 100644 --- a/java/java.hints.legacy.spi/nbproject/project.properties +++ b/java/java.hints.legacy.spi/nbproject/project.properties @@ -17,6 +17,6 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.49.0 +spec.version.base=1.50.0 javadoc.arch=${basedir}/arch.xml requires.nb.javac=true diff --git a/java/java.hints.test/nbproject/project.properties b/java/java.hints.test/nbproject/project.properties index 204eebe47605..b8af53894ea7 100644 --- a/java/java.hints.test/nbproject/project.properties +++ b/java/java.hints.test/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.51.0 +spec.version.base=1.52.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml requires.nb.javac=true diff --git a/java/java.hints.ui/nbproject/project.properties b/java/java.hints.ui/nbproject/project.properties index 92d6f4be362c..ac9972ef269e 100644 --- a/java/java.hints.ui/nbproject/project.properties +++ b/java/java.hints.ui/nbproject/project.properties @@ -16,5 +16,5 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.50.0 +spec.version.base=1.51.0 requires.nb.javac=true diff --git a/java/java.hints/nbproject/project.properties b/java/java.hints/nbproject/project.properties index 59819174fddc..df8658d15cbc 100644 --- a/java/java.hints/nbproject/project.properties +++ b/java/java.hints/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -spec.version.base=1.115.0 +spec.version.base=1.116.0 javac.release=17 diff --git a/java/java.j2sedeploy/manifest.mf b/java/java.j2sedeploy/manifest.mf index 91081c9ea73b..c69f010ccdb0 100644 --- a/java/java.j2sedeploy/manifest.mf +++ b/java/java.j2sedeploy/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.j2sedeploy OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2sedeploy/Bundle.properties -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 AutoUpdate-Show-In-Client: false diff --git a/java/java.j2seembedded/manifest.mf b/java/java.j2seembedded/manifest.mf index a85d84a7d1a9..78281717e5c6 100644 --- a/java/java.j2seembedded/manifest.mf +++ b/java/java.j2seembedded/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.j2seembedded OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2seembedded/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/java/j2seembedded/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.41 +OpenIDE-Module-Specification-Version: 1.42 diff --git a/java/java.j2semodule/manifest.mf b/java/java.j2semodule/manifest.mf index ba022f5c83d9..715923423594 100644 --- a/java/java.j2semodule/manifest.mf +++ b/java/java.j2semodule/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.java.j2semodule OpenIDE-Module-Layer: org/netbeans/modules/java/j2semodule/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2semodule/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/java/java.j2seplatform/manifest.mf b/java/java.j2seplatform/manifest.mf index e675f56d7ba0..d1c92e0a68d0 100644 --- a/java/java.j2seplatform/manifest.mf +++ b/java/java.j2seplatform/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2seplatform/Bundle. OpenIDE-Module-Layer: org/netbeans/modules/java/j2seplatform/resources/layer.xml OpenIDE-Module-Install: org/netbeans/modules/java/j2seplatform/J2SEPlatformModule.class AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 OpenIDE-Module-Provides: j2seplatform diff --git a/java/java.j2seprofiles/manifest.mf b/java/java.j2seprofiles/manifest.mf index ebecd4672245..9e910a89d621 100644 --- a/java/java.j2seprofiles/manifest.mf +++ b/java/java.j2seprofiles/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.j2seprofiles OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2seprofiles/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/java/java.j2seproject/nbproject/project.properties b/java/java.j2seproject/nbproject/project.properties index 14008a960dc7..4094e3c142ce 100644 --- a/java/java.j2seproject/nbproject/project.properties +++ b/java/java.j2seproject/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 -spec.version.base=1.119.0 +spec.version.base=1.120.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/java/java.kit/manifest.mf b/java/java.kit/manifest.mf index ad5ffd21aa52..09aef489185f 100644 --- a/java/java.kit/manifest.mf +++ b/java/java.kit/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 OpenIDE-Module-Recommends: org.netbeans.modules.profiler, org.netbeans.modules.debugger.jpda.kit,org.netbeans.modules.selenium2.java OpenIDE-Module-Layer: org/netbeans/modules/java/kit/layer.xml diff --git a/java/java.lexer/manifest.mf b/java/java.lexer/manifest.mf index 172e82ecacb1..89f76d344368 100644 --- a/java/java.lexer/manifest.mf +++ b/java/java.lexer/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.java.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/java/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 OpenIDE-Module-Layer: org/netbeans/lib/java/lexer/layer.xml diff --git a/java/java.lsp.server/nbproject/project.properties b/java/java.lsp.server/nbproject/project.properties index f32ba6d05174..d6b3bc699970 100644 --- a/java/java.lsp.server/nbproject/project.properties +++ b/java/java.lsp.server/nbproject/project.properties @@ -17,7 +17,7 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.16.0 +spec.version.base=2.17.0 javadoc.arch=${basedir}/arch.xml requires.nb.javac=true test.unit.run.cp.extra= diff --git a/java/java.metrics/manifest.mf b/java/java.metrics/manifest.mf index 0109812b86e3..17f7886f3dd6 100644 --- a/java/java.metrics/manifest.mf +++ b/java/java.metrics/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.metrics OpenIDE-Module-Layer: org/netbeans/modules/java/metrics/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/metrics/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 AutoUpdate-Show-In-Client: false diff --git a/java/java.module.graph/manifest.mf b/java/java.module.graph/manifest.mf index 879944e9d15d..584d60eb2d2c 100644 --- a/java/java.module.graph/manifest.mf +++ b/java/java.module.graph/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.module.graph OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/module/graph/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/java/java.mx.project/manifest.mf b/java/java.mx.project/manifest.mf index 998007cbb2f6..2954d18fcf49 100644 --- a/java/java.mx.project/manifest.mf +++ b/java/java.mx.project/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.java.mx.project OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/mx/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 diff --git a/java/java.nativeimage.debugger/manifest.mf b/java/java.nativeimage.debugger/manifest.mf index 8e1fde0b6097..2d8c1a8d50e7 100644 --- a/java/java.nativeimage.debugger/manifest.mf +++ b/java/java.nativeimage.debugger/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.nativeimage.debugger/0 OpenIDE-Module-Layer: org/netbeans/modules/java/nativeimage/debugger/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/nativeimage/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 0.22 +OpenIDE-Module-Specification-Version: 0.23 diff --git a/java/java.navigation/manifest.mf b/java/java.navigation/manifest.mf index a6f2729b305c..5dde53722907 100644 --- a/java/java.navigation/manifest.mf +++ b/java/java.navigation/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.java.navigation/1 OpenIDE-Module-Layer: org/netbeans/modules/java/navigation/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/navigation/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.73 +OpenIDE-Module-Specification-Version: 1.74 AutoUpdate-Show-In-Client: false diff --git a/java/java.openjdk.project/manifest.mf b/java/java.openjdk.project/manifest.mf index 18329d35e029..475c30c45387 100644 --- a/java/java.openjdk.project/manifest.mf +++ b/java/java.openjdk.project/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.openjdk.project/1 OpenIDE-Module-Layer: org/netbeans/modules/java/openjdk/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/openjdk/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/java/java.platform.ui/manifest.mf b/java/java.platform.ui/manifest.mf index f72b8349db02..43b0da6bd5cd 100644 --- a/java/java.platform.ui/manifest.mf +++ b/java/java.platform.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.platform.ui/1 -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/platform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/java/platform/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/java.platform/manifest.mf b/java/java.platform/manifest.mf index df0ba9d797d8..5f6d0e937b72 100644 --- a/java/java.platform/manifest.mf +++ b/java/java.platform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.platform/1 -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/platform/Bundle.properties AutoUpdate-Show-In-Client: false OpenIDE-Module-Recommends: org.netbeans.modules.java.platform.ui diff --git a/java/java.preprocessorbridge/nbproject/project.properties b/java/java.preprocessorbridge/nbproject/project.properties index e4326e13da74..dcc7b0ced457 100644 --- a/java/java.preprocessorbridge/nbproject/project.properties +++ b/java/java.preprocessorbridge/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.compilerargs=-Xlint:unchecked javac.release=17 -spec.version.base=1.81.0 +spec.version.base=1.82.0 javadoc.apichanges=${basedir}/apichanges.xml requires.nb.javac=true diff --git a/java/java.project.ui/manifest.mf b/java/java.project.ui/manifest.mf index e3558b60279f..5298e2c8e7e2 100644 --- a/java/java.project.ui/manifest.mf +++ b/java/java.project.ui/manifest.mf @@ -3,7 +3,7 @@ OpenIDE-Module: org.netbeans.modules.java.project.ui/1 OpenIDE-Module-Layer: org/netbeans/modules/java/project/ui/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/project/ui/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.107 +OpenIDE-Module-Specification-Version: 1.108 OpenIDE-Module-Recommends: org.netbeans.spi.java.project.runner.JavaRunnerImplementation AutoUpdate-Show-In-Client: false diff --git a/java/java.project/manifest.mf b/java/java.project/manifest.mf index c6c446155652..97e84e247e2c 100644 --- a/java/java.project/manifest.mf +++ b/java/java.project/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.project/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/project/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.104 +OpenIDE-Module-Specification-Version: 1.105 AutoUpdate-Show-In-Client: false diff --git a/java/java.source.ant/nbproject/project.properties b/java/java.source.ant/nbproject/project.properties index 7d82364ca40c..2d1c5c6814b7 100644 --- a/java/java.source.ant/nbproject/project.properties +++ b/java/java.source.ant/nbproject/project.properties @@ -17,7 +17,7 @@ ant.jar=${ant.core.lib} javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.63.0 +spec.version.base=1.64.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/java/java.source.compat8/manifest.mf b/java/java.source.compat8/manifest.mf index 742f0aeb380c..74f880ce057a 100644 --- a/java/java.source.compat8/manifest.mf +++ b/java/java.source.compat8/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.source.compat8 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/source/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 9.35 +OpenIDE-Module-Specification-Version: 9.36 OpenIDE-Module-Fragment-Host: org.netbeans.modules.java.source.base diff --git a/java/java.source.queries/manifest.mf b/java/java.source.queries/manifest.mf index c786adf9f3b8..f8d901fa9bdf 100644 --- a/java/java.source.queries/manifest.mf +++ b/java/java.source.queries/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.source.queries OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/source/queries/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 OpenIDE-Module-Needs: org.netbeans.modules.java.source.queries.spi.QueriesController Netigso-Export-Package: org.netbeans.modules.java.source.queries.api,org.netbeans.modules.java.source.queries.spi diff --git a/java/java.source.queriesimpl/manifest.mf b/java/java.source.queriesimpl/manifest.mf index 2e31d20a68e6..4055e6028048 100644 --- a/java/java.source.queriesimpl/manifest.mf +++ b/java/java.source.queriesimpl/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.source.queriesimpl OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/source/queriesimpl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 OpenIDE-Module-Provides: org.netbeans.modules.java.source.queries.spi.QueriesController diff --git a/java/java.source/nbproject/project.properties b/java/java.source/nbproject/project.properties index 0f35fd0fe22c..9e1c42d3c75e 100644 --- a/java/java.source/nbproject/project.properties +++ b/java/java.source/nbproject/project.properties @@ -22,7 +22,7 @@ javadoc.name=Java Source javadoc.title=Java Source javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=0.197.0 +spec.version.base=0.198.0 test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\ ${o.n.core.dir}/lib/boot.jar:\ diff --git a/java/java.sourceui/nbproject/project.properties b/java/java.sourceui/nbproject/project.properties index dd7e4f99edb8..58a37fc353dc 100644 --- a/java/java.sourceui/nbproject/project.properties +++ b/java/java.sourceui/nbproject/project.properties @@ -18,7 +18,7 @@ javadoc.apichanges=${basedir}/apichanges.xml javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.80.0 +spec.version.base=1.81.0 # failing or missing test files test.config.default.excludes=\ diff --git a/java/java.testrunner.ant/manifest.mf b/java/java.testrunner.ant/manifest.mf index a86a2572e4e2..c892b8ffdaed 100644 --- a/java/java.testrunner.ant/manifest.mf +++ b/java/java.testrunner.ant/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.testrunner.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/testrunner/ant/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/java/java.testrunner.ui/manifest.mf b/java/java.testrunner.ui/manifest.mf index 85a2943a7f33..c8eea32d2af1 100644 --- a/java/java.testrunner.ui/manifest.mf +++ b/java/java.testrunner.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.testrunner.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/testrunner/ui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.java.testrunner.ui.api.JavaManager -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 diff --git a/java/java.testrunner/manifest.mf b/java/java.testrunner/manifest.mf index cb7e5989334b..9fa66876d79f 100644 --- a/java/java.testrunner/manifest.mf +++ b/java/java.testrunner/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.testrunner OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/testrunner/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/java/javadoc/nbproject/project.properties b/java/javadoc/nbproject/project.properties index dc33070cebab..c5d41032e438 100644 --- a/java/javadoc/nbproject/project.properties +++ b/java/javadoc/nbproject/project.properties @@ -21,7 +21,7 @@ javac.release=17 # requires nb.javac for compiling of tests on Mac requires.nb.javac=true -spec.version.base=1.87.0 +spec.version.base=1.88.0 test.config.stableBTD.includes=\ **/hints/AnalyzerTest.class,\ **/search/*Test.class diff --git a/java/javaee.injection/manifest.mf b/java/javaee.injection/manifest.mf index 903482e93b7d..c1f9bbe56409 100644 --- a/java/javaee.injection/manifest.mf +++ b/java/javaee.injection/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javaee.injection OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/injection/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 AutoUpdate-Show-In-Client: false diff --git a/java/javawebstart/manifest.mf b/java/javawebstart/manifest.mf index 8c3c5a8fa02c..005677532d11 100644 --- a/java/javawebstart/manifest.mf +++ b/java/javawebstart/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javawebstart OpenIDE-Module-Layer: org/netbeans/modules/javawebstart/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javawebstart/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 AutoUpdate-Show-In-Client: false diff --git a/java/jellytools.java/manifest.mf b/java/jellytools.java/manifest.mf index 2689f051fba7..43ad2ea3c137 100644 --- a/java/jellytools.java/manifest.mf +++ b/java/jellytools.java/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jellytools.java/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jellytools/java/Bundle.properties -OpenIDE-Module-Specification-Version: 3.62 +OpenIDE-Module-Specification-Version: 3.63 diff --git a/java/jshell.support/nbproject/project.properties b/java/jshell.support/nbproject/project.properties index ca0ca13ad7bf..a3a7c0e74570 100644 --- a/java/jshell.support/nbproject/project.properties +++ b/java/jshell.support/nbproject/project.properties @@ -17,5 +17,5 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.32.0 +spec.version.base=1.33.0 is.eager=true diff --git a/java/junit.ant.ui/manifest.mf b/java/junit.ant.ui/manifest.mf index 91097461b8cf..5325916bb424 100644 --- a/java/junit.ant.ui/manifest.mf +++ b/java/junit.ant.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.junit.ant.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/ant/ui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.junit.ant.ui.AntJUnitManagerProvider -OpenIDE-Module-Specification-Version: 1.37 +OpenIDE-Module-Specification-Version: 1.38 diff --git a/java/junit.ant/manifest.mf b/java/junit.ant/manifest.mf index b533f2c2b58f..c6f656664dcd 100644 --- a/java/junit.ant/manifest.mf +++ b/java/junit.ant/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.junit.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/ant/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.junit.ant.JUnitAntLogger -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/java/junit.ui/manifest.mf b/java/junit.ui/manifest.mf index 92c8a3fcb3ed..80d65974488b 100644 --- a/java/junit.ui/manifest.mf +++ b/java/junit.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.junit.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 diff --git a/java/junit/manifest.mf b/java/junit/manifest.mf index 1880ccd9bbc9..af9d5129256c 100644 --- a/java/junit/manifest.mf +++ b/java/junit/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.junit/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/junit/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.106 +OpenIDE-Module-Specification-Version: 2.107 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker AutoUpdate-Show-In-Client: false diff --git a/java/ko4j.debugging/manifest.mf b/java/ko4j.debugging/manifest.mf index c535e9aa4605..5f19978392a2 100644 --- a/java/ko4j.debugging/manifest.mf +++ b/java/ko4j.debugging/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ko4j.debugging OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ko4j/debugging/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 OpenIDE-Module-Needs: org.netbeans.modules.web.browser.api.PageInspector OpenIDE-Module-Provides: org.netbeans.modules.ko4j.debugging diff --git a/java/kotlin.editor/manifest.mf b/java/kotlin.editor/manifest.mf index cb22557ba202..48a41e9d8229 100644 --- a/java/kotlin.editor/manifest.mf +++ b/java/kotlin.editor/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.kotlin.editor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/kotlin/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 diff --git a/java/languages.antlr/manifest.mf b/java/languages.antlr/manifest.mf index e83a519937c7..19a2119bb98a 100644 --- a/java/languages.antlr/manifest.mf +++ b/java/languages.antlr/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.antlr OpenIDE-Module-Layer: org/netbeans/modules/languages/antlr/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/antlr/Bundle.properties -OpenIDE-Module-Specification-Version: 1.14 +OpenIDE-Module-Specification-Version: 1.15 AutoUpdate-Show-In-Client: true diff --git a/java/lib.jshell.agent/manifest.mf b/java/lib.jshell.agent/manifest.mf index fa751e375216..40f834466f7a 100644 --- a/java/lib.jshell.agent/manifest.mf +++ b/java/lib.jshell.agent/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.lib.jshell.agent OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/jshell/agent/Bundle.properties -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 Premain-class: org.netbeans.lib.jshell.agent.NbJShellAgent Can-Redefine-Classes: true Can-Retransform-Classes: true diff --git a/java/lib.nbjavac/nbproject/project.properties b/java/lib.nbjavac/nbproject/project.properties index e638c5d81172..1fc342706a85 100644 --- a/java/lib.nbjavac/nbproject/project.properties +++ b/java/lib.nbjavac/nbproject/project.properties @@ -17,5 +17,5 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.48.0 +spec.version.base=1.49.0 requires.nb.javac=true diff --git a/java/libs.cglib/manifest.mf b/java/libs.cglib/manifest.mf index efec95906d93..259490dda2ca 100644 --- a/java/libs.cglib/manifest.mf +++ b/java/libs.cglib/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.cglib/1 -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/cglib/Bundle.properties diff --git a/java/libs.corba.omgapi/manifest.mf b/java/libs.corba.omgapi/manifest.mf index 643b1bc352a8..352532953985 100644 --- a/java/libs.corba.omgapi/manifest.mf +++ b/java/libs.corba.omgapi/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.libs.corba.omgapi OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/corba/omgapi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 diff --git a/java/libs.javacapi/nbproject/project.properties b/java/libs.javacapi/nbproject/project.properties index 2941a1eb85fd..e7023619c713 100644 --- a/java/libs.javacapi/nbproject/project.properties +++ b/java/libs.javacapi/nbproject/project.properties @@ -19,6 +19,6 @@ build.compiler.deprecation=false is.autoload=true javadoc.title=Javac API nbm.module.author=Petr Hrebejk -spec.version.base=8.56.0 +spec.version.base=8.57.0 javadoc.arch=${basedir}/arch.xml module.javadoc.packages=com.sun.source.tree,com.sun.source.util diff --git a/java/libs.nbjavacapi/manifest.mf b/java/libs.nbjavacapi/manifest.mf index f6fafc6fe853..c40b89b2371a 100644 --- a/java/libs.nbjavacapi/manifest.mf +++ b/java/libs.nbjavacapi/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.nbjavacapi OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nbjavac/api/Bundle.properties -OpenIDE-Module-Specification-Version: 21.10 +OpenIDE-Module-Specification-Version: 21.11 OpenIDE-Module-Hide-Classpath-Packages: com.sun.source.**, javax.annotation.processing.**, javax.lang.model.**, javax.tools.**, com.sun.tools.javac.**, com.sun.tools.javap.**, com.sun.tools.classfile.**, com.sun.tools.doclint.** OpenIDE-Module-Fragment-Host: org.netbeans.libs.javacapi OpenIDE-Module-Provides: org.netbeans.libs.nbjavac diff --git a/java/libs.springframework/manifest.mf b/java/libs.springframework/manifest.mf index d62f453035fb..3d75718463be 100644 --- a/java/libs.springframework/manifest.mf +++ b/java/libs.springframework/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.libs.springframework/1 OpenIDE-Module-Layer: org/netbeans/libs/springframework/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/springframework/Bundle.properties OpenIDE-Module-Provides: org.springframework.Library -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 diff --git a/java/maven.checkstyle/manifest.mf b/java/maven.checkstyle/manifest.mf index 847aa2949430..6c37e6ee59cc 100644 --- a/java/maven.checkstyle/manifest.mf +++ b/java/maven.checkstyle/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.checkstyle OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/checkstyle/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/java/maven.coverage/manifest.mf b/java/maven.coverage/manifest.mf index 5022e3f796e9..6f5707caf723 100644 --- a/java/maven.coverage/manifest.mf +++ b/java/maven.coverage/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.coverage OpenIDE-Module-Layer: org/netbeans/modules/maven/coverage/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/coverage/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 AutoUpdate-Show-In-Client: false diff --git a/java/maven.embedder/manifest.mf b/java/maven.embedder/manifest.mf index bbd7bbeb1bc4..25c4c74dd959 100644 --- a/java/maven.embedder/manifest.mf +++ b/java/maven.embedder/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.embedder/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/embedder/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.87 +OpenIDE-Module-Specification-Version: 2.88 diff --git a/java/maven.grammar/nbproject/project.properties b/java/maven.grammar/nbproject/project.properties index bbe721737338..4426026eff47 100644 --- a/java/maven.grammar/nbproject/project.properties +++ b/java/maven.grammar/nbproject/project.properties @@ -17,4 +17,4 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.79.0 +spec.version.base=1.80.0 diff --git a/java/maven.graph/manifest.mf b/java/maven.graph/manifest.mf index 6a9d12e0ae78..2a7a50e17e76 100644 --- a/java/maven.graph/manifest.mf +++ b/java/maven.graph/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.graph/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/graph/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/java/maven.hints/manifest.mf b/java/maven.hints/manifest.mf index a25292cc9337..6594d245079f 100644 --- a/java/maven.hints/manifest.mf +++ b/java/maven.hints/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.hints/1 -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/hints/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/maven/hints/layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/maven.indexer.ui/manifest.mf b/java/maven.indexer.ui/manifest.mf index 42630c11c9f1..f3ebfae9f463 100644 --- a/java/maven.indexer.ui/manifest.mf +++ b/java/maven.indexer.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/indexer/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.66 +OpenIDE-Module-Specification-Version: 2.67 OpenIDE-Module: org.netbeans.modules.maven.indexer.ui/2 diff --git a/java/maven.indexer/manifest.mf b/java/maven.indexer/manifest.mf index 7e95070de9ab..b9fe64518ef0 100644 --- a/java/maven.indexer/manifest.mf +++ b/java/maven.indexer/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/indexer/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.72 +OpenIDE-Module-Specification-Version: 2.73 OpenIDE-Module: org.netbeans.modules.maven.indexer/2 diff --git a/java/maven.junit.ui/manifest.mf b/java/maven.junit.ui/manifest.mf index 4e1a114ce819..3703d502a329 100644 --- a/java/maven.junit.ui/manifest.mf +++ b/java/maven.junit.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.junit.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/junit/ui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.maven.junit.ui.MavenJUnitManagerProvider -OpenIDE-Module-Specification-Version: 1.37 +OpenIDE-Module-Specification-Version: 1.38 diff --git a/java/maven.junit/manifest.mf b/java/maven.junit/manifest.mf index fbf29db7b82d..4542e29a2cb0 100644 --- a/java/maven.junit/manifest.mf +++ b/java/maven.junit/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.junit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/junit/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 diff --git a/java/maven.kit/manifest.mf b/java/maven.kit/manifest.mf index 730038c4b609..0b60b141bddf 100644 --- a/java/maven.kit/manifest.mf +++ b/java/maven.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.kit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/feature/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.modules.testng.maven.MavenTestNGSupport,org.netbeans.modules.maven.junit.ui.MavenJUnitManagerProvider,org.netbeans.modules.selenium2.maven.Selenium2MavenSupportImpl -OpenIDE-Module-Specification-Version: 4.63 +OpenIDE-Module-Specification-Version: 4.64 diff --git a/java/maven.model/manifest.mf b/java/maven.model/manifest.mf index e442c2bd1ba6..4149e1bdb732 100644 --- a/java/maven.model/manifest.mf +++ b/java/maven.model/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.model/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/model/Bundle.properties -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 diff --git a/java/maven.osgi/manifest.mf b/java/maven.osgi/manifest.mf index 6d3bef89c28c..9e73f28603c6 100644 --- a/java/maven.osgi/manifest.mf +++ b/java/maven.osgi/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.osgi/1 OpenIDE-Module-Layer: org/netbeans/modules/maven/osgi/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/osgi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 diff --git a/java/maven.persistence/manifest.mf b/java/maven.persistence/manifest.mf index e3b2a1e1d4de..27cc56237012 100644 --- a/java/maven.persistence/manifest.mf +++ b/java/maven.persistence/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.persistence/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/persistence/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/java/maven.refactoring/nbproject/project.properties b/java/maven.refactoring/nbproject/project.properties index 321e62ddd693..2473f335e1ac 100644 --- a/java/maven.refactoring/nbproject/project.properties +++ b/java/maven.refactoring/nbproject/project.properties @@ -17,4 +17,4 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial requires.nb.javac=true -spec.version.base=1.53.0 +spec.version.base=1.54.0 diff --git a/java/maven.repository/manifest.mf b/java/maven.repository/manifest.mf index 88155e9be54b..d2c2effaa0aa 100644 --- a/java/maven.repository/manifest.mf +++ b/java/maven.repository/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.repository/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/repository/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 diff --git a/java/maven.search/manifest.mf b/java/maven.search/manifest.mf index 8833cf74d3c6..eee48bf063fd 100644 --- a/java/maven.search/manifest.mf +++ b/java/maven.search/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.search OpenIDE-Module-Layer: org/netbeans/modules/maven/search/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/search/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/java/maven.spring/manifest.mf b/java/maven.spring/manifest.mf index 2808032923ed..a0ee8c991afd 100644 --- a/java/maven.spring/manifest.mf +++ b/java/maven.spring/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.spring/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/spring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/java/maven/nbproject/project.properties b/java/maven/nbproject/project.properties index 85412150adb1..3fcdb35631ed 100644 --- a/java/maven/nbproject/project.properties +++ b/java/maven/nbproject/project.properties @@ -21,7 +21,7 @@ javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml javahelp.hs=maven.hs extra.module.files=maven-nblib/ -spec.version.base=2.172.0 +spec.version.base=2.173.0 # The CPExtender test fails in library processing (not randomly) since NetBeans 8.2; disabling. test.excludes=**/CPExtenderTest.class diff --git a/java/nashorn.execution/manifest.mf b/java/nashorn.execution/manifest.mf index dc78396d7f1e..6898f5781b88 100644 --- a/java/nashorn.execution/manifest.mf +++ b/java/nashorn.execution/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.nashorn.execution/1 Comment: OpenIDE-Module-Layer: org/netbeans/modules/nashorn/execution/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nashorn/execution/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 AutoUpdate-Show-In-Client: false OpenIDE-Module-Recommends: org.netbeans.libs.graaljs diff --git a/java/projectimport.eclipse.core/manifest.mf b/java/projectimport.eclipse.core/manifest.mf index 6bf0729b97ba..30873182eedd 100644 --- a/java/projectimport.eclipse.core/manifest.mf +++ b/java/projectimport.eclipse.core/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.projectimport.eclipse.core/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/projectimport/eclipse/core/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/projectimport/eclipse/core/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.62 +OpenIDE-Module-Specification-Version: 2.63 diff --git a/java/projectimport.eclipse.j2se/nbproject/project.properties b/java/projectimport.eclipse.j2se/nbproject/project.properties index 50bc85d02ec4..91791b94089a 100644 --- a/java/projectimport.eclipse.j2se/nbproject/project.properties +++ b/java/projectimport.eclipse.j2se/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.60.0 +spec.version.base=1.61.0 diff --git a/java/refactoring.java/nbproject/project.properties b/java/refactoring.java/nbproject/project.properties index d82cab10e50d..9553e66f5e08 100644 --- a/java/refactoring.java/nbproject/project.properties +++ b/java/refactoring.java/nbproject/project.properties @@ -18,7 +18,7 @@ javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.94.0 +spec.version.base=1.95.0 #test configs test.config.find.includes=\ **/FindUsagesSuite.class diff --git a/java/selenium2.java/manifest.mf b/java/selenium2.java/manifest.mf index aaf51e7bf99a..ca9c23c45d47 100644 --- a/java/selenium2.java/manifest.mf +++ b/java/selenium2.java/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.java OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/java/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.selenium2.java -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/java/selenium2.maven/manifest.mf b/java/selenium2.maven/manifest.mf index 2aef8de79559..31e5716d884e 100644 --- a/java/selenium2.maven/manifest.mf +++ b/java/selenium2.maven/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.maven OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/maven/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.selenium2.maven.Selenium2MavenSupportImpl -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/java/spellchecker.bindings.java/manifest.mf b/java/spellchecker.bindings.java/manifest.mf index 7ee4e8b5b55a..e9ae442f89d7 100644 --- a/java/spellchecker.bindings.java/manifest.mf +++ b/java/spellchecker.bindings.java/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.java/1 OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 diff --git a/java/spi.debugger.jpda.ui/manifest.mf b/java/spi.debugger.jpda.ui/manifest.mf index 16ce29402f17..164661f8af03 100644 --- a/java/spi.debugger.jpda.ui/manifest.mf +++ b/java/spi.debugger.jpda.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.debugger.jpda.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/ui/spi/Bundle.properties -OpenIDE-Module-Specification-Version: 3.35 +OpenIDE-Module-Specification-Version: 3.36 diff --git a/java/spi.java.hints/nbproject/project.properties b/java/spi.java.hints/nbproject/project.properties index 02e975815f11..d5f6a9a1f5d2 100644 --- a/java/spi.java.hints/nbproject/project.properties +++ b/java/spi.java.hints/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.66.0 +spec.version.base=1.67.0 requires.nb.javac=true javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/java/spring.beans/nbproject/project.properties b/java/spring.beans/nbproject/project.properties index 05cf8e4a8f48..e04b1f6f9144 100644 --- a/java/spring.beans/nbproject/project.properties +++ b/java/spring.beans/nbproject/project.properties @@ -18,7 +18,7 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.72.0 +spec.version.base=1.73.0 #for SpringModelAnnotationsTest requires.nb.javac=true diff --git a/java/testng.ant/manifest.mf b/java/testng.ant/manifest.mf index 380d611fad1b..f16706f4297a 100644 --- a/java/testng.ant/manifest.mf +++ b/java/testng.ant/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.testng.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/testng/ant/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.testng.ant.AntTestNGSupport -OpenIDE-Module-Specification-Version: 2.47 +OpenIDE-Module-Specification-Version: 2.48 diff --git a/java/testng.maven/manifest.mf b/java/testng.maven/manifest.mf index 730daa273d6e..61218b71cf65 100644 --- a/java/testng.maven/manifest.mf +++ b/java/testng.maven/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.testng.maven OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/testng/maven/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.testng.maven.MavenTestNGSupport -OpenIDE-Module-Specification-Version: 2.48 +OpenIDE-Module-Specification-Version: 2.49 diff --git a/java/testng.ui/manifest.mf b/java/testng.ui/manifest.mf index 880cc0b100ed..f2605178caa7 100644 --- a/java/testng.ui/manifest.mf +++ b/java/testng.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.testng.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/testng/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.41 +OpenIDE-Module-Specification-Version: 1.42 diff --git a/java/testng/manifest.mf b/java/testng/manifest.mf index deff135655df..1c2ff26e277c 100644 --- a/java/testng/manifest.mf +++ b/java/testng/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.testng OpenIDE-Module-Layer: org/netbeans/modules/testng/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/testng/Bundle.properties -OpenIDE-Module-Specification-Version: 2.52 +OpenIDE-Module-Specification-Version: 2.53 diff --git a/java/websvc.jaxws21/manifest.mf b/java/websvc.jaxws21/manifest.mf index d254ad76dc8e..1618957d7bc3 100644 --- a/java/websvc.jaxws21/manifest.mf +++ b/java/websvc.jaxws21/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxws21/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxws21/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 OpenIDE-Module-Layer: org/netbeans/modules/websvc/jaxws21/layer.xml OpenIDE-Module-Provides: com.sun.xml.ws.spi.ProviderImpl diff --git a/java/websvc.jaxws21api/manifest.mf b/java/websvc.jaxws21api/manifest.mf index 61acadf829d9..a3a2f90e1656 100644 --- a/java/websvc.jaxws21api/manifest.mf +++ b/java/websvc.jaxws21api/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxws21api/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxws21api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 OpenIDE-Module-Requires: org.openide.modules.ModuleFormat2 OpenIDE-Module-Needs: com.sun.xml.ws.spi.ProviderImpl, com.sun.xml.bind OpenIDE-Module-Hide-Classpath-Packages: javax.jws.**, javax.xml.ws.**, javax.xml.soap.**, javax.annotation.** diff --git a/java/websvc.saas.codegen.java/manifest.mf b/java/websvc.saas.codegen.java/manifest.mf index 61bb8f24a2d9..7168ec1365d2 100644 --- a/java/websvc.saas.codegen.java/manifest.mf +++ b/java/websvc.saas.codegen.java/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.codegen.java OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/codegen/java/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module-Layer: org/netbeans/modules/websvc/saas/codegen/java/layer.xml AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: org.netbeans.modules.websvc.saas.codegen.java diff --git a/java/whitelist/manifest.mf b/java/whitelist/manifest.mf index e1e54f17c918..566678119b5d 100644 --- a/java/whitelist/manifest.mf +++ b/java/whitelist/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.whitelist OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/whitelist/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/whitelist/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 diff --git a/java/xml.jaxb/manifest.mf b/java/xml.jaxb/manifest.mf index 09c4cf167a60..b79536f21508 100644 --- a/java/xml.jaxb/manifest.mf +++ b/java/xml.jaxb/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module: org.netbeans.modules.xml.jaxb/1 OpenIDE-Module-Layer: org/netbeans/modules/xml/jaxb/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/jaxb/Bundle.properties diff --git a/java/xml.tools.java/manifest.mf b/java/xml.tools.java/manifest.mf index 9810ca25126c..664998c8ac74 100644 --- a/java/xml.tools.java/manifest.mf +++ b/java/xml.tools.java/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.xml.tools.java OpenIDE-Module-Layer: org/netbeans/modules/xml/tools/java/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/tools/java/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/javafx/javafx2.editor/nbproject/project.properties b/javafx/javafx2.editor/nbproject/project.properties index 52407912d500..0e6d64379945 100644 --- a/javafx/javafx2.editor/nbproject/project.properties +++ b/javafx/javafx2.editor/nbproject/project.properties @@ -18,7 +18,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.53.0 +spec.version.base=1.54.0 requires.nb.javac=true test.config.stable.includes=**/JavaFXCSSModuleTest.class diff --git a/javafx/javafx2.kit/manifest.mf b/javafx/javafx2.kit/manifest.mf index dd94ab5e6c9e..dde805d71dc2 100644 --- a/javafx/javafx2.kit/manifest.mf +++ b/javafx/javafx2.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javafx2.kit OpenIDE-Module-Layer: org/netbeans/modules/javafx2/kit/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/javafx/javafx2.platform/manifest.mf b/javafx/javafx2.platform/manifest.mf index 8c914035f5cb..61b79a88d73b 100644 --- a/javafx/javafx2.platform/manifest.mf +++ b/javafx/javafx2.platform/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javafx2.platform OpenIDE-Module-Layer: org/netbeans/modules/javafx2/platform/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/platform/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/javafx/javafx2.project/manifest.mf b/javafx/javafx2.project/manifest.mf index e8e18662a17b..0fbad1cc3769 100644 --- a/javafx/javafx2.project/manifest.mf +++ b/javafx/javafx2.project/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javafx2.project OpenIDE-Module-Layer: org/netbeans/modules/javafx2/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 diff --git a/javafx/javafx2.samples/manifest.mf b/javafx/javafx2.samples/manifest.mf index 88187547b86b..82cfa9ed7ed5 100644 --- a/javafx/javafx2.samples/manifest.mf +++ b/javafx/javafx2.samples/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javafx2.samples OpenIDE-Module-Layer: org/netbeans/modules/javafx2/samples/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/samples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/javafx/javafx2.scenebuilder/manifest.mf b/javafx/javafx2.scenebuilder/manifest.mf index 61ff32847312..819bceafed5c 100644 --- a/javafx/javafx2.scenebuilder/manifest.mf +++ b/javafx/javafx2.scenebuilder/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javafx2.scenebuilder OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/scenebuilder/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/javafx/maven.htmlui/manifest.mf b/javafx/maven.htmlui/manifest.mf index 3945f4f5bbfd..e704b8a987c7 100644 --- a/javafx/maven.htmlui/manifest.mf +++ b/javafx/maven.htmlui/manifest.mf @@ -6,4 +6,4 @@ OpenIDE-Module-Requires: org.netbeans.api.templates.wizard OpenIDE-Module-Recommends: org.netbeans.modules.ko4j.debugging,org.netbeans.modules.ko4j.editing OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/htmlui/Bundle.properties OpenIDE-Module-Needs: org.netbeans.api.templates.wizard, javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/nb/autoupdate.pluginimporter/manifest.mf b/nb/autoupdate.pluginimporter/manifest.mf index 20bb2db3d667..d16092eb4b99 100644 --- a/nb/autoupdate.pluginimporter/manifest.mf +++ b/nb/autoupdate.pluginimporter/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.autoupdate.pluginimporter OpenIDE-Module-Install: org/netbeans/modules/autoupdate/pluginimporter/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/pluginimporter/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/nb/deadlock.detector/manifest.mf b/nb/deadlock.detector/manifest.mf index d1df559ecc68..4d4281e5d0eb 100644 --- a/nb/deadlock.detector/manifest.mf +++ b/nb/deadlock.detector/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.deadlock.detector OpenIDE-Module-Install: org/netbeans/modules/deadlock/detector/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/deadlock/detector/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 Main-Class: org.netbeans.modules.deadlock.detector.DeadlockReporter diff --git a/nb/ide.branding.kit/manifest.mf b/nb/ide.branding.kit/manifest.mf index 9878190074e1..dcd071cd7564 100644 --- a/nb/ide.branding.kit/manifest.mf +++ b/nb/ide.branding.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ide.branding.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/branding/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/nb/ide.branding/manifest.mf b/nb/ide.branding/manifest.mf index 25d707109e24..d53e0c2ae0f7 100644 --- a/nb/ide.branding/manifest.mf +++ b/nb/ide.branding/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ide.branding/1 OpenIDE-Module-Layer: org/netbeans/modules/ide/branding/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/branding/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 AutoUpdate-Show-In-Client: false diff --git a/nb/ide.branding/src/org/netbeans/modules/ide/branding/layer.xml b/nb/ide.branding/src/org/netbeans/modules/ide/branding/layer.xml index 5228863f1144..37dd850ca9ee 100644 --- a/nb/ide.branding/src/org/netbeans/modules/ide/branding/layer.xml +++ b/nb/ide.branding/src/org/netbeans/modules/ide/branding/layer.xml @@ -38,6 +38,14 @@ + + + + + + + + diff --git a/nb/ide.dashboard/manifest.mf b/nb/ide.dashboard/manifest.mf index d19e6db75258..8faf70f5a0d0 100644 --- a/nb/ide.dashboard/manifest.mf +++ b/nb/ide.dashboard/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 -OpenIDE-Module-Specification-Version: 0.9 +OpenIDE-Module-Specification-Version: 0.10 OpenIDE-Module: org.netbeans.modules.ide.dashboard/0 OpenIDE-Module-Layer: org/netbeans/modules/ide/dashboard/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/dashboard/Bundle.properties diff --git a/nb/o.n.upgrader/manifest.mf b/nb/o.n.upgrader/manifest.mf index d00f575befe3..0898e6899ca4 100644 --- a/nb/o.n.upgrader/manifest.mf +++ b/nb/o.n.upgrader/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.upgrader -OpenIDE-Module-Specification-Version: 4.67 +OpenIDE-Module-Specification-Version: 4.68 OpenIDE-Module-Localizing-Bundle: org/netbeans/upgrade/Bundle.properties AutoUpdate-Essential-Module: true diff --git a/nb/uihandler.exceptionreporter/manifest.mf b/nb/uihandler.exceptionreporter/manifest.mf index 99ca1e48e3c0..d3cebda467ed 100644 --- a/nb/uihandler.exceptionreporter/manifest.mf +++ b/nb/uihandler.exceptionreporter/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.uihandler.exceptionreporter OpenIDE-Module-Install: org/netbeans/modules/uihandler/exceptionreporter/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/uihandler/exceptionreporter/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 AutoUpdate-Show-In-Client: false diff --git a/nb/updatecenters/manifest.mf b/nb/updatecenters/manifest.mf index 0b84ad007af4..56ed8b57666f 100644 --- a/nb/updatecenters/manifest.mf +++ b/nb/updatecenters/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/updatecenters/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 OpenIDE-Module: org.netbeans.modules.updatecenters/1 OpenIDE-Module-Layer: org/netbeans/modules/updatecenters/resources/mf-layer.xml diff --git a/php/hudson.php/manifest.mf b/php/hudson.php/manifest.mf index 2d48e16d3939..ca3edb8e0188 100644 --- a/php/hudson.php/manifest.mf +++ b/php/hudson.php/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.php OpenIDE-Module-Layer: org/netbeans/modules/hudson/php/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/php/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 diff --git a/php/languages.neon/manifest.mf b/php/languages.neon/manifest.mf index 8e2ce89cc47c..e98ac287ee2f 100644 --- a/php/languages.neon/manifest.mf +++ b/php/languages.neon/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.languages.neon OpenIDE-Module-Layer: org/netbeans/modules/languages/neon/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/neon/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/php/libs.javacup/nbproject/project.properties b/php/libs.javacup/nbproject/project.properties index 7e6abb6e61df..72d02dcc3b40 100644 --- a/php/libs.javacup/nbproject/project.properties +++ b/php/libs.javacup/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true release.external/java-cup-0.11a.jar=modules/ext/java-cup-11a.jar -spec.version.base=1.56.0 +spec.version.base=1.57.0 diff --git a/php/php.api.annotation/manifest.mf b/php/php.api.annotation/manifest.mf index 2d67636d9201..b1c10e7c148e 100644 --- a/php/php.api.annotation/manifest.mf +++ b/php/php.api.annotation/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.annotation/0 OpenIDE-Module-Layer: org/netbeans/modules/php/api/annotation/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/annotation/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.50 +OpenIDE-Module-Specification-Version: 0.51 diff --git a/php/php.api.documentation/manifest.mf b/php/php.api.documentation/manifest.mf index dda2ba756f2e..dc055a988204 100644 --- a/php/php.api.documentation/manifest.mf +++ b/php/php.api.documentation/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.documentation/0 OpenIDE-Module-Layer: org/netbeans/modules/php/api/documentation/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/documentation/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.45 +OpenIDE-Module-Specification-Version: 0.46 diff --git a/php/php.api.editor/manifest.mf b/php/php.api.editor/manifest.mf index ff5ebc2126ca..ea0ce519778c 100644 --- a/php/php.api.editor/manifest.mf +++ b/php/php.api.editor/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.editor/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/editor/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.59 +OpenIDE-Module-Specification-Version: 0.60 diff --git a/php/php.api.executable/manifest.mf b/php/php.api.executable/manifest.mf index 6970a4424b0a..09ce2d338b17 100644 --- a/php/php.api.executable/manifest.mf +++ b/php/php.api.executable/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.executable/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/executable/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.62 +OpenIDE-Module-Specification-Version: 0.63 diff --git a/php/php.api.framework/manifest.mf b/php/php.api.framework/manifest.mf index 62fc9b27c9f8..c0ea693130b4 100644 --- a/php/php.api.framework/manifest.mf +++ b/php/php.api.framework/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.framework/0 OpenIDE-Module-Layer: org/netbeans/modules/php/api/framework/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/framework/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.57 +OpenIDE-Module-Specification-Version: 0.58 diff --git a/php/php.api.phpmodule/manifest.mf b/php/php.api.phpmodule/manifest.mf index 59c328e6644d..327c69921717 100644 --- a/php/php.api.phpmodule/manifest.mf +++ b/php/php.api.phpmodule/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.phpmodule OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/phpmodule/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 2.106 +OpenIDE-Module-Specification-Version: 2.107 diff --git a/php/php.api.templates/manifest.mf b/php/php.api.templates/manifest.mf index 0c2434debfce..ff970fa93cdd 100644 --- a/php/php.api.templates/manifest.mf +++ b/php/php.api.templates/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.templates/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/templates/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.41 +OpenIDE-Module-Specification-Version: 0.42 diff --git a/php/php.api.testing/manifest.mf b/php/php.api.testing/manifest.mf index 57aec479ec2c..96f243409f50 100644 --- a/php/php.api.testing/manifest.mf +++ b/php/php.api.testing/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.testing/0 OpenIDE-Module-Layer: org/netbeans/modules/php/api/testing/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/testing/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.51 +OpenIDE-Module-Specification-Version: 0.52 diff --git a/php/php.apigen/manifest.mf b/php/php.apigen/manifest.mf index 9f5b6ce6220b..dc342d62f69d 100644 --- a/php/php.apigen/manifest.mf +++ b/php/php.apigen/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.apigen OpenIDE-Module-Layer: org/netbeans/modules/php/apigen/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/apigen/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/php/php.atoum/manifest.mf b/php/php.atoum/manifest.mf index 1552d2e6f702..aa9aa3b6cf28 100644 --- a/php/php.atoum/manifest.mf +++ b/php/php.atoum/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.atoum OpenIDE-Module-Layer: org/netbeans/modules/php/atoum/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/atoum/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.48 +OpenIDE-Module-Specification-Version: 0.49 diff --git a/php/php.code.analysis/manifest.mf b/php/php.code.analysis/manifest.mf index d1a2fd8c60df..684dd9b9b54b 100644 --- a/php/php.code.analysis/manifest.mf +++ b/php/php.code.analysis/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.code.analysis OpenIDE-Module-Layer: org/netbeans/modules/php/analysis/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/analysis/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.46 +OpenIDE-Module-Specification-Version: 0.47 diff --git a/php/php.codeception/manifest.mf b/php/php.codeception/manifest.mf index fcb78563c859..faf3f56b3f07 100644 --- a/php/php.codeception/manifest.mf +++ b/php/php.codeception/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.codeception OpenIDE-Module-Layer: org/netbeans/modules/php/codeception/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/codeception/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.36 +OpenIDE-Module-Specification-Version: 0.37 diff --git a/php/php.composer/manifest.mf b/php/php.composer/manifest.mf index ba4355c0a432..c456193a77b7 100644 --- a/php/php.composer/manifest.mf +++ b/php/php.composer/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.composer/0 OpenIDE-Module-Layer: org/netbeans/modules/php/composer/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/composer/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.62 +OpenIDE-Module-Specification-Version: 0.63 diff --git a/php/php.dbgp/manifest.mf b/php/php.dbgp/manifest.mf index 9759b8a6dcb3..90b8636e9e6f 100644 --- a/php/php.dbgp/manifest.mf +++ b/php/php.dbgp/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.php.dbgp OpenIDE-Module-Layer: org/netbeans/modules/php/dbgp/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/dbgp/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 diff --git a/php/php.doctrine2/manifest.mf b/php/php.doctrine2/manifest.mf index 7e2b84fbe76c..c9fcdc093e0c 100644 --- a/php/php.doctrine2/manifest.mf +++ b/php/php.doctrine2/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.doctrine2 OpenIDE-Module-Layer: org/netbeans/modules/php/doctrine2/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/doctrine2/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/php/php.editor/nbproject/project.properties b/php/php.editor/nbproject/project.properties index 5c70e1dee00c..064cd8af3b8f 100644 --- a/php/php.editor/nbproject/project.properties +++ b/php/php.editor/nbproject/project.properties @@ -18,7 +18,7 @@ javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial nbjavac.ignore.missing.enclosing=**/CUP$ASTPHP5Parser$actions.class nbm.needs.restart=true -spec.version.base=2.49.0 +spec.version.base=2.50.0 release.external/predefined_vars-1.0.zip=docs/predefined_vars.zip sigtest.gen.fail.on.error=false diff --git a/php/php.kit/manifest.mf b/php/php.kit/manifest.mf index 3670c4b1bf29..585e1a6e493f 100644 --- a/php/php.kit/manifest.mf +++ b/php/php.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.94 +OpenIDE-Module-Specification-Version: 1.95 OpenIDE-Module-Recommends: cnb.org.netbeans.modules.languages.ini, cnb.org.netbeans.modules.languages.neon, cnb.org.netbeans.modules.php.apigen, cnb.org.netbeans.modules.web.client.kit, cnb.org.netbeans.modules.websvc.saas.codegen.php, cnb.org.netbeans.modules.websvc.saas.kit, org.netbeans.modules.selenium2.php.Selenium2PhpSupportImpl diff --git a/php/php.latte/manifest.mf b/php/php.latte/manifest.mf index 0776be58246e..b3b0a92e7a83 100644 --- a/php/php.latte/manifest.mf +++ b/php/php.latte/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.latte/1 OpenIDE-Module-Layer: org/netbeans/modules/php/latte/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/latte/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/php/php.nette.tester/manifest.mf b/php/php.nette.tester/manifest.mf index f1978de1cc10..e0517600d68e 100644 --- a/php/php.nette.tester/manifest.mf +++ b/php/php.nette.tester/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.nette.tester OpenIDE-Module-Layer: org/netbeans/modules/php/nette/tester/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/nette/tester/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.46 +OpenIDE-Module-Specification-Version: 0.47 diff --git a/php/php.nette2/manifest.mf b/php/php.nette2/manifest.mf index 5b4c62949416..bb0fb88c3f25 100644 --- a/php/php.nette2/manifest.mf +++ b/php/php.nette2/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.nette2/1 OpenIDE-Module-Layer: org/netbeans/modules/php/nette2/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/nette2/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.41 +OpenIDE-Module-Specification-Version: 1.42 diff --git a/php/php.phing/manifest.mf b/php/php.phing/manifest.mf index 4350b16f70d6..0f4268d1e3f5 100644 --- a/php/php.phing/manifest.mf +++ b/php/php.phing/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.phing OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/phing/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.42 +OpenIDE-Module-Specification-Version: 0.43 AutoUpdate-Show-In-Client: true diff --git a/php/php.phpdoc/manifest.mf b/php/php.phpdoc/manifest.mf index f0db42c4a66a..4115a6b3532b 100644 --- a/php/php.phpdoc/manifest.mf +++ b/php/php.phpdoc/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.phpdoc OpenIDE-Module-Layer: org/netbeans/modules/php/phpdoc/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/phpdoc/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/php/php.phpunit/manifest.mf b/php/php.phpunit/manifest.mf index f109ce7d4d8c..0ddb899629d4 100644 --- a/php/php.phpunit/manifest.mf +++ b/php/php.phpunit/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.phpunit/0 OpenIDE-Module-Layer: org/netbeans/modules/php/phpunit/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/phpunit/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.57 +OpenIDE-Module-Specification-Version: 0.58 diff --git a/php/php.project/manifest.mf b/php/php.project/manifest.mf index ef6ed7f3efc3..7b848859ba98 100644 --- a/php/php.project/manifest.mf +++ b/php/php.project/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.176 +OpenIDE-Module-Specification-Version: 2.177 OpenIDE-Module: org.netbeans.modules.php.project OpenIDE-Module-Layer: org/netbeans/modules/php/project/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/project/resources/Bundle.properties diff --git a/php/php.refactoring/manifest.mf b/php/php.refactoring/manifest.mf index a14ce1081ab5..c96141ad5581 100644 --- a/php/php.refactoring/manifest.mf +++ b/php/php.refactoring/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.php.refactoring OpenIDE-Module-Layer: org/netbeans/modules/refactoring/php/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/refactoring/php/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 diff --git a/php/php.samples/manifest.mf b/php/php.samples/manifest.mf index c9e6c2c028ea..761da4798618 100644 --- a/php/php.samples/manifest.mf +++ b/php/php.samples/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.php.samples OpenIDE-Module-Layer: org/netbeans/modules/php/samples/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/samples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/php/php.smarty/manifest.mf b/php/php.smarty/manifest.mf index 817b36b5e3e5..73d9583eb203 100644 --- a/php/php.smarty/manifest.mf +++ b/php/php.smarty/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.smarty OpenIDE-Module-Layer: org/netbeans/modules/php/smarty/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/smarty/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.118 +OpenIDE-Module-Specification-Version: 1.119 diff --git a/php/php.symfony/manifest.mf b/php/php.symfony/manifest.mf index ec750d406fde..557797564408 100644 --- a/php/php.symfony/manifest.mf +++ b/php/php.symfony/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.symfony OpenIDE-Module-Layer: org/netbeans/modules/php/symfony/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/symfony/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 diff --git a/php/php.symfony2/manifest.mf b/php/php.symfony2/manifest.mf index 0f7741be790a..cc1f476d830b 100644 --- a/php/php.symfony2/manifest.mf +++ b/php/php.symfony2/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.symfony2/1 OpenIDE-Module-Layer: org/netbeans/modules/php/symfony2/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/symfony2/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/php/php.twig/manifest.mf b/php/php.twig/manifest.mf index cfea9272432a..82ff33913163 100644 --- a/php/php.twig/manifest.mf +++ b/php/php.twig/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.twig/1 OpenIDE-Module-Layer: org/netbeans/modules/php/twig/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/twig/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/php/php.zend/manifest.mf b/php/php.zend/manifest.mf index 8711ddb98409..0ebb8a5f86a0 100644 --- a/php/php.zend/manifest.mf +++ b/php/php.zend/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.zend OpenIDE-Module-Layer: org/netbeans/modules/php/zend/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/zend/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/php/php.zend2/manifest.mf b/php/php.zend2/manifest.mf index deb18a2c9830..fbae24ed648f 100644 --- a/php/php.zend2/manifest.mf +++ b/php/php.zend2/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.zend2 OpenIDE-Module-Layer: org/netbeans/modules/php/zend2/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/zend2/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.48 +OpenIDE-Module-Specification-Version: 0.49 diff --git a/php/selenium2.php/manifest.mf b/php/selenium2.php/manifest.mf index 1e46cca083a0..73f572866d2f 100644 --- a/php/selenium2.php/manifest.mf +++ b/php/selenium2.php/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.php OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/php/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.selenium2.php.Selenium2PhpSupportImpl -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/php/spellchecker.bindings.php/manifest.mf b/php/spellchecker.bindings.php/manifest.mf index df88b40126c0..54e3e35e56f4 100644 --- a/php/spellchecker.bindings.php/manifest.mf +++ b/php/spellchecker.bindings.php/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.php OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/php/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/php/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.32 +OpenIDE-Module-Specification-Version: 0.33 diff --git a/php/websvc.saas.codegen.php/manifest.mf b/php/websvc.saas.codegen.php/manifest.mf index 28c00e9a6ee0..9365eaceb36b 100644 --- a/php/websvc.saas.codegen.php/manifest.mf +++ b/php/websvc.saas.codegen.php/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.codegen.php OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/codegen/php/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 OpenIDE-Module-Layer: org/netbeans/modules/websvc/saas/codegen/php/layer.xml diff --git a/platform/api.annotations.common/manifest.mf b/platform/api.annotations.common/manifest.mf index 12fcc48a08c6..3054efdd8fc5 100644 --- a/platform/api.annotations.common/manifest.mf +++ b/platform/api.annotations.common/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.annotations.common/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/annotations/common/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/platform/api.dashboard/manifest.mf b/platform/api.dashboard/manifest.mf index 1a459be99d8d..3beb039224bb 100644 --- a/platform/api.dashboard/manifest.mf +++ b/platform/api.dashboard/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true OpenIDE-Module: org.netbeans.api.dashboard/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/dashboard/Bundle.properties -OpenIDE-Module-Specification-Version: 0.9 +OpenIDE-Module-Specification-Version: 0.10 diff --git a/platform/api.htmlui/manifest.mf b/platform/api.htmlui/manifest.mf index 451c0b998602..42f1075f948d 100644 --- a/platform/api.htmlui/manifest.mf +++ b/platform/api.htmlui/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.htmlui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/htmlui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/platform/api.intent/manifest.mf b/platform/api.intent/manifest.mf index 6ede19ab0531..59f83fe0ae14 100644 --- a/platform/api.intent/manifest.mf +++ b/platform/api.intent/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.intent OpenIDE-Module-Localizing-Bundle: org/netbeans/api/intent/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/platform/api.io/manifest.mf b/platform/api.io/manifest.mf index 871543f90bb1..f7a3c164893f 100644 --- a/platform/api.io/manifest.mf +++ b/platform/api.io/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Essential-Module: true OpenIDE-Module: org.netbeans.api.io OpenIDE-Module-Localizing-Bundle: org/netbeans/api/io/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 OpenIDE-Module-Recommends: org.netbeans.spi.io.InputOutputProvider diff --git a/platform/api.progress.compat8/manifest.mf b/platform/api.progress.compat8/manifest.mf index 8b254e712f15..1b08cb712c7a 100644 --- a/platform/api.progress.compat8/manifest.mf +++ b/platform/api.progress.compat8/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Essential-Module: true OpenIDE-Module: org.netbeans.api.progress.compat8 OpenIDE-Module-Localizing-Bundle: api/progress/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 1.79 +OpenIDE-Module-Specification-Version: 1.80 OpenIDE-Module-Fragment-Host: org.netbeans.api.progress diff --git a/platform/api.progress.nb/manifest.mf b/platform/api.progress.nb/manifest.mf index cfe6a7b1728e..46f3333ec006 100644 --- a/platform/api.progress.nb/manifest.mf +++ b/platform/api.progress.nb/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.progress.nb OpenIDE-Module-Localizing-Bundle: org/netbeans/api/progress/nb/Bundle.properties -OpenIDE-Module-Specification-Version: 1.80 +OpenIDE-Module-Specification-Version: 1.81 diff --git a/platform/api.progress/manifest.mf b/platform/api.progress/manifest.mf index e57ae9e9c5cb..0ee84f239ab9 100644 --- a/platform/api.progress/manifest.mf +++ b/platform/api.progress/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.api.progress/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/progress/module/resources/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.modules.progress.spi.ProgressUIWorkerProvider, org.netbeans.modules.progress.spi.RunOffEDTProvider AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.80 +OpenIDE-Module-Specification-Version: 1.81 diff --git a/platform/api.scripting/manifest.mf b/platform/api.scripting/manifest.mf index 7d811178d801..47ada72ee13b 100644 --- a/platform/api.scripting/manifest.mf +++ b/platform/api.scripting/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.scripting OpenIDE-Module-Localizing-Bundle: org/netbeans/api/scripting/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 OpenIDE-Module-Recommends: org.netbeans.spi.scripting.EngineProvider diff --git a/platform/api.search/manifest.mf b/platform/api.search/manifest.mf index fd90f5033a82..01f1b4829574 100644 --- a/platform/api.search/manifest.mf +++ b/platform/api.search/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.search OpenIDE-Module-Localizing-Bundle: org/netbeans/api/search/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 diff --git a/platform/api.templates/manifest.mf b/platform/api.templates/manifest.mf index efcc667363e4..f99cab25394e 100644 --- a/platform/api.templates/manifest.mf +++ b/platform/api.templates/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.templates OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/templates/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 OpenIDE-Module-Recommends: org.netbeans.templates.IndentEngine diff --git a/platform/api.visual/manifest.mf b/platform/api.visual/manifest.mf index 1ca398b5dd14..6e258c003969 100644 --- a/platform/api.visual/manifest.mf +++ b/platform/api.visual/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.visual OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/visual/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 2.80 +OpenIDE-Module-Specification-Version: 2.81 AutoUpdate-Essential-Module: true diff --git a/platform/applemenu/manifest.mf b/platform/applemenu/manifest.mf index 2f3619c47112..0f6b38c451f9 100644 --- a/platform/applemenu/manifest.mf +++ b/platform/applemenu/manifest.mf @@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.applemenu/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/applemenu/Bundle.properties OpenIDE-Module-Install: org/netbeans/modules/applemenu/Install.class OpenIDE-Module-Layer: org/netbeans/modules/applemenu/layer.xml -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 OpenIDE-Module-Requires: org.openide.modules.os.MacOSX diff --git a/platform/autoupdate.cli/manifest.mf b/platform/autoupdate.cli/manifest.mf index f93b5185591f..ff16a3421e35 100644 --- a/platform/autoupdate.cli/manifest.mf +++ b/platform/autoupdate.cli/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.autoupdate.cli OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/cli/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/platform/autoupdate.services/manifest.mf b/platform/autoupdate.services/manifest.mf index d36f46370c53..6af9d905d239 100644 --- a/platform/autoupdate.services/manifest.mf +++ b/platform/autoupdate.services/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.autoupdate.services OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/services/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.88 +OpenIDE-Module-Specification-Version: 1.89 OpenIDE-Module-Layer: org/netbeans/modules/autoupdate/services/resources/layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/autoupdate.ui/manifest.mf b/platform/autoupdate.ui/manifest.mf index b9c7d9e48fd7..83f334e7b22f 100644 --- a/platform/autoupdate.ui/manifest.mf +++ b/platform/autoupdate.ui/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.autoupdate.ui OpenIDE-Module-Install: org/netbeans/modules/autoupdate/ui/actions/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/ui/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.78 +OpenIDE-Module-Specification-Version: 1.79 AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/core.execution/manifest.mf b/platform/core.execution/manifest.mf index c10b094aa0c8..d7984dd67a17 100644 --- a/platform/core.execution/manifest.mf +++ b/platform/core.execution/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.core.execution/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/core/execution/resources/Bundle.properties OpenIDE-Module-Provides: org.openide.execution.ExecutionEngine, org.openide.execution.ExecutionEngine.defaultLookup AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 diff --git a/platform/core.io.ui/manifest.mf b/platform/core.io.ui/manifest.mf index 45f520816756..3e4860cc51b1 100644 --- a/platform/core.io.ui/manifest.mf +++ b/platform/core.io.ui/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.core.io.ui/1 OpenIDE-Module-Provides: org.openide.windows.IOContainer$Provider OpenIDE-Module-Layer: org/netbeans/core/io/ui/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/core/io/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 diff --git a/platform/core.kit/manifest.mf b/platform/core.kit/manifest.mf index dea3e460f730..63b1584725a1 100644 --- a/platform/core.kit/manifest.mf +++ b/platform/core.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.core.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/core/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 AutoUpdate-Essential-Module: true diff --git a/platform/core.multitabs/nbproject/project.properties b/platform/core.multitabs/nbproject/project.properties index d4f50e67c0b1..067d4097a4a6 100644 --- a/platform/core.multitabs/nbproject/project.properties +++ b/platform/core.multitabs/nbproject/project.properties @@ -18,5 +18,5 @@ javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml nbm.needs.restart=true -spec.version.base=1.44.0 +spec.version.base=1.45.0 is.autoload=true diff --git a/platform/core.multiview/manifest.mf b/platform/core.multiview/manifest.mf index 19af1487087b..a31a84f2476e 100644 --- a/platform/core.multiview/manifest.mf +++ b/platform/core.multiview/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.multiview/1 -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 OpenIDE-Module-Localizing-Bundle: org/netbeans/core/multiview/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/core/multiview/resources/mf-layer.xml AutoUpdate-Essential-Module: true diff --git a/platform/core.nativeaccess/manifest.mf b/platform/core.nativeaccess/manifest.mf index dc134f8aa9a6..ae7bf4421507 100644 --- a/platform/core.nativeaccess/manifest.mf +++ b/platform/core.nativeaccess/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.core.nativeaccess/1 -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Localizing-Bundle: org/netbeans/core/nativeaccess/Bundle.properties OpenIDE-Module-Provides: org.netbeans.core.windows.nativeaccess.NativeWindowSystem diff --git a/platform/core.netigso/manifest.mf b/platform/core.netigso/manifest.mf index f03921d4a1ca..8d83bb8db591 100644 --- a/platform/core.netigso/manifest.mf +++ b/platform/core.netigso/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.netigso OpenIDE-Module-Localizing-Bundle: org/netbeans/core/netigso/Bundle.properties OpenIDE-Module-Provides: org.netbeans.NetigsoFramework -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Needs: org.osgi.framework.launch.FrameworkFactory AutoUpdate-Essential-Module: true diff --git a/platform/core.network/manifest.mf b/platform/core.network/manifest.mf index 0cf1b211e8ed..06de3f8d186d 100644 --- a/platform/core.network/manifest.mf +++ b/platform/core.network/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.network OpenIDE-Module-Localizing-Bundle: org/netbeans/core/network/proxy/Bundle.properties OpenIDE-Module-Provides: org.netbeans.core.ProxySettings.Reloader -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 OpenIDE-Module-Recommends: javax.script.ScriptEngine.js diff --git a/platform/core.osgi/manifest.mf b/platform/core.osgi/manifest.mf index ea61e42e6def..6550de5eff3c 100644 --- a/platform/core.osgi/manifest.mf +++ b/platform/core.osgi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.osgi OpenIDE-Module-Localizing-Bundle: org/netbeans/core/osgi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 AutoUpdate-Essential-Module: true diff --git a/platform/core.output2/manifest.mf b/platform/core.output2/manifest.mf index 918c6b73936f..477c3cecd5bb 100644 --- a/platform/core.output2/manifest.mf +++ b/platform/core.output2/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module-Layer: org/netbeans/core/output2/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/core/output2/Bundle.properties OpenIDE-Module-Provides: org.openide.windows.IOProvider, org.netbeans.spi.io.InputOutputProvider AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 diff --git a/platform/core.startup.base/nbproject/project.properties b/platform/core.startup.base/nbproject/project.properties index 0a484e2ef52c..e4cbec8b92df 100644 --- a/platform/core.startup.base/nbproject/project.properties +++ b/platform/core.startup.base/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.94.0 +spec.version.base=1.95.0 module.jar.dir=core module.jar.basename=core-base.jar javadoc.arch=${basedir}/arch.xml diff --git a/platform/core.startup/nbproject/project.properties b/platform/core.startup/nbproject/project.properties index d77be16e95d5..a6a8c27dacf1 100644 --- a/platform/core.startup/nbproject/project.properties +++ b/platform/core.startup/nbproject/project.properties @@ -21,7 +21,7 @@ javac.release=17 javadoc.apichanges=${basedir}/apichanges.xml module.jar.dir=core module.jar.basename=core.jar -spec.version.base=1.95.0 +spec.version.base=1.96.0 # XXX using a data dir from another module means that these tests cannot be run from testdist test-unit-sys-prop.xtest.data=${nb_all}/platform/o.n.bootstrap/test/unit/data diff --git a/platform/core.ui/manifest.mf b/platform/core.ui/manifest.mf index 1f10dc323c24..1d50e06eb452 100644 --- a/platform/core.ui/manifest.mf +++ b/platform/core.ui/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/core/ui/resources/Bundle.properti OpenIDE-Module-Layer: org/netbeans/core/ui/resources/layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.77 +OpenIDE-Module-Specification-Version: 1.78 diff --git a/platform/core.windows/manifest.mf b/platform/core.windows/manifest.mf index 5209cfcddb2b..d90df02548bd 100644 --- a/platform/core.windows/manifest.mf +++ b/platform/core.windows/manifest.mf @@ -7,4 +7,4 @@ OpenIDE-Module-Recommends: org.netbeans.core.windows.nativeaccess.NativeWindowSy OpenIDE-Module-Needs: org.netbeans.swing.tabcontrol.customtabs.TabbedComponentFactory AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 2.117 +OpenIDE-Module-Specification-Version: 2.118 diff --git a/platform/editor.mimelookup.impl/manifest.mf b/platform/editor.mimelookup.impl/manifest.mf index fd246213a975..123f09b08882 100644 --- a/platform/editor.mimelookup.impl/manifest.mf +++ b/platform/editor.mimelookup.impl/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.mimelookup.impl/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/mimelookup/impl/Bundle.properties OpenIDE-Module-Provides: org.netbeans.spi.editor.mimelookup.MimeDataProvider -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/platform/editor.mimelookup/manifest.mf b/platform/editor.mimelookup/manifest.mf index 768d44e6805c..03c84e30b493 100644 --- a/platform/editor.mimelookup/manifest.mf +++ b/platform/editor.mimelookup/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.mimelookup/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/mimelookup/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 OpenIDE-Module-Recommends: org.netbeans.spi.editor.mimelookup.MimeDataProvider AutoUpdate-Essential-Module: true diff --git a/platform/favorites/manifest.mf b/platform/favorites/manifest.mf index ef3c1f346a87..7c5e31520914 100644 --- a/platform/favorites/manifest.mf +++ b/platform/favorites/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.favorites/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/favorites/Bundle.properties -OpenIDE-Module-Specification-Version: 1.78 +OpenIDE-Module-Specification-Version: 1.79 OpenIDE-Module-Layer: org/netbeans/modules/favorites/resources/layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/htmlui/manifest.mf b/platform/htmlui/manifest.mf index ec422a467de9..0e2145863a4c 100644 --- a/platform/htmlui/manifest.mf +++ b/platform/htmlui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.htmlui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/htmlui/impl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.17 +OpenIDE-Module-Specification-Version: 1.18 diff --git a/platform/janitor/manifest.mf b/platform/janitor/manifest.mf index 13216cc4543e..551f1e05db28 100644 --- a/platform/janitor/manifest.mf +++ b/platform/janitor/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.janitor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/janitor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 diff --git a/platform/javahelp/manifest.mf b/platform/javahelp/manifest.mf index 57d1e8d1f04c..4bafec00179b 100644 --- a/platform/javahelp/manifest.mf +++ b/platform/javahelp/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javahelp/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javahelp/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 2.73 +OpenIDE-Module-Specification-Version: 2.74 OpenIDE-Module-Provides: org.netbeans.api.javahelp.Help OpenIDE-Module-Requires: org.openide.modules.InstalledFileLocator, org.openide.modules.ModuleFormat2 OpenIDE-Module-Layer: org/netbeans/modules/javahelp/resources/layer.xml diff --git a/platform/junitlib/manifest.mf b/platform/junitlib/manifest.mf index a8a7caea5975..c9d469beac4b 100644 --- a/platform/junitlib/manifest.mf +++ b/platform/junitlib/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.junitlib OpenIDE-Module-Layer: org/netbeans/modules/junitlib/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junitlib/Bundle.properties -OpenIDE-Module-Specification-Version: 1.37 +OpenIDE-Module-Specification-Version: 1.38 diff --git a/platform/keyring.fallback/manifest.mf b/platform/keyring.fallback/manifest.mf index 076fd6809766..08a67b5c571a 100644 --- a/platform/keyring.fallback/manifest.mf +++ b/platform/keyring.fallback/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.keyring.fallback OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/keyring/fallback/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/platform/keyring.impl/manifest.mf b/platform/keyring.impl/manifest.mf index ca0a63a759ed..04ae56c42eca 100644 --- a/platform/keyring.impl/manifest.mf +++ b/platform/keyring.impl/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.keyring.impl OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/keyring/impl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 OpenIDE-Module-Provides: org.netbeans.modules.keyring.impl diff --git a/platform/keyring/manifest.mf b/platform/keyring/manifest.mf index a15a845d83d8..ecdca62545e3 100644 --- a/platform/keyring/manifest.mf +++ b/platform/keyring/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.keyring OpenIDE-Module-Layer: org/netbeans/modules/keyring/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/keyring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 OpenIDE-Module-Recommends: org.netbeans.modules.keyring.impl diff --git a/platform/lib.uihandler/manifest.mf b/platform/lib.uihandler/manifest.mf index c427ea396aeb..0834fec999fd 100644 --- a/platform/lib.uihandler/manifest.mf +++ b/platform/lib.uihandler/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.uihandler _OpenIDE-Module-Layer: org/netbeans/lib/uihandler/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/uihandler/Bundle.properties -OpenIDE-Module-Specification-Version: 1.77 +OpenIDE-Module-Specification-Version: 1.78 diff --git a/platform/libs.asm/manifest.mf b/platform/libs.asm/manifest.mf index a888b947ce83..dc74abfb1cdf 100644 --- a/platform/libs.asm/manifest.mf +++ b/platform/libs.asm/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.asm OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/asm/Bundle.properties -OpenIDE-Module-Specification-Version: 5.35 +OpenIDE-Module-Specification-Version: 5.36 diff --git a/platform/libs.felix/manifest.mf b/platform/libs.felix/manifest.mf index 64ecb3df817d..0497df74d0f1 100644 --- a/platform/libs.felix/manifest.mf +++ b/platform/libs.felix/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.felix OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/felix/Bundle.properties -OpenIDE-Module-Specification-Version: 2.47 +OpenIDE-Module-Specification-Version: 2.48 OpenIDE-Module-Provides: org.osgi.framework.launch.FrameworkFactory AutoUpdate-Show-In-Client: false Covered-Packages: META-INF,/MANIFEST.MF,org.netbeans.libs.felix, diff --git a/platform/libs.flatlaf/manifest.mf b/platform/libs.flatlaf/manifest.mf index 8d0ddf98a85a..efa289b51ba7 100644 --- a/platform/libs.flatlaf/manifest.mf +++ b/platform/libs.flatlaf/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/flatlaf/Bundle.properties OpenIDE-Module: org.netbeans.libs.flatlaf/1 OpenIDE-Module-Install: org/netbeans/libs/flatlaf/Installer.class -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 AutoUpdate-Show-In-Client: false OpenIDE-Module-Implementation-Version: 3.7.1 diff --git a/platform/libs.javafx/manifest.mf b/platform/libs.javafx/manifest.mf index cc4ab2e2ed1a..bc4b2344b7ce 100644 --- a/platform/libs.javafx/manifest.mf +++ b/platform/libs.javafx/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.javafx OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/Bundle.properties -OpenIDE-Module-Specification-Version: 2.39 +OpenIDE-Module-Specification-Version: 2.40 OpenIDE-Module-Needs: org.openide.modules.jre.JavaFX OpenIDE-Module-Provides: javafx.animation, javafx.application, diff --git a/platform/libs.javax.inject/manifest.mf b/platform/libs.javax.inject/manifest.mf index 16984b9ad55b..23a028266097 100644 --- a/platform/libs.javax.inject/manifest.mf +++ b/platform/libs.javax.inject/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.javax.inject/2 -OpenIDE-Module-Specification-Version: 2.67 +OpenIDE-Module-Specification-Version: 2.68 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javax/inject/Bundle.properties diff --git a/platform/libs.jna.platform/manifest.mf b/platform/libs.jna.platform/manifest.mf index 27e776982a4a..9998c6efac6b 100644 --- a/platform/libs.jna.platform/manifest.mf +++ b/platform/libs.jna.platform/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jna.platform/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jna/platform/Bundle.properties -OpenIDE-Module-Specification-Version: 2.27 +OpenIDE-Module-Specification-Version: 2.28 diff --git a/platform/libs.jna/manifest.mf b/platform/libs.jna/manifest.mf index cd0411f26629..83b3c382d5d8 100644 --- a/platform/libs.jna/manifest.mf +++ b/platform/libs.jna/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.libs.jna/2 OpenIDE-Module-Install: org/netbeans/libs/jna/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jna/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 2.27 +OpenIDE-Module-Specification-Version: 2.28 diff --git a/platform/libs.jsr223/manifest.mf b/platform/libs.jsr223/manifest.mf index f8878d2b8d77..f7f239ee7dad 100644 --- a/platform/libs.jsr223/manifest.mf +++ b/platform/libs.jsr223/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jsr223/1 -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jsr223/Bundle.properties OpenIDE-Module-Deprecated: true diff --git a/platform/libs.jsvg/manifest.mf b/platform/libs.jsvg/manifest.mf index d1766ca611f8..30ab5817bb95 100644 --- a/platform/libs.jsvg/manifest.mf +++ b/platform/libs.jsvg/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jsvg/2 OpenIDE-Module-Implementation-Version: 1.7.1 -OpenIDE-Module-Specification-Version: 2.4 +OpenIDE-Module-Specification-Version: 2.5 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jsvg/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/platform/libs.junit4/manifest.mf b/platform/libs.junit4/manifest.mf index bef3be259e5b..07fcb8f0cf4f 100644 --- a/platform/libs.junit4/manifest.mf +++ b/platform/libs.junit4/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.junit4 -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/junit4/Bundle.properties diff --git a/platform/libs.junit5/manifest.mf b/platform/libs.junit5/manifest.mf index 9df8d43ef353..12a398354940 100644 --- a/platform/libs.junit5/manifest.mf +++ b/platform/libs.junit5/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.junit5 -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/junit5/Bundle.properties diff --git a/platform/libs.osgi/manifest.mf b/platform/libs.osgi/manifest.mf index 74cb6fa383c6..81de61104f56 100644 --- a/platform/libs.osgi/manifest.mf +++ b/platform/libs.osgi/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.osgi OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/osgi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/platform/libs.testng/manifest.mf b/platform/libs.testng/manifest.mf index ea3bdabeed39..55424241946a 100644 --- a/platform/libs.testng/manifest.mf +++ b/platform/libs.testng/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.testng/1 -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/testng/Bundle.properties diff --git a/platform/masterfs.linux/manifest.mf b/platform/masterfs.linux/manifest.mf index 5b157c634895..4ec71301525e 100644 --- a/platform/masterfs.linux/manifest.mf +++ b/platform/masterfs.linux/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.masterfs.linux OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/masterfs/watcher/linux/Bundle.properties -OpenIDE-Module-Specification-Version: 1.45 +OpenIDE-Module-Specification-Version: 1.46 OpenIDE-Module-Requires: org.openide.modules.os.Linux OpenIDE-Module-Provides: org.netbeans.modules.masterfs.providers.Notifier diff --git a/platform/masterfs.macosx/manifest.mf b/platform/masterfs.macosx/manifest.mf index 496cfeeafe09..62c7902e7e92 100644 --- a/platform/masterfs.macosx/manifest.mf +++ b/platform/masterfs.macosx/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.masterfs.macosx OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/masterfs/watcher/macosx/Bundle.properties -OpenIDE-Module-Specification-Version: 1.45 +OpenIDE-Module-Specification-Version: 1.46 OpenIDE-Module-Requires: org.openide.modules.os.MacOSX OpenIDE-Module-Provides: org.netbeans.modules.masterfs.providers.Notifier diff --git a/platform/masterfs.nio2/manifest.mf b/platform/masterfs.nio2/manifest.mf index 1aa11baa03a3..3f3417d4754d 100644 --- a/platform/masterfs.nio2/manifest.mf +++ b/platform/masterfs.nio2/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.masterfs.nio2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/masterfs/watcher/nio2/Bundle.properties -OpenIDE-Module-Specification-Version: 1.47 +OpenIDE-Module-Specification-Version: 1.48 OpenIDE-Module-Provides: org.netbeans.modules.masterfs.providers.Notifier diff --git a/platform/masterfs.ui/nbproject/project.properties b/platform/masterfs.ui/nbproject/project.properties index cd65847dfdc1..a803ebd79fb8 100644 --- a/platform/masterfs.ui/nbproject/project.properties +++ b/platform/masterfs.ui/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.35.0 +spec.version.base=2.36.0 diff --git a/platform/masterfs.windows/manifest.mf b/platform/masterfs.windows/manifest.mf index 158d7e3f6940..8deb05be7734 100644 --- a/platform/masterfs.windows/manifest.mf +++ b/platform/masterfs.windows/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.masterfs.windows OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/masterfs/watcher/windows/Bundle.properties OpenIDE-Module-Requires: org.openide.modules.os.Windows OpenIDE-Module-Provides: org.netbeans.modules.masterfs.providers.Notifier -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/platform/masterfs/nbproject/project.properties b/platform/masterfs/nbproject/project.properties index 95ac0d9f4d76..744a0be7f323 100644 --- a/platform/masterfs/nbproject/project.properties +++ b/platform/masterfs/nbproject/project.properties @@ -35,7 +35,7 @@ test.config.stableBTD.excludes=\ **/SlowRefreshAndPriorityIOTest.class,\ **/SlowRefreshSuspendableTest.class,\ **/StatFilesTest.class -spec.version.base=2.87.0 +spec.version.base=2.88.0 # TODO remove SM usage in tests test.jms.flags=-Djava.security.manager=allow diff --git a/platform/netbinox/manifest.mf b/platform/netbinox/manifest.mf index 17653b3eab6b..deaf4b7b1c14 100644 --- a/platform/netbinox/manifest.mf +++ b/platform/netbinox/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.netbinox OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/netbinox/Bundle.properties -OpenIDE-Module-Specification-Version: 1.73 +OpenIDE-Module-Specification-Version: 1.74 OpenIDE-Module-Provides: org.osgi.framework.launch.FrameworkFactory, org.netbeans.Netbinox OpenIDE-Module-Hide-Classpath-Packages: org.eclipse.core.runtime.**,org.eclipse.osgi.** Covered-Packages: META-INF,org.netbeans.modules.netbinox, diff --git a/platform/o.apache.commons.codec/manifest.mf b/platform/o.apache.commons.codec/manifest.mf index cceacee99dd6..de235533e45f 100644 --- a/platform/o.apache.commons.codec/manifest.mf +++ b/platform/o.apache.commons.codec/manifest.mf @@ -1,2 +1,2 @@ OpenIDE-Module: org.apache.commons.codec -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 diff --git a/platform/o.apache.commons.commons_io/manifest.mf b/platform/o.apache.commons.commons_io/manifest.mf index 16a88331e921..fa2c7b3cad64 100644 --- a/platform/o.apache.commons.commons_io/manifest.mf +++ b/platform/o.apache.commons.commons_io/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.apache.commons.commons_io OpenIDE-Module-Localizing-Bundle: org/apache/commons/commons_io/Bundle.properties -OpenIDE-Module-Specification-Version: 2.23 +OpenIDE-Module-Specification-Version: 2.24 diff --git a/platform/o.apache.commons.lang3/manifest.mf b/platform/o.apache.commons.lang3/manifest.mf index 57117f761b03..576f226714d6 100644 --- a/platform/o.apache.commons.lang3/manifest.mf +++ b/platform/o.apache.commons.lang3/manifest.mf @@ -1,2 +1,2 @@ OpenIDE-Module: org.apache.commons.lang3 -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 diff --git a/platform/o.apache.commons.logging/manifest.mf b/platform/o.apache.commons.logging/manifest.mf index 40e0a499eec5..3bb73405b273 100644 --- a/platform/o.apache.commons.logging/manifest.mf +++ b/platform/o.apache.commons.logging/manifest.mf @@ -1,2 +1,2 @@ OpenIDE-Module: org.apache.commons.logging -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 diff --git a/platform/o.n.bootstrap/manifest.mf b/platform/o.n.bootstrap/manifest.mf index 14829618555c..650d8701122d 100644 --- a/platform/o.n.bootstrap/manifest.mf +++ b/platform/o.n.bootstrap/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.bootstrap/1 -OpenIDE-Module-Specification-Version: 2.111 +OpenIDE-Module-Specification-Version: 2.112 OpenIDE-Module-Localizing-Bundle: org/netbeans/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.NetigsoFramework diff --git a/platform/o.n.core/manifest.mf b/platform/o.n.core/manifest.mf index a9e059805bf0..1419c2421e14 100644 --- a/platform/o.n.core/manifest.mf +++ b/platform/o.n.core/manifest.mf @@ -5,5 +5,5 @@ OpenIDE-Module-Layer: org/netbeans/core/resources/mf-layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true OpenIDE-Module-Recommends: org.netbeans.core.ProxySettings.Reloader -OpenIDE-Module-Specification-Version: 3.83 +OpenIDE-Module-Specification-Version: 3.84 diff --git a/platform/o.n.swing.laf.dark/nbproject/project.properties b/platform/o.n.swing.laf.dark/nbproject/project.properties index f25b7b3d44df..b5fa45439b70 100644 --- a/platform/o.n.swing.laf.dark/nbproject/project.properties +++ b/platform/o.n.swing.laf.dark/nbproject/project.properties @@ -18,4 +18,4 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.27.0 +spec.version.base=2.28.0 diff --git a/platform/o.n.swing.laf.flatlaf/manifest.mf b/platform/o.n.swing.laf.flatlaf/manifest.mf index f6ec1aa5942c..328d405dc669 100644 --- a/platform/o.n.swing.laf.flatlaf/manifest.mf +++ b/platform/o.n.swing.laf.flatlaf/manifest.mf @@ -3,6 +3,6 @@ OpenIDE-Module-Install: org/netbeans/swing/laf/flatlaf/Installer.class OpenIDE-Module-Layer: org/netbeans/swing/laf/flatlaf/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/laf/flatlaf/Bundle.properties OpenIDE-Module: org.netbeans.swing.laf.flatlaf -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 AutoUpdate-Show-In-Client: false diff --git a/platform/o.n.swing.outline/manifest.mf b/platform/o.n.swing.outline/manifest.mf index da393a31b12b..6525535d927e 100644 --- a/platform/o.n.swing.outline/manifest.mf +++ b/platform/o.n.swing.outline/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.swing.outline OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/outline/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 diff --git a/platform/o.n.swing.plaf/manifest.mf b/platform/o.n.swing.plaf/manifest.mf index 7e0b77fbcb28..60fa8ec5fb79 100644 --- a/platform/o.n.swing.plaf/manifest.mf +++ b/platform/o.n.swing.plaf/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/plaf/Bundle.properties OpenIDE-Module: org.netbeans.swing.plaf -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 AutoUpdate-Show-In-Client: false diff --git a/platform/o.n.swing.tabcontrol/manifest.mf b/platform/o.n.swing.tabcontrol/manifest.mf index cd2d5e41b552..7f3daca687cc 100644 --- a/platform/o.n.swing.tabcontrol/manifest.mf +++ b/platform/o.n.swing.tabcontrol/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/tabcontrol/Bundle.properties OpenIDE-Module: org.netbeans.swing.tabcontrol -OpenIDE-Module-Specification-Version: 1.89 +OpenIDE-Module-Specification-Version: 1.90 AutoUpdate-Essential-Module: true diff --git a/platform/openide.actions/manifest.mf b/platform/openide.actions/manifest.mf index d1eaf7ff00f2..bceaeab8f1de 100644 --- a/platform/openide.actions/manifest.mf +++ b/platform/openide.actions/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.openide.actions OpenIDE-Module-Localizing-Bundle: org/openide/actions/Bundle.properties AutoUpdate-Essential-Module: true OpenIDE-Module-Recommends: org.openide.util.spi.SVGLoader -OpenIDE-Module-Specification-Version: 6.71 +OpenIDE-Module-Specification-Version: 6.72 diff --git a/platform/openide.awt/manifest.mf b/platform/openide.awt/manifest.mf index d846c7d7c972..7b93c38e2f97 100644 --- a/platform/openide.awt/manifest.mf +++ b/platform/openide.awt/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.awt OpenIDE-Module-Localizing-Bundle: org/openide/awt/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 7.100 +OpenIDE-Module-Specification-Version: 7.101 diff --git a/platform/openide.compat/manifest.mf b/platform/openide.compat/manifest.mf index ee66b8bf5310..80f4e0f4cacf 100644 --- a/platform/openide.compat/manifest.mf +++ b/platform/openide.compat/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.compat -OpenIDE-Module-Specification-Version: 6.72 +OpenIDE-Module-Specification-Version: 6.73 OpenIDE-Module-Deprecated: true OpenIDE-Module-Localizing-Bundle: org/openide/compat/Bundle.properties AutoUpdate-Essential-Module: true diff --git a/platform/openide.dialogs/manifest.mf b/platform/openide.dialogs/manifest.mf index e89e63632cbe..8e373efde186 100644 --- a/platform/openide.dialogs/manifest.mf +++ b/platform/openide.dialogs/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.dialogs -OpenIDE-Module-Specification-Version: 7.79 +OpenIDE-Module-Specification-Version: 7.80 OpenIDE-Module-Localizing-Bundle: org/openide/Bundle.properties AutoUpdate-Essential-Module: true diff --git a/platform/openide.execution.compat8/manifest.mf b/platform/openide.execution.compat8/manifest.mf index 5672737e6f59..7a9165eefdfa 100644 --- a/platform/openide.execution.compat8/manifest.mf +++ b/platform/openide.execution.compat8/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.execution.compat8 OpenIDE-Module-Localizing-Bundle: org/openide/execution/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 9.34 +OpenIDE-Module-Specification-Version: 9.35 OpenIDE-Module-Fragment-Host: org.openide.execution diff --git a/platform/openide.execution/manifest.mf b/platform/openide.execution/manifest.mf index 5eebee3a461a..20ae085ad2cf 100644 --- a/platform/openide.execution/manifest.mf +++ b/platform/openide.execution/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.execution -OpenIDE-Module-Specification-Version: 9.35 +OpenIDE-Module-Specification-Version: 9.36 OpenIDE-Module-Localizing-Bundle: org/openide/execution/Bundle.properties OpenIDE-Module-Recommends: org.openide.execution.ExecutionEngine AutoUpdate-Essential-Module: true diff --git a/platform/openide.explorer/manifest.mf b/platform/openide.explorer/manifest.mf index fd55e9692b9a..1a421011816a 100644 --- a/platform/openide.explorer/manifest.mf +++ b/platform/openide.explorer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.explorer OpenIDE-Module-Localizing-Bundle: org/openide/explorer/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 6.94 +OpenIDE-Module-Specification-Version: 6.95 diff --git a/platform/openide.filesystems.compat8/manifest.mf b/platform/openide.filesystems.compat8/manifest.mf index e03587668392..ae60de601c59 100644 --- a/platform/openide.filesystems.compat8/manifest.mf +++ b/platform/openide.filesystems.compat8/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.filesystems.compat8 OpenIDE-Module-Localizing-Bundle: org/openide/filesystems/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 9.41 +OpenIDE-Module-Specification-Version: 9.42 OpenIDE-Module-Fragment-Host: org.openide.filesystems diff --git a/platform/openide.filesystems.nb/manifest.mf b/platform/openide.filesystems.nb/manifest.mf index 20c6f94b704d..6b0e31325787 100644 --- a/platform/openide.filesystems.nb/manifest.mf +++ b/platform/openide.filesystems.nb/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.filesystems.nb OpenIDE-Module-Localizing-Bundle: org/openide/filesystems/nb/Bundle.properties -OpenIDE-Module-Specification-Version: 9.42 +OpenIDE-Module-Specification-Version: 9.43 diff --git a/platform/openide.filesystems/manifest.mf b/platform/openide.filesystems/manifest.mf index fd860a4d9bf2..d901fad1f48b 100644 --- a/platform/openide.filesystems/manifest.mf +++ b/platform/openide.filesystems/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.filesystems OpenIDE-Module-Localizing-Bundle: org/openide/filesystems/Bundle.properties OpenIDE-Module-Layer: org/openide/filesystems/resources/layer.xml -OpenIDE-Module-Specification-Version: 9.45 +OpenIDE-Module-Specification-Version: 9.46 diff --git a/platform/openide.io/manifest.mf b/platform/openide.io/manifest.mf index 820f6200ef7b..d8b97ad11399 100644 --- a/platform/openide.io/manifest.mf +++ b/platform/openide.io/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.io -OpenIDE-Module-Specification-Version: 1.81 +OpenIDE-Module-Specification-Version: 1.82 OpenIDE-Module-Localizing-Bundle: org/openide/io/Bundle.properties OpenIDE-Module-Recommends: org.openide.windows.IOProvider, org.openide.windows.IOContainer$Provider AutoUpdate-Essential-Module: true diff --git a/platform/openide.loaders/manifest.mf b/platform/openide.loaders/manifest.mf index 5f154189e90c..1a6791c286c5 100644 --- a/platform/openide.loaders/manifest.mf +++ b/platform/openide.loaders/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.loaders -OpenIDE-Module-Specification-Version: 7.102 +OpenIDE-Module-Specification-Version: 7.103 OpenIDE-Module-Localizing-Bundle: org/openide/loaders/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.templates.v1_0 OpenIDE-Module-Layer: org/netbeans/modules/openide/loaders/layer.xml diff --git a/platform/openide.modules/manifest.mf b/platform/openide.modules/manifest.mf index 56e6d2c5a2a4..6d3f4b565dd6 100644 --- a/platform/openide.modules/manifest.mf +++ b/platform/openide.modules/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.modules OpenIDE-Module-Localizing-Bundle: org/openide/modules/Bundle.properties -OpenIDE-Module-Specification-Version: 7.80 +OpenIDE-Module-Specification-Version: 7.81 diff --git a/platform/openide.nodes/manifest.mf b/platform/openide.nodes/manifest.mf index c7884738a8e5..5f195ffdeae9 100644 --- a/platform/openide.nodes/manifest.mf +++ b/platform/openide.nodes/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.nodes OpenIDE-Module-Localizing-Bundle: org/openide/nodes/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 7.77 +OpenIDE-Module-Specification-Version: 7.78 diff --git a/platform/openide.text/manifest.mf b/platform/openide.text/manifest.mf index d49d2baaa690..56b894074e1f 100644 --- a/platform/openide.text/manifest.mf +++ b/platform/openide.text/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.text OpenIDE-Module-Localizing-Bundle: org/openide/text/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 6.101 +OpenIDE-Module-Specification-Version: 6.102 diff --git a/platform/openide.util.lookup/manifest.mf b/platform/openide.util.lookup/manifest.mf index ecd6437e4fe7..54a7000f42ae 100644 --- a/platform/openide.util.lookup/manifest.mf +++ b/platform/openide.util.lookup/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.util.lookup OpenIDE-Module-Localizing-Bundle: org/openide/util/lookup/Bundle.properties -OpenIDE-Module-Specification-Version: 8.66 +OpenIDE-Module-Specification-Version: 8.67 diff --git a/platform/openide.util.ui.svg/manifest.mf b/platform/openide.util.ui.svg/manifest.mf index e2fe5d996c71..c4e2dd13b74f 100644 --- a/platform/openide.util.ui.svg/manifest.mf +++ b/platform/openide.util.ui.svg/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.openide.util.ui.svg OpenIDE-Module-Localizing-Bundle: org/openide/util/svg/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 OpenIDE-Module-Provides: org.openide.util.spi.SVGLoader diff --git a/platform/openide.util.ui/manifest.mf b/platform/openide.util.ui/manifest.mf index f655faf92905..c61f90f28374 100644 --- a/platform/openide.util.ui/manifest.mf +++ b/platform/openide.util.ui/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.util.ui OpenIDE-Module-Localizing-Bundle: org/openide/util/Bundle.properties -OpenIDE-Module-Specification-Version: 9.41 +OpenIDE-Module-Specification-Version: 9.42 diff --git a/platform/openide.util/manifest.mf b/platform/openide.util/manifest.mf index bc5b42be17aa..dd83f51f36b7 100644 --- a/platform/openide.util/manifest.mf +++ b/platform/openide.util/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.util OpenIDE-Module-Localizing-Bundle: org/openide/util/base/Bundle.properties -OpenIDE-Module-Specification-Version: 9.40 +OpenIDE-Module-Specification-Version: 9.41 diff --git a/platform/openide.windows/manifest.mf b/platform/openide.windows/manifest.mf index e02f3aad9ca0..3db6606af23b 100644 --- a/platform/openide.windows/manifest.mf +++ b/platform/openide.windows/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.windows -OpenIDE-Module-Specification-Version: 6.109 +OpenIDE-Module-Specification-Version: 6.110 OpenIDE-Module-Localizing-Bundle: org/openide/windows/Bundle.properties AutoUpdate-Essential-Module: true diff --git a/platform/options.api/manifest.mf b/platform/options.api/manifest.mf index e0b1d31f456c..42975dccef25 100644 --- a/platform/options.api/manifest.mf +++ b/platform/options.api/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.options.api/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/options/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.77 +OpenIDE-Module-Specification-Version: 1.78 AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/options.keymap/manifest.mf b/platform/options.keymap/manifest.mf index f85705496ccc..6facd197725d 100644 --- a/platform/options.keymap/manifest.mf +++ b/platform/options.keymap/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.options.keymap OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/keymap/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/options/keymap/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/print/manifest.mf b/platform/print/manifest.mf index f9dafa70d332..1c2754d0b216 100644 --- a/platform/print/manifest.mf +++ b/platform/print/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 7.58 +OpenIDE-Module-Specification-Version: 7.59 OpenIDE-Module: org.netbeans.modules.print OpenIDE-Module-Layer: org/netbeans/modules/print/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/print/resources/Bundle.properties diff --git a/platform/progress.ui/manifest.mf b/platform/progress.ui/manifest.mf index e719bf2e46bb..dc7c70b01635 100644 --- a/platform/progress.ui/manifest.mf +++ b/platform/progress.ui/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.progress.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/progress/ui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.progress.spi.ProgressUIWorkerProvider, org.netbeans.modules.progress.spi.RunOffEDTProvider AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 diff --git a/platform/queries/manifest.mf b/platform/queries/manifest.mf index b60c711c6062..587e9d04b3bc 100644 --- a/platform/queries/manifest.mf +++ b/platform/queries/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.queries/1 -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/queries/Bundle.properties diff --git a/platform/sampler/manifest.mf b/platform/sampler/manifest.mf index 24f1f2c57040..ad048b4007fb 100644 --- a/platform/sampler/manifest.mf +++ b/platform/sampler/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.sampler OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/sampler/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 Main-Class: org.netbeans.modules.sampler.CLISampler diff --git a/platform/sendopts/manifest.mf b/platform/sendopts/manifest.mf index fa75b0e0d819..53405309e803 100644 --- a/platform/sendopts/manifest.mf +++ b/platform/sendopts/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.sendopts/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/sendopts/Bundle.properties -OpenIDE-Module-Specification-Version: 2.68 +OpenIDE-Module-Specification-Version: 2.69 AutoUpdate-Essential-Module: true diff --git a/platform/settings/manifest.mf b/platform/settings/manifest.mf index 357bc8d3a20d..3c28be29473f 100644 --- a/platform/settings/manifest.mf +++ b/platform/settings/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.settings/1 OpenIDE-Module-Layer: org/netbeans/modules/settings/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/settings/resources/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.81 +OpenIDE-Module-Specification-Version: 1.82 diff --git a/platform/spi.actions/manifest.mf b/platform/spi.actions/manifest.mf index b3b5b28c478c..3c242970fc8a 100644 --- a/platform/spi.actions/manifest.mf +++ b/platform/spi.actions/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spi.actions/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/spi/actions/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/platform/spi.quicksearch/manifest.mf b/platform/spi.quicksearch/manifest.mf index 96bd940d0363..fa83d6e46b49 100644 --- a/platform/spi.quicksearch/manifest.mf +++ b/platform/spi.quicksearch/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.quicksearch OpenIDE-Module-Layer: org/netbeans/modules/quicksearch/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/spi/quicksearch/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/platform/templates/manifest.mf b/platform/templates/manifest.mf index 94d2bc8fadde..c5393bb4fb4d 100644 --- a/platform/templates/manifest.mf +++ b/platform/templates/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.templates/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/templates/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 OpenIDE-Module-Layer: org/netbeans/modules/templates/resources/layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/templatesui/manifest.mf b/platform/templatesui/manifest.mf index 108f19a39982..5e9e6ea328cb 100644 --- a/platform/templatesui/manifest.mf +++ b/platform/templatesui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.templatesui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/templatesui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.api.templates.wizard -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/platform/uihandler/manifest.mf b/platform/uihandler/manifest.mf index 7371e8012304..e4594509a817 100644 --- a/platform/uihandler/manifest.mf +++ b/platform/uihandler/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.uihandler OpenIDE-Module-Install: org/netbeans/modules/uihandler/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/uihandler/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/uihandler/Bundle.properties -OpenIDE-Module-Specification-Version: 2.67 +OpenIDE-Module-Specification-Version: 2.68 diff --git a/profiler/debugger.jpda.heapwalk/manifest.mf b/profiler/debugger.jpda.heapwalk/manifest.mf index 2539e782a7a1..4b1b59ce89be 100644 --- a/profiler/debugger.jpda.heapwalk/manifest.mf +++ b/profiler/debugger.jpda.heapwalk/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.debugger.jpda.heapwalk/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/heapwalk/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/heapwalk/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Requires: org.netbeans.api.debugger.jpda.JPDADebuggerEngineImpl, org.netbeans.spi.debugger.ui OpenIDE-Module-Provides: org.netbeans.modules.debugger.jpda.heapwalk diff --git a/profiler/lib.profiler.charts/manifest.mf b/profiler/lib.profiler.charts/manifest.mf index 95ef392e98d7..287d4a65d6bb 100644 --- a/profiler/lib.profiler.charts/manifest.mf +++ b/profiler/lib.profiler.charts/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.profiler.charts/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/profiler/charts/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 diff --git a/profiler/lib.profiler.common/manifest.mf b/profiler/lib.profiler.common/manifest.mf index 98637249c15b..e9e9fb278492 100644 --- a/profiler/lib.profiler.common/manifest.mf +++ b/profiler/lib.profiler.common/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.profiler.common/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/profiler/common/Bundle.properties -OpenIDE-Module-Specification-Version: 1.79 +OpenIDE-Module-Specification-Version: 1.80 OpenIDE-Module-Needs: org.netbeans.lib.profiler.common.Profiler diff --git a/profiler/lib.profiler.ui/manifest.mf b/profiler/lib.profiler.ui/manifest.mf index 7e47f8ea7d4c..045c0c79f183 100644 --- a/profiler/lib.profiler.ui/manifest.mf +++ b/profiler/lib.profiler.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.profiler.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/profiler/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.178 +OpenIDE-Module-Specification-Version: 1.179 diff --git a/profiler/lib.profiler/manifest.mf b/profiler/lib.profiler/manifest.mf index 66f62cd6dd2e..378e2c37eac6 100644 --- a/profiler/lib.profiler/manifest.mf +++ b/profiler/lib.profiler/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.profiler/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/profiler/Bundle.properties -OpenIDE-Module-Specification-Version: 1.141 +OpenIDE-Module-Specification-Version: 1.142 diff --git a/profiler/maven.profiler/manifest.mf b/profiler/maven.profiler/manifest.mf index 25445a4a1bf1..1bf354ed233a 100644 --- a/profiler/maven.profiler/manifest.mf +++ b/profiler/maven.profiler/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.profiler/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/profiler/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 AutoUpdate-Show-In-Client: false diff --git a/profiler/profiler.api/manifest.mf b/profiler/profiler.api/manifest.mf index 26845a451fec..5e5e95dcb7d7 100644 --- a/profiler/profiler.api/manifest.mf +++ b/profiler/profiler.api/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.api/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.82 +OpenIDE-Module-Specification-Version: 1.83 Netigso-Export-Package: org.netbeans.modules.profiler.spi diff --git a/profiler/profiler.attach/manifest.mf b/profiler/profiler.attach/manifest.mf index 28a65f15c00b..c0533e5f786e 100644 --- a/profiler/profiler.attach/manifest.mf +++ b/profiler/profiler.attach/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.attach/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/attach/Bundle.properties -OpenIDE-Module-Specification-Version: 2.53 +OpenIDE-Module-Specification-Version: 2.54 diff --git a/profiler/profiler.freeform/manifest.mf b/profiler/profiler.freeform/manifest.mf index 2717a66a4ef7..cb3620fe5ac9 100644 --- a/profiler/profiler.freeform/manifest.mf +++ b/profiler/profiler.freeform/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.freeform/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/freeform/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 diff --git a/profiler/profiler.heapwalker/manifest.mf b/profiler/profiler.heapwalker/manifest.mf index dcab2149617e..1a1f6f0e4eff 100644 --- a/profiler/profiler.heapwalker/manifest.mf +++ b/profiler/profiler.heapwalker/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.heapwalker OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/heapwalker/Bundle.properties -OpenIDE-Module-Specification-Version: 1.144 +OpenIDE-Module-Specification-Version: 1.145 diff --git a/profiler/profiler.j2se/manifest.mf b/profiler/profiler.j2se/manifest.mf index 51e0cb6c9f80..fea9a6d606fe 100644 --- a/profiler/profiler.j2se/manifest.mf +++ b/profiler/profiler.j2se/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.j2se/1 OpenIDE-Module-Layer: org/netbeans/modules/profiler/j2se/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/j2se/Bundle.properties -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 diff --git a/profiler/profiler.kit/manifest.mf b/profiler/profiler.kit/manifest.mf index a6ad3d343555..f08266664773 100644 --- a/profiler/profiler.kit/manifest.mf +++ b/profiler/profiler.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 OpenIDE-Module-Provides: org.netbeans.modules.profiler diff --git a/profiler/profiler.nbimpl/manifest.mf b/profiler/profiler.nbimpl/manifest.mf index ffcc87cc8fdf..69e3bef015f0 100644 --- a/profiler/profiler.nbimpl/manifest.mf +++ b/profiler/profiler.nbimpl/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.modules.profiler.nbimpl/1 OpenIDE-Module-Layer: org/netbeans/modules/profiler/nbimpl/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/nbimpl/Bundle.properties OpenIDE-Module-Provides: org.netbeans.lib.profiler.common.Profiler -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/profiler/profiler.nbmodule/manifest.mf b/profiler/profiler.nbmodule/manifest.mf index 55fbec7affc8..cdf43165ccf2 100644 --- a/profiler/profiler.nbmodule/manifest.mf +++ b/profiler/profiler.nbmodule/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.nbmodule/1 OpenIDE-Module-Layer: org/netbeans/modules/profiler/nbmodule/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/nbmodule/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 diff --git a/profiler/profiler.options/manifest.mf b/profiler/profiler.options/manifest.mf index 83c4f0883602..fcc6b48fe3d4 100644 --- a/profiler/profiler.options/manifest.mf +++ b/profiler/profiler.options/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.options OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/options/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.modules.options.java -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 diff --git a/profiler/profiler.oql.language/manifest.mf b/profiler/profiler.oql.language/manifest.mf index 667f6656046d..8fbced3bde0e 100644 --- a/profiler/profiler.oql.language/manifest.mf +++ b/profiler/profiler.oql.language/manifest.mf @@ -4,5 +4,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.oql.language/0 OpenIDE-Module-Layer: org/netbeans/modules/profiler/oql/language/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/oql/language/Bundle.properties -OpenIDE-Module-Specification-Version: 0.60 +OpenIDE-Module-Specification-Version: 0.61 diff --git a/profiler/profiler.oql/manifest.mf b/profiler/profiler.oql/manifest.mf index 1a250baa3231..fd2d4c8f8a9f 100644 --- a/profiler/profiler.oql/manifest.mf +++ b/profiler/profiler.oql/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.oql/2 OpenIDE-Module-Layer: org/netbeans/modules/profiler/oql/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/oql/Bundle.properties -OpenIDE-Module-Specification-Version: 2.50 +OpenIDE-Module-Specification-Version: 2.51 diff --git a/profiler/profiler.ppoints/manifest.mf b/profiler/profiler.ppoints/manifest.mf index 99410bd439f8..fae082d3608a 100644 --- a/profiler/profiler.ppoints/manifest.mf +++ b/profiler/profiler.ppoints/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.ppoints OpenIDE-Module-Layer: org/netbeans/modules/profiler/ppoints/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/ppoints/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/profiler/profiler.projectsupport/manifest.mf b/profiler/profiler.projectsupport/manifest.mf index c4b929eb3840..6eee905651be 100644 --- a/profiler/profiler.projectsupport/manifest.mf +++ b/profiler/profiler.projectsupport/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.projectsupport OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/projectsupport/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 diff --git a/profiler/profiler.snaptracer/manifest.mf b/profiler/profiler.snaptracer/manifest.mf index f3eb0acdb45d..5293ed07154a 100644 --- a/profiler/profiler.snaptracer/manifest.mf +++ b/profiler/profiler.snaptracer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.snaptracer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/snaptracer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/profiler/profiler.utilities/manifest.mf b/profiler/profiler.utilities/manifest.mf index d5307afa1ea1..58dde80a4cf7 100644 --- a/profiler/profiler.utilities/manifest.mf +++ b/profiler/profiler.utilities/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.utilities/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/utilities/Bundle.properties -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 diff --git a/profiler/profiler/manifest.mf b/profiler/profiler/manifest.mf index 24feb0a0f32f..c2ccaa43c6c2 100644 --- a/profiler/profiler/manifest.mf +++ b/profiler/profiler/manifest.mf @@ -5,5 +5,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/Bundle.propertie OpenIDE-Module-Install: org/netbeans/modules/profiler/ProfilerModule.class OpenIDE-Module-Requires: org.openide.windows.WindowManager OpenIDE-Module-Package-Dependencies: com.sun.tools.attach[VirtualMachine] -OpenIDE-Module-Specification-Version: 3.61 +OpenIDE-Module-Specification-Version: 3.62 diff --git a/webcommon/api.knockout/manifest.mf b/webcommon/api.knockout/manifest.mf index 990706afc879..fbbf3978bf7e 100644 --- a/webcommon/api.knockout/manifest.mf +++ b/webcommon/api.knockout/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.knockout OpenIDE-Module-Localizing-Bundle: org/netbeans/spi/knockout/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 AutoUpdate-Show-In-Client: false diff --git a/webcommon/cordova.platforms.android/manifest.mf b/webcommon/cordova.platforms.android/manifest.mf index 0ae4834b072c..44d4255fbf65 100644 --- a/webcommon/cordova.platforms.android/manifest.mf +++ b/webcommon/cordova.platforms.android/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cordova.platforms.android OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cordova/platforms/android/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/webcommon/cordova.platforms/manifest.mf b/webcommon/cordova.platforms/manifest.mf index d29294ada20d..6490ca455a95 100644 --- a/webcommon/cordova.platforms/manifest.mf +++ b/webcommon/cordova.platforms/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cordova.platforms OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cordova/platforms/Bundle.properties -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 diff --git a/webcommon/cordova/manifest.mf b/webcommon/cordova/manifest.mf index ce0beb7fb608..9787a63fbc1d 100644 --- a/webcommon/cordova/manifest.mf +++ b/webcommon/cordova/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.cordova OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cordova/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 OpenIDE-Module-Layer: org/netbeans/modules/cordova/resources/layer.xml OpenIDE-Module-Recommends: cnb.org.netbeans.modules.cordova.platforms.ios diff --git a/webcommon/extbrowser.chrome/manifest.mf b/webcommon/extbrowser.chrome/manifest.mf index 43a56345dd0d..9e25d9aded0d 100644 --- a/webcommon/extbrowser.chrome/manifest.mf +++ b/webcommon/extbrowser.chrome/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.extbrowser.chrome OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extbrowser/chrome/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 AutoUpdate-Show-In-Client: false diff --git a/webcommon/html.angular/manifest.mf b/webcommon/html.angular/manifest.mf index 7bba86f61941..8b6ff74c8097 100644 --- a/webcommon/html.angular/manifest.mf +++ b/webcommon/html.angular/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.angular OpenIDE-Module-Layer: org/netbeans/modules/html/angular/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/angular/Bundle.properties -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 diff --git a/webcommon/html.knockout/manifest.mf b/webcommon/html.knockout/manifest.mf index 45145be52fdf..3c419627f835 100644 --- a/webcommon/html.knockout/manifest.mf +++ b/webcommon/html.knockout/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.knockout OpenIDE-Module-Layer: org/netbeans/modules/html/knockout/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/knockout/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 OpenIDE-Module-Provides: org.netbeans.modules.ko4j.editing diff --git a/webcommon/javascript.bower/manifest.mf b/webcommon/javascript.bower/manifest.mf index 949dfd67780a..471373f8645a 100644 --- a/webcommon/javascript.bower/manifest.mf +++ b/webcommon/javascript.bower/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.bower OpenIDE-Module-Layer: org/netbeans/modules/javascript/bower/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/bower/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.37 +OpenIDE-Module-Specification-Version: 0.38 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.cdnjs/manifest.mf b/webcommon/javascript.cdnjs/manifest.mf index 4135b7eb913f..65872b1fa706 100644 --- a/webcommon/javascript.cdnjs/manifest.mf +++ b/webcommon/javascript.cdnjs/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.cdnjs/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/cdnjs/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.39 +OpenIDE-Module-Specification-Version: 0.40 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.cdtdebug.ui/nbproject/project.properties b/webcommon/javascript.cdtdebug.ui/nbproject/project.properties index ca835307a207..1a19e559cf6c 100644 --- a/webcommon/javascript.cdtdebug.ui/nbproject/project.properties +++ b/webcommon/javascript.cdtdebug.ui/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=11 javadoc.arch=${basedir}/arch.xml is.eager=true -spec.version.base=1.9.0 +spec.version.base=1.10.0 diff --git a/webcommon/javascript.cdtdebug/nbproject/project.properties b/webcommon/javascript.cdtdebug/nbproject/project.properties index 41a956ad6df6..34d294bd666f 100644 --- a/webcommon/javascript.cdtdebug/nbproject/project.properties +++ b/webcommon/javascript.cdtdebug/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=11 javadoc.arch=${basedir}/arch.xml is.autoload=true -spec.version.base=1.9.0 +spec.version.base=1.10.0 diff --git a/webcommon/javascript.grunt/manifest.mf b/webcommon/javascript.grunt/manifest.mf index 512668dd9770..e5a086769555 100644 --- a/webcommon/javascript.grunt/manifest.mf +++ b/webcommon/javascript.grunt/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.grunt OpenIDE-Module-Layer: org/netbeans/modules/javascript/grunt/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/grunt/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.46 +OpenIDE-Module-Specification-Version: 0.47 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.gulp/manifest.mf b/webcommon/javascript.gulp/manifest.mf index eaf906aa2238..6858dfe4e774 100644 --- a/webcommon/javascript.gulp/manifest.mf +++ b/webcommon/javascript.gulp/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.gulp OpenIDE-Module-Layer: org/netbeans/modules/javascript/gulp/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/gulp/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.45 +OpenIDE-Module-Specification-Version: 0.46 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.jstestdriver/manifest.mf b/webcommon/javascript.jstestdriver/manifest.mf index a916af6fc98f..fffcc4155717 100644 --- a/webcommon/javascript.jstestdriver/manifest.mf +++ b/webcommon/javascript.jstestdriver/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.jstestdriver OpenIDE-Module-Layer: org/netbeans/modules/javascript/jstestdriver/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/jstestdriver/Bundle.properties -OpenIDE-Module-Specification-Version: 0.44 +OpenIDE-Module-Specification-Version: 0.45 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.karma/manifest.mf b/webcommon/javascript.karma/manifest.mf index 97e24c3c6ff1..5742b2be1f50 100644 --- a/webcommon/javascript.karma/manifest.mf +++ b/webcommon/javascript.karma/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.karma/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/karma/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.48 +OpenIDE-Module-Specification-Version: 0.49 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.nodejs/manifest.mf b/webcommon/javascript.nodejs/manifest.mf index e777a1f9d7c8..d3e3abe0fdef 100644 --- a/webcommon/javascript.nodejs/manifest.mf +++ b/webcommon/javascript.nodejs/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.nodejs/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/nodejs/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.61 +OpenIDE-Module-Specification-Version: 0.62 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.v8debug.ui/nbproject/project.properties b/webcommon/javascript.v8debug.ui/nbproject/project.properties index bb5a8778b8f7..33067491f523 100644 --- a/webcommon/javascript.v8debug.ui/nbproject/project.properties +++ b/webcommon/javascript.v8debug.ui/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=17 javadoc.arch=${basedir}/arch.xml is.eager=true -spec.version.base=1.31.0 +spec.version.base=1.32.0 diff --git a/webcommon/javascript.v8debug/nbproject/project.properties b/webcommon/javascript.v8debug/nbproject/project.properties index e94f7420d82c..7535c82e987a 100644 --- a/webcommon/javascript.v8debug/nbproject/project.properties +++ b/webcommon/javascript.v8debug/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=17 javadoc.arch=${basedir}/arch.xml is.autoload=true -spec.version.base=1.42.0 +spec.version.base=1.43.0 diff --git a/webcommon/javascript2.doc/manifest.mf b/webcommon/javascript2.doc/manifest.mf index dfe4c410e4e0..4385bd71d4dc 100644 --- a/webcommon/javascript2.doc/manifest.mf +++ b/webcommon/javascript2.doc/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.doc/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/doc/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/webcommon/javascript2.editor/manifest.mf b/webcommon/javascript2.editor/manifest.mf index 833566cdecae..0cd26ec0aa48 100644 --- a/webcommon/javascript2.editor/manifest.mf +++ b/webcommon/javascript2.editor/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.javascript2.editor/1 OpenIDE-Module-Install: org/netbeans/modules/javascript2/editor/ModuleInstaller.class OpenIDE-Module-Layer: org/netbeans/modules/javascript2/editor/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 0.107 +OpenIDE-Module-Specification-Version: 0.108 OpenIDE-Module-Recommends: cnb.org.netbeans.modules.html.editor diff --git a/webcommon/javascript2.extdoc/manifest.mf b/webcommon/javascript2.extdoc/manifest.mf index ed33e0d258d5..e2a47d00b62d 100644 --- a/webcommon/javascript2.extdoc/manifest.mf +++ b/webcommon/javascript2.extdoc/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.extdoc OpenIDE-Module-Layer: org/netbeans/modules/javascript2/extdoc/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/extdoc/Bundle.properties -OpenIDE-Module-Specification-Version: 1.30 +OpenIDE-Module-Specification-Version: 1.31 diff --git a/webcommon/javascript2.extjs/manifest.mf b/webcommon/javascript2.extjs/manifest.mf index 2db4cbada695..f7ce9959d6a3 100644 --- a/webcommon/javascript2.extjs/manifest.mf +++ b/webcommon/javascript2.extjs/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.extjs OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/extjs/Bundle.properties -OpenIDE-Module-Specification-Version: 1.41 +OpenIDE-Module-Specification-Version: 1.42 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript2.html/manifest.mf b/webcommon/javascript2.html/manifest.mf index e54334d34bc0..0383ce4eed21 100644 --- a/webcommon/javascript2.html/manifest.mf +++ b/webcommon/javascript2.html/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.html OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/html/Bundle.properties -OpenIDE-Module-Specification-Version: 1.22 +OpenIDE-Module-Specification-Version: 1.23 diff --git a/webcommon/javascript2.jade/manifest.mf b/webcommon/javascript2.jade/manifest.mf index 5a03d3565b4c..d3733e28c5cf 100644 --- a/webcommon/javascript2.jade/manifest.mf +++ b/webcommon/javascript2.jade/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.jade/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/jade/Bundle.properties -OpenIDE-Module-Specification-Version: 0.38 +OpenIDE-Module-Specification-Version: 0.39 OpenIDE-Module-Layer: org/netbeans/modules/javascript2/jade/layer.xml diff --git a/webcommon/javascript2.jquery/manifest.mf b/webcommon/javascript2.jquery/manifest.mf index 9f9538a61d7c..547001e89e58 100644 --- a/webcommon/javascript2.jquery/manifest.mf +++ b/webcommon/javascript2.jquery/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.jquery OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/jquery/Bundle.properties -OpenIDE-Module-Specification-Version: 1.41 +OpenIDE-Module-Specification-Version: 1.42 diff --git a/webcommon/javascript2.jsdoc/manifest.mf b/webcommon/javascript2.jsdoc/manifest.mf index 57dfbbb22cc3..87b0d768562c 100644 --- a/webcommon/javascript2.jsdoc/manifest.mf +++ b/webcommon/javascript2.jsdoc/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.jsdoc OpenIDE-Module-Layer: org/netbeans/modules/javascript2/jsdoc/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/jsdoc/Bundle.properties -OpenIDE-Module-Specification-Version: 1.30 +OpenIDE-Module-Specification-Version: 1.31 diff --git a/webcommon/javascript2.json/manifest.mf b/webcommon/javascript2.json/manifest.mf index 8d7862c656e3..bdf7319d163c 100644 --- a/webcommon/javascript2.json/manifest.mf +++ b/webcommon/javascript2.json/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.json OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/json/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/webcommon/javascript2.kit/manifest.mf b/webcommon/javascript2.kit/manifest.mf index df5cc5d9880c..257604d63b45 100644 --- a/webcommon/javascript2.kit/manifest.mf +++ b/webcommon/javascript2.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.kit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 0.45 +OpenIDE-Module-Specification-Version: 0.46 AutoUpdate-Show-In-Client: true diff --git a/webcommon/javascript2.knockout/manifest.mf b/webcommon/javascript2.knockout/manifest.mf index 37c4b57d8729..e616b340ed09 100644 --- a/webcommon/javascript2.knockout/manifest.mf +++ b/webcommon/javascript2.knockout/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.knockout OpenIDE-Module-Layer: org/netbeans/modules/javascript2/knockout/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/knockout/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 AutoUpdate-Show-In-Client: true diff --git a/webcommon/javascript2.lexer/manifest.mf b/webcommon/javascript2.lexer/manifest.mf index 30a7608e9631..c93875bc73fc 100644 --- a/webcommon/javascript2.lexer/manifest.mf +++ b/webcommon/javascript2.lexer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 diff --git a/webcommon/javascript2.model/manifest.mf b/webcommon/javascript2.model/manifest.mf index 444de15df99c..397e464dd9bd 100644 --- a/webcommon/javascript2.model/manifest.mf +++ b/webcommon/javascript2.model/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.model/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/model/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 diff --git a/webcommon/javascript2.nodejs/manifest.mf b/webcommon/javascript2.nodejs/manifest.mf index 8cd0fde67b05..719d926bdd72 100644 --- a/webcommon/javascript2.nodejs/manifest.mf +++ b/webcommon/javascript2.nodejs/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.nodejs/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/nodejs/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/javascript2/nodejs/resources/layer.xml -OpenIDE-Module-Specification-Version: 0.44 +OpenIDE-Module-Specification-Version: 0.45 AutoUpdate-Show-In-Client: true diff --git a/webcommon/javascript2.prototypejs/manifest.mf b/webcommon/javascript2.prototypejs/manifest.mf index 99df6de89f35..31bb046955dc 100644 --- a/webcommon/javascript2.prototypejs/manifest.mf +++ b/webcommon/javascript2.prototypejs/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.prototypejs OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/prototypejs/Bundle.properties -OpenIDE-Module-Specification-Version: 0.37 +OpenIDE-Module-Specification-Version: 0.38 diff --git a/webcommon/javascript2.react/manifest.mf b/webcommon/javascript2.react/manifest.mf index 933b6ccf4b82..0a0961b6192a 100644 --- a/webcommon/javascript2.react/manifest.mf +++ b/webcommon/javascript2.react/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.react OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/react/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/javascript2/react/resources/layer.xml -OpenIDE-Module-Specification-Version: 0.31 +OpenIDE-Module-Specification-Version: 0.32 AutoUpdate-Show-In-Client: true diff --git a/webcommon/javascript2.requirejs/manifest.mf b/webcommon/javascript2.requirejs/manifest.mf index 7f6f7dffda9a..f8d3a439c02e 100644 --- a/webcommon/javascript2.requirejs/manifest.mf +++ b/webcommon/javascript2.requirejs/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.requirejs OpenIDE-Module-Layer: org/netbeans/modules/javascript2/requirejs/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/requirejs/Bundle.properties -OpenIDE-Module-Specification-Version: 0.39 +OpenIDE-Module-Specification-Version: 0.40 diff --git a/webcommon/javascript2.sdoc/manifest.mf b/webcommon/javascript2.sdoc/manifest.mf index 2f53db90a08b..5e2d5375c98c 100644 --- a/webcommon/javascript2.sdoc/manifest.mf +++ b/webcommon/javascript2.sdoc/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.sdoc OpenIDE-Module-Layer: org/netbeans/modules/javascript2/sdoc/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/sdoc/Bundle.properties -OpenIDE-Module-Specification-Version: 1.30 +OpenIDE-Module-Specification-Version: 1.31 diff --git a/webcommon/javascript2.source.query/manifest.mf b/webcommon/javascript2.source.query/manifest.mf index 8536c36c6e5b..315af310593c 100644 --- a/webcommon/javascript2.source.query/manifest.mf +++ b/webcommon/javascript2.source.query/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.source.query/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/source/query/Bundle.properties -OpenIDE-Module-Specification-Version: 0.31 +OpenIDE-Module-Specification-Version: 0.32 OpenIDE-Module-Provides: org.netbeans.modules.javascript2.debug.spi.SourceElementsQuery AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript2.types/manifest.mf b/webcommon/javascript2.types/manifest.mf index 8e00ee6fde53..11536c5a089a 100644 --- a/webcommon/javascript2.types/manifest.mf +++ b/webcommon/javascript2.types/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.types/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/types/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/webcommon/javascript2.vue/manifest.mf b/webcommon/javascript2.vue/manifest.mf index a5fd83a9f079..f8f6741ef880 100644 --- a/webcommon/javascript2.vue/manifest.mf +++ b/webcommon/javascript2.vue/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.vue -OpenIDE-Module-Specification-Version: 0.5 +OpenIDE-Module-Specification-Version: 0.6 OpenIDE-Module-Layer: org/netbeans/modules/javascript2/vue/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/vue/resources/Bundle.properties diff --git a/webcommon/languages.apacheconf/manifest.mf b/webcommon/languages.apacheconf/manifest.mf index 67f820877c30..71b4b0eafcf7 100644 --- a/webcommon/languages.apacheconf/manifest.mf +++ b/webcommon/languages.apacheconf/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.languages.apacheconf OpenIDE-Module-Layer: org/netbeans/modules/languages/apacheconf/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/apacheconf/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/webcommon/languages.ini/manifest.mf b/webcommon/languages.ini/manifest.mf index 2c1eaab32d14..6c8d7e898395 100644 --- a/webcommon/languages.ini/manifest.mf +++ b/webcommon/languages.ini/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.languages.ini OpenIDE-Module-Layer: org/netbeans/modules/languages/ini/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/ini/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/webcommon/lib.chrome_devtools_protocol/manifest.mf b/webcommon/lib.chrome_devtools_protocol/manifest.mf index b8b57cb74c10..c63b20c804c0 100644 --- a/webcommon/lib.chrome_devtools_protocol/manifest.mf +++ b/webcommon/lib.chrome_devtools_protocol/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.chrome_devtools_protocol/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/chrome_devtools_protocol/Bundle.properties -OpenIDE-Module-Specification-Version: 2.5 +OpenIDE-Module-Specification-Version: 2.6 diff --git a/webcommon/lib.v8debug/manifest.mf b/webcommon/lib.v8debug/manifest.mf index ad9fef6954e7..4f39d835a57c 100644 --- a/webcommon/lib.v8debug/manifest.mf +++ b/webcommon/lib.v8debug/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.v8debug/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/v8debug/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 Main-Class: org.netbeans.lib.v8debug.client.cmdline.V8Debug diff --git a/webcommon/libs.graaljs/manifest.mf b/webcommon/libs.graaljs/manifest.mf index 9161fa12fe00..e0e5f5bb7bc7 100644 --- a/webcommon/libs.graaljs/manifest.mf +++ b/webcommon/libs.graaljs/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.graaljs/2 OpenIDE-Module-Layer: org/netbeans/libs/graaljs/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/graaljs/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 OpenIDE-Module-Provides: javax.script.ScriptEngine.js,org.netbeans.libs.graaljs OpenIDE-Module-Hide-Classpath-Packages: com.oracle.truffle.js.scriptengine.**, com.oracle.js.parser.**, com.oracle.truffle.js.** diff --git a/webcommon/libs.jstestdriver/manifest.mf b/webcommon/libs.jstestdriver/manifest.mf index ebad69562a1d..e6093184e44a 100644 --- a/webcommon/libs.jstestdriver/manifest.mf +++ b/webcommon/libs.jstestdriver/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jstestdriver OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jstestdriver/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/webcommon/libs.nashorn/manifest.mf b/webcommon/libs.nashorn/manifest.mf index 3b48931ac1e0..1003f5e6d7f3 100644 --- a/webcommon/libs.nashorn/manifest.mf +++ b/webcommon/libs.nashorn/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.nashorn/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/nashorn/Bundle.properties -OpenIDE-Module-Specification-Version: 3.13 +OpenIDE-Module-Specification-Version: 3.14 diff --git a/webcommon/libs.plist/manifest.mf b/webcommon/libs.plist/manifest.mf index 04f5c691be31..380acd3832a2 100644 --- a/webcommon/libs.plist/manifest.mf +++ b/webcommon/libs.plist/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.plist OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/plist/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 diff --git a/webcommon/netserver/manifest.mf b/webcommon/netserver/manifest.mf index 99ef66eaa545..b4721fd4f39f 100644 --- a/webcommon/netserver/manifest.mf +++ b/webcommon/netserver/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.netserver OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/netserver/Bundle.properties -OpenIDE-Module-Specification-Version: 1.45 +OpenIDE-Module-Specification-Version: 1.46 diff --git a/webcommon/selenium2.webclient.mocha/manifest.mf b/webcommon/selenium2.webclient.mocha/manifest.mf index e32bc40caca8..37314d26e29d 100644 --- a/webcommon/selenium2.webclient.mocha/manifest.mf +++ b/webcommon/selenium2.webclient.mocha/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.webclient.mocha OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/webclient/mocha/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 diff --git a/webcommon/selenium2.webclient.protractor/manifest.mf b/webcommon/selenium2.webclient.protractor/manifest.mf index d6e4a8f15cdc..6d2c1a0f3281 100644 --- a/webcommon/selenium2.webclient.protractor/manifest.mf +++ b/webcommon/selenium2.webclient.protractor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.webclient.protractor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/webclient/protractor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/webcommon/selenium2.webclient/manifest.mf b/webcommon/selenium2.webclient/manifest.mf index d53f128db3e3..7cf8b0485594 100644 --- a/webcommon/selenium2.webclient/manifest.mf +++ b/webcommon/selenium2.webclient/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.webclient OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/webclient/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 diff --git a/webcommon/typescript.editor/manifest.mf b/webcommon/typescript.editor/manifest.mf index 0b5484baadc0..15ceaea01be1 100644 --- a/webcommon/typescript.editor/manifest.mf +++ b/webcommon/typescript.editor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.typescript.editor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/typescript/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 diff --git a/webcommon/web.client.kit/manifest.mf b/webcommon/web.client.kit/manifest.mf index b89e49e5f032..c58e342c67aa 100644 --- a/webcommon/web.client.kit/manifest.mf +++ b/webcommon/web.client.kit/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.client.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/client/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/webcommon/web.client.samples/manifest.mf b/webcommon/web.client.samples/manifest.mf index 99533748d7dd..8a6a017d3601 100644 --- a/webcommon/web.client.samples/manifest.mf +++ b/webcommon/web.client.samples/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.client.samples OpenIDE-Module-Layer: org/netbeans/modules/web/client/samples/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/client/samples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/webcommon/web.clientproject.api/manifest.mf b/webcommon/web.clientproject.api/manifest.mf index ffd81b9a8f74..b42152be8fcf 100644 --- a/webcommon/web.clientproject.api/manifest.mf +++ b/webcommon/web.clientproject.api/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.clientproject.api OpenIDE-Module-Layer: org/netbeans/modules/web/clientproject/api/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/clientproject/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.136 +OpenIDE-Module-Specification-Version: 1.137 diff --git a/webcommon/web.clientproject/manifest.mf b/webcommon/web.clientproject/manifest.mf index 71b80e6ade83..aa93c2d59849 100644 --- a/webcommon/web.clientproject/manifest.mf +++ b/webcommon/web.clientproject/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.clientproject OpenIDE-Module-Layer: org/netbeans/modules/web/clientproject/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/clientproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.119 +OpenIDE-Module-Specification-Version: 1.120 OpenIDE-Module-Provides: org.netbeans.modules.web.clientproject diff --git a/webcommon/web.inspect/manifest.mf b/webcommon/web.inspect/manifest.mf index 63aa830a9136..e73023f7846e 100644 --- a/webcommon/web.inspect/manifest.mf +++ b/webcommon/web.inspect/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.inspect OpenIDE-Module-Layer: org/netbeans/modules/web/inspect/resources/layer.xml OpenIDE-Module-Requires: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 0.62 +OpenIDE-Module-Specification-Version: 0.63 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/inspect/Bundle.properties AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: org.netbeans.modules.web.browser.api.PageInspector diff --git a/webcommon/web.javascript.debugger/manifest.mf b/webcommon/web.javascript.debugger/manifest.mf index 50b4db1d9737..e5771e0e7f1d 100644 --- a/webcommon/web.javascript.debugger/manifest.mf +++ b/webcommon/web.javascript.debugger/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.javascript.debugger OpenIDE-Module-Layer: org/netbeans/modules/web/javascript/debugger/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/javascript/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 1.47 +OpenIDE-Module-Specification-Version: 1.48 diff --git a/webcommon/web.webkit.tooling/manifest.mf b/webcommon/web.webkit.tooling/manifest.mf index dc392961f57e..8d8b81548f16 100644 --- a/webcommon/web.webkit.tooling/manifest.mf +++ b/webcommon/web.webkit.tooling/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.webkit.tooling OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/webkit/tooling/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/websvccommon/websvc.jaxwsmodelapi/manifest.mf b/websvccommon/websvc.jaxwsmodelapi/manifest.mf index aea379f7438e..878a7f6307b1 100644 --- a/websvccommon/websvc.jaxwsmodelapi/manifest.mf +++ b/websvccommon/websvc.jaxwsmodelapi/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxwsmodelapi/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxwsmodelapi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: false diff --git a/websvccommon/websvc.saas.api/manifest.mf b/websvccommon/websvc.saas.api/manifest.mf index c03a47a0434a..916776f595e7 100644 --- a/websvccommon/websvc.saas.api/manifest.mf +++ b/websvccommon/websvc.saas.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.websvc.saas.api OpenIDE-Module-Layer: org/netbeans/modules/websvc/saas/model/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/spi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 diff --git a/websvccommon/websvc.saas.codegen/manifest.mf b/websvccommon/websvc.saas.codegen/manifest.mf index 453944739b62..0fb1c3208607 100644 --- a/websvccommon/websvc.saas.codegen/manifest.mf +++ b/websvccommon/websvc.saas.codegen/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.codegen OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/codegen/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 AutoUpdate-Show-In-Client: false diff --git a/websvccommon/websvc.saas.kit/manifest.mf b/websvccommon/websvc.saas.kit/manifest.mf index 53b12185c7eb..144c77f4ba05 100644 --- a/websvccommon/websvc.saas.kit/manifest.mf +++ b/websvccommon/websvc.saas.kit/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.websvc.saas.kit diff --git a/websvccommon/websvc.saas.ui/manifest.mf b/websvccommon/websvc.saas.ui/manifest.mf index d56dba58699d..75bb59b6ae41 100644 --- a/websvccommon/websvc.saas.ui/manifest.mf +++ b/websvccommon/websvc.saas.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 AutoUpdate-Show-In-Client: false